Skip to content

Audit pipeline blocker messages: suggested commands must actually resolve the blocker #4

Description

@chtnnh

During the 0.3.0 release-day incident, the "HEAD moved after range seal" blocker suggested know-code range begin — which never cleared seal artifacts, so following the product's own advice could not resolve the block. Even range abort couldn't help under requireAttest (the signed binding is deliberately kept). That one message was fixed in 0.3.0 to point at taught → quiz → pass (which now consumes the stale seal).

Task: audit every blocker emitted in pipeline.ts (and the deny messages in check.ts / hooks) and verify, ideally with tests, that the command field actually leads to a state where the blocker clears. Candidates to scrutinize:

  • stale-artifact blockers (taught/answers/grade/grade-proposal) — do the suggested next steps hold when scope flips between index and range?
  • "Gate stale — diff may have changed" paths
  • requireTrailer denials between pass and the first know-code commit (stale COMMIT_EDITMSG, see the status display issue)

Acceptance idea: an e2e test per blocker that reaches the blocked state, runs the suggested command(s), and asserts the pipeline advances.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions