Skip to content

Umbrella: per-dispatch variety-stamp completeness — enforce (#865) + plan-mode template (#891) + feature-task extension (#873) #1028

Description

@michael-wojcik

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).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions