Problem
Spec-generating strategies produce inconsistent output. Some produce purely pre-v0.20 artifacts, some partially produce v0.20-compatible output, and none fully conform to the v0.20 model. The build skill (deft-directive-build) enforces the v0.20 model via its Pre-Cutover Detection Guard, so projects spec'd through most strategies are immediately unbuildable.
Observed Behavior by Strategy
yolo (fully pre-v0.20):
- Writes
vbrief/specification.vbrief.json + root SPECIFICATION.md
- No scope vBRIEFs in lifecycle folders
- No
PROJECT-DEFINITION.vbrief.json
- Build skill rejects entirely
interview (partially v0.20):
- Writes scope vBRIEFs to
vbrief/proposed/ — but without YYYY-MM-DD-<slug> date prefix (e.g., scaffold.vbrief.json, styling.vbrief.json)
- Also writes
vbrief/specification.vbrief.json (old-model artifact alongside new-model scope vBRIEFs)
- No
PROJECT-DEFINITION.vbrief.json
- No
SPECIFICATION.md at root (good)
- Lifecycle folders present (good)
speckit, rapid, enterprise — untested but likely inconsistent given the above.
Expected Behavior
All spec-generating strategies should produce the same v0.20-conformant output:
- Scope vBRIEFs in
vbrief/proposed/YYYY-MM-DD-<slug>.vbrief.json (date-prefixed per README convention)
PROJECT-DEFINITION.vbrief.json generated (or task project:render triggered)
SPECIFICATION.md written as a rendered derivative with the deprecated-redirect sentinel, or omitted entirely
specification.vbrief.json either omitted or clearly marked as a legacy artifact — not produced alongside scope vBRIEFs
- Lifecycle folders created if not present
Reproduction
yolo path:
- Bootstrap new project with
deft/run bootstrap
- Run:
"Read deft/AGENTS.md. Run the yolo strategy (light path) following deft's standard spec workflow."
- Build:
"Read deft/AGENTS.md. Follow deft's standard build workflow."
- Build skill rejects with Pre-Cutover Detection Guard blockers
interview path:
- Same bootstrap
- Run:
"Read deft/AGENTS.md. Run the interview strategy (light path) following deft's standard spec workflow."
- Produces partial v0.20 output — scope vBRIEFs in
proposed/ but without date prefix, plus legacy specification.vbrief.json
Problem
Spec-generating strategies produce inconsistent output. Some produce purely pre-v0.20 artifacts, some partially produce v0.20-compatible output, and none fully conform to the v0.20 model. The build skill (
deft-directive-build) enforces the v0.20 model via its Pre-Cutover Detection Guard, so projects spec'd through most strategies are immediately unbuildable.Observed Behavior by Strategy
yolo (fully pre-v0.20):
vbrief/specification.vbrief.json+ rootSPECIFICATION.mdPROJECT-DEFINITION.vbrief.jsoninterview (partially v0.20):
vbrief/proposed/— but withoutYYYY-MM-DD-<slug>date prefix (e.g.,scaffold.vbrief.json,styling.vbrief.json)vbrief/specification.vbrief.json(old-model artifact alongside new-model scope vBRIEFs)PROJECT-DEFINITION.vbrief.jsonSPECIFICATION.mdat root (good)speckit, rapid, enterprise — untested but likely inconsistent given the above.
Expected Behavior
All spec-generating strategies should produce the same v0.20-conformant output:
vbrief/proposed/YYYY-MM-DD-<slug>.vbrief.json(date-prefixed per README convention)PROJECT-DEFINITION.vbrief.jsongenerated (ortask project:rendertriggered)SPECIFICATION.mdwritten as a rendered derivative with the deprecated-redirect sentinel, or omitted entirelyspecification.vbrief.jsoneither omitted or clearly marked as a legacy artifact — not produced alongside scope vBRIEFsReproduction
yolo path:
deft/run bootstrap"Read deft/AGENTS.md. Run the yolo strategy (light path) following deft's standard spec workflow.""Read deft/AGENTS.md. Follow deft's standard build workflow."interview path:
"Read deft/AGENTS.md. Run the interview strategy (light path) following deft's standard spec workflow."proposed/but without date prefix, plus legacyspecification.vbrief.json