Build the prose-vs-Workflow bake-off machinery for /trekreview Phase 5-6 and
run a 1-run/arm smoke to de-risk before the full measurement (operator posture:
build + smoke, then pause for go/no-go on the full >=3-runs/arm run).
New:
- lib/review/fidelity-diff.mjs (+ tests) — the PRIMARY metric: parse two
review.md (or two structured arm outputs) and compare verdict + jaccard over
(file,line,rule_key)-IDs + per-finding severity/rule_key. Reuses jaccard +
frontmatter + NW1 findings-schema + finding-id. fidelityDiffStructured avoids
rendering review.md per run.
- scripts/trekreview-armB.workflow.mjs — Arm B: Phase 5-6 as a Workflow
(parallel([conformance, correctness]) schema-forced -> JS dedup-by-triplet ->
agent(review-coordinator) verdict schema). Path-based input via args (reviewers
carry Read). Inlines dedup + the 12-key rule_key enum (scripts have no imports).
- tests/fixtures/bakeoff/ — committable fixture: real diff of
|
||
|---|---|---|
| .. | ||
| brief.md | ||
| delivered.diff | ||
| README.md | ||
NW2 bake-off fixture (S10)
Fixed, committable input for the prose-vs-Workflow /trekreview bake-off
(T2 §5). Both arms review the same delivered diff against the same brief, so
any difference in review.md is attributable to the orchestration substrate
(prose Arm A vs Workflow Arm B), not to the input.
What's here
brief.md— the contract. Reconstructed faithfully from the real NW1 contract (docs/W1-narrow-wins-plan.md §S9): goal, SC1–SC4, NG1–NG3, constraints, NFRs.delivered.diff— the real delivered diff of commitb149538(git diff b149538^ b149538): the NW1 implementation (lib/review/findings-schema.mjs+ tests +commands/trekreview.mdPhase 5). 3 files, +438/-3.
Why this commit
b149538 (NW1/S9) is a genuine delivered-diff + brief pair already in this
repo's history — real code, real contract, fully self-contained (no external
deps), and small/cheap (ideal for the de-risking smoke run). It is not
finding-free (a strict correctness reviewer has surface to flag), so the
fidelity comparison is informative. A larger commit can be substituted for the
full ≥3-runs/arm measurement if more finding surface is wanted.
Triage map (deterministic, pinned)
Per the Phase-4 path-pattern classifier, none of the 3 files match skip or
deep-review patterns → all summary-only:
commands/trekreview.md → summary-only
lib/review/findings-schema.mjs → summary-only
tests/lib/findings-schema.test.mjs → summary-only
How it's consumed
The bake-off pins Phases 1–4 (brief + diff + triage above) and passes them to both arms:
- Arm A (prose): current
/trekreviewPhase 5–6 behaviour. - Arm B (Workflow):
scripts/trekreview-armB.workflow.mjsvia the Workflow tool,args = { brief, diff, triage }.
Each arm yields a structured {verdict, findings}; the PRIMARY metric is
fidelityDiffStructured (lib/review/fidelity-diff.mjs) — same verdict +
equivalent finding set (IDs / severities / rule_keys).