Skip to content

feat(knowledge): reinstate lightweight errata generation from blocking (fixes #522)#529

Open
mickume wants to merge 1 commit intodevelopfrom
feature/issue-522-errata-generation
Open

feat(knowledge): reinstate lightweight errata generation from blocking (fixes #522)#529
mickume wants to merge 1 commit intodevelopfrom
feature/issue-522-errata-generation

Conversation

@mickume
Copy link
Copy Markdown
Contributor

@mickume mickume commented Apr 23, 2026

Summary

  • Auto-generate errata when reviewer blocking occurs (critical/major findings stored in DuckDB errata table via migration v19)
  • Inject [ERRATA]-prefixed context into coder sessions via FoxKnowledgeProvider.retrieve(), alongside existing [REVIEW] findings
  • Persist errata to docs/errata/ markdown files for human visibility

Closes #522

Changes

File Change
agent_fox/knowledge/errata.py New module: Erratum dataclass, generate/store/query/format/persist functions
agent_fox/knowledge/migrations.py Add migration v19 creating errata table
agent_fox/knowledge/fox_provider.py Extend retrieve() to include errata in coder context
agent_fox/engine/result_handler.py Generate errata on blocking decisions via _generate_errata()
agent_fox/knowledge/audit.py Add ERRATA_GENERATED audit event type
tests/unit/knowledge/test_errata.py 23 tests for errata module
tests/unit/engine/test_errata_on_blocking.py 6 tests for blocking + provider integration
6 other test files Update expected tables/versions for migration v19
docs/memory.md Document the change

Tests

  • tests/unit/knowledge/test_errata.py: Erratum generation, storage, query, formatting, markdown persistence, migration v19 idempotency
  • tests/unit/engine/test_errata_on_blocking.py: Errata on blocking, no-errata when not blocking, failure isolation, severity filtering, FoxKnowledgeProvider integration

Verification

  • All existing tests pass: ✅ (4292 → 4319 with new tests)
  • New tests pass: ✅ (27 tests)
  • Linter / formatter: ✅
  • No regressions: ✅

Auto-generated by af-fix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant