ca-decompose · git:20260903.bc9c216 · 2026-09-03 · sha256 b303e6882c7424ad

ca-decompose git:20260903.bc9c216A

Immutable. This exact content is served forever at /api/v1/blob/b303e6882c7424ad.

---
name: ca-decompose
description: Greenfield decomposition interview — a layered interview that populates .codearbiter/ and locks it initialized.
argument-hint: (none)
---

# $ca-decompose — greenfield populate

<!-- catalog-compatibility-notice:start -->
> Compatibility route. Prefer `$ca-init --greenfield` for new usage. This installed route remains
> functional under the command-route compatibility policy at [includes/command-compatibility.md](../../includes/command-compatibility.md);
> continue with the unchanged greenfield workflow below.
<!-- catalog-compatibility-notice:end -->

Stands up project state for a greenfield project — one with no meaningful source code yet. A senior-architect persona drives a six-layer interview eliciting purpose, scope, primary users, domain vocabulary, and architectural constraints, persisting each layer to disk so a context reset loses nothing, then writes the surviving `.codearbiter/` doc set and locks the project initialized. No arguments — the skill interviews the user (a handoff summary may be supplied freely during the interview).

The only permitted path to populate `.codearbiter/` when no meaningful source exists. For an existing codebase, use `$ca-create-context`.

## Routes to

The `decompose` skill ([routines/decompose/SKILL.md](../../routines/decompose/SKILL.md)) — six gated phases:
pre-flight, persona adoption, layered interview, synthesis, population, lock. The skill is canonical
for the layers and their gates.

## When NOT to use

- Project already initialized (`<!--INITIALIZED-->` in `CONTEXT.md`) → `$ca-status`.
- Existing codebase with source present → `$ca-create-context`.
- `.codearbiter/` not yet scaffolded → `$ca-init` first.
- Update one doc → edit `<project-root>/.codearbiter/` directly or use `$ca-feature`.

## Hard gate

BLOCK if `<!--INITIALIZED-->` is already present in `CONTEXT.md`. BLOCK if meaningful source is
detected (route to `$ca-create-context`). BLOCK if any `[CONFIRM-NN]` exits synthesis unresolved and
undeferred. MUST NOT write `<!--INITIALIZED-->` until every required doc is present and non-empty.