Repository navigation
repo_shape.py, validate-pins.py, family.py: a refusal built without a remedy prints its REFUSED line alone, the assembly root's validate-pins.py still adds the lockstep remedy to its own, and add refuses a .gitmodules git cannot rea (#370)
#494
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
10 commits
Select commit
Hold shift + click to select a range
9d313e7
repo_shape.py, validate-pins.py, family.py: a refusal built without a…
038c002
Merge branch 'main' into fix/refusal-default-remediation
brettheap 77b520e
Merge branch 'main' into fix/refusal-default-remediation
brettheap 80bd690
Merge branch 'main' into fix/refusal-default-remediation
brettheap f3137e7
Merge branch 'main' into fix/refusal-default-remediation
brettheap 0006e98
Merge branch 'main' into fix/refusal-default-remediation
brettheap 3cc3ad5
Merge branch 'main' into fix/refusal-default-remediation
brettheap f05e771
Merge branch 'main' into fix/refusal-default-remediation
brettheap 1d9e8b2
Merge origin/main (751cb2ff, #507) into fix/refusal-default-remediati…
fd06bb9
Merge branch 'main' into fix/refusal-default-remediation
brettheap File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When a doctor check propagates a shared
Refusalthat does not explicitly supply remediation (for example, agit_outfailure), this empty default flows throughshape-doctor.py::run_checksasexc.remediation or None; the row remains aFINDINGbut has no NEXT command, and the new test explicitly locks in that result. Supply a doctor-specific fallback or contextual remediation rather than omitting NEXT, because the doctor contract requires every finding to carry the exact next command.AGENTS.md reference: AGENTS.md:L226-L228
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(lane openRepoShape-3, 2026-10-12T23:47Z) An independent review checked this and does not take it, for four reasons:
run git submodule update --init --recursive, thenvalidate-pins.py), and the catch-all runs for every kind of root. On a family holder or a non-root that script does not exist, and on an assembly root obeying it detaches the legs for an unrelated fault.legsrow's NEXT (and themembersrow's) runs<root>/scripts/bootstrap.pywithout asking whether the root has it, so a root that lost it pastespython3: can't open file, exit 2, and for an empty leg mount thelegsNEXT would not cure the row even with the file there (bootstrap.pyonly printsRun git submodule update --init spec) #276, shape-doctor.py:validator_rowreads a validator's exit 1 as "reports a finding" whatever caused it, so a validator that CRASHED (a:in the standard's path splits thePYTHONPATHthe template fallback runs under, andvalidate-manifest.pydies onimport repo_shape) is a FINDING row quotingModuleNotFoundError, and a root whose manifest is valid goes fromCOMPLIANT, SHAPE BEHINDtoINVALID (manifest)#278), and the open shape-doctor.py: a NEXT is only the command, and the sentence that ended twenty-five of them after#is the row'swhy, on aWHYline of its own and"why"in--json, so a NEXT pasted into an interactive zsh -- which reads that#as a word -- no longer hands the comment to the command as arguments, runs what follows its;, or runs themake bootstrapin its backticks, and the template validator's line isenv PYTHONPATH=... python3 ...(#277) #402 requires NEXT to be a bare command..gitremoved, unparsable.gitmodulesor pins, broken index, HEAD or objects in the root and the leg) never reach the catch-all, on main or on this head. Every row's NEXT is the same.Keeping
exc.remediation or None.