Fusion
5e58ab91cf
feat(FN-3003): merge fusion/fn-3003
- Unify notification service ownership across the engine: `Notifier` now operates on `ProjectEngine` rather than its own `Core` reference, resolving stale-closure issues during engine lifecycle
- Add regression tests in `notifier.test.ts` covering merge dedupe wiring and ownership initialization
- Expand `project-engine.test.ts` to cover ownership state transitions and `ProjectEngine`-notifier integration
- Fix TypeScript regressions in `ModelOnboardingModal.tsx` and `SettingsModal.tsx` introduced by custom provider types
- Document the notification ownership model in `docs/architecture.md`
Commits merged:
- feat(FN-3003): complete Step 4 — document notification ownership model
- fix(FN-3003): resolve dashboard custom provider typecheck regressions
- test(FN-3003): complete Step 2 — add merge dedupe wiring regressions
- feat(FN-3003): complete Step 1 — unify notification service ownership
Files changed:
docs/architecture.md | 2 +
.../app/components/ModelOnboardingModal.tsx | 13 +++++-
.../dashboard/app/components/SettingsModal.tsx | 17 +++++--
packages/engine/src/__tests__/notifier.test.ts | 33 ++++++++++++++
.../engine/src/__tests__/project-engine.test.ts | 53 +++++++++++++++++++---
packages/engine/src/notifier.ts | 3 +-
packages/engine/src/project-engine.ts | 12 +++--
7 files changed, 116 insertions(+), 17 deletions(-)
Fusion-Task-Id: FN-3003
2026-04-29 21:48:13 -07:00
..
2026-04-29 21:48:13 -07:00
2026-04-24 19:39:20 -07:00
2026-04-29 16:29:16 -07:00
2026-04-13 16:35:06 -07:00
2026-04-29 16:29:16 -07:00
2026-04-18 23:41:47 -07:00
2026-04-28 14:25:55 -07:00