Anto01
081c058f77
feat(api): invalidate + supersede for active entities and memories (Issue E)
Public retraction path so mistakes can be corrected without SQL. Unblocks
the correction workflows that the live AKC p05 session exposed.
- engineering/service.py: invalidate_active_entity returns (ok, code)
with codes invalidated/already_invalid/not_active/not_found for clean
HTTP mapping. supersede_entity gains superseded_by + auto-creates the
supersedes relationship (new SUPERSEDES old), rejects self-supersede
- memory/service.py: invalidate_memory/supersede_memory accept reason
string that lands in audit note
- api/routes.py: POST /entities/{id}/invalidate, /supersede;
POST /memory/{id}/invalidate, /supersede (all 4 behind /v1 aliases)
- tests/test_invalidate_supersede.py: 15 tests (idempotency, 404/409,
supersede relationship auto-creation, self-supersede rejection,
missing-replacement rejection, v1 alias presence)
- DEV-LEDGER.md: session log + test_count 494 -> 509
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-21 21:56:24 -04:00
..
2026-04-05 09:21:27 -04:00
2026-04-05 09:21:27 -04:00
2026-04-07 08:29:33 -04:00
2026-04-16 21:54:10 -04:00
2026-04-08 20:25:32 -04:00
2026-04-21 21:46:52 -04:00
2026-04-08 16:09:42 -04:00
2026-04-11 09:46:46 -04:00
2026-04-11 10:58:56 -04:00
2026-04-05 09:21:27 -04:00
2026-04-18 16:50:20 -04:00
2026-04-06 18:42:19 -04:00
2026-04-11 12:47:05 -04:00
2026-04-08 19:02:57 -04:00
2026-04-17 07:18:46 -04:00
2026-04-17 07:53:03 -04:00
2026-04-17 07:01:28 -04:00
2026-04-15 10:47:01 -04:00
2026-04-13 17:16:04 -04:00
2026-04-06 21:24:17 -04:00
2026-04-21 20:17:32 -04:00
2026-04-05 17:53:23 -04:00
2026-04-19 12:01:41 -04:00
2026-04-07 08:29:33 -04:00
2026-04-21 21:56:24 -04:00
2026-04-05 18:33:52 -04:00
2026-04-21 16:18:00 -04:00
2026-04-16 21:54:10 -04:00
2026-04-08 15:52:44 -04:00
2026-04-18 08:08:55 -04:00
2026-04-06 18:42:19 -04:00
2026-04-07 20:14:19 -04:00
2026-04-11 11:20:03 -04:00
2026-04-06 18:37:07 -04:00
2026-04-05 18:33:52 -04:00
2026-04-19 09:41:02 -04:00
2026-04-17 09:09:58 -04:00
2026-04-21 20:04:46 -04:00
2026-04-19 12:01:41 -04:00