Skip to content

Releases: deftai/directive

v0.20.0-rc.3 — GA-Blocker Sweep (fork/copy testing only)

20 Apr 18:45

Choose a tag to compare

v0.20.0-rc.3 — GA-Blocker Sweep Release Candidate

Third and (intended) final release candidate for the v0.20.0 vBRIEF architecture cutover. Cut from phase2/vbrief-cutover at 27ffcb4. Closes all GA-blocker checklist items tracked on PR #403.

⚠️ Testing Addendum — Please Read Before Installing

Do NOT apply this release candidate to a working repository. This is an RC build for testing and feedback only. To evaluate it:

  • Fork or copy your real project first, then run this build against the fork or copy.
  • Do NOT run task migrate:vbrief, the installer binary, or any RC-targeted flow against a production working tree — the migration is intentionally one-way and the surface area is large enough that we want reports from users who cannot cleanly revert.
  • Test as much as you can and please file issues against this tag with reproduction steps. We are actively iterating and may need you to re-test.
  • Preserve your real project until the final v0.20.0 ships, after which upgrades can be safely applied with the standard task migrate:vbrief path.

GA-Blocker PRs merged into phase2/vbrief-cutover (this RC)

  • #472fix(interview): restore deterministic-question confirm/back/discuss affordances (closes #431, #359)
  • #474feat(scripts): spec_render + roadmap_render v0.20 GA blockers (closes #458, #434, #435)
  • #475feat(strategy): speckit v0.20 scope emission + GA docs/glossary/issue:ingest (closes #436, #432, #433, #457, #429, #454)

Key changes

