Skip to content

[conformance] Make the deployed lifecycle flows' operator-facing narration and consent surfaces actually reach the operator: close-turn legibility, external-contribution submit, and the product-design advisory lock #415

Description

@StarshipSuperjam

The engine opened this item itself — you didn't create it.

What this is. A conformance audit of the build against the locked engine-planning design confirmed the divergences below (re-verified against current main) and grouped them into one build-session-sized unit for the lifecycle subsystem.

Across three deployed lifecycle flows -- close-turn, external-contribution submit, and the product-design spec-lock -- the operator-facing legibility, consent, and advisory surfaces exist on paper but never actually reach the operator, all the same 'narration/consent parked in a doc with no standing-context home or live wire' failure. In close-turn: the recording posture that POPULATES the trust-spine gate is documented only in on-demand runbooks/policy (absent from the deployed floor, boot, and conduct defaults), so a cold session is never told that raising a concern means running close.py record, the recorded subset stays empty, and the gate mechanically no-ops; the repeated-pushback loop sentence is authored-then-dead-code, the clean-turn summary depends on unwired spontaneous narration, the cap-stop rides a non-guaranteed stderr channel, and a stale test asserts a dead behavior. In external-contribution submit: the spec's deliberate SOFT section-6 leak nudge is turned into an unbypassable halt with no override, its name-based predicate misdiagnoses an upstream product's own CLAUDE.md/CODEOWNERS as an engine leak, the operator runbook tells a fork-plus-brownfield engine-mechanic story the spec rules out, and submitted-is-not-accepted has no status-check tool (narration parked in a doc). In product-design: even with design-review installed, the spec locks on validation-green + operator acceptance alone -- the four advisory lenses are never invoked and no surface records product-design as their second consumer, so an audit can't see the advisory tie. A single build session gives these narration/consent surfaces standing-context homes and live wires (relay/narration instruments, a status-check surface, a soft-tier + disambiguated predicate, and the advisory-lens invocation + consumed-by record).

Findings in this unit:

  • U18: Give the recording posture a standing-context home (deployed floor / boot / conduct defaults) so a cold session knows raising a concern means running close.py record and the trust-spine gate stops no-op'ing.

  • U18: Wire the repeated-pushback loop line and the clean-turn disposition summary into narration (via the must-push relay); route the cap-stop announcement through the AI relay instead of best-effort stderr.

  • U18: Fix the stale close test name/comment that assert the dead 'import fails -> silent no-op' behavior (memory has shipped).

  • U20: Make submit()'s section-6 leak nudge a soft, operator-decidable tier (not an unbypassable halt with no override).

  • U20: Disambiguate an upstream product's own foundation-named files (CLAUDE.md / .github/CODEOWNERS) from genuine engine leaks so a true product contribution is not misdiagnosed and blocked.

  • U20: Rewrite the engine-mechanic operator runbook to the separate-workspace variant (drop the fork-plus-brownfield story the spec rules out).

  • U20: Add a status-check narration surface for submitted-is-not-accepted so where-does-it-stand is not parked in a doc.

  • U13: Wire product-intake's spec-lock ceremony to invoke the design-review quartet advisorily when installed.

  • U13: Record product-design as the reciprocal second consumer in the plan-review personas' consumed-by record so no installed lens dangles.

  • Spec authority: systems/lifecycle/close/README.md 'The finding-disposition gate' + 'Bounded, legible, and leak-proof' bullets 3-4; systems/lifecycle/external-contribution/README.md #Keeping the contribution clean + #The operator's view + #The engine-mechanic; modules/product-design/README.md:98-111; scenarios/product-design-intake.md:47-49; decision-log.md D-072, D-107, D-244(3), D-250

  • Quality attributes: Trustworthiness-for-a-non-engineer, Auditability, Cold-start-readiness, Degradability

What happens next. A single build session should resolve every item in the checklist above, each fixed to full spec capability (principles §20). The engine opened this item for your review; nothing merges without the protected-branch gate.

More detail.

Metadata

Metadata

Assignees

No one assigned

    Labels

    engineOpened by the engine about its own health (not your product).

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions