Skip to content

Changelog

All notable changes to nspec are documented in CHANGELOG.md.

Recent Releases

3.15.2 - 2026-06-22

✨ Features

  • MCP↔CLI surface parity matrix and a doc-coverage matrix generated from source surface extractors

♻️ Refactors & Fixes

  • Remove the praxis-model graph export subsystem (the nspec praxis CLI group, the praxis_* MCP tools, and the shipped schema)
  • Guard hooks: honor NSPEC_CONFIRM_DESTRUCTIVE as a leading assignment of any segment; emit $CLAUDE_PROJECT_DIR-prefixed hook commands
  • Parity audit: key CLI args by full command path and model commands as a parent-child tree

📝 Docs

  • Rewrite the CLI reference for the full command tree and the MCP tools reference + overview
  • Add the E026 epic goal / definition-of-complete template; author the E025 documentation-overhaul epic
  • Note that the praxis-model schema is a repo-only reference, not shipped

3.15.0 - 2026-06-20

✨ Features

  • TUI dependency visualization: always-visible upstream/downstream sections, inline add/remove from the detail view, transitive (indirect) deps, and blocked/cyclic highlighting
  • Praxis graph model (E022): graph IR, exporter/importer round-trip serde, render layer, schemas dir, and CLI/MCP entry points
  • /nloop epic-finalize blocks at exit — ensure the PR is mergeable, then request merge
  • epic_context MCP tool + Implementation Outcome template section
  • create_spec returns epic-categorization and placement framework; best-effort cascade bump for spec priorities; resume tool to unpark a spec

♻️ Refactors & Fixes

  • Make enforcement guard hooks opt-in (not installed by default)
  • rename_spec falls back to a filesystem move for untracked spec files
  • Route TUI Move-to-epic through the canonical epic-membership DAO
  • Stop shipping legacy flat FR/IMPL templates; lift TemplateEngine into nspec core
  • Pin transitive security floors to clear pip-audit CVEs

🔒 Security

  • Pin transitive dependency security floors to clear outstanding pip-audit CVEs

📝 Docs

  • Document the spec-priority containment policy; split E001 into E023/E024
  • CI: add a coverage gate (82%), a complexity gate, and ruff format-check + lint in test-quick; add an event-synchronized TUI smoke harness (make smoke)

3.11.0 - 2026-06-12

✨ Features

  • Pre-review agent health check with a date-format ping

♻️ Refactors & Fixes

  • Remove provider/model enum validation
  • sync never overwrites user-owned files on version-bump auto-sync
  • Executor always passes agent prompts via a stdin file; simplify the statusline command

3.10.1 - 2026-06-10

♻️ Refactors & Fixes

  • Default codex to gpt-5.5 ($20 tier) and align shipped defaults with the dogfood config

3.10.0 - 2026-06-09

✨ Features

  • Dynamic CLI-discovered provider enum validation with a TTL cache (S561)
  • Spec CRUD tools: set_acceptance_criteria, set_impl_task, move_spec, rename_spec (ID-stable retitle), and confirmation-gated delete_spec
  • Retarget the gemini backend to the agy CLI

♻️ Refactors & Fixes

  • Reject partial or malformed on-disk provider enum cache (S561 hardening)
  • Count completed children in the epic rollup
  • Lower the stdin threshold below the tmux command-length limit

3.9.0 - 2026-06-01

✨ Features

  • Structured codex review verdict via --output-schema (S558)
  • Inject structured remediation tasks into the IMPL on NEEDS_WORK, consumed by /ngo's Phase 6 retry loop (E021)
  • Fixture reviewer backend + blackbox remediation e2e (S554)
  • Activity-based liveness watchdog for the tmux executor poll

♻️ Refactors & Fixes

  • Strip the :line suffix from check_impl_task File: annotations
  • Target Python 3.14

📝 Docs

  • Require all transient files under work/ (no /tmp); drop the park-to-defer protocol
  • Add the /ngo lifecycle audit grounding E021

3.8.8 - 2026-05-27

✨ Features

  • Auto-install the statusline via init and skills_sync
  • Add the /npickup skill as the counterpart to /nhandoff

3.8.7 - 2026-05-27

♻️ Refactors & Fixes

  • Use a printf pipe for the qa-diff Python script in the nspec.mk template

3.8.6 - 2026-05-27

♻️ Refactors & Fixes

  • Make the QA step in /ngo blocking to prevent duplicate runs

3.8.5 - 2026-05-26

♻️ Refactors & Fixes

  • Correct a ruff format issue in the _mutation.py hint string

3.8.4 - 2026-05-26

