RF-21 — The declared reviewer system prompt has no registered consumer
State: fixed 2026-08-27
Repair shape: dead-code removal or explicit wiring
Severity: low
Finding
REVIEW_RUNNER_SYSTEM_PROMPT is commented as the reviewer system prompt, but no
registered in-repository consumer imports or delivers it. The documented parent
task supplies only the generated prompt path. Some constraints are duplicated in
that generated prompt, so actual behavior may still be adequate, but the named
system-channel contract is not wired.
Evidence
REVIEW_RUNNER_SYSTEM_PROMPTis defined with a comment saying it is used as the system prompt.- A tracked repository search finds only that declaration.
- The batch procedure instructs the
parent to send
Read {prompt_path} and follow it exactly.
Why it matters
Dead system-definition text invites drift: a maintainer can update it believing reviewer behavior changed when no execution path consumes the edit. It also confuses RF-13's attempt to define the effective judging configuration.
Provisional repair direction
If the generated prompt is the complete worker contract, delete the constant and its claim. If a separate system channel is required, make the parent interface accept and record it, test delivery, and include its version in judging identity.
Done when
- There is one authoritative reviewer-contract path.
- Every retained instruction has a registered consumer.
- A test fails when the documented dispatch path stops delivering that contract.
Resolution
The generated prompt.md was already the sole worker contract selected by
ADR 067 and the binding batch procedure, so the unused
REVIEW_RUNNER_SYSTEM_PROMPT constant and its false consumer claim were
deleted. The renderer module now describes only scaffolding it actually emits.
The existing worker-contract test requires fresh-context dispatch with exactly
Read {prompt_path} and follow it exactly., while review-protocol tests require
the generated prompt to carry its reading scope, write isolation, destination,
and result protocol.