FN-8305: add durable PostgreSQL symbol locks
Introduce durable project-scoped symbol locks backed by PostgreSQL.
- Add normalized lease-based lock acquisition, renewal, release, and reconciliation APIs with audit events.
- Add PostgreSQL schema migrations and self-healing reconciliation coverage.
- Document the lock model and test migration and lock behavior.
Files changed:
AGENTS.md | 1 +
docs/architecture.md | 1 +
docs/storage.md | 7 +
.../src/__tests__/postgres/schema-applier.test.ts | 115 +++++++++-
packages/core/src/__tests__/symbol-locks.test.ts | 91 ++++++++
packages/core/src/index.ts | 17 ++
.../core/src/postgres/migrations/0000_initial.sql | 25 +++
.../src/postgres/migrations/0025_symbol_locks.sql | 63 ++++++
packages/core/src/postgres/schema-applier.ts | 18 +-
packages/core/src/postgres/schema/project.ts | 29 +++
packages/core/src/store.ts | 23 ++
packages/core/src/symbol-lock-types.ts | 60 +++++
packages/core/src/task-store/symbol-locks.ts | 244 +++++++++++++++++++++
.../__tests__/symbol-lock-reconciliation.test.ts | 19 ++
packages/engine/src/self-healing.ts | 35 +++
15 files changed, 745 insertions(+), 3 deletions(-)
Fusion-Task-Id: FN-8305
Fusion-Task-Lineage: efd95c73-23e3-4359-8204-dfad374a39bc
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>