Skip to content

gate: error-code recovery enumeration (retriable codes get a bench recovery quiz) #1421

Description

@thymikee

Part of #1412 (Track B).

Context

#1411 added error-envelope recovery quizzes (device-in-use, stale ref, ambiguous match, app-not-installed) with renderer-pinned samples. The case list is hand-picked; retriableForErrorCode and defaultHintForCode in src/kernel/errors.ts are the natural enumerators (what-enumerates-N).

Deliverables

  • A unit-lane gate in scripts/tests/: every code classified by retriableForErrorCode has a bench recovery-quiz case in scripts/help-conformance-cases.mjs (or a named waiver); every AppErrorCode resolves a hint through defaultHintForCode or carries an explicit no-hint waiver.
  • Any new quiz samples follow the pinning rule: quoted output lives in scripts/help-conformance-sample-outputs.mjs and is rebuilt through the real producer in help-conformance-sample-outputs.test.ts. Never hand-transcribe CLI output.

Acceptance

  • Adding a new retriable code without a quiz or waiver fails deterministically.
  • Waivers fail when stale (code removed or quiz added), same pattern as the help-topic gate.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions