FN-8945: invalidate approved lineage fingerprints
Invalidate stale approval evidence atomically when a parent task leaves lineage.
- Lock and revalidate lineage children before parent deletion or archival.
- Clear affected approvals, append invalidation evidence, and reconcile cleared children.
- Cover lifecycle races, evidence collisions, and async archive/delete paths.
Files changed:
.changeset/fn-8945-lineage-approval-invalidation.md | 7 +
docs/architecture.md | 6 +
.../lineage-approval-invalidation.pg.test.ts | 379 +++++++++++++++++++++
.../planning-lifecycle-advisory-lock.pg.test.ts | 58 ++++
.../postgres/runtime-lifecycle-async.test.ts | 4 +
.../__tests__/postgres/taskstore-lifecycle.test.ts | 3 +-
packages/core/src/postgres/advisory-locks.ts | 164 ++++++---
packages/core/src/store.ts | 26 +-
.../core/src/task-store/archive-lifecycle-2.ts | 123 +++++--
.../src/task-store/async/async-archive-lineage.ts | 27 +-
.../core/src/task-store/async/async-lifecycle.ts | 89 +--
.../task-store/lineage-approval-invalidation.ts | 168 +++++++++
12 files changed, 939 insertions(+), 115 deletions(-)
Fusion-Task-Id: FN-8945
Fusion-Task-Lineage: be7dd6c8-5411-4b0e-8734-9fe63b9d1d9f
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>