--- name: long-task-continuation description: "Use when a task is multi-step, may span context resets or sessions, uses subagents, or risks losing state before completion." --- # Long Task Continuation ## Overview Use this skill to keep long tasks checkpointed, resumable, drift-aware, and evidence-gated. This is a protocol skill. It does not execute plans, dispatch subagents, run tests, or grant completion authority. ## Authority Boundary Current owner: - Method Pack protocol discipline Not owned here: - plan execution - subagent dispatch - host daemon / watchdog / automatic retry - authoritative `GateDecision` - evidence sufficiency final judgment - completion authority ## When To Use Use this skill when any of these are true: - the task has multiple phases or more than one meaningful work slice - the task may be interrupted, compacted, resumed, or handed off - the task uses subagents - the user explicitly asks for long-task continuity, resume safety, or avoiding drift - the task changes architecture, contracts, shared workflows, or verification gates For short direct answers or one-command checks, do not force this protocol. Multi-step, todo-driven, or subagent-using tasks do not force durable records by themselves; keep an inline checkpoint unless the task also crosses sessions, needs handoff, or requires resumable state. ## Required Artifacts Maintain artifacts under `docs/aegis/work/YYYY-MM-DD-/`: | Artifact | File | When | |----------|------|------| | TaskIntentDraft | `10-intent.md` and optional `task-intent-draft.json` | Start protocol | | BaselineReadSetHint | `10-intent.md` (inline) | Start protocol | | BaselineUsageDraft | `10-intent.md` (inline) and optional `baseline-usage-draft.json` | Start protocol and when baseline usage changes | | ImpactStatementDraft | `10-intent.md` (inline) | Start protocol | | TodoCheckpointDraft | `20-checkpoint.md` and optional `todo-checkpoint-draft.json` | Each checkpoint | | ResumeStateHint | `20-checkpoint.md` (inline) | Each pause/handoff | | DriftCheckDraft | `20-checkpoint.md` (inline) and optional `drift-check-draft.json` | Per-slice protocol | | EvidenceBundleDraft | `90-evidence.md` and optional `evidence-bundle-draft.json` | Per-slice protocol | | Reflection | `99-reflection.md` | Completion candidate | For medium+ complexity tasks only. Low-complexity tasks skip work/. `Execution Readiness View` may be included inline in `10-intent.md` or the active checkpoint when the workstream is medium/high, subagent-driven, handoff-prone, long-running, architecture / contract sensitive, or compatibility / retirement sensitive. It is a human-readable rendering of existing drafts and the parent plan, not a new JSON artifact type and not completion authority. Planless Slice Lane: - Use this lane when a parent plan or parent spec already owns the long-task workstream and the current micro-slice only executes or refines one bounded parent task. - Record a compact Slice Card instead of creating another durable plan/spec: ```text Slice Card: - Goal: - Parent plan/spec: - Files: - Boundary: - Verification: - Stop: ``` - Slice Card `Goal` anchors slice-level completeness only. - It does not by itself grant whole-task completion. - Final completion still requires `verification-before-completion` Goal Closure against the parent plan/spec and any active goal frame, rendered through the unified Aegis impact/safety receipt unless audit detail is requested. - Do not create new plan/spec files for micro-slices that stay inside the parent plan, existing compatibility boundary, and known verification path. - Update the existing checkpoint, evidence, and drift records when persistent state is needed. - Escalate out of this lane only when a new owner, contract, schema, public API, architecture boundary, migration, persistence, security/permission, distribution/release surface, or unclear verification boundary appears. When durable architecture decisions are in scope, these work records are the preferred ADR Auto Backfill source. Preserve ADR signals, source refs, alternatives, compatibility boundaries, drift checks, retirement notes, and baseline-sync questions in the work record instead of relying on memory at completion time. These are draft / hint / projection inputs. They are not authoritative runtime records. ## Workspace Helper Protocol When configured Aegis workspace support or installed Aegis workspace support is available, use it for the target project workspace and lifecycle records: 1. Initialize before writing work records: ```bash python init --root ``` 2. For a new medium+ task process trail, prefer helper-backed lifecycle creation over hand-created files: ```bash python new-work --root --date YYYY-MM-DD --slug --title "" --requested-outcome "<outcome>" --scope "<scope>" --change-kind <kind> ``` 3. After each slice, update checkpoint, evidence, and drift through the helper: ```bash python <aegis-workspace-helper> add-checkpoint --root <target-project-root> --work YYYY-MM-DD-<slug> ... python <aegis-workspace-helper> add-baseline-usage --root <target-project-root> --work YYYY-MM-DD-<slug> ... python <aegis-workspace-helper> add-evidence --root <target-project-root> --work YYYY-MM-DD-<slug> ... python <aegis-workspace-helper> add-drift-check --root <target-project-root> --work YYYY-MM-DD-<slug> ... ``` 4. Before pause, handoff, or completion candidate, assemble a structural proof bundle and check the workspace: ```bash python <aegis-workspace-helper> bundle --root <target-project-root> --work YYYY-MM-DD-<slug> python <aegis-workspace-helper> check --root <target-project-root> ``` These helper checks validate workspace structure, index coverage, and JSON sidecar shape only. They do not determine evidence sufficiency, do not produce authoritative `GateDecision`, and do not grant completion authority. ## Start Protocol Before long-task execution: 1. State the requested outcome, scope, non-goals, and risk hints. 2. If goal framing exists, restate goal, success evidence, stop condition, and non-goals. Stop condition must allow done, blocked, needs-verification, and scope-exceeded outcomes. 3. Identify baseline refs that must be read before changing files. 4. Record baseline usage state: - required baseline refs - optionally delivered context refs when the host can project them - acknowledged before plan refs - cited in plan refs - missing refs 5. Create or update the todo map. 6. If the parent plan or workstream needs an execution handoff, render or link an `Execution Readiness View`: - intent lock - scope fence - baseline lock - owner / contract constraints - compatibility boundary - retirement boundary - task batches - test obligations - review gates - drift / rewind rules - evidence required before completion - advisory boundary 7. Create the first checkpoint: - current todo - active slice - completed todos - evidence refs - blocked-on items - next step 8. If baseline refs are missing, pause in `needs-baseline-readback`. 9. If the workspace helper is available, use `aegis-workspace.py new-work` to create/index the first `docs/aegis/work/` files and run `check --root <target-project-root>` before continuing. ## Per-Slice Protocol Before each work slice, restate: 1. current goal 2. current todo 3. intended edits 4. explicit non-edits 5. verification command or manual check 6. `Execution Readiness View` alignment when one exists For micro-slices under an existing parent plan, use the Planless Slice Lane and state the Slice Card instead of opening a new planning/specification artifact. After each work slice, update: 1. completed todos 2. evidence refs 3. baseline usage if newly required refs were acknowledged, cited, or found missing 4. blockers 5. next step 6. drift check 7. helper-backed JSON sidecars through `aegis-workspace.py add-checkpoint`, `aegis-workspace.py add-baseline-usage`, `aegis-workspace.py add-evidence`, and `aegis-workspace.py add-drift-check` when available When patch-shape/ripple triage, an H-class finding, or a bounded compatibility mitigation fired, a locally green result does not clear that direction. Reuse checkpoint prose and evidence refs to retain `PatchShape`, `CanonicalOwner`, `UpwardDrillSignal`, decision, latest outcome, and one bounded evidence ref; do not copy raw logs or full diffs. If no fresh evidence exists, the state is `needs-verification` or `partial`. ## Resume Protocol When resuming: 1. Read latest checkpoint. 2. Read latest resume hint if present. 3. Re-read original task intent. 4. Re-read required baseline refs. 5. Passively re-read relevant active `CONTEXT.md` language for non-trivial work. 6. Re-read the `Execution Readiness View` if present. 7. Compare current worktree state with checkpoint claims. 8. Compare the slice with the view's intent, scope, baseline, compatibility, retirement, test, and review locks. 9. If any disagreement exists among the checkpoint, baseline, context, view, and worktree, compose `establishing-project-context` for a semantic conflict; for any other disagreement, pause or return to planning. 10. Before an unplanned repair, read retained invariant, owner seam, patch shape, and causal topology and route comparison to `systematic-debugging`; a new carrier name alone does not prove a new direction. Never resume from memory alone. ## Drift Check Answer these after each slice: - Does the current work still serve the original task intent? - Does the current work still serve the goal and stop condition? - Did the slice stay inside the compatibility boundary? - Did any new owner, fallback, adapter, or branch appear? - Is the retirement track still explicit? - Did the evidence bundle grow enough to support the next claim? - If an `Execution Readiness View` exists, does the active slice still match its intent lock, scope fence, baseline lock, compatibility boundary, retirement boundary, test obligations, and review gates? Allowed decisions: - `continue` - `pause-for-user` - `needs-baseline-readback` - `needs-verification` - `blocked` Forbidden decisions: - `gate-passed` - `completion-granted` - `authoritatively-safe` ## Completion Candidate Protocol Before saying work is complete: 1. Use aegis:verification-before-completion. 2. Confirm every todo has a status. 3. Confirm blockers are resolved or externalized. 4. Confirm evidence refs cover the acceptance criteria. 5. Confirm drift check has no blocking state. 6. Run `python <aegis-workspace-helper> bundle --root <target-project-root> --work YYYY-MM-DD-<slug>` if the helper is available and a work record exists. 7. Run `python <aegis-workspace-helper> check --root <target-project-root>` if the helper is available and the task wrote `docs/aegis/` records. 8. Treat the generated `GateInputPack` as future-runtime input only. 9. If durable architecture decisions were in scope, pass the work record, proof bundle, drift checks, evidence refs, and ADR signals into aegis:verification-before-completion for ADR Backfill Check. Method Pack output is verified evidence and advisory judgment only. It is not authoritative completion. ## Minimal Reporting Shape Use this shape for long-task updates: - `Aegis Visibility`: why checkpoint, resume, drift, handoff, or parent-plan discipline is shaping the next step - `TodoCheckpointDraft`: current todo, completed todos, active slice, next step - `BaselineUsageDraft`: required refs, acknowledged refs, cited refs, missing refs, decision - `Execution Readiness View`: present | absent | refreshed | stale, and the alignment signal when present - `Evidence`: commands, files, logs, or manual checks - `DriftCheckDraft`: scope, compatibility, retirement, decision - `Risk / Unknown`: unresolved blockers or missing evidence - `Next`: the next smallest safe action