Skip to content

Wire Phase 2 readiness check into secretary wrap-up/pause flow (supports #481) #482

@michael-wojcik

Description

@michael-wojcik

Context

Supports issue #481 (Phase 2 flip of teachback_gate). PR #477 ships pact-plugin/scripts/check_teachback_phase2_readiness.py — a diagnostic that reads session journals and reports advisory-event counts + F10 criterion status. But there's no mechanism to surface the readiness status to the user; the diagnostic only runs if someone manually invokes it.

Without automation, Phase 2 risks drift: advisory mode keeps running, no one remembers to check readiness, the flip never happens.

Proposal

Extend the pact-secretary workflow to surface Phase 2 readiness status during wrap-up and pause flows only when issue #481 is open:

  1. During /PACT:wrap-up and /PACT:pause invocations, the secretary harvest includes a Phase 2 readiness check step.
  2. If issue Phase 2: flip teachback_gate to blocking mode (follow-up to #401) #481 is closed, skip the check (no-op; Phase 2 is either shipped or cancelled).
  3. If issue Phase 2: flip teachback_gate to blocking mode (follow-up to #401) #481 is open, the secretary:
    • Runs check_teachback_phase2_readiness.py (or equivalent programmatic read of journal events)
    • Reports observation count: "Since last wrap-up: N sessions at variety ≥ 7, M would_have_blocked=true events, K workflows showed zero advisory events"
    • Surfaces the report as part of the wrap-up/pause summary to the user
    • Flags: "Phase 2 readiness: pending human judgment on M advisory events. Review events and file findings to Phase 2: flip teachback_gate to blocking mode (follow-up to #401) #481."

User workflow

Each wrap-up, user sees:

  • "Phase 2 readiness status: 2 workflows since last wrap-up, 3 advisory events to review"
  • User inspects the events (or delegates to a specialist) to decide false-positive-vs-real-catch
  • Two consecutive wrap-ups with zero unresolved advisory events → Phase 2 flip gate satisfied → user closes Phase 2: flip teachback_gate to blocking mode (follow-up to #401) #481 by shipping the flip PR

Scope

  • Modify: pact-plugin/skills/pact-handoff-harvest/SKILL.md (add conditional Phase 2 readiness step)
  • Modify: pact-plugin/commands/wrap-up.md + pact-plugin/commands/pause.md (reference the new harvest step)
  • Or alternative: a dedicated phase2-readiness-harvest.md skill invoked by the secretary on demand

The trigger condition ("only when #481 open") could be:

Acceptance criteria

Precedent

PACT has secretary-integrated scan patterns at wrap-up/pause already (consolidation harvest, memory consolidation). This adds one more: Phase-2-readiness-surface. Similar in shape to check_unpaused_pr surfacing PR status at session end.

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