Repository navigation
design: TDDs 0073–0075 (review rigor) - #199
Merged
Merged
Conversation
…unding, reviewer contracts) Designs PRD FR-102–FR-110 (PRD-rev d526c55), which folds in issue #195. All three are new TDDs and none is superseded. Build them in sequence: 0073, then 0074, then 0075. - 0073 requirements-review-gate (FR-102–105, plus FR-110 for this reviewer): - the interview coverage scan, with initial and final status; - scripts/lib/prd-lint.sh plus prd_lint.py, reusing 0070's requirement parser. It computes the delta against the integration branch, checks only inside `## Requirements`, and flags placeholders only on new lines. It degrades, never stops, with no git, no commits or an unparseable base; - agents/requirements-reviewer.md (REQUIREMENTS_REVIEW: PASS|BLOCK, findings in the shared format); - overrides as `"<finding>" — overridden: <rationale>` lines in Open questions, re-checked by a fresh reviewer. - 0074 tdd-lint-grounding (FR-106, 107): - a `marked` mode for md_bullet_path; - tl_lint_grounding, which checks paths with `git ls-tree` against the integration branch. It falls back to HEAD with no integration branch, skips outside git, and checks only TDDs not yet on the integration branch; - deferred-discovery phrases, with backtick skipping for those phrases only. - 0075 reviewer-contracts (FR-108–110): - design-reviewer: a cited simulation trace, an alternatives table, terminology/duplication checks, a METRICS line, and Non-findings; - a new agents/build-reviewer.md, dispatched by file. It diffs from the worktree's start commit (base-sha), always applies the security checklist, and FAILs only on a blocker or major finding that is not pre-existing; - /build-tdds step 9 writes down the parent-dispatched fixture protocol; - tdd-author carries the trace, tables and metrics into the design PR body. ## Design critique (design-reviewer, a fresh worker each round) DESIGN_REVIEW: PASS on round 3 (blocker 0, major 0, minor 9, nit 4; traced 11/11; no rubric row failing). - Round 1 BLOCKed on 7 majors: - M1: placeholder rule fails this repo's own PRD; - M2: override matching is fragile; - M3: `cat-file` rc 128 is ambiguous; - M4: 0074 relies on inline-code skipping that doesn't exist; - M5: FR-108 PR-body acceptance untraced; - M6: build-reviewer base ref unpinned; - M7: /prd-author stops outside git. - Round 2 BLOCKed on 2: - the id.malformed regex gave 18 false findings on the real PRD; - one observation contradicted another. - All of these were fixed. The round-3 minors and nits were folded in after the PASS: - FR-102 PR-body text check; - unparseable-base line copied into the PR body; - base ref printed for the reviewer; - fresh report file on resume; - requirement rules scoped to `## Requirements`; - degraded-base strictness; - build-reviewer FAIL rule, implementer report as an input, FR-55 scope note; - parent-dispatch protocol written into step 9; - nits. Every round graded against the co-created rubric present in each TDD. ADR evaluation: none. The reviewer contract is binding as FR-104/108–110, and the parent-dispatch protocol is a skill step. ## Open assumptions & waivers - Reviewer behaviour is unobservable by text — resolved: parent-dispatched fixture runs named in each verification plan, verdicts appended to the verify report; text checks cover contract presence only. - Requirements-reviewer delta — resolved: prd-lint emits ids whose block text differs from `<integration>:docs/PRD.md`; the reviewer gets the ids plus the whole PRD. - Grounding vs integration ref — resolved (revised in review): `git ls-tree` against the integration branch, falling back to HEAD with a note, skipped outside git; never a false pass. - Go-forward detection — resolved: a TDD absent from the integration branch is new and grounding-checked; merged TDDs are never checked. - Build-reviewer dispatch on Grok — resolved: dispatch by prompt file `agents/build-reviewer.md` from the plugin root. - python3 now required by /prd-author — resolved: degrades with a recorded "pre-pass unavailable" line; the review still runs. UX coverage: no [UI] requirements in scope. Refs #195 Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01NpGG21Y2VGGhTQaFr4oshB
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.
Designs PRD FR-102–FR-110 (PRD-rev d526c55), which folds in issue #195.
All three are new TDDs and none is superseded. Build them in sequence:
0073, then 0074, then 0075.
reviewer):
requirement parser. It computes the delta against the integration
branch, checks only inside
## Requirements, and flags placeholdersonly on new lines. It degrades, never stops, with no git, no commits
or an unparseable base;
findings in the shared format);
"<finding>" — overridden: <rationale>lines in Openquestions, re-checked by a fresh reviewer.
markedmode for md_bullet_path;git ls-treeagainst theintegration branch. It falls back to HEAD with no integration
branch, skips outside git, and checks only TDDs not yet on the
integration branch;
only.
terminology/duplication checks, a METRICS line, and Non-findings;
the worktree's start commit (base-sha), always applies the security
checklist, and FAILs only on a blocker or major finding that is not
pre-existing;
protocol;
body.
Design critique (design-reviewer, a fresh worker each round)
DESIGN_REVIEW: PASS on round 3 (blocker 0, major 0, minor 9, nit 4;
traced 11/11; no rubric row failing).
cat-filerc 128 is ambiguous;after the PASS:
## Requirements;scope note;
Every round graded against the co-created rubric present in each TDD.
ADR evaluation: none. The reviewer contract is binding as
FR-104/108–110, and the parent-dispatch protocol is a skill step.
Open assumptions & waivers
<integration>:docs/PRD.md; the reviewer gets the ids plus the whole PRD.git ls-treeagainst the integration branch, falling back to HEAD with a note, skipped outside git; never a false pass.agents/build-reviewer.mdfrom the plugin root.UX coverage: no [UI] requirements in scope.
Refs #195
🤖 Generated with Claude Code
https://claude.ai/code/session_01NpGG21Y2VGGhTQaFr4oshB