FN-8969: fix plan evidence version collisions
Prevent plan writes from permanently failing when durable and snapshot evidence versions diverge.
- Centralize conflict-tolerant plan-evidence appends with durable version allocation
- Reuse the helper for prompt, lineage, and project evidence writes
- Cover version drift, retry, deduplication, and concurrent PostgreSQL writes
Files changed:
.../fn-8969-plan-evidence-version-collision.md | 7 ++
.../__tests__/plan-evidence-next-version.test.ts | 49 ++++++++++++++
.../plan-evidence-version-collision.pg.test.ts | 72 ++++++++++++++++++++
packages/core/src/store.ts | 40 ++++++-----
.../core/src/task-store/async/async-lifecycle.ts | 49 +++++++-------
packages/core/src/task-store/plan-evidence.ts | 77 ++++++++++++++++++++++
packages/core/src/task-store/project-store-ops.ts | 47 +++++++------
7 files changed, 276 insertions(+), 65 deletions(-)
Fusion-Task-Id: FN-8969
Fusion-Task-Lineage: 5fba0bc8-bcf6-42ea-b617-3484919ed2fa
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>