Skip to content

feat(gate-integrity): task must not finalize succeeded while steps lack an explicit APPROVE in their review files #626

Description

@HenryLach

Follow-up from #624 (second observed failure mode, task TP-2019 in the reporter's run).

Problem

A worker implemented Steps 1–4 as one changeset, got the Step-1 code review to APPROVE, then self-attributed that approval to Steps 2–6 and the task finalized (succeeded + .DONE) with Steps 2–6 never independently review-gated. The review gate is currently enforced only by worker-prompt convention — the engine does not verify per-step review coverage before accepting .DONE.

The #624 verdict-extraction fixes (robust parseReviewVerdict, fail-closed review_step tool, file-authoritative disposition) close the mis-read verdict path, but nothing prevents a worker from simply not calling review_step for a step, or reusing one step's approval for others.

Proposed direction

A completion-gate assertion at task finalization (lane-runner, where .DONE is validated): for each step requiring review under the task's Review Level, verify .reviews/ contains a review file for that step whose verdict (via parseReviewVerdict) is APPROVE. On violation: refuse finalization, log the gap to STATUS.md, and surface a review-intervention-needed (order-violation) alert so the supervisor adjudicates.

Design questions to settle before building:

References

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions