Skip to content
Pocketto
Pipeline

Execution artifacts and lifecycle

What the Pocketto pipeline writes to disk at each stage, when each file appears, and which command owns it, so the paper trail outlives the chat.

Every stage produces files on disk. That is the point: the paper trail survives the conversation. This page maps the whole tree and its owners.

The tree

execution-plan.md
index.md
phase-1.md
log.json
closeout.md

Project-level files live at the repository root: CLAUDE.md / AGENTS.md (project guide + Education block), .pocket-meta.json (Enterprise/PR metadata), .pocket/lifecycle-adapter.json (Enterprise registration), and lifecycle.json (committed with the spec directory). See Generated files for the complete inventory.

Who writes what, when

MomentWrittenWriter
Pitching handoffspec/<date>-<slug>/pitch-exploration.mdpocket-pitching
Grinding handoffspec/<date>-<slug>/<topic>.md; spec-approved eventpocket-grinding
Planning approvalplans/<date>-<slug>/execution-plan.mdpocket-planning
Structuring runexecution-plan/index.md, tasks/T*.md, phase-N.md; may rebuild the logthe structure CLI
Development startuplog.json from the plan filesthe log init CLI
Task audit passreviews/<task_id>-review.json; log update --task --shaauditor subagent + log CLI
Phase completionreviews/phase-pass-<phase_key>.json, reviews/phase-notes-<phase_key>.json; phase → REVIEW; phase-complete eventphase-level pass + log CLI
Closingphase sections + final section in closeout.md; phase → DONE; plan-closed eventpocket-closing + log CLI

The execution log

log.json is the machine-readable state: a header (plan directory, type, status, dates, baseline, pipeline marker) and one entry per phase with its tasks, statuses, done_sha values, and correction commits. Real shape, from a completed Pocketto plan:

{
  "header": {
    "plan_type": "phased",
    "status": "DONE",
    "date_started": "2026-08-15",
    "date_completed": "2026-08-16",
    "baseline_sha": "92c52f06…",
    "pipeline": 3
  },
  "phases": [
    {
      "order": 1,
      "file": "execution-plan-phase-1.md",
      "status": "DONE",
      "tasks": [
        { "id": "T1", "name": "CLI: PIPELINE marker constant", "status": "DONE", "done_sha": "2be3cde8…" }
      ],
      "corrections": [
        { "sha": "42427117…", "files": ["skills/pocket-development/SKILL.md"], "for_task": "T4" }
      ]
    }
  ]
}

(Illustrative excerpt, abbreviated.) The full model is in Lifecycle state.

Invariants

  1. The CLI is the only writer for log.json and lifecycle state. Skills run commands; nobody edits state files by hand.
  2. closeout.md is append-only: one section per phase under its canonical marker, plus the final plan section after log close.
  3. Verdicts are pinned to SHAs: a review proves a verdict only for the reviewed_sha it actually read.
  4. Events commit before delivery: lifecycle.json records state and events locally first; Enterprise delivery can never undo the local commit.

On this page