cli: 'aborist burn' — kindergarten leaf delete with audit event
Burn deletes a providence_cache row outright; falsify (the existing verb) flips state and keeps the row. Burn is for early/scratch use during a tree's genesis when downstream consumers haven't ingested the answer yet. Children gate: refuses if any falsifications reference the cache_key. Caller can override with --force; the audit event records forced=True plus the child count at burn time so the chain can reconstruct what was orphaned. Refusal is non-destructive AND skips the audit event so scripts can retry without polluting history. Always writes a 'providence_burn' audit event regardless of force. Body fields: cache_key, burned_audit_mode, burned_n_verified, burned_state, question_text, reason, by_actor, child_falsifications_at_burn, forced. The chain-break query (`make chain-check`) shows 0 after burn — the new event extends the prior chain cleanly. Surface: aborist burn --cache-key <hex> [--reason '...'] [--force] make burn KEY=<hex> REASON='...' [FORCE=1] Tests (7): happy-path delete + audit event, refusal on children, --force override, unknown-key not-found, chain-integrity preserved, CLI happy path, CLI non-zero exit on refusal.
This commit is contained in:
parent
01a4390693
commit
4a994b7ead
3 changed files with 434 additions and 1 deletions
6
Makefile
6
Makefile
|
|
@ -31,7 +31,7 @@ SEARCH_Q ?= computer
|
|||
ingest-grok ingest-grok-media \
|
||||
ingest-self ingest-git ingest-hg \
|
||||
verify search stats test docs chain-check chain-check-shards \
|
||||
clean clean-db clean-data help
|
||||
falsify burn clean clean-db clean-data help
|
||||
|
||||
all: bootstrap fetch-cur ingest-cur verify stats ## bootstrap → fetch cur → ingest cur → verify → stats
|
||||
|
||||
|
|
@ -123,6 +123,10 @@ falsify: bootstrap ## mark a cached answer wrong: make falsify KEY=hex REASON='w
|
|||
@if [ -z "$(KEY)" ]; then echo "usage: make falsify KEY=<cache_key> REASON='why'" >&2; exit 2; fi
|
||||
$(ABORIST) --shards-dir $(SHARDS_DIR) providence --falsify $(KEY) --reason "$(REASON)"
|
||||
|
||||
burn: bootstrap ## delete a leaf with no children: make burn KEY=hex REASON='why' [FORCE=1]
|
||||
@if [ -z "$(KEY)" ]; then echo "usage: make burn KEY=<cache_key> REASON='why' [FORCE=1]" >&2; exit 2; fi
|
||||
$(ABORIST) --shards-dir $(SHARDS_DIR) burn --cache-key $(KEY) --reason "$(REASON)" $(if $(FORCE),--force,)
|
||||
|
||||
# Multi-source RAG query against the shard cluster.
|
||||
# Usage: make query Q="What is anarcho-capitalism?"
|
||||
QUERY_TOP_K ?= 8
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue