ingestion-memory

Retire one remembered turn from both tiers

Retire a single turn written by POST /ingestion/memory.

turn_id is a turn_ids entry from the write that created it — the turn's content hash, from which its engine node id is derived. It is NOT the active fragment id: that one is sha256(scope|turn_id) and one-way, so only this direction works.

Before this route existed, the finest thing a caller could delete on this path was an entire scope or user: remember had no counterpart, and handing a Turn node to the deletion service tombstoned the engine node while reporting the active tier not_located — the tier default recall actually reads. So a "deleted" turn kept being recalled.

Both tiers go through the ordinary deletion service, which means this gets the same audit row (deletion_requests), the same soft/purge replay and the same honest per-tier receipt as every other deletion. Soft mode only: erasing the bytes is a platform-admin purge, unchanged.

delete/ingestion/memory/turns/{turn_id}

Request

Path parameters

turn_idstring required

Query parameters

reasonstring nullable

Response

Successful Response

turn_idstring required

The retired turn's id (as returned in turn_ids)

forgottenboolean required

True only when no copy of the turn is still served: every stored item of it (split parts, observations, every scope) retired in both tiers, and no consolidated copy left. False means it may still answer recall somewhere — read residue, errors and the tier fields.

request_idstring nullable

Audit row id in deletion_requests (GET /deletions/{id})

durable_tierstring nullable

Per-tier outcome for HelixDB: ok | partial | error | not_found

active_tierstring nullable

Per-tier outcome for active memory: ok | skipped | not_located | error

active_tier_notestring nullable

Why the active tier is not 'ok', when it is not

items_retiredinteger nullable

Stored items of the turn this covered (parts + observations)

residuestring[]

Copies of the turn's text this does not remove: 'document_chunks' and 'knowledge_graph' once the turn has been consolidated (its episode summary IS rewritten without it). Deep recall can still return them.

residue_notestring nullable
errorsstring[]

What failed; the call is safe to repeat

Changes

No recorded changes to this operation across all 1 revision of this API.