SuperAPI AI Directory

plan-6a-v2-update-progress

General & other

View repository

Updated 10-15 22:40

About this skill

plan-6a-v2-update-progress

Update plan and dossier progress tracking with task status. Adds domain context to change tracking. Companion debrief when called with --companion-run-id on the last task of a phase.

User input:

$ARGUMENTS

Expected flags: --plan "" --task "<task ID, e.g., T001>" --status "completed|in_progress|blocked" --changes "file1.md,file2.sh" (files changed) --domain "" (optional — inferred from task table if not provided) Optional: --phase "" (Full Mode) --subtask "" (if updating subtask) --inline (Simple Mode — update inline task table in plan) --companion-run-id "" (optional — if provided, signals that a code-review-companion ran in parallel during the phase; triggers Step 9 companion debrief on the last task) --companion-slug "" (optional, default: "code-review-companion" — only used in conjunction with --companion-run-id)

Steps

  1. Resolve paths:

    • PLAN, PLAN_DIR from --plan
    • If --inline: update task table within PLAN itself
    • If --phase: locate dossier at PLAN_DIR/tasks/${PHASE_SLUG}/tasks.md
    • If --subtask: locate subtask dossier
  2. Parse --changes as a list of changed file paths.

  3. Determine domain:

    • If --domain provided, use it
    • Otherwise, read task table and extract Domain column for the task
    • If no domain found, use "unknown"
  4. Update task status:

    • In task table (dossier or inline): update Status column
      • completed → [x]
      • in_progress → [~]
      • blocked → [!]
    • Update Architecture Map nodes if present
  5. Update progress tracking in PLAN:

    • Locate progress section
    • Update phase/task status
  6. Record changes with domain context:

    • Log which domain(s) were affected and what changed
    • Note any new components added to domain composition
    • Note any contract changes
    • Flag if docs/domains/domain-map.md needs updating (new contracts, new edges, new domains)
    • If contract changes recorded → flag "domain.md § Concepts update needed for "
    • If new domain created → flag "domain.md § Concepts creation needed for "
  7. (Retired) Plan-level flight plan update — this duty left SDD entirely. The standalone flight-plan skill (plan-5b) was removed, so there is no <slug>.fltplan.md to maintain. Progress lives in the task table and the execution log (Steps 4–5); the journey-level view (the-flow.md) is owned and regenerated by /the-flow itself, never by this skill. (Step number kept so callers' "Step 8" / "Step 9" references stay stable.)

  8. (Retired) Orchestrator retrospective — this duty left SDD entirely. Retros, friction capture, and harvest belong to the harness family, reached only through the /eng-harness-flow router (plan-6 and plan-6-companion fire its phase-end / plan-complete seams). This skill writes no retro artifacts and prompts no retrospective questions. (Step number kept so callers' "Step 9" references stay stable.)

  9. Companion debrief (phase-end conditional — fires ONLY when ALL of: --status completed, last-task-in-phase, AND --companion-run-id was provided):

    If --companion-run-id was NOT provided → skip this entire step. This is the "no companion ran" branch — no debrief needed, no farewell to read.

    If --companion-run-id WAS provided (signals a companion ran in parallel during the phase, e.g. from /plan-6-v2-implement-phase-companion):

    a) Drain ping (give the companion a final-sweep opportunity):

    COMPANION_SLUG="${companion_slug:-code-review-companion}"
    FINAL_SHA=$(git rev-parse --short HEAD)
    minih outside inbox send "$COMPANION_SLUG" --run "$RUN_ID" \
      --type task \
      --subject "review-request: final $FINAL_SHA — DONE" \
      --body "Final commit for <Phase Title>. Please scan the entire
              phase commit range for: end-to-end correctness, anything
              you noticed across multiple commits, missing tests,
              unhandled edge cases. control:stop incoming after your
              reply."
    

    Wait 30-60 seconds for the companion to respond. Read inbox for any final findings. Address HIGH/CRITICAL inline if possible (this may produce one more commit + ping cycle BEFORE the stop).

    b) Send control:stop:

    minih outside inbox send "$COMPANION_SLUG" --run "$RUN_ID" \
      --type control \
      --subject "stop — phase done" \
      --body "stop — phase complete. Please write your farewell
              envelope and exit."
    

    c) Read the farewell envelope via the dogfood path (NOT by cat-ing output/report.json directly):

    # Preferred: aggregate retros across runs (in case minih harvested already)
    minih retros --slug "$COMPANION_SLUG" 2>/dev/null
    
    # Or: validate the latest run's output
    LAST_RUN_DIR=$(minih last-run "$COMPANION_SLUG" 2>/dev/null | jq -r '.data.runDir')
    minih validate "$COMPANION_SLUG" --file "$LAST_RUN_DIR/output/report.json" 2>/dev/null
    

    The farewell contains: findings[], summary, retrospective.magicWand, retrospective.coordination, retrospective.difficulties[].

    d) Reconcile findings: walk every finding from the farewell + any finding-typed messages received during the phase. For each:

    • ADDRESSED INLINE — fixed during the phase. Note the fix sha.
    • DEFERRED WITH REASONING — out-of-scope; document the deferral in execution.log.md and (if appropriate) a follow-up dossier.
    • DISAGREE — companion was wrong. Briefly justify and move on. Never ignore a finding silently. The disposition appears in the execution log + the user-facing final summary.

    e) Surface the companion's magicWand as follow-up candidate: if the magicWand is non-trivial, print a stderr note recommending the caller file a fix dossier via /plan-5-v2-phase-tasks-and-brief --fix "<companion magicWand>". Do NOT auto-create dossiers; surface only.

  10. Report what was updated:

    • Files touched (task table, plan progress)
    • Whether companion debrief fired (yes — runId / no — flag absent)
    • Any follow-up candidates surfaced

This command is the **single source of truth** for progress updates AND the companion debrief. Always delegate both to this command rather than manually editing task tables or hand-running drain/stop sequences.

**Why the companion debrief lives here**: 6a already owns the "last task in phase" branch (the phase-complete summary in the execution log + task table). Adding the conditional companion debrief (Step 9) means `/plan-6-v2-implement-phase-companion` gets full phase-end ceremony coverage for free with zero duplication.

**Call signature symmetry**:
- Non-companion plan-6: `/plan-6a-v2-update-progress --task <T> --status completed --plan <P>` — Step 9 skipped (no flag).
- Companion plan-6: `/plan-6a-v2-update-progress --task <T> --status completed --plan <P> --companion-run-id <RUN>` — Step 9 fires.
---

> Harness note: this skill writes no retro artifacts and fires no harness seams — progress tracking and (optionally) the minih companion debrief only. Harness reflection routes through `/eng-harness-flow` at plan-6 / plan-6-companion's seams. `docs/harness/agents/**` is frozen read-only history (mined by plan-1a's Prior Learnings Scout); nothing writes there anymore.