v0.2.0cerebra2026-06-10

Phase 4 Steps 10–11 — abstention operator and e2e integration suite

Closes Phase 4. Wires the silence/abstention path into search and context, and verifies the full pipeline end-to-end against the dev vault.

v0.2.02026-06-10
  • ·Abstention: floor check in search + context commands; RetrievalAbstained event emitted; exit 1 on abstain
  • ·build_abstained_packet() — abstained ContextPacket with best_score_seen field
  • ·tests/unit/test_abstention.py (525 lines): unit coverage for abstention path
  • ·tests/integration/test_abstention_against_vault.py (221 lines): vault integration tests
  • ·tests/integration/test_phase4_e2e.py (678 lines): 26 e2e tests across full pipeline — 25 pass, 1 skip (lockfile not implemented)
  • ·Click 8.4.1 compat: 3 unit tests migrated from mix_stderr=False → capture='fd'
  • ·docs/agent/plans/v01_phase5_needs.md: Phase 5 needs assessment (zero Phase 5 infrastructure; 5 architectural decisions to resolve)