Commit Graph

2 Commits

Author SHA1 Message Date
gsxdsm
c0e2ba2ade FN-8836: classify GitHub branch policy merge blocks
Classify ambiguous GitHub merge failures using refreshed pull request state.

- Distinguish branch-protection blocks from true merge conflicts.
- Surface review and required-check blockers in CLI and dashboard merge flows.
- Add regression coverage and a patch changeset.

Files changed:
 .changeset/fn-8836-gh-merge-policy-errors.md       |   7 ++
 .../src/commands/__tests__/task-lifecycle.test.ts  |  55 +++++++++
 packages/cli/src/commands/task-lifecycle.ts        |  14 ++-
 packages/core/src/__tests__/gh-cli.test.ts         |  39 +++++-
 packages/core/src/cli/gh-cli.ts                    |  60 +++++++++-
 packages/core/src/index.gate.ts                    |   1 +
 packages/core/src/index.ts                         |   1 +
 .../dashboard/src/__tests__/routes-github.test.ts  | 131 +++++++++++++++++++++
 .../dashboard/src/routes/register-git-github.ts    |  58 +++++++--
 9 files changed, 351 insertions(+), 15 deletions(-)

Fusion-Task-Id: FN-8836

Fusion-Task-Lineage: 7102f5ba-aca9-48cd-a27b-76deb952c4a5

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-08-08 18:56:43 -07:00
gsxdsm
cb57093d03 refactor: domain folder layout (types, API, core, engine) (#2398)
## Summary

Wave 17 organizes Fusion into **domain folders** (stacks on #2397).

### Layout
- **core/types/** — board, task, agents, settings, merge, workflow,
mesh, …
- **core/src/** — agents, ai, async-stores, workflows, tasks, config,
db, …
- **dashboard/app/api/** — client, tasks, agents, git, missions,
planning, …
- **engine/src/** — agents, auth, execution, merge, missions, overseer,
worktree, …

Root keepers retained for large entrypoints (`store.ts`, `executor.ts`,
`merger.ts`, …).

Public barrels (`@fusion/core`, `@fusion/engine`, `app/api.ts` → legacy)
stay stable.

## Test plan
- [x] `@fusion/core` typecheck
- [x] `@fusion/engine` typecheck (pre-existing playwright-core noise
only)
- [ ] CI merge gate

**Stack:** #2394 → #2397 → **this PR**
2026-08-03 00:20:53 -07:00