gsxdsm
82b5d78bf8
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>
2026-08-10 08:48:47 -07:00
..
2026-08-03 00:20:53 -07:00
2026-08-10 08:48:47 -07:00
2026-08-09 14:39:17 -07:00
2026-08-03 00:20:53 -07:00
2026-08-03 00:20:53 -07:00
2026-08-10 08:48:47 -07:00
2026-08-03 00:20:53 -07:00
2026-07-13 19:07:58 -07:00
2026-08-04 11:52:15 -07:00
2026-07-13 19:07:58 -07:00
2026-08-10 02:56:58 -07:00
2026-07-13 19:07:58 -07:00
2026-08-03 00:20:53 -07:00
2026-08-03 00:20:53 -07:00
2026-08-03 00:20:53 -07:00
2026-08-03 00:20:53 -07:00
2026-08-03 00:20:53 -07:00
2026-08-03 00:20:53 -07:00
2026-07-13 19:07:58 -07:00
2026-08-08 21:10:13 -07:00
2026-08-01 06:09:04 -07:00
2026-07-13 19:07:58 -07:00
2026-08-10 08:48:47 -07:00
2026-07-13 19:07:58 -07:00
2026-08-03 00:20:53 -07:00
2026-08-03 00:20:53 -07:00
2026-08-03 00:20:53 -07:00
2026-08-08 01:59:38 -07:00
2026-08-10 02:56:58 -07:00
2026-08-03 00:20:53 -07:00
2026-07-13 19:07:58 -07:00
2026-08-07 01:36:34 -07:00
2026-07-13 19:07:58 -07:00
2026-08-08 01:59:38 -07:00
2026-08-08 21:10:13 -07:00
2026-08-08 19:13:14 -07:00
2026-08-07 01:36:34 -07:00
2026-08-08 22:55:38 -07:00
2026-07-13 19:07:58 -07:00
2026-08-03 00:20:53 -07:00
2026-07-28 16:28:00 -07:00
2026-08-03 00:20:53 -07:00
2026-08-03 00:20:53 -07:00
2026-08-09 14:12:49 -07:00
2026-08-03 00:20:53 -07:00
2026-08-03 00:20:53 -07:00
2026-08-01 06:09:04 -07:00
2026-08-01 06:09:04 -07:00
2026-08-01 06:09:04 -07:00
2026-08-08 23:16:01 -07:00
2026-07-30 21:35:23 -07:00
2026-08-08 01:59:38 -07:00
2026-08-03 00:20:53 -07:00
2026-08-10 02:56:58 -07:00
2026-08-10 02:56:58 -07:00
2026-08-09 04:37:47 -07:00
2026-08-03 00:20:53 -07:00
2026-08-03 00:20:53 -07:00
2026-08-07 01:36:34 -07:00
2026-08-07 01:36:34 -07:00
2026-07-26 23:28:42 -07:00
2026-07-13 19:07:58 -07:00