Umbrella
Groups three open, tightly-coupled issues that together close the "every dispatch/task carries a resolvable metadata.variety stamp" gap. They share the same subsystem (hooks/task_lifecycle_gate.py variety handling + the dispatch-command Task-B templates) and have interacting designs, so they should be designed and implemented as one work-unit rather than three overlapping PRs.
Tracked issues
The pivotal coupled decision (settle once, across all three)
#891 offers two fixes whose choice changes what #865's gate enforces:
- Option 1 — hardcode a
metadata.variety block in the plan-mode consultation Task-B template (pure template edit).
- Option 2 — the band resolver (
_resolve_required_band_via_blocks) inherits the parent Plan task's metadata.variety.total when Task B has none.
#891's own evidence (3rd recurrence comment) argues Option 2: consultation Task-Bs scored 11–13, not the assumed ~7–10, so a hardcoded-low stamp would mis-resolve the reasoning_reconstruction band and wrongly mark it not required. Whichever is chosen, #865's gate must agree on whether "unstamped" stays unresolvable or legitimately inherits — and #873 extends whatever gate #865 builds. That coupling is the reason to batch: one resolver/enforcement design, not three.
Recommended approach
Run /PACT:plan-mode on the batch to settle (a) Option 1 vs Option 2, (b) #865's enforcement boundary + the FIRST-OBSERVABLE-WRITE no-misfire-at-TaskCreate invariant, (c) the #873 feature-task extension — then one coherent implementation + test surface across task_lifecycle_gate and the dispatch templates.
Recurrence note
The plan-mode omission (#891) has reproduced repeatedly across plugin versions — filed 2026-06-02, calibration memory 2026-06-07, recurred 2026-06-16 (v4.4.25), and again 2026-06-24 during the #1023 fix's plan-mode consultation (the Task-B's were stamped reactively after a consultant flagged the gap; this drove the wrap-up Q6 27% variety-acknowledgment concern rate). It stays a live foot-gun because the stamp is advisory-only (#865).
Does NOT auto-close #865 / #873 / #891 — this umbrella groups + sequences them; each closes when its surface lands (likely via one batched PR).
Umbrella
Groups three open, tightly-coupled issues that together close the "every dispatch/task carries a resolvable
metadata.varietystamp" gap. They share the same subsystem (hooks/task_lifecycle_gate.pyvariety handling + the dispatch-command Task-B templates) and have interacting designs, so they should be designed and implemented as one work-unit rather than three overlapping PRs.Tracked issues
metadata.varietystamp on Task B dispatches (currently advisory-only). The enforcement gate: catch a missing Task-B stamp at the dispatch boundary (terminal A↔B wiring write orAgentspawn), not after the teammate begins. Carries a CRITICAL timing constraint (FIRST-OBSERVABLE-WRITE: enforce at the terminal wiring write / spawn, not atTaskCreate(B), which would be unsatisfiable-by-construction).plan-mode.mdconsultation Task-B template lacks themetadata.varietyblock thatorchestrate.md/comPACT.md/peer-review.mdinclude.The pivotal coupled decision (settle once, across all three)
#891 offers two fixes whose choice changes what #865's gate enforces:
metadata.varietyblock in the plan-mode consultation Task-B template (pure template edit)._resolve_required_band_via_blocks) inherits the parent Plan task'smetadata.variety.totalwhen Task B has none.#891's own evidence (3rd recurrence comment) argues Option 2: consultation Task-Bs scored 11–13, not the assumed ~7–10, so a hardcoded-low stamp would mis-resolve the
reasoning_reconstructionband and wrongly mark it not required. Whichever is chosen, #865's gate must agree on whether "unstamped" staysunresolvableor legitimately inherits — and #873 extends whatever gate #865 builds. That coupling is the reason to batch: one resolver/enforcement design, not three.Recommended approach
Run
/PACT:plan-modeon the batch to settle (a) Option 1 vs Option 2, (b) #865's enforcement boundary + the FIRST-OBSERVABLE-WRITE no-misfire-at-TaskCreateinvariant, (c) the #873 feature-task extension — then one coherent implementation + test surface acrosstask_lifecycle_gateand the dispatch templates.Recurrence note
The plan-mode omission (#891) has reproduced repeatedly across plugin versions — filed 2026-06-02, calibration memory 2026-06-07, recurred 2026-06-16 (v4.4.25), and again 2026-06-24 during the #1023 fix's plan-mode consultation (the Task-B's were stamped reactively after a consultant flagged the gap; this drove the wrap-up Q6 27% variety-acknowledgment concern rate). It stays a live foot-gun because the stamp is advisory-only (#865).
Does NOT auto-close #865 / #873 / #891 — this umbrella groups + sequences them; each closes when its surface lands (likely via one batched PR).