Repository navigation
docs+harness: M14-02 marker field, the ui rule's confirm step, M14-03 notes, CharBindsReport fields, M13-70, M13-68 run 2 - #289
Merged
Conversation
…e names the confirm step; shepherd note on graphql variables (M14-02 notes) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…rs admits duplicate slots) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…hit); #288 M14-02 CLEAN within the cap Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…n inline query; #289 review fixes The shell guard reads a query passed as -F/-f query=@<file> and applies the mutation allowlist to its text, refusing a file it cannot read, so the file route the shepherd definition now recommends cannot carry a mutation past the guard (harness test added, 183 pass on 3.12 and 3.9). The shepherd note says why the inline form is refused and gives the file form, and the thread-query example uses it. The M14-03 note names #288 and says confirmed() takes nothing from the report and a killed run gets no in-process rollback; the M13-68 run-2 note separates job wall time from the model's duration and records the diff size; M13-70 cites main's lines and puts the decision in the report; the ui rule says what the confirmed argv is and where the token travels. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
sandgraal
marked this pull request as ready for review
October 19, 2026 06:40
|
Claude finished @sandgraal's task in 1m 10s —— View job Independent review: PR #289One finding, low, in the shell guard's new query-file check. The docs and rule changes match the code on
What should be true
What I checked
Finding
verdict: FINDINGS(1) |
…d cwd, and a file the same command line writes is refused From the automated review of #289: _check_gh now takes the cwd the inspection tracks through cd, so a relative query file is read where the shell will read it; and every write target of the command line is collected first, so a query file written earlier in the same line (the hook reads the file before the shell runs) is refused with the advice to write it in its own command. Two harness tests added; 184 pass on 3.12 and 3.9. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…hecks a graphql query file From the #289 re-check: _inspect passes its collected write set into the recursive call for bash -c / sh -c, so a query file written on the outer line is refused inside the nested shell too. One harness test added; 185 pass on 3.12 and 3.9. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
sandgraal
added a commit
that referenced
this pull request
Oct 19, 2026
…-72; M14-09 pointers (#293) ## What Conductor docs lane (ADR-0013 amendment, 2026-10-17): `docs/BACKLOG.md` only. - Ticks M14-02 (#288), M14-05 (#286), M14-06 (#287), M14-08 (#290). - M14-02: a dated note on the Windows stdin follow-up (#291, 826ce3d): why `DEVNULL` made the child's `isatty()` True on Windows, what changed, and that Windows on `main` at 826ce3d is green. - M14-08: a dated note from the #290 reviews (shipped-table colours vs the ticket's "from the model" wording, which is an owner item; the `aria-live` region; the `page.css` exemption in the colour grep test). - M14-09: pointers from the #290 code review (the `loadGear` refactor, the intro paragraph and allowlist test that change, the default-flavor question, the `aria-live` narrowing). - New tickets: M13-71 (`guard_bash.py`: `--input` bodies and the substring allowlist match, from the #289 review; conductor lane) and M13-72 (`char list --json` carries every full record under the Character tab, and the colour grep's `page.css` exemption; from the #290 code review, off that branch). ## Proof - `grep -c '^## \[' docs/BACKLOG.md` → 87 headings; the four ticks are the only `[ ]` → `[x]` changes. - Pre-commit hooks green on the commit (merge-conflict check, end-of-file). - Rebased on `main` at 7415e07 (#289); the one conflict (M13-70 and M13-71 both appended after M13-69) was resolved by keeping both. ## Reviewed by `code-reviewer` CLEAN at cec1ea3 (every claim checked against main and the CI history; the one nit, a blank line before M13-72, fixed in the follow-up commit). session: 284d1153-c891-4b84-8e47-150842fac4ba 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
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.
Ticket
Conductor docs and harness change under the ADR-0013 lane (nothing under
lab/*/src/): corrections and notes from the M14-02, M14-05 and M14-06 reviews, one ticket, and the M13-68 measurements.Acceptance — with proof
docs/LAB_PLAN.md§16.1 and the M14-02 ticket: the doctor plan marker readsfirst_run.chosen, notfirst_run.flavor(dated correction; the merged code useschosen)..claude/rules/lab-load-bearing.md,uibullet: every--yescommand is refused except through the ADR-0029 confirm step (M14-02, feat(ui): the confirm flow on snap gc and doctor --yes (M14-02) #288); the leaves not yet in the step stay refused..claude/agents/pr-shepherd.md: a note thatgh api graphqlwith$-variables is refused under worktree isolation (inline the values or-F query=@file), and that REST POSTs are blocked.docs/LAB_PLAN.md§16.2: dated amendment with the finalCharBindsReportfields (M14-06, feat(char): wowlab_core.keymap and wowlab char binds (M14-06) #287)._CONFIRM_READYseam,--expectneeds the report, the decline shape exits 1, the 120 s run limit versus aguardtransaction).labaddon.ActionBarsadmits duplicate and out-of-range slots), found 2026-10-19 in the code review of feat(char): wowlab_core.keymap and wowlab char binds (M14-06) #287, with size, dependency, provenance, checkable acceptance and a reviewer line.lab/): feat(char): wowlab char gear, and the lossless item-link parser (M14-05) #286 M14-05 at 9f79ef9 hit the 30-turn cap (36 turns, failure, no verdict; 137 KB diff); feat(ui): the confirm flow on snap gc and doctor --yes (M14-02) #288 M14-02 at d73111e CLEAN in 2 min 17 s. The raise waits for a thirdlab/run..claude/hooks/guard_bash.pyreads aquery=@<file>and applies the mutation allowlist to it; harness test added;make hooks-test185 passed on 3.12 and 3.9scripts/check_frontmatter.py0 problems; the frontier hook parses M13-70.luadata.py,guard.pyor another parser changed? n/aReviewed by: code-reviewer CLEAN (findings fixed in 70f6868, c52b308 and 69a3a8a).
session: 284d1153-c891-4b84-8e47-150842fac4ba
🤖 Generated with Claude Code