# Dormant trigger registry (L3 layer — machine-readable). # # Purpose : # Closed-but-binding dormant backlog rows ("documented:dormant" / # "documented (deferred)") carry implicit "trigger-on-X" contracts. # L1 (human memory) + L2 (periodic INTEGRATION-AUDIT) are fragile / late. # This file is the single source of truth that scripts/check_dormant_triggers.py # reads to flag activation candidates on every orchestrator run. # # Schema (per entry) : # - issue : int # closed Gitea issue id (the dormant axis) # - title : string # - doc : string # repo-relative path to the dormant reference doc # - doc_evidence_lines : string # "start-end" line range citing the activation-gate text # - status : enum # documented:dormant | documented:deferred | documented:no-runtime | followup-linked # - followup_issue : int|null # set when an open issue already tracks the watch (then no checker watch needed) # - trigger # description : string # file_patterns : [glob] # working-tree paths checked against changed files # content_patterns : [regex] # python re patterns matched against changed-file contents # manual_evidence_required : bool # true → checker skips (human-only gate; e.g. User GO, sign-off, runtime regression analysis) # - on_trigger # action : enum # create_runtime_issue | reactivate_dormant | manual_review | note_only # template : string # suggested follow-up issue title (if action ≠ note_only) # # Guardrails : # - Checker is informational only (exit 0 always; orchestrator never blocks Stage 5 on alerts). # - manual_evidence_required: true entries do NOT auto-fire — they are noted for human review. # - followup_issue is set: the registry entry is note-only; no checker watch (the open issue tracks the axis). # - Out of scope for this registry : IMP-07 (documented:no-runtime — policy decline, reactivation = policy reopen, not a code trigger). - issue: 16 title: "IMP-16 U2 wiring (Phase Q U1 → Phase Z runtime)" doc: docs/architecture/IMP-16-U2-WIRING-DESIGN.md doc_evidence_lines: "21-25" status: documented:dormant followup_issue: null trigger: description: >- IMP-07 reverse-path actually lands runtime — a non-test module under src/ introduces the reverse-path adapter (html_to_slide_mdx / edited_html_to_mdx / reverse_path). At that point IMP-16 U2 wiring (Step 1/2/14 surface use) becomes a live integration axis, not a paper design. file_patterns: - "src/**/*.py" content_patterns: - "html_to_slide_mdx" - "edited_html_to_mdx" - "reverse_path" manual_evidence_required: false on_trigger: action: create_runtime_issue template: "[IMP-16][P5][WIRING] Activate U2 reverse-path wiring against new IMP-07 adapter" - issue: 17 title: "IMP-17 AI repair fallback carve-out" doc: docs/architecture/IMP-17-CARVE-OUT.md doc_evidence_lines: "25-31" status: documented:dormant followup_issue: null trigger: description: >- 3-condition AND gate: (1) explicit User GO for axis activation, (2) B4 frame_selection evidence integration complete (Step 9 evidence trace stabilised), (3) IMP-04 (catalog expansion to 32 frames) + IMP-05 (V4 rank-2/3 fallback) live. All three required before the carve-out exits design-only state. file_patterns: [] content_patterns: [] manual_evidence_required: true on_trigger: action: manual_review template: "[IMP-17][P5][CARVE-OUT] Activate ai_adaptation_required fallback (3-cond gate cleared)" - issue: 18 title: "IMP-18 SVG coordinate pipeline gap report" doc: docs/architecture/IMP-18-SVG-GAP-REPORT.md doc_evidence_lines: "38-43" status: documented:dormant followup_issue: null trigger: description: >- An SVG-bearing partial lands under templates/phase_z2/ (families or frames) AND the partial declares slots consuming items[*].cx/cy/r + outer_r + viewbox_* (the prepare_venn_data return contract). IMP-04 frame_partials registration is the natural upstream. file_patterns: - "templates/phase_z2/families/*.html" - "templates/phase_z2/frames/*.html" content_patterns: - "- Phase Z Step 8 solver (min_height_first + content_weight) produces a verifiable regression that the Phase O role-container pattern would have handled correctly, AND the IMP-09 owner confirms the case is not addressable inside the Phase Z solver (visual_hints.min_height_px / content_weight.score adjustments insufficient). Requires failing-case MDX + frame_contract trace + observed vs expected geometry. file_patterns: [] content_patterns: [] manual_evidence_required: true on_trigger: action: manual_review template: "[IMP-19][P5][ZONE-RATIO] Re-activate Phase O role-container pattern (IMP-09 sign-off attached)" - issue: 20 title: "IMP-20 frame contract validation reference" doc: docs/architecture/IMP-20-FRAME-CONTRACT-VALIDATION-REFERENCE.md doc_evidence_lines: "85-91" status: followup-linked followup_issue: 55 trigger: description: >- §A5 3-cond AND gate (Step 10 partial frame-contract emit insufficient + evidence + IMP-04 sign-off). Watch surface already owned by open issue #55 — no checker watch installed here to avoid double-tracking. file_patterns: [] content_patterns: [] manual_evidence_required: true on_trigger: action: note_only template: "Tracked under open issue #55 — no new watch needed."