Renderers (#458, #434, #435)

  • scripts/roadmap_render.py now reads both {from, to} and {source, target} edge conventions (from/to preferred). Prevents silent empty dep-map failures when schema-compliant v0.20 input meets legacy code paths.
  • scripts/spec_render.py renders narratives in a declared SPECIFICATION_NARRATIVE_KEY_ORDER covering both interview/light and speckit key sets — eliminates the 44-byte H1-only failure mode for speckit specs.
  • scripts/spec_render.py --include-scopes flag (default on) walks vbrief/{pending,active,completed}/ and emits an ## Implementation Plan section grouped by lifecycle bucket — SPECIFICATION.md is now complete for any v0.20+ project.

Strategies and workflow gates (#436, #432, #433)

  • Speckit Phase 4 now emits one scope vBRIEF per implementation phase into vbrief/pending/YYYY-MM-DD-ip<NNN>-<slug>.vbrief.json (3-digit zero-padded) with canonical Description / Acceptance / Traces narratives. plan.vbrief.json reverts to its documented session-todo role. scripts/migrate_vbrief.py gains migrate_speckit_plan() for converting existing speckit-shaped plans.
  • Speckit Phase 3 -> 4 transition is now gated on SPECIFICATION.md existing and matching the rendered spec vBRIEF hash. End-of-Phase-3 render is invoked by skills/deft-directive-setup/SKILL.md even when the user declines the explicit prompt.
  • Greenfield export prompt: end of Phase 3 now asks users whether to generate SPECIFICATION.md and/or PRD.md with four numbered choices before handing off to build.

Interview deterministic questions (#431, follow-up to #359)

  • Restored all three #359 behaviors that regressed in RC2: confirm-after-number-press, back-navigation (b/back/prev), slot-0 "Discuss with agent" escape hatch, plus a persistent one-line legend (Enter confirm / b back / 0 discuss) under every deterministic question.

Tooling, docs, release prep (#454, #457, #429)

  • task issue:ingest: new scripts/issue_ingest.py with single-issue and bulk modes. Fetches GitHub issues, deduplicates against existing references, and writes scope vBRIEFs to vbrief/<status>/YYYY-MM-DD-<N>-<slug>.vbrief.json. Wired via tasks/issue.yml.
  • glossary.md: new canonical v0.20 vocabulary surface with RFC2119 legend and 13 required terms (Scope vBRIEF, Lifecycle folder, Plan-level / Item-level narrative, Filename stem, Cross-scope dependency, Exit Commands, Origin provenance, Canonical narrative key, Preparatory strategy, Spec-generating strategy, Rendered export, Source of truth). Cross-referenced from vbrief/vbrief.md, README.md, UPGRADING.md.
  • README: RC-specific safety banner removed; distilled upgrade-safety guidance moved to UPGRADING.md under a new "Upgrade safety" subsection.

Status

  • Target for final: v0.20.0 after rc.3 testing feedback.
  • PR #403 remains draft; final merge to master is still pending rc.3 feedback and the remaining PR #403 release-checklist items.
  • Open GA-blocker issues (#429, #431, #432, #433, #434, #435, #436, #454, #457, #458) stay OPEN until PR #403 merges to master, at which point the Closes #N auto-close keywords will fire.

Feedback

File issues against this tag with reproduction steps. Mention v0.20.0-rc.3 in the issue body so we can triage by RC window.

What's Changed

New Contributors

Full Changelog: v0.20.0-rc.2...v0.20.0-rc.3

v0.20.0-rc.2

17 Apr 16:37

Choose a tag to compare

v0.20.0-rc.2 Pre-release
Pre-release

v0.20.0-rc.1

17 Apr 14:47
f1484fe

Choose a tag to compare

v0.20.0-rc.1 Pre-release
Pre-release

What's Changed

  • docs(roadmap): add Phase 2 gap analysis stories P/Q/R/S/T by @MScottAdams in #337
  • feat(vbrief): update vbrief.md with vBRIEF-centric document model (#310) by @MScottAdams in #343
  • feat(tasks): add scope lifecycle task commands for vBRIEF model (#324) by @MScottAdams in #339
  • feat(tasks): add roadmap:render generation tool with drift detection (#311) by @MScottAdams in #340
  • feat(tasks): add project:render PROJECT-DEFINITION regeneration tool (#323) by @MScottAdams in #342
  • feat(tasks): add migrate:vbrief migration script for vBRIEF-centric cutover (#312) by @MScottAdams in #341
  • feat(tasks): add vBRIEF validation tooling for centric document model (#333) by @MScottAdams in #344
  • docs(vbrief): update ancillary framework docs for vBRIEF-centric model by @MScottAdams in #346
  • docs(vbrief): update main.md and AGENTS.md for vBRIEF-centric model by @MScottAdams in #347
  • feat(installer): rewrite Go installer thin pointers for deft-directive-* namespace by @MScottAdams in #348
  • docs(vbrief): rename deft-swarm to deft-directive-swarm with flexible vBRIEF allocation by @MScottAdams in #352
  • docs(vbrief): rename deft-build/review-cycle/pre-pr to deft-directive-* by @MScottAdams in #349
  • docs(vbrief): rename deft-roadmap-refresh+sync to deft-directive-refinement+sync and rewrite by @MScottAdams in #350
  • docs(vbrief): rename deft-setup+interview to deft-directive-* and rewrite for vBRIEF model by @MScottAdams in #351
  • test(vbrief): add content and structural test coverage for vBRIEF-centric model by @MScottAdams in #354
  • feat(vbrief): add pre-cutover detection and backward compatibility guard by @MScottAdams in #353
  • feat(cli): update cmd_spec and cmd_project for vBRIEF-centric model by @MScottAdams in #355
  • chore(release): promote CHANGELOG to v0.20.0, bump version, update ROADMAP by @MScottAdams in #356
  • chore(vbrief): add issue reconciliation script and close obsoleted issues by @MScottAdams in #357
  • feat(swarm): configurable base branch and auto-generate vBRIEFs from GitHub issues (#373) by @MScottAdams in #374
  • feat(strategies): convert speckit and enterprise to vBRIEF-centric outputs (#361, #362, #364) by @MScottAdams in #376
  • feat(strategies): convert rapid, bdd, discuss to vBRIEF-centric outputs (#363, #365, #366) by @MScottAdams in #377
  • feat(strategies): convert research, map to vBRIEF-centric outputs; redirect roadmap to refinement (#367, #368, #369) by @MScottAdams in #378
  • feat(change,skills): convert deft:change to vBRIEF outputs, replace PRD gate, fix deterministic question UX (#371, #372, #345, #359) by @MScottAdams in #379
  • fix(strategies,skills): idempotency guards + SKILL.md cutover + version bump (#387, #389, #390) by @MScottAdams in #393
  • fix(docs): bootstrap + discoverability + lifecycle docs + GitHub prereqs + CHANGELOG (#358, #385, #386, #388, #391) by @MScottAdams in #394
  • fix(scripts): migration parser + roadmap render + spec status gate (#381, #382, #383, #384) by @MScottAdams in #395
  • fix(scripts): migrate_vbrief ingests PRD/SPECIFICATION structured content into spec narratives (#397) by @MScottAdams in #399
  • fix(scripts,skills): auto-render staleness warning + pre-pr auto-render step (#398) by @MScottAdams in #400
  • fix(scripts): project_render.py SKELETON_NARRATIVES matches validator (#405) by @MScottAdams in #413
  • feat(cli): upgrade gate + lifecycle subdirs in run (#404, #410) by @MScottAdams in #414
  • docs: vBRIEF-centric README + brownfield adoption guide (#407, #408) by @MScottAdams in #415
  • docs: UPGRADING.md + QUICK-START upgrade detection + v0.19 bridge (#411) by @MScottAdams in #416
  • fix(scripts): migrate_vbrief derives Overview narrative on v0.19 fixtures (#417) by @MScottAdams in #419

Full Changelog: v0.19.0...v0.20.0-rc.1

v0.19.0 -- Review Cycle Optimization + Interview Cleanup

13 Apr 16:33

Choose a tag to compare

Key Changes

  • Greptile review cycle optimization (#305): 5-change bundle -- mandatory deft-pre-pr, PR scope gate, adaptive poll cadence (20-30s/60s/90s), parallel rebase monitoring, .greptile/rules.md template
  • Approach 3 interactive blocking fallback (#307): Last-resort Start-Sleep loop for sessions without start_agent or timer
  • Select-String fallback for oversized output (#328): Recovery path when do_not_summarize_output produces too-large output
  • Interview routing keyword fix (#301): Bare 'interview' replaced with 'interview loop' / 'q&a loop'
  • Interview invocation contract (#302): Embedded vs delegation modes documented
  • Rule 5 vs Rule 6 fix (#303): Confirmation gate strictness asymmetry clarified
  • Setup reference regression tests (#304): 2 new assertions for deft-setup/deft-interview

Stats

2 agents | ~25 min elapsed | 2 PRs merged (#329, #330) | 7 issues closed

Full Changelog: v0.18.0...v0.19.0

What's Changed

  • docs(roadmap): refresh -- add #301-#304, #305, #307, Phase 2 vBRIEF Cutover (#309+bundle); restructure phases by @MScottAdams in #327
  • fix(interview): clarify invocation contract + fix ok inconsistency + add setup reference tests by @MScottAdams in #329
  • fix(review-cycle): optimize Greptile review cycle + add Approach 3 fallback + interview routing fix by @MScottAdams in #330

Full Changelog: v0.18.1...v0.19.0

v0.18.1 -- Spec sync + test coverage

12 Apr 23:50
6379560

Choose a tag to compare

What's Changed

Added

  • Subprocess-based unit tests for v0.17.0 task scripts (#293, t3.3.4): 25 subprocess-based tests covering \ oolchain-check.py, \�erify-stubs.py, \�alidate-links.py, \change:init, and \commit:lint; coverage 87.58%

Fixed

  • Spec status sync (#298, t1.25.1): Flipped 24 stale [pending]\ task statuses to [completed]\ across v0.14.0--v0.18.0

Full Changelog: v0.18.0...v0.18.1

What's Changed

Full Changelog: v0.18.0...v0.18.1

v0.18.0 -- deft-interview skill + swarm/test-with-code improvements

10 Apr 20:44

Choose a tag to compare

What's New

Added

  • skills/deft-interview/SKILL.md (#296) -- New deterministic structured Q&A interview skill. Encodes a reusable interview loop any skill can invoke: one-question-per-turn, numbered options with stated defaults, other/IDK escape, depth gate, confirmation gate, and structured handoff contract (answers map). Includes thin pointer, AGENTS.md routing, deft-setup integration, and 12 tests.
  • deft-swarm Phase 6 Slack release announcement (#292) -- New step auto-generates a standard Slack announcement block after the GitHub release is tagged. Includes version, release title, summary, key changes, agent count, duration, PR numbers, and release URL.

Fixed

  • deft-swarm Phase 6 read-back verification (#288) -- After resolving rebase conflicts, agent must re-read the resolved file and verify structural integrity before git add. Prefers edit_files over shell regex for CHANGELOG.md/SPECIFICATION.md. Mirrors the mandatory pre-commit file review.
  • Strengthen test-with-code rule (#294) -- New source files MUST include corresponding test files in the same PR. 4-surface update: AGENTS.md Before committing, main.md testing gate (regression vs forward coverage distinction), deft-swarm Prompt Template CONSTRAINTS, deft-build pre-commit checklist.
  • Resolve 5 untracked xfail gaps (#295) -- Flipped 20 xfail entries to passing: RFC2119 legend standardization (6 files), missing shape sections (8 files), taskfile-migration.md stub, testbed spec rephrasing, stale PROJECT.md xfails.

Issues Closed

#288, #292, #294, #295, #296

Next Up (Phase 1 Cleanup is now empty)

Phase 2 content fixes and deft-interview follow-up issues: #301 (routing keyword), #302 (invocation contract), #303 (Rule 5/6 consistency), #304 (deft-setup test coverage)

What's Changed

Full Changelog: v0.17.0...v0.18.0

v0.17.0 -- Modular Taskfile + Deterministic Enforcement

10 Apr 18:46

Choose a tag to compare

Restructured the monolithic Taskfile.yml into a modular tasks/ directory with 8 included task files, and added 7 new deterministic enforcement tasks -- replacing prompt-driven agent honor system with binary pass/fail gates.

New tasks:

  • toolchain:check -- verifies go, uv, task, git, gh are installed
  • verify:stubs -- scans source files for TODO/FIXME/HACK/stub patterns
  • verify:links -- validates internal markdown link targets exist
  • spec:pipeline -- chains spec:validate + spec:render
  • changelog:check -- verifies CHANGELOG.md [Unreleased] has entries
  • change:init -- scaffolds history/changes// directory structure
  • commit:lint -- validates conventional commit message format

Infrastructure:

  • Root Taskfile.yml is now a minimal includes-only entrypoint
  • Existing tasks moved to tasks/core.yml, tasks/spec.yml, tasks/install.yml
  • Enhanced task check gate now includes toolchain, stub, and link verification
  • 3 new Python scripts under scripts/ for portable cross-platform checks

Implements the deterministic > probabilistic design principle from meta/philosophy.md. Partial progress on #233; fully closes #235.

v0.16.0

10 Apr 17:35
e6cf497

Choose a tag to compare

What's Changed

Full Changelog: v0.15.0...v0.16.0

v0.15.0

09 Apr 19:02
59c1893

Choose a tag to compare

What's Changed

Full Changelog: v0.14.2...v0.15.0

v0.14.2

09 Apr 16:10
8c1bfe2

Choose a tag to compare

What's Changed

Full Changelog: v0.14.1...v0.14.2