♻️ Refactors & Fixes

  • Maintenance release: update PyPI metadata

3.8.3 - 2026-05-26

♻️ Refactors & Fixes

  • Maintenance release (version bump only)

3.8.2 - 2026-05-26

♻️ Refactors & Fixes

  • Harden the JSON verdict parser for codex terminal line wrapping

3.8.1 - 2026-05-25

✨ Features

  • Add qa-snapshot and qa-diff targets to the nspec.mk template

3.8.0 - 2026-05-25

✨ Features

  • Add a real review cycle to the /ne2e-lifecycle test and converge the skill with the CI e2e scripts
  • Add a QA regression gate and an e2e Claude Code CLI integration test to CI
  • Forward-port S544 — consolidate review artifact output into a per-spec layout

♻️ Refactors & Fixes

  • Extract status/result string constants
  • Resolve the S330 ID collision (rename the statusline spec to S959)
  • Numerous CI fixes (PEP 668 compliance, poetry install, mkdocs in the docs workflow)

3.7.0 - 2026-05-23

✨ Features

  • Nightly commit/PR digest with auto-filed review specs
  • PR description and spec/IMPL completeness review gate
  • Files Edited auto-tracking and fail-fast DoD in templates

♻️ Refactors & Fixes

  • Search the last fenced JSON block for the verdict, not the first
  • Add ~110 mutation-killing tests across the five highest-complexity modules (Phase 1–3)

📝 Docs

  • Add v3.3.0–v3.6.0 changelog entries; refresh the full site docs for v3.6.0
  • Expand the Playwright testing guide with all 27 terminal tools; update the MCP tool reference to 82 tools

3.6.0 - 2026-05-22

Bug Fixes

  • Fix dashboard CLI epic filter using membership DAO for correct scope
  • Fix supersede reversal and cross-directory spec lookup via find_spec_files
  • Fix review commit discovery using IMPL File: annotations instead of Refs: convention
  • Fix review atomic output persistence — raw output saved before verdict parsing
  • Fix bare newline sanitization in JSON verdicts from codex terminal wrapping
  • Fix review bypass for S350 terse detection on structured JSON verdicts
  • Bump urllib3 to >=2.7.0 for CVE-2026-44431/44432

3.5.3 - 2026-05-13

Enhancements

  • Mutation testing with mutmut (CI weekly, make test-mutation)
  • /nqa quality analysis skill with docs/qa/status.md tracking
  • Enable ruff rule sets: N (PEP 8 naming), RSE (unnecessary raise parens), G (logging format strings)

Bug Fixes

  • Fix CI: drop container job for mutation testing, generate poetry.lock in CI image build
  • Fix CI: exclude mcp_server.py from vulture, ignore pip-audit py vuln

3.5.2 - 2026-05-10

Bug Fixes

  • Fix TUI: align PICKUP sort with next_spec by adding Ready to STATUS_RANK
  • Fix write_review_verdict to allow valid verdict_token for external agents
  • Remove subagent/Agent tool usage from all skills

3.5.1 - 2026-05-10

Bug Fixes

  • Fix review: accept double-terse APPROVED on confirmation re-review

3.5.0 - 2026-05-10

Enhancements

  • Unified session audit trail and handoff (audit_record tool)
  • Review prompt uses stdin passthrough instead of inline diff
  • Gap-fill ID allocator scans from range start upward

Bug Fixes

  • Fix next_spec to use DatasetLoader for branch-only spec visibility
  • Fix /nloop to run specs inline instead of spawning subagents

3.4.3 - 2026-05-10

Bug Fixes

  • Fix spec_root='.' config resolution to project root
  • Remove dangling refs to superseded specs from E001 and S905

3.4.2 - 2026-05-10

Enhancements

  • User-defined spec types with custom templates
  • context-audit CLI command for CLAUDE.md budget analysis
  • preflight state-introspection tool for /ngo pipeline
  • epic_specs starting_spec_id parameter for backlog slicing
  • Generic markdown renderer for FR/IMPL sections in TUI detail view
  • Bidirectional GitHub tracker sync with auto back-comments
  • Auto-select epic with user validation in /nspec skill
  • E2E tests for epic management lifecycle

Bug Fixes

  • Fix datasets gracefully skipping invalid FR/IMPL files instead of aborting
  • Fix review detecting pre-implementation specs for spec-quality review
  • Fix config spec_root='.' resolving to config dir, not project root
  • Fix validator Layer 7 false-positives on FR-Completed + IMPL-in-progress
  • Fix orphaned specs missing epic_id in MainDatasetLoader parse

3.4.1 - 2026-05-09

