# os-sdlc — overview (launching point, v0.1) Status: scaffold only. No skills/agents/hooks/scripts are implemented yet — this document exists to anchor a follow-up brainstorming session, not to lock a design. ## Why this plugin exists Matt Pocock (mattpocock/skills) shipped a v1.1 lifecycle update (2026-07-14) that turned his skill set from a planning tool into a full grill → to-spec → to-tickets → implement → code-review → commit pipeline. Separately, `~/dev/delta-refinery` runs a heavier, DB-backed, multi-level pipeline (System Design → Behavioral Design → Architecture → Slicer → Requirements) with named agent roles per level and a Pre/Post/Handoff pattern for resumable multi-agent work. `os-sdlc` is where cc-os adapts the good parts of both — Matt's lightweight linear lifecycle and Delta Refinery's structured multi-level handoff discipline — into the existing os-* family, wired to `os-backlog` (tickets/tracker) and `os-adr` (decision gate), rather than reinventing either. See [docs/adr/0037](../../docs/adr/0037-os-sdlc-lives-inside-cc-os-as-a-new-plugin-not-a-separate-cc-sdlc-marketplace.md) for why this is a plugin inside cc-os rather than a separate `cc-sdlc` marketplace. ## Scope: not just skills Unlike most current cc-os plugins, `os-sdlc` is expected to carry all of: - **skills/** — the lifecycle verbs (`review` is the first: cherry-picks Matt's standards-conformance + spec-fidelity + Fowler refactor-smell axes into a new `/os-sdlc:review`, coexisting with the existing generic `/code-review`). - **agents/** — named roles for pipeline stages, in the spirit of Delta Refinery's per-level agent rosters, sized down to what a lightweight harness actually needs. - **hooks/** — session/state wiring where a deterministic check beats a skill. - **reference/** — general best-practice material by language/framework/pattern that pipeline stages can pull from (not client- or project-specific — that stays in the vault). - **scripts/** — mechanical CLI tooling supporting the above (candidate for the ADR-0025 lib/+bin/ Ruby structure once real logic exists). ## Working philosophy this plugin should encode Carried over verbatim from the brainstorming that led here, because it's the design target, not just a preference: - **Draft-then-refine over get-it-perfect-up-front.** Autoresearch-style loop: draft an idea, implement a first pass, audit process and outcome, hypothesize an improvement, iterate. Applies to both the artifacts os-sdlc produces (specs, tickets, code) and to os-sdlc's own design. - **Goal is throughput at trust, not just automation.** The target is being able to automate large chunks of the dev process for big upcoming projects — "move at the speed of thought" — which requires the pipeline to be trustworthy enough at each stage that skipping human review of that stage is safe, not just fast. - **Composability with the rest of cc-os is a hard constraint**, not a nice-to-have: os-sdlc must interoperate with `os-backlog` (tickets), `os-adr` (decisions), `os-vault` (cross-project knowledge) — ADR-023's "os-* plugins cooperate" bet applies here directly. ## Known inputs for the follow-up brainstorming session - Matt Pocock v1.1 lifecycle notes: `docs/matt-pocock-skills-v1.1-notes.md`. - Delta Refinery structure (facts gathered this session, not yet written up as a standalone doc): 5-level `PipelineRunner`/`PipelineOrchestrator`, per-level agent rosters under `.claude/agents/{prd,functional_spec,technical_spec,requirements}/`, intra-level in-memory `Handoff` + inter-level DB-persisted `Artifact#structured_content` for resumability, two composition roots (`HeadwatersComposition` full pipeline vs. `ProductionComposition` requirement-level-only). - Existing cc-os pieces this must integrate with: `os-backlog` (capture/list/route), `os-adr` (find/create/init/migrate), `os-vault` (query/write/onboard-project). - Open question carried into the brainstorm: how much of Delta Refinery's resumable-handoff machinery is worth adopting now vs. deferred until a concrete multi-session pipeline actually needs it (avoid building it ahead of a real need). ## ADW taxonomy input (2026-07-14 session) Cross-project methodology reference, not repo-specific: see the vault note `agentic-sdlc-ai-developer-workflow-taxonomy.md` (SecondBrain) — a taxonomy of AI Developer Workflow (ADW) structures from IndyDevDan's "Forget Loop Engineering" video (mermaid diagrams included, with `[dan]`/`[jrs]` provenance tags separating his claims from cc-os-specific extrapolation). Read it before designing os-sdlc's pipeline shape; the plan below is the repo-specific slice of that broader taxonomy. Three actors of value creation apply directly to os-sdlc's component design: **code** (deterministic, free, most reliable — lint/format/test/CI/ticket-state transitions), **engineer** (the two fixed constraints: prompting/planning at the start, reviewing at the end), **agent** (judgment work: planning, building, scouting). Every os-sdlc pipeline stage should be built by first asking which of the three actors it actually needs — don't default to "agent" for something code or a human gate should own. ## First-iteration build plan: a single tracer-bullet ADW Per the vault note's escalation ladder, and per standing tracer-bullet convention, the first build target is the smallest complete loop, not the software factory. Scope: **One worktree, one pipeline**: `ticket intake → build agent → lint/format/test (hooks) → engineer review → ship`. Sandboxes, N-way worktree fan-out, the hotfix ADW, and the software factory router are explicitly deferred — documented in the vault note, not built here. Step by step: 1. **Ticket intake** (code, not agent). Reuse `os-backlog` as the trigger: a card moving to `Doing` (or a linked Forgejo issue via `/to-tickets`) is the pipeline's entry point. No new ticketing system — os-sdlc consumes os-backlog's state, per ADR-0037's composability constraint. 2. **Build agent** (agent, minimal tools). New `os-sdlc` agent definition: system prompt scoped to "write/modify code to satisfy the spec," tool grants limited to `Read`/`Write`(/`Edit`) — no `Bash`. It cannot run tests or linting itself; it only ever sees pass/fail feedback handed back to it. 3. **Lint/format/test gate** (code, via hooks — delta-refinery-style Pre/Post/Handoff, not a skill-embedded step). A `PostToolUse`-style hook (or a small script the pipeline invokes between agent turns) runs the project's lint/format/test commands after each build-agent turn. On failure, the failing output is fed back into the *same* build-agent session as the next turn's context (per Dan's separation-of-concerns principle). On pass, advance. 4. **Engineer review** (human gate). Standard PR/diff review — no change from how review works today; the pipeline's job is to get a clean, tested diff in front of the engineer, not to replace this gate. 5. **Ship** (code). Merge + whatever this repo's existing deploy path is — os-sdlc does not own deploy; it hands off a mergeable, reviewed change. Each step above should be walked by hand first (per Dan's second tip) before being wired into skills/hooks/agents — run the lint/test loop manually against a real small change, confirm the feedback-loop shape works, *then* automate it. ## Not decided yet (do not assume in implementation) - Which of Matt's skills get adopted as-is vs. adapted vs. skipped, beyond `review`. - Whether `implement` is adopted as a thin router as-is, or redesigned as a Delta-Refinery-style level with named sub-roles. - Whether `wayfinder` (multi-issue planning for big-plan decomposition) subsumes or sits alongside a Delta-Refinery-style level structure. - Any hook or agent definitions — none exist yet.