CodyCody

Packages

SDLC workflow reference

Every workflow in the SDLC package with its inputs, outputs and gates, the id conventions and file layout it uses, the shipped Python helpers, and what to do when a run stops.

Twenty-nine published workflows in the SDLC/ folder, plus thirty-five instruction files carrying the guides, review rubrics and Python helpers they use. ccw_list shows all of them with their input schemas; this page is the map.

What you start, and what runs underneath

Started directly

Workflow Folder Inputs beyond projectName Human gates
SDLC 0 Reverse Engineer SDLC/reverse workspaceDir, sourceDir, request Assumptions, Baseline sign-off
SDLC 1 Requirements SDLC/specification brief or briefPath, workspaceDir, constraints, stakeholders Up to 2 clarification rounds, Baseline sign-off
SDLC 2 Solution Design SDLC/design workspaceDir, request Architecture sign-off
SDLC 3 Style Guide SDLC/styleguide workspaceDir The style questions, Style-guide sign-off
SDLC 4 System Decomposition SDLC/decomposition workspaceDir, request Decomposition sign-off
SDLC 5 Development and Test SDLC/development workspaceDir, devDir, request System fix gate (only on exhaustion)
SDLC 6 Change Request SDLC/change workspaceDir, devDir, change Impact gate, System fix gate
SDLC 7 Local Deployment SDLC/deployment workspaceDir, devDir, externalServices, keepRunning Credentials, Manual test
SDLC 8 Release and Deploy SDLC/deployment workspaceDir, devDir, promoteTo Secrets, Production, Rollback
SDLC 9 Provision Infrastructure SDLC/deployment workspaceDir, devDir, environment Credentials, Cost
SDLC Test Retrofit SDLC/development workspaceDir, devDir, sourceDir, target, increment, runSystemTests Retrofit sign-off
SDLC Bug Fix SDLC/change workspaceDir, devDir, report, severity, hotfix, runSystemTests More information, Fix attempt, Regression, Hotfix
SDLC UI Inspection SDLC/development workspaceDir, devDir, subsystem, wcagLevel, diffThreshold Baseline approval, UI waiver

Children

Each of these is a workflow in its own right — the engine runs it as a child instance and the parent reads its pinned result. Several are also useful to start on their own, noted below.

Workflow Runs under What it does
SDLC Write Actor Use Cases Requirements One actor's complete use-case set, via a four-source discovery procedure. Standalone: adding an actor later.
SDLC Model Concepts Requirements The ENT-## conceptual model from the consolidated use cases, back-filling each use case's entities. Standalone: after a scope change.
SDLC Document Requirements Every documentation phase Builds the static HTML documentation site from the .md sources. Standalone: rebuilding the site.
SDLC Document File Document Requirements Reviews one generated page against its source and the doc-style rubric.
SDLC Process Review Comments Feeds the site's exported review comments back into the artifacts, then regenerates. Standalone: after a review round.
SDLC Recover Behavior Reverse Engineer Use cases, conceptual model, business rules, as-built requirements and NFRs, from code.
SDLC Recover Structure Reverse Engineer As-built architecture and the SUB-## decomposition from the real module tree.
SDLC Build Subsystem Development, Change One leaf subsystem end to end: UX, code, unit tests, subsystem tests, UI inspection.
SDLC UX Design Build Subsystem The UX specification for one subsystem — screens, flows, states, accessibility.
SDLC Write Code Build Subsystem Implementation against the binding architecture, plus dev-manifest.json.
SDLC Unit Tests Build Subsystem Unit tests behind the 95% branch-coverage gate.
SDLC Subsystem Tests Build Subsystem Coverage of every allocated UC/REQ/NFR, checked as a matrix.
SDLC Compose System Development, Change, Deployment The composition root under <devDir>/app, verified by a smoke run.
SDLC System Tests Development, Change, Bug Fix, Retrofit The system-level suite, plus failure-to-subsystem mapping.
SDLC Fix Subsystem Development, Change, Bug Fix, Deployment A targeted fix for given findings, re-gated and diff-reviewed.
SDLC Retrofit Subsystem Tests Test Retrofit Characterization tests and the coverage ratchet for one existing subsystem.

Conventions

Ids. ACT-## actors, DOM-## domains, UC-### use cases, ENT-## entities, BR-### business rules, REQ-### functional requirements, NFR-###, SUB-## subsystems, CH-### changes, BUG-###, REL-###. Ids are stable: they are what the documentation site cross-links, what the decomposition allocates, what the test matrices check and what a change request traces through. Nothing renumbers them.

Documents come in pairs. Each artifact is a .jsonl of records plus a readable .md rendered from it. Workflows read the .jsonl; people read the .md or the site. Editing one without the other is the one way to get them out of step — send review comments through SDLC Process Review Comments instead.

File layout. As in the overview: documentation phases write under workspaceDir (00-reverse/, 01-requirements/, solution-architecture/, 03-styleguide/, 04-decomposition/, 06-changes/, 07-releases/, 08-bugs/, site/), development and deployment phases write under devDir (build-map.jsonl, build-results.jsonl, app/, reports/, deploy-local/, deploy-remote/, infra/, .tools/).

Reports land outside both. Anything a workflow produces that is neither source nor documentation goes to {outputDir}/SDLC/<instanceId>, per the engine's output location rule.

The Python helpers

Five stdlib-only scripts ship as instruction files, are materialized verbatim into .tools/, and run through shell steps. They compute; they never judge.

Script Used by What it computes
sdlc_devtools.py Phases 5–8, Retrofit, Bug Fix The build map and dependency order (cycles condensed, not broken), change impact, subsystem health, manifests, coverage parsing and the ratchet, git hotspots, the test matrix and the test report
sdlc_docgen.py Documentation The static site: sha256 change detection, exact-id cross-links, badges, mermaid, style-guide examples, batch page generation
sdlc_styleguide.py Style Guide design-tokens.json validation — WCAG contrast, type- and spacing-scale sanity — and the generated tables
sdlc_uitools.py UI Inspection The capture plan, token conformance, contrast on rendered text, and a pure-Python PNG pixel diff
sdlc_retools.py Reverse Engineer The tree inventory, the external surface, and mechanical verification of cited evidence

They need python3 3.8 or newer and nothing else — no package index, no network.

When a run stops

At a gate. That is the design. The engine returns status: "waiting" with the question; your agent asks you and sends the answer back with ccw_continue. Sign-offs, credentials, cost, production and baseline approvals are all gates.

On a bounded loop running out. Fix rounds, review iterations and coverage improve-loops are all bounded, and hitting the bound is reported rather than retried forever. You get what failed and what was tried, and the choice: continue, waive, or go back a phase.

On an abort. A phase whose inputs are not there stops early and says so — no brief, nothing built yet, no hosting provider decided. Run the phase it is waiting for.

Somewhere it should not have. ccw_instance_logs shows the step history, and ccw_step_back rewinds a run to an earlier step — it restores the state captured before that step and lists the side effects it could not undo, such as files already written or a deploy already made. Redo those by hand before continuing.

Reading a run