Bug Fixes

  • Fix TUI epic membership using DAO instead of fr.deps

3.4.0 - 2026-05-04

Enhancements

  • /ngo always pushes after spec completion for async CI feedback
  • DatasetLoader TTL cache to avoid redundant re-parsing
  • Consolidate inline imports to top-level where safe
  • Migrate fr.type == Epic to is_epic field

Bug Fixes

  • Fix cache invalidation in set_loe and renumber_spec

3.3.0 - 2026-05-02

Enhancements

  • Policy-as-code hooks for credentials and destructive operations (guard-credentials.sh, guard-destructive.sh)
  • Auto-extend ID range ceiling on exhaustion

Bug Fixes

  • Fix atomic active-symlink swap to eliminate concurrent-write race
  • Fix cross-dir spec ID collisions no longer hard-blocking all MCP tools
  • Fix empty-diff rubber-stamp pipeline in review
  • Fix approve_review() decoupled from status transitions
  • Fix Implementer/Reviewer field reconciliation after verdict write
  • Fix git-diff check skip for cross-repo File: annotations
  • Fix large agent output persistence and structured collision errors
  • Fix codex review behavior: model list, diff scope, verdict-severity

3.2.0 - 2026-03-23

Bug Fixes

  • Fix get_epic crash when no active epic set (return type mismatch)
  • Fix create_spec leaving orphan FR/IMPL files on validation failure — now rolls back
  • Fix TUI race condition: task mutations now use atomic writes (spec_write)
  • Fix review_spec(uncommitted=true) returning empty diff — added git diff --cached
  • Fix review diff excluding root-level files (Makefile, pyproject.toml, .github/)

Enhancements

  • Configurable review diff paths via [review].diff_include / diff_exclude in config.toml
  • CI runners scaled to 4 parallel workers

3.1.0 - 2026-03-19

Bug Fixes

  • Fix task_complete greedy backtick regex for File: annotations with multiple backtick pairs
  • Fix self-review bypass when review agent is configured
  • Fix NEEDS_WORK verdict not reverting FR/IMPL status to Active
  • Fix LOE auto-generation writing invalid format in IMPL files
  • Fix TUI epic spec list not sorted by priority in detail view
  • Fix TUI hiding epics with zero specs from dashboard
  • Fix TUI follow mode false "no active spec" warning

Enhancements

  • Epic priority auto-assign and swap_priority tool
  • Auto-compute LOE after write_refinement when agent omits it
  • Detect HTML comment placeholders as skeleton content in refine_impl
  • TUI: hide superseded/rejected specs with 'c' toggle
  • /nreview-epic batch review skill with convergence protocol
  • CI watch hook for automatic post-push monitoring

3.0.0 - 2026-03-16

Major Changes

  • Package reorganization: domain/, runtime/, workflow/, validation/, analysis/ packages
  • Spec type registry with custom FR/IMPL types
  • GitHub issue import via issue_import tool and /ntriage skill
  • FR skeleton detection and auto-authoring via refine_fr / write_fr_refinement
  • IMPL skeleton detection and auto-refinement via refine_impl / write_refinement
  • Agent execution framework with execute_agent (Codex, Claude, Gemini backends)
  • Review token anti-rubber-stamping (single-use tokens from review_spec)
  • Spec test targeting via spec_tests and spec_test_files tools
  • Swarm orchestration: swarm_launch, swarm_status, swarm_teardown
  • Checkout/reservation system with TTL leases
  • Template profiles: quick, standard, full, formal
  • Skills management: skills_install, skills_sync, skills_update

2.3.0 - 2026-03-10

  • Safe template substitution with SafeFormatMap
  • Pluggable DAO layer with protocols, factory, registry, and markdown backends
  • TerminusDB E2E test coverage (acceptance criteria, edge cardinality, connection resilience, migration edge cases, MCP tools)
  • Docker-compose hardening for E2E tests
  • Review prompt improvements (filtered pathspecs, test result receipts)
  • BackendConfig for persistence engine selection

2.2.0 - 2026-02-15

  • Multi-agent queue system with atomic claim/release
  • Codex code review integration
  • Session management with per-session files
  • Fuzzy ID resolution across all MCP tools
  • ADR support (FR-900–999 range)

2.1.0 - 2026-01-20

  • Interactive TUI with Textual
  • Engineering metrics dashboard
  • 6-layer validation engine
  • Dependency graph with circular reference detection

2.0.0 - 2025-12-01

  • MCP server with stdio, SSE, and HTTP transports
  • FR/IMPL pairing with auto-assigned IDs
  • nspec init with stack auto-detection
  • Skills system for Claude Code integration