gsxdsm
c7c879905b
FN-8903: add event-driven GitHub CI merge checks
Persist ingested GitHub CI signals and use them to assess merge readiness.
- Store project-scoped GitHub check states with retention maintenance.
- Resolve configured required checks from ingested signals during PR merge decisions.
- Add delivery, lifecycle, persistence, and retention coverage with operator documentation.
Files changed:
.changeset/fn-8903-event-driven-checks.md | 7 ++
docs/architecture.md | 1 +
docs/settings-reference.md | 2 +-
docs/signals-connectors.md | 2 +-
.../src/commands/__tests__/task-lifecycle.test.ts | 50 ++++++++-
packages/cli/src/commands/task-lifecycle.ts | 7 +-
.../core/src/__tests__/ingested-checks.test.ts | 66 +++++++++++
.../postgres/github-check-states.pg.test.ts | 71 ++++++++++++
packages/core/src/config/index.ts | 1 +
packages/core/src/config/ingested-checks.ts | 32 ++++++
packages/core/src/index.ts | 10 ++
.../0048_fn_8903_github_check_states.sql | 32 ++++++
packages/core/src/postgres/schema-applier.ts | 15 ++-
packages/core/src/postgres/schema/project.ts | 29 ++++-
.../core/src/task-store/async/async-ci-checks.ts | 104 ++++++++++++++++++
packages/core/src/task-store/async/index.ts | 1 +
packages/core/src/types.ts | 2 +
packages/dashboard/src/__tests__/github.test.ts | 121 ++++++++++++++++++++-
.../src/__tests__/register-signal-routes.test.ts | 81 +++++++++++++-
packages/dashboard/src/github.ts | 74 +++++++++----
.../dashboard/src/routes/register-git-github.ts | 29 +++--
.../dashboard/src/routes/register-signal-routes.ts | 10 +-
.../src/routes/register-task-workflow-routes.ts | 14 ++-
packages/dashboard/src/signal-source.ts | 23 ++++
packages/dashboard/src/signal-sources/github.ts | 2 +
.../self-healing-github-check-retention.test.ts | 121 +++++++++++++++++++++
packages/engine/src/self-healing.ts | 23 ++++
27 files changed, 878 insertions(+), 52 deletions(-)
Fusion-Task-Id: FN-8903
Fusion-Task-Lineage: b2643587-c568-4b6c-8b3a-d50a6165963d
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-08-09 09:14:56 -07:00
..
2026-08-07 17:33:56 -07:00
2026-08-09 09:14:56 -07:00
2026-06-03 13:02:23 -07:00
2026-08-03 09:04:45 -07:00
2026-04-23 23:02:35 -07:00
2026-05-01 05:04:05 -07:00
2026-06-14 15:29:35 -07:00
2026-07-30 21:50:37 -07:00
2026-08-07 01:36:34 -07:00
2026-07-14 23:18:55 -07:00
2026-07-25 00:54:46 -07:00
2026-08-03 12:16:32 -07:00
2026-08-01 06:09:04 -07:00
2026-07-25 00:54:46 -07:00
2026-07-15 14:01:08 -07:00
2026-07-19 13:34:25 -07:00