Summary
Lifecycle review status is duplicated across review ledgers, implementation and state prose, routing fields, and secondary counters. In a downstream run, product fixes were already complete but several additional review cycles were consumed because statuses remained stale or were reintroduced during later bookkeeping.
Examples included a completed fix event left in an intermediate state, stale pending prose, broken links after backlog archival, and a phase status reverting to review pending after correction.
Desired behavior
Establish one structured authority for review-event, phase, and routing status. Lifecycle commands should update dependent artifacts atomically or derive human-readable views from that authority. Before dispatching another review, run a consistency check that catches stale or contradictory status without consuming a reviewer invocation.
Historical review provenance must remain append-only; atomic current-state updates must not rewrite prior event identities, artifacts, or reviewed heads.
Acceptance criteria
- One transition helper or structured authority owns current review and phase status.
- Plan, implementation, and state views cannot silently diverge after a transition.
- A pre-review invariant rejects stale or contradictory current status before dispatch.
- Append-ordered review provenance remains immutable.
- Secondary fields and counters are either synchronized with the authority or documented as intentionally different semantics.
- Regression tests cover stale-state retention and reintroduction after an otherwise valid correction.
Related
This issue is distinct: it targets the cross-artifact transition mechanism that permits current lifecycle state to diverge.
Summary
Lifecycle review status is duplicated across review ledgers, implementation and state prose, routing fields, and secondary counters. In a downstream run, product fixes were already complete but several additional review cycles were consumed because statuses remained stale or were reintroduced during later bookkeeping.
Examples included a completed fix event left in an intermediate state, stale pending prose, broken links after backlog archival, and a phase status reverting to review pending after correction.
Desired behavior
Establish one structured authority for review-event, phase, and routing status. Lifecycle commands should update dependent artifacts atomically or derive human-readable views from that authority. Before dispatching another review, run a consistency check that catches stale or contradictory status without consuming a reviewer invocation.
Historical review provenance must remain append-only; atomic current-state updates must not rewrite prior event identities, artifacts, or reviewed heads.
Acceptance criteria
Related
receivedrow that shadows the root's terminal review disposition #194 addresses stale received rows in the review ledger.This issue is distinct: it targets the cross-artifact transition mechanism that permits current lifecycle state to diverge.