dld-goal: preconditions, verification, and blocked-item escalation - #32
Closed
jimutt wants to merge 2 commits into
Closed
dld-goal: preconditions, verification, and blocked-item escalation#32jimutt wants to merge 2 commits into
jimutt wants to merge 2 commits into
Conversation
…calation Mechanical halves of DL-003 and DL-004 (both stay proposed until the skill drives them in the next slice): - guard-preconditions.sh checks config, clean tree, single active run, decision existence and proposed status, and unresolved ID collisions against the base branch; resume additionally re-checks pinned hashes including in-flight items. Reports every problem, not just the first. - verify-item.sh runs annotation verification and each acceptance check, recording evidence for passes and failures alike, and logs the outcome - block-item.sh blocks an item and raises an operator question in the run, refusing to block before the retry has been used unless forced - resolve-block.sh records the answer and either retries or skips 37 new tests, suite at 297. Co-Authored-By: Claude Opus 5 <noreply@pi.dev> Generated-By: pi 0.84.2
Checks are stored as argv arrays and exec'd directly, removing eval from verify-item.sh. --check still takes a plain command string but rejects shell metacharacters and quoting, pointing at a repo script instead. The exposure removed is deferred execution: a check is written during planning and runs later, unattended, possibly on another machine when run artifacts are committed. Shell interpretation of stored contract content is a laundering path even though the agent already has bash. DL-003 refined inline to record the argv rule and its cost. Co-Authored-By: Claude Opus 5 <noreply@pi.dev> Generated-By: pi 0.84.2
jimutt
force-pushed
the
feat/dld-goal-gates
branch
from
August 21, 2026 11:49
0d06b94 to
c22f3e6
Compare
Owner
Author
|
Superseded by feat/pi-harness-extension — all commits from this branch are merged there. See #41 for the findings log on top. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacks on #31. Mechanical halves of DL-003 and DL-004 — both stay
proposeduntil the skill drives them in the next PR.What
guard-preconditions.sh— config, clean tree, single active run, decisions exist and are proposed, no ID collisions with the base branch. Resume additionally re-checks pinned hashes including in-flight items. Reports every problem, not just the first.verify-item.sh— annotation verification plus acceptance checks, recording evidence for passes and failures alike.block-item.sh/resolve-block.sh— escalation as an operator question inside the run, never as a decision record.Notable
eval; that's gone. Checks are stored as argv arrays and exec'd directly, and--checkrejects shell metacharacters with a pointer to a repo script. The exposure being closed is deferred execution — a check written during planning runs later, unattended, possibly on another machine when run artifacts are committed.block-item.shrefuses to block before the retry has been used, making DL-004's one-retry policy an enforced invariant rather than prose an agent might skip.--forcefor failures retrying can't fix.dld-reindex's ownresolve-base.sh.45 new tests.