Artifacts Reference
Every AI-DLC workflow produces artifacts under its intent record dir —
aidlc/spaces/<space>/intents/<YYMMDD>-<label>/ (where <space> is default
unless a non-default space is in play, and <YYMMDD>-<label> is the intent dir;
written <record>/ below). This chapter is a complete reference for the
directory structure, per-artifact descriptions, lifecycle, and git policy.
Directory Tree
This is the complete set of places an artifact can land, not what a fresh record
looks like. Intent creation makes one folder per phase your scope runs (plus
verification/); the rest appear as work happens, and a per-stage folder is
created the first time that stage writes.
aidlc/spaces/<space>/intents/<YYMMDD>-<label>/ # one record dir per intent
aidlc-state.md # Workflow state (commit)
audit/ # Audit trail — per-clone shards (commit)
<host>-<clone>.md # this clone's shard; readers glob + merge by timestamp
.aidlc-recovery.md # Recovery breadcrumb (gitignore)
runtime-graph.json # Execution telemetry view (gitignore)
verification/ # Phase boundary checks (commit)
phase-check-initialization.md
phase-check-ideation.md
phase-check-inception.md
phase-check-construction.md
phase-check-operation.md
initialization/ # Phase 0 artifacts
workspace-scaffold/scaffold-report.md
workspace-detection/workspace-findings.md
state-init/state-init-summary.md
ideation/ # Phase 1 artifacts
intent-capture/
market-research/ (conditional)
feasibility/ (conditional)
scope-definition/
team-formation/ (conditional)
rough-mockups/ (conditional)
approval-handoff/
inception/ # Phase 2 artifacts
practices-discovery/ (conditional)
requirements-analysis/
user-stories/ (conditional)
refined-mockups/ (conditional)
domain-design/ (conditional)
units-generation/
contract-design/ (conditional)
delivery-planning/
construction/ # Phase 3 artifacts
{unit-name}/ (per unit of work, repeated)
functional-design/ (conditional)
nfr-requirements/ (conditional)
nfr-design/ (conditional)
infrastructure-design/ (conditional)
code-generation/
build-and-test/
ci-pipeline/ (conditional)
operation/ # Phase 4 artifacts
deployment-pipeline/ (conditional)
environment-provisioning/ (conditional)
deployment-execution/ (conditional)
observability-setup/ (conditional)
incident-response/ (conditional)
performance-validation/ (conditional)
feedback-optimization/ (conditional)
archive/ (created on-demand)
{ISO-date}-{stage-name}/
The 9 reverse-engineering deliverables are not in the record dir. They
(architecture.md, code-structure.md, technology-stack.md, …) land one
level up, in the space-level per-repo CodeKB —
aidlc/spaces/<space>/codekb/<repo>/ — one store per repo rather than a copy
per intent. On each applicable brownfield intent, the stage checks the store's
recorded scope and working-tree fingerprint first. A verified-current store
whose coverage fits the intent may be reused by human choice; otherwise a full
or focused scan overwrites those nine files
(reverse-engineering-timestamp.md records when the last scan ran and what
it covered). Intents therefore read the newest scan of the repo, not the one
taken when their own record dir was created. What the record dir does get is
the stage's own memory.md diary — created on demand when the stage runs
(see Per-stage memory diary below) — so an inception/reverse-engineering/
directory can appear there, holding the diary and nothing else. Codekb writes
are audit-logged with a codekb > <repo> > <name> breadcrumb, so the
per-intent trail still records what changed and when.
Team knowledge is not in the record dir. It lives one level up, at the space
level — aidlc/spaces/<space>/knowledge/ (a sibling of intents/) — so it
accumulates across every intent in the space rather than being trapped in one
intent's record. The engine creates it empty; the team adds free-form files
under an optional aidlc-shared/ and per-agent subdirectories. See
Knowledge.
Per-stage memory diary. Each executed stage also keeps a committed
memory.md alongside its artifacts (e.g.
<record>/inception/requirements-analysis/memory.md). It is the
stage's observation diary — auto-created from a template at stage start,
maintained by the orchestrator during the stage, and read by the §13
Learnings Ritual at the approval gate. It is never hand-edited. See
Rules and the Learning Loop for how
the diary feeds the learning loop.
Code lives in sibling repos, not the record dir. The aidlc/ tree holds only
method, state, audit, and artifacts — never application code. Generated code lands
in the workspace's code repos: in the common single-repo case, the project dir
itself; in a multi-repo workspace, the sibling repo directories that are immediate
children of the workspace root (each with its own .git). An intent records the
repos it touches at birth — auto-discovered, or scoped with --repos a,b — in its
intents.json row (repos: [...]); Construction anchors each git operation to one
of them. An intent with no recorded repos is the single-repo default. See
CLI Commands.
Artifact Lifecycle
Artifacts flow through a predictable lifecycle from creation to consumption by downstream stages:
flowchart LR
CREATE["Stage creates\nartifact"]
REVIEW["Reviewed at\napproval gate"]
COMMIT["Committed to\nversion control"]
CONSUME["Consumed by\ndownstream stages"]
VERIFY["Verified at\nphase boundary"]
CREATE --> REVIEW --> COMMIT --> CONSUME --> VERIFY
style CREATE fill:#e3f2fd,stroke:#2196f3
style REVIEW fill:#fff3e0,stroke:#ff9800
style VERIFY fill:#fce4ec,stroke:#e91e63
- Created — The lead agent produces the artifact during stage execution and writes it to the appropriate subdirectory of the intent's record dir (with the space-level exceptions noted above: Reverse Engineering writes to the per-repo codekb store, team knowledge to
knowledge/) - Reviewed — You review the artifact at the approval gate and either approve or request changes
- Committed — After approval, the artifact is ready for version control (see git policy below)
- Consumed — Downstream stages read the artifact as input (see the inputs table below)
- Verified — Phase boundary verification checks confirm traceability across all artifacts in the phase
Artifacts by Phase
Initialization (stages 0.1-0.3)
| Stage | Artifacts | Notes |
|---|---|---|
| 0.1 Workspace Scaffold | scaffold-report.md |
Deterministic (runs inside aidlc-utility intent-create) |
| 0.2 Workspace Detection | workspace-findings.md, updates aidlc-state.md |
Deterministic rule-based scanner |
| 0.3 State Init | state-init-summary.md |
Deterministic |
The welcome message is rendered at session start via companyAnnouncements in settings.json — it is not a stage and produces no artifact.
Ideation (stages 1.1-1.7)
| Stage | Key Artifacts | Condition |
|---|---|---|
| 1.1 Intent Capture | intent-capture-questions.md (source register and confirmed answers), intent-statement.md, stakeholder-map.md (inline source tags and mandatory assumptions sections) |
Always |
| 1.2 Market Research | competitive-analysis.md, build-vs-buy.md |
Conditional |
| 1.3 Feasibility | feasibility-assessment.md, constraint-register.md, raid-log.md |
Conditional |
| 1.4 Scope Definition | scope-document.md, intent-backlog.md |
Always |
| 1.5 Team Formation | team-assessment.md, mob-composition.md |
Conditional |
| 1.6 Rough Mockups | wireframes.md, user-flow.md |
Conditional |
| 1.7 Approval & Handoff | initiative-brief.md, decision-log.md |
Always |
Inception (stages 2.1-2.9)
| Stage | Key Artifacts | Condition |
|---|---|---|
| 2.1 Reverse Engineering | 9 files including architecture.md, code-structure.md, technology-stack.md (written to the space-level aidlc/spaces/<active-space>/codekb/<repo>/ — one shared store per repo, reused when verified current or replaced by a human-selected rescan; only the stage's memory.md diary lands in the intent record) |
Brownfield only |
| 2.2 Practices Discovery | team-practices.md, discovered-rules.md, evidence.md, practices-discovery-timestamp.md, plus quality/developer/devsecops contribution files (promoted to aidlc/spaces/<active-space>/memory/team.md and project.md after approval) |
Conditional |
| 2.3 Requirements Analysis | requirements.md |
Always |
| 2.4 User Stories | stories.md, personas.md |
User-facing features |
| 2.5 Refined Mockups | mockups.md, interaction-spec.md, accessibility-checklist.md |
UI projects |
| 2.6 Domain Design | components.md (consolidated component catalogue), decisions.md (ADR log) |
When new components needed |
| 2.7 Units Generation | unit-of-work.md, unit-of-work-dependency.md, unit-of-work-story-map.md |
Always |
| 2.8 Contract Design | contract-summary.md (inter-unit contracts) |
Multi-unit systems |
| 2.9 Delivery Planning | bolt-plan.md, team-allocation.md, risk-and-sequencing-rationale.md, external-dependency-map.md |
Always |
Construction (stages 3.1-3.7)
Stages 3.1-3.5 repeat per unit of work. Artifacts go in construction/{unit-name}/{stage-name}/. Stages 3.6-3.7 run once after all units.
The four design stages (3.1-3.4) prune their artifacts to each unit's kind (tagged in 2.7's edge block: service, spec, ui, packaging, or library). A spec unit owes no scalability doc, a packaging unit no functional spec; a unit left untagged receives the full matrix below. Which artifact applies to which kind is stage frontmatter data (produces_kinds, see Stage definition). A unit for which none of a stage's artifacts apply is complete for that stage with zero files.
| Stage | Key Artifacts | Condition |
|---|---|---|
| 3.1 Functional Design | entities.md, rules.md, functional-spec.md |
Per plan, per unit (by kind) |
| 3.2 NFR Requirements | security-requirements.md, performance-requirements.md |
Per plan, per unit (by kind) |
| 3.2 NFR Requirements | observability-requirements.md |
Per plan, service units only |
| 3.3 NFR Design | security-design.md, performance-design.md |
Per plan, per unit (by kind) |
| 3.3 NFR Design | observability-design.md |
Per plan, service units only |
| 3.4 Infrastructure Design | infrastructure-specification.md, monitoring-design.md, cicd-pipeline.md |
Per plan, per unit (by kind) |
| 3.5 Code Generation | code-generation-plan.md, code-generation-questions.md, unit-test-instructions.md, code-summary.md (code goes to workspace root) |
Always, per unit |
| 3.6 Build and Test | build-instructions.md, test-results.md |
Always, after all units |
| 3.7 CI Pipeline | ci-config.md, quality-gates.md |
Conditional, after all units |
Operation (stages 4.1-4.7)
| Stage | Key Artifacts | Condition |
|---|---|---|
| 4.1 Deployment Pipeline | cd-config.md, deployment-strategy.md, rollback-runbook.md |
Conditional |
| 4.2 Environment Provisioning | environment-inventory.md, validation-report.md |
Conditional |
| 4.3 Deployment Execution | deployment-log.md, smoke-test-results.md |
Conditional |
| 4.4 Observability Setup | dashboards.md, alarms.md, slo-config.md |
Conditional |
| 4.5 Incident Response | runbooks.md, incident-plan.md, escalation-matrix.md |
Conditional |
| 4.6 Performance Validation | load-test-plan.md, nfr-validation-matrix.md |
Conditional |
| 4.7 Feedback & Optimization | slo-report.md, cost-analysis.md, feedback-loop.md |
Conditional |
Question Files
Every stage that collects user input produces a co-located question file named {stage-name}-questions.md. Questions use lettered options (A-E) plus a mandatory X. Other (please specify) option, with [Answer]: tags for recording responses.
You choose how to answer at each stage:
| Mode | How it works |
|---|---|
| Guide Me | Interactive walkthrough, batches of up to 4 questions |
| I'll Edit the File | Edit the question file directly, signal "done" when finished |
| Chat | Freeform conversation; decisions are extracted and written to the file |
You can switch modes mid-stage. The question file is always the source of truth.
What to Commit vs. Gitignore
The shipped .gitignore encodes this split (vision §5.1): the shared work —
method, registry, state, audit, artifacts — is committed; per-user session
cursors and machine-local derived state are ignored.
| Commit | Gitignore |
|---|---|
aidlc-state.md |
aidlc/active-space, intents/active-intent (per-user cursors) |
audit/*.md (per-clone shards) |
.aidlc-recovery.md and other intents/*/.aidlc-* (transient breadcrumbs) |
| All stage artifacts | runtime-graph.json (re-derivable from the audit shards) |
verification/ phase check results |
aidlc/.aidlc-clone-id (names this clone's shard; must stay machine-local) |
Space-level aidlc/knowledge/ team knowledge files |
aidlc/.aidlc-sessions/ (per-conversation session→intent map) |
Per-stage memory.md diaries; space memory/ layer |
.aidlc-hooks-health/, .aidlc-sensors/ (heartbeats, advisory findings) |
Inputs and Dependencies
Each stage reads artifacts from prior stages as input. Key dependency chains:
- Intent Capture artifacts flow into Market Research, Feasibility, Scope Definition, and Rough Mockups
- Requirements Analysis artifacts flow into User Stories, Domain Design, and all Construction stages
- Domain Design and Units Generation artifacts flow into all per-unit Construction stages
- All Construction artifacts flow into Build and Test and CI Pipeline
- Infrastructure Design artifacts flow into Operation stages
For the complete per-stage input table, see the Orchestration Reference.
Phase Boundary Verification
At each phase transition, a verification check runs to confirm traceability:
| Check File | Transition | What it validates |
|---|---|---|
phase-check-initialization.md |
Initialization to Ideation | Workspace scaffold, scope plan, agents available |
phase-check-ideation.md |
Ideation to Inception | Intent to scope to intent backlog consistency |
phase-check-inception.md |
Inception to Construction | Requirements to stories to architecture alignment |
phase-check-construction.md |
Construction to Operation | All units built and tested, CI configured |
phase-check-operation.md |
Operation to workflow complete | Deployment, observability, and feedback loops verified |
Next Steps
- State Tracking and Audit Trail — State file and audit trail details
- How a Stage Runs — Stage execution and artifact production
- Glossary — Definitions for artifact, phase boundary verification, question file