Commit graph

77 commits

Author SHA1 Message Date
efe981f7bc
refactor(cleanup): simplify pass on the R-a diff
engine-compare imports the coordinator's title limit and trim instead
of a copy whose reason went with Arm B; the autonomy gate exports one
parser and its test runs in-process with two CLI runs; one import
scanner in lib-imports; the fenced-section walker shared from
tests/helpers/md-section.mjs instead of six copies; plan-gate hash
in-process; living-paths scans once; routing drops the orchestrator
filter whose files are gone; small leftovers removed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-07 13:31:30 +01:00
8295601965
chore(cleanup): remove the June trials, orchestrator docs, dormant agent, caller-less code and the fix-round chain
R4-R7 of the cleanup list (decision 188): the June trial docs and
fixtures, the three orchestrator reference docs, the dormant
synthesis-agent, code with no caller (project-discovery, bash-normalize,
fidelity-diff, test-census, the next-session prompt validator, arm B and
the --workflow flag) and the fix-round chain. Living docs repointed; the
reasons for in-session orchestration and the all-opus pin are now written
in docs/architecture.md and docs/profiles.md.

New tests/lib/living-paths.test.mjs: living tracked text names only
plugin paths that exist (seen red with 22 dead pointers before this
commit). docs/T1-cc26-delegated-orchestration.md and
lib/review/gold-scorer.mjs stay until R-b: the frozen end-state registry
names them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-07 12:51:54 +01:00
9edc998fac
refactor: simplify pass (trekexecute)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-04 11:29:46 +01:00
5b9cbeba28
fix(review): the evidence writer takes a verdict only for the branch head
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-04 10:27:19 +01:00
d4daa9d787
fix(review): the instruction set holds nested rules files and a link's own name
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-04 10:16:34 +01:00
d81bd39754
fix(review): an answer after a stopped prepare no longer locks the rounds
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-04 10:05:04 +01:00
fc252f8d56
fix(review): the verdict gate refuses duplicate finding ids
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-04 09:40:25 +01:00
f1f5ab5528
refactor: simplify pass (trekexecute)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 12:48:04 +01:00
3cb3958238
fix(review): a dropped engine finding keeps the gate not measured, round 1 included
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 11:57:30 +01:00
a09e6c96a1
fix(review): scope_sha_start is bound to the fork point from main
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 11:23:21 +01:00
57e7eba0a0
fix(review): R6 checks every parent of a commit after the review
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 11:07:08 +01:00
ec5b6483ec
feat(hooks): the merge question says how the run was tested and how it is undone 2026-11-02 21:23:24 +01:00
fcba232ccd
feat(review): the code-correctness reviewer checks the repo's tracked instruction files 2026-11-02 20:47:15 +01:00
349a4fc789
feat(review): the standard path puts back engine findings the coordinator dropped 2026-11-02 20:12:46 +01:00
8d399fddfb
feat(review): a REVIEW.md policy caps and skips MINOR findings only 2026-11-02 19:43:54 +01:00
9e7e8d1516
feat(trekexecute): every MAJOR answered before merge, fixed runs the fix loop 2026-11-02 18:44:42 +01:00
635003e8aa
feat(review): review rounds carry findings until resolved, one cap of three 2026-11-02 17:44:23 +01:00
1464605e35
feat(review): pre-existing findings marked from git and re-derived by the gate 2026-11-02 16:37:24 +01:00
ce7dbc27a9
feat(review): a WARN opens the lock only when every counting MAJOR is answered 2026-11-02 15:45:37 +01:00
ce64851a0d
fix(review): an append of review answers to the approval log keeps the review current 2026-11-02 15:01:58 +01:00
ed67526987
feat(review): two CLAUDE.md rule keys at MINOR, the catalogue counts 17 2026-11-02 13:53:24 +01:00
c75ae2d3f5
refactor: simplify pass (trekexecute)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 16:34:32 +01:00
1b9d5fd459
fix(review): a failed git check-ignore writes no pointer, whatever language git speaks
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 15:46:43 +01:00
52c382c198
refactor: simplify pass (trekexecute)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 20:39:40 +01:00
c7fdbf0d8b
fix(review): applying a lesson skips a symlinked CLAUDE.md and an ignored lessons file
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 17:27:33 +01:00
5ddbcd3de6
fix(verdict-gate): free text added inside the lessons block makes the review stale
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 14:11:41 +01:00
77544841d7
fix(verdict-gate): a failed git call is reported as not measured, not stale
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 14:00:42 +01:00
703c508433
fix(verdict-gate): read --repo=<dir> and refuse unknown options
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 13:44:11 +01:00
cf7af30b46
fix(verdict-gate): accept only a full 40- or 64-hex reviewed commit
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 13:13:22 +01:00
af90e82794
refactor: simplify pass (trekexecute)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 22:22:18 +02:00
8a2a989f79
fix(siblings): the texts found next to round 4.5a's fixes say what the code does
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 20:41:53 +02:00
a5fcb5e8b4
fix(review): group a triplet's findings title first, so arrival order never changes the rows
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 18:30:52 +02:00
7175783ce5
fix(review): a past-the-end line makes a finding unverified, never refuted, and the Declined to Judge copy-through is pinned
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 17:13:03 +02:00
6c0718c8d8
fix(review): the verdict gate refuses, with --repo, a review of another commit than the one being merged
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 10:48:29 +02:00
8677836060
fix: close the gaps the review of the trial-5 fixes found
- park-attempt-files: parks in the git dir (outside the work tree, so Sub-step C.2 never registers a parked file again), reads a path with a space, names a new file under a header it cannot read, parks a symlink, never overwrites a parked file, and exits 1 while a file the attempt made is still in the tree; the upward diff is saved in one form whatever the git config.

