0.4.0
Changed
- create-stories — stories now require an
Out of Scopesection with at least two concrete items, and may include an explicitly non-bindingImplementation Hintssection. Description and Acceptance Criteria are governed by a vocabulary fence (no transport / protocol / runtime / storage terminology). Every acceptance criterion must be expressible as Given [precondition] / When [action] / Then [measurable result]. Dependencies are stated as capabilities in domain language, not as references to other stories' code shapes. - refine-story — replaced the open-ended gap audit with a finite, binary 8-check rubric (INVEST + Out-of-Scope completeness + business intent clarity). Adds a 5 Whys recovery protocol when business intent is unclear and an anti-assumption protocol that requires the agent to externalize WHAT-assumptions rather than silently filling them. The skill now converges: running it on a passing story produces a fixed convergence message.
- bootstrap-from-research — generated stories follow the new create-stories template (including Out of Scope and Implementation Hints) and pass the same vocabulary-fence and falsifiability checks, so they converge on the first run of refine-story.
- implement-story — explicitly reads
Out of Scope(treated as a hard fence) andImplementation Hints(treated as non-binding orientation) when grounding in the story. - verify-story — drift check now flags when the implementation includes any capability listed in
Out of Scope. - complete-story — refinement comparison now considers whether anything previously in
Out of Scopeactually got built, and surfaces material divergence fromImplementation Hintsfor the appended Implementation Notes.
Upgrade
Existing 0.3.x installs:
npm i -g alphaspec@latest
alphaspec upgrade
No on-disk migration is needed — only prompt content changed. The upgrade command re-runs IDE writers in place and bumps the recorded version. Existing stories keep working; running the new refine-story on them will surface rubric findings (an Out of Scope section will be the first thing it asks for).