v0.3.0 — redaction gate + audit-logged redactions
Local-first personal memory daemon — this release lands the sensitive-content redaction gate and makes the heavy ML stacks opt-in.
Added
- Redaction gate wired into the dedup cascade (heuristic baseline; the Florence-backed model lands behind a
[redact]extra later). --redact/--redact-thresholdflags onsecondbrain run-syntheticfor display-free smoke testing.- Redaction events are recorded in the signed audit log, keeping the compliance trail complete when frames are dropped before persistence.
[ml]and[visual]extras — sentence-transformers/torch and ColQwen2.5 are now opt-in instead of mandatory.mcp+ macOS PyObjC moved into base dependencies so a clean install works on a fresh Mac.
Fixed
- Test-order pollution: a daemon started with
enable_llm=Trueleaked its LLM-backed extractors into later tests; globals now reset via a shared conftest fixture. - Two CI-runner-only test failures and all ruff lint/format errors.
Full test suite: 207 passed (incl. live-Ollama and macOS TCC tests). End-to-end verified against Ollama gemma4:latest: synthetic capture daemon with LLM importance + commitment extraction in the loop, HTTP gateway /health, /add-note, /search, /commitments, /audit-log.
As always: captures, embeddings, knowledge graph, and audit log stay on-device. Local-by-default, BYO-LLM.