gsxdsm
|
006cc40454
|
FN-8685: add durable cross-process task deletion consumers
Deliver durable, replay-safe cross-process task deletion observation.
- Add PostgreSQL lifecycle consumer cursors, leases, acknowledgements, retention, and recovery.
- Start named consumers in dashboard, serve, and engine runtime paths.
- Preserve delete integration metadata while suppressing replayed GitHub and GitLab side effects.
- Cover outbox identity, observed delivery, fencing, and reconciliation behavior.
Files changed:
...fn-8685-cross-process-task-deleted-observers.md | 7 +
.../fn-8685-task-deleted-outbox-consumers.md | 7 +
docs/architecture.md | 8 +-
...tgres-cross-process-task-deleted-observation.md | 8 +-
docs/storage.md | 10 +-
packages/cli/src/commands/dashboard.ts | 9 +-
packages/cli/src/commands/serve.ts | 9 +-
packages/cli/src/project-context.ts | 9 +-
.../task-deleted-outbox-consumer.pg.test.ts | 157 ++++++++
...-deleted-observed-dispatch-side-effects.test.ts | 36 ++
.../task-lifecycle-consumer-identity.test.ts | 22 ++
packages/core/src/index.ts | 11 +
.../0041_fn_8685_task_lifecycle_consumers.sql | 88 +++++
packages/core/src/postgres/schema-applier.ts | 16 +-
packages/core/src/postgres/schema/project.ts | 45 +++
packages/core/src/postgres/startup-factory.ts | 4 +
packages/core/src/store.ts | 54 ++-
.../__tests__/lifecycle-outbox-writer.test.ts | 4 +-
.../core/src/task-store/archive-lifecycle-2.ts | 1 +
packages/core/src/task-store/lifecycle-ops.ts | 13 +-
packages/core/src/task-store/lifecycle-outbox.ts | 2 +
packages/core/src/task-store/project-store-ops.ts | 4 +-
.../src/task-store/task-deleted-outbox-consumer.ts | 333 +++++++++++++++++
.../task-store/task-lifecycle-consumer-identity.ts | 32 ++
.../task-store/task-lifecycle-consumer-registry.ts | 396 +++++++++++++++++++++
.../task-store/task-lifecycle-event-retention.ts | 104 ++++++
packages/core/src/task-store/task-mutation-ops.ts | 1 +
packages/dashboard/src/github-tracking-state.ts | 12 +-
packages/dashboard/src/gitlab-delete-close.ts | 3 +
packages/dashboard/src/gitlab-split-close.ts | 7 +-
packages/dashboard/src/project-store-resolver.ts | 9 +-
packages/engine/src/project-manager.ts | 4 +-
packages/engine/src/project-runtime.ts | 2 +-
packages/engine/src/runtimes/in-process-runtime.ts | 17 +-
packages/engine/src/self-healing.ts | 27 ++
35 files changed, 1439 insertions(+), 32 deletions(-)
Fusion-Task-Id: FN-8685
Fusion-Task-Lineage: 63eca9ac-d2af-44b0-ba79-388a950148d3
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
|
2026-08-01 06:09:04 -07:00 |
|
gsxdsm
|
c978cdbacf
|
FN-8687: close imported GitLab issues on task deletion
Add GitLab close-on-delete behavior for imported source issues.
- Close linked GitLab issues by default while honoring leave and delete action semantics.
- Preserve split-close ownership, skip merge requests, and limit malformed tracking fallback to deletion.
- Document the lifecycle contract and add dashboard coverage.
Files changed:
.changeset/fn-8687-gitlab-close-on-delete.md | 7 ++
docs/gitlab-parity-inventory.md | 20 +++-
docs/settings-reference.md | 1 +
docs/task-management.md | 5 +-
.../src/__tests__/gitlab-delete-close.test.ts | 101 +++++++++++++++++++++
.../src/__tests__/gitlab-lifecycle.test.ts | 35 +++++++
.../gitlab-parity-inventory-documentation.test.ts | 7 +-
.../__tests__/gitlab-source-issue-close.test.ts | 8 ++
.../src/__tests__/gitlab-split-close.test.ts | 12 +++
packages/dashboard/src/gitlab-delete-close.ts | 90 ++++++++++++++++++
packages/dashboard/src/gitlab-lifecycle.ts | 33 +++++--
packages/dashboard/src/gitlab-split-close.ts | 2 +-
packages/dashboard/src/index.ts | 1 +
.../dashboard/src/routes/register-git-github.ts | 7 ++
14 files changed, 313 insertions(+), 16 deletions(-)
Fusion-Task-Id: FN-8687
Fusion-Task-Lineage: 48bc9159-fc35-43cb-b72e-1b6260d9e3cb
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
|
2026-08-01 04:08:57 -07:00 |
|
gsxdsm
|
23c9992e7b
|
FN-8682: add GitLab split-close issue comments
GitLab source issues now receive an explanatory split handoff before closure.
- Add a GitLab split-close service that posts normalized child-task notes before closing source issues.
- Wire split-close handling across project stores while preserving merge-request and failure safeguards.
- Document GitLab lifecycle parity and cover split-close behavior with tests.
Files changed:
.changeset/fn-8682-gitlab-split-close-comment.md | 7 ++
docs/gitlab-parity-inventory.md | 2 +-
docs/task-management.md | 1 +
.../gitlab-parity-inventory-documentation.test.ts | 2 +
.../src/__tests__/gitlab-split-close.test.ts | 113 +++++++++++++++++++++
packages/dashboard/src/gitlab-lifecycle.ts | 6 +-
packages/dashboard/src/gitlab-split-close.ts | 98 ++++++++++++++++++
packages/dashboard/src/gitlab-tracking-state.ts | 6 +-
packages/dashboard/src/index.ts | 1 +
.../dashboard/src/routes/register-git-github.ts | 6 ++
10 files changed, 237 insertions(+), 5 deletions(-)
Fusion-Task-Id: FN-8682
Fusion-Task-Lineage: 8eca9888-b10a-4ea9-b9d3-fc09a39022ab
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
|
2026-08-01 03:19:00 -07:00 |
|