Releases: agent-fox-dev/agent-fox
v3.4.1
What's Changed
Bug Fixes
- fix(#547): Add errata markdown-to-DuckDB indexing path — errata files in
docs/errata/are now indexed into the DuckDB errata table, closing the write-only gap where errata were created but never retrievable - fix(#548): Fix audit-review task_group partitioning causing supersession silos — audit findings no longer use a hardcoded empty
task_group, enabling proper supersession across review modes - fix(#549): Move
steering.mdfrom.agent-fox/specs/to.agent-fox/ - fix(#546): Fix ruff format violations in harvest warning strings
- fix(#545): Serialize
AuditJsonlSinkwrites withthreading.Lockto prevent interleaved concurrent appends
Features
- feat: ADR ingestion pipeline (spec 117) — MADR parser, validator, DuckDB migration v22 for
adr_entriestable, and integration intoFoxKnowledgeProviderfor retrieval during coder sessions
Documentation
- docs: ADR 07 — Define audit JSONL event format (envelope schema + complete event type catalog)
- docs: Code quality audit (specs 7–9)
- docs: Parking service 3.4.0 audit
Chores
- Bump version to 3.4.1
v3.4.0
What's Changed
Fixes
- #543: Drop dead knowledge system columns
retrieval_summaryandcoverage_data - #542: Fix ruff format violation in warning string
- #541: Fix ruff format violation in list comprehension
- #539: Add quick-triage bail-out to coder prompt
- #537: Rename CLI command
findingstoinsights - #536: Add AC-4 test and fix ruff format violation
- #534: Add AC-3 integration test for verifier dispatch without phantom task group
Chores
- Upgrade dependency version pins (pydantic, rich, duckdb, sentence-transformers, scikit-learn, pathspec, tree-sitter, pytest, ruff, mypy, and more)
- Update auto-generated errata dates
v3.3.1
What's New
Features
- Test coverage regression gate — measures per-file line coverage before and after coder sessions; blocks the task if coverage decreases on modified files (#520)
- Multi-language coverage tool detection: pytest-cov (Python), cargo-tarpaulin (Rust), go test -cover (Go)
- Coverage data stored in session outcomes for trend tracking (migration v20)
- Blocking findings emitted via review_findings table on regression
Full Changelog: v3.3.0...v3.3.1
v3.3.0
What's New
Features
- Verification checklist & task completion enforcement — structured verification checklist for spec compliance (#521)
- State transition validation in GraphSync — validates engine state transitions to catch illegal graph moves (#523)
- Eager pre-review with retry-predecessor — restores eager pre-review behavior with retry on predecessor failure (#519)
- Lightweight errata generation from blocking — reinstates errata generation when issues are blocked (#522)
- Knowledge system pruning — migration v18 removes causal links and dead knowledge modules (spec 116)
Bug Fixes
- Fix
max_itemsin property test to avoid retrieval cap masking failures - Use Path-typed
specs_pathvariable in plan_cmd (#516) - Fix ruff format violation in RuntimeError f-string (#515)
- Add proper type annotations for embedder and backend variables (#514)
Refactoring
- Extract strategy classes from engine, fix_pipeline, and result_handler (#518)
- Inline single-consumer modules and deduplicate review parser
- Remove dead code and consolidate single-consumer modules (2 passes)
- Remove dead code and consolidate near-identical abstractions
- Delete dead knowledge modules (blocking_history, errata_store, gotcha_extraction, gotcha_store) and simplify provider
Full Changelog: v3.2.0...v3.3.0
v3.2.0
What's Changed
Features
- knowledge: Decouple knowledge subsystem via
KnowledgeProviderprotocol (spec 114) - knowledge: Pluggable knowledge provider with gotcha extraction, errata store, and content hashing (spec 115)
- engine: Wire
FoxKnowledgeProviderinto engine startup
Refactors
- knowledge: Delete 40+ legacy knowledge pipeline modules (lang analyzers, retrieval, consolidation, embeddings, etc.)
- config: Remove obsolete knowledge pipeline configuration options
- cli: Remove onboard command and legacy nightshift streams
Chores
- Supersede specs 112 (sleep time compute) and 113 (knowledge effectiveness)
- Fix Unicode edge case in content hash determinism property test
- Clean up leftover
__pycache__directories in deleted knowledge subdirectories
v3.1.4
What's Changed
Bug Fixes
- engine: Close AsyncAnthropic clients to prevent event loop shutdown crash (fixes #506)
- engine: Skip redundant cleanup ingestion when barrier already ran (fixes #505)
- knowledge: Always write agent trace JSONL for transcript reconstruction (fixes #507)
- Guard trace reconstruction behind debug flag to suppress spurious warning
Features
- engine: Add pre-flight check to skip coder sessions when work is done (fixes #511)
Other
- New specs 114 (knowledge decoupling), 115 (pluggable knowledge)
- Coding-session architecture documentation
- General cleanup
Full Changelog: v3.1.3...v3.1.4
v3.1.3
What's Changed
Bug Fixes
- Budget exhaustion detection: Sessions that hit the SDK
max-budget-usdlimit are now detected and blocked immediately instead of being wastefully retried. The SDK returnsis_error=Truewith no message on budget exhaustion — previously mapped to "Unknown error" and retried through the escalation ladder. - AssessmentManager config: Pass
full_config(notOrchestratorConfig) toAssessmentManager, fixing missing attribute errors. - Escalation ladder starting tier: The escalation ladder now respects
config.models.codingfor the starting tier instead of always defaulting to STANDARD. - Timed-out session metrics: Emit descriptive error messages and metrics for sessions that time out.
Features
- Knowledge system effectiveness (spec 113): Transcript reconstruction, compaction improvements, entity signal activation, cold-start handling, git extraction, audit consumption, retrieval quality validation, and audit prompt injection.
Other
- Parking service audit report
- Session budget increased for lengthy tasks
v3.1.2
Bug Fixes
-
engine: Move review concurrency cap before
_prepare_launchto prevent phantom retry exhaustion (fixes #503)The review concurrency cap in
_fill_parallel_poolwas checked after_prepare_launch(), which increments the attempt tracker on "allowed" verdicts. When the single review slot was occupied, audit-review tasks were skipped but their attempt counter was already incremented. Aftermax_retries + 1(default 3) such pool-refill cycles, the circuit breaker permanently blocked the task with "Retry limit exceeded" — without ever starting a session. This cascade-blocked all downstream coding and verifier tasks, exceeding the block budget and halting the entire run.
Recovery for affected runs
If you have a stuck run with audit-review tasks blocked by "Retry limit exceeded", clear the stale state:
agent-fox reset --spec <affected_spec_name>Full Changelog: v3.1.1...v3.1.2
v3.1.1
Bug Fixes
-
reset: clear session-scoped tables on reset to prevent
block_limitdeath-loop (#501)After a
block_limitrun,reset --hard(and softreset) left stale data in six session-scoped DB tables (runs,session_outcomes,review_findings,verification_results,drift_findings,blocking_history). The staleruns.status='block_limit'causedload_state_from_db()to load a terminal status, making the engine loop exit immediately on every subsequentagent-fox codeinvocation — a self-perpetuating death-loop with no CLI recovery path.All four reset paths (
reset_all,reset_task,reset_spec,hard_reset_all/hard_reset_task) now clear session-scoped tables so thatplanandcodestart from a clean state.
Full Changelog: v3.1.0...v3.1.1
v3.1.0
What's New
Sleep-Time Compute (Spec 112)
A new knowledge-processing pipeline that runs background computation during idle periods:
- Core protocol & orchestrator — schema, configuration, and orchestration layer for sleep-time tasks
- ContextRewriter — sleep task that rewrites and enriches knowledge context
- BundleBuilder — sleep task that builds consolidated knowledge bundles
- Retriever & integration wiring — retrieval layer with full integration into the existing knowledge system
- Wiring verification — end-to-end verification of the sleep-time compute pipeline
Full Changelog
feat(112): implement core protocol, orchestrator, config, and schemafeat(112): implement ContextRewriter sleep taskfeat(112): implement retriever and integration wiringtest(112): failing spec tests, checkpoint, and wiring verification