- brief-validator: BRIEF_SC_NOT_RUNNABLE only when a later backticked span is a command; a criterion that only names a flag or a path stays prose (Handover 1 says so now).

- review ids: counted over the final list (runContract), as fill-finding-ids counts review.md; trimmed_count matches rows by id; engine-findings and fidelity-diff use computeFindingIds; the --workflow dedup keeps one source's different findings apart, the decision-23 put-back stays one copy per triplet.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 20:11:08 +02:00
b47cabdf30
fix(review): one reviewer's two findings on one triplet keep a row each
Pass 1 merged two different /code-review findings on (bin/slug.mjs, 46, CODE_REVIEW_DEFECT) and the second lost its row and its action. A reviewer never duplicates itself: its second finding on a triplet under another title stays its own row, with the id over rule_key#2 (the form critic-diff already uses); fill-finding-ids counts the same way (voyage-lekerepo trial 5, finding 7).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 19:50:20 +02:00
e8ea98747d
fix(review): plan dedup ranks a merged pair by what rule B counts, so reviewer order never lowers a blocker
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 16:46:10 +02:00
f70aed5d47
fix(review): plan dedup keeps a lowered_from that is not a severity, so rule B counts it as blocker
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 16:36:38 +02:00
30ca7078e9
fix(review): the critic-loop matcher needs overlapping texts, and a new finding never takes an old id
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 16:29:58 +02:00
bb3884d0f4
refactor: simplify pass (trekexecute)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 01:44:43 +02:00
7b46cdd788
feat(plan): the plan gate counts critic rounds 2+ by rule A and records rule B [skip-docs]
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 00:33:31 +02:00
31fa6f8e43
fix(review): plan dedup passes the reviewers' marks and rule-B fields through and keeps distinct file-level findings
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 00:14:02 +02:00
3a0c2d0c54
feat(plan): the operative line map and a deterministic line diff for the critic loop [skip-docs]
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 16:49:21 +02:00
4d5c927c5d
refactor(simplify): drop a dead branch and repeated fixtures from the round-2 remediation
/simplify over bcf3adb..HEAD. Pass 3's last else could never run (RULE_KEYS is checked first); entryPaths tracks an open entry the way testFirstFileEntries does; wrapLine drops normalisations its callers already made. Tests: one payload builder, one BLOCKER fixture, one unreleasedBody helper, one 1.9-block loop, one plan-unreadable loop, and make_repo in the e2e script. No behaviour change; suite 2515 (2513/0/2).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 13:43:24 +02:00
9529df7665
fix(review): original_severity names what the kept finding asserted
Review finding 08deae68.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 11:09:01 +02:00
bcf3adbba7
refactor(simplify): one plan read in red proof, one list marker, one put-back rule [skip-docs]
/simplify over ed6699d..HEAD (closing review of the remediation):
- red-proof reads and parses the step once (planStep) for the test list and
  tests_only; normTest goes, plan-schema exports normPlanPath, also used by
  plan-scope-sweep.
- plan-schema builds LIST_ITEM and the 1.9 File: line from one LIST_MARKER;
  the below-1.9 File: regex ends in a lookahead instead of slicing back one.
- the workflow script hoists tripletOf and puts back through dedupByTriplet.
- coordinator-contract keeps the rank in its JSDoc only; engine-findings
  drops a redundant String().
- tests: reuse knownIssues, trekplan19Block, step1Fields, one red-proof cli
  helper with childEnv, one payload-pair builder; drop a test the decision-20
  definition test covers.

No behaviour change. Suite 2462 (2460/0/2).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 19:47:08 +02:00
f04fecea7f
fix(review): Pass 1 ranks by catalogue tier, and a duplicate never lowers its group
Review finding bc7f4e23 (library side).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 14:24:33 +02:00
d492abb5e9
fix(review): the engine of a payload is read from an own property
Review finding 3799ea6c; the same lookup in engine-findings.mjs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 14:17:07 +02:00
ed6699da58
refactor(simplify): one source per rule, shared test helpers, a faster isolation test [skip-docs]
/simplify over a97efb6..HEAD (the plan_version 1.9 / trial-4 delivery).

- coordinator-contract: engine names come from engine-findings ENGINES;
  one markedMajorCodeReview predicate under both lowering checks;
  isEngineFinding everywhere; the unreachable branch (c) of
  illegalBriefLowering folded into (e).
- armB workflow: RULE_KEYS = Object.keys(RULE_TIERS); the engine map is a
  literal pinned equal to ENGINES by the workflow test.
- plan-schema: usesFilesGrammar() is the one 1.9 check (validator, sweep,
  testFirstFiles, stepTestsOnlyFromFields); opensEntry built on opensChunk.
- plan-validator: one issue builder for the Files and Test first grammar.
- plan-scope-sweep: the 1.9 and the 6.2.0 reader are one if/else.
- artifact-commit: TRAILER_RE/trailerProblem no longer exported (no
  importer); the order comment says the CLI finds the repo root first.
- tests: the lock drivers in session-id-isolation (d) run side by side per
  mode (~100 s -> ~30 s); a shared artifact-repo helper; severityRank and
  extractFindingsBlock reused; childEnv(env) without a spread; one copy of
  the PLAN_VERSION_CURRENT check.

Plan readers: validator errors/warnings, plannedPaths, fieldPaths,
testFirstFiles and stepTestsOnlyFromFields compared byte for byte against
HEAD over 510 plans / 1692 steps plus 210 synthetic 1.7-1.9 cases: same.
Suite 2384 (2382/0/2).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 21:06:47 +02:00
305ac9284f
fix(review): the payload decides the engine, and a tie keeps the reviewer finding
An engine's brief-conflict mark could lower a reviewer agent's MAJOR: ingest kept an engine field a reviewer wrote on its own finding, and on a severity tie the survivor depended on payload order (engine first gave ALLOW, reviewer first WARN). ingest now takes engine from the payload source; Pass 1 and the workflow dedup keep the reviewer-agent finding on a tie. Prose (coordinator Pass 1, Handover 6) follows. Decision 13, operator 12.10.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 18:50:56 +02:00