Commit Graph

20 Commits

Author SHA1 Message Date
Fusion
6886825898 fix(self-healing): recover merge when baseCommitSha was advanced past landed commit
findLandedTaskCommit only fell back to scanning all of HEAD on git-log
exceptions. When the bounded base..HEAD range is valid but empty — e.g.
the merger fast-forward-rebased the task branch and set baseCommitSha
to the new HEAD, or later commits moved HEAD past the merge — recovery
silently returned null and re-queued the merge even though the commit
had already landed. Add an empty-stdout fallback that re-scans HEAD,
with a regression test covering the FN-2221 scenario.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 23:34:18 -07:00
Fusion
a93f0f2ef9 feat(FN-2160): add push-after-merge remote sync workflow
- Add project settings for pushAfterMerge and pushRemote with defaults and typed merge result fields for push status/errors
- Implement post-merge remote sync in the merger with pull --rebase, auto/AI conflict resolution, and one non-fast-forward retry before push
- Expose push-after-merge controls in Settings modal with conditional Push Remote input and coverage for desktop/mobile save flows
- Document the new settings in the settings reference and stabilize CLI cross-build help test timeout
2026-04-19 20:48:13 -07:00
Fusion
8711c10922 feat(FN-2027): gate Insights and Roadmaps views behind experimental flags
- Add insightsEnabled and roadmapEnabled state in useAppSettings derived from project experimentalFeatures.
- Pass experimental feature visibility into Header and MobileNavBar and hide Insights/Roadmaps navigation controls unless enabled.
- Redirect users back to Board when a disabled Insights or Roadmaps view is active after settings load.
- Update Settings modal to always show labeled Insights and Roadmaps feature toggles alongside any custom experimental flags.
- Expand App, Header, MobileNavBar, and SettingsModal tests to cover gated rendering and behavior.
2026-04-17 18:47:40 -07:00
gsxdsm
383033fcdc fix(FN-000): align qmd memory lifecycle 2026-04-17 09:41:05 -07:00
gsxdsm
20b01981b8 fix(FN-000): compact selected memory file 2026-04-17 08:55:50 -07:00
gsxdsm
f0415937d3 fix(FN-000): restore memory compaction and log pagination 2026-04-17 08:43:13 -07:00
gsxdsm
0f16bb78e9 fix(FN-000): add qmd install button 2026-04-17 08:23:26 -07:00
gsxdsm
75dc5a8c77 fix(FN-000): simplify qmd memory settings 2026-04-17 08:16:36 -07:00
gsxdsm
bdfb4842d2 fix(FN-000): rebuild layered memory system 2026-04-17 07:36:22 -07:00
gsxdsm
4864b5edca feat(FN-1712): merge fusion/fn-1712 2026-04-15 04:15:57 -07:00
gsxdsm
8c0f6eadb4 feat(FN-1758): merge fusion/fn-1758 2026-04-14 19:45:56 -07:00
gsxdsm
e722330964 feat(FN-1755): merge fusion/fn-1755 2026-04-14 10:59:04 -07:00
gsxdsm
e6becfa41b feat(FN-1658): merge fusion/fn-1658 2026-04-14 09:29:02 -07:00
gsxdsm
f72a3a39db feat(FN-1771): add dashboard memory settings UX with backend selector and capability-aware editing
- Add /api/memory/backend endpoint returning current backend, capabilities, and available backends
- Create useMemoryBackendStatus hook with polling and frontend-friendly interface
- Add MemorySettingsSection to SettingsModal with backend selector dropdown
- Implement capability-aware UI: readonly backends disable save, fallback on unknown types
- Add comprehensive tests for API endpoints and hook behavior
- Update architecture docs with memory backend architecture section
2026-04-13 22:32:31 -07:00
gsxdsm
192ea195f7 feat(FN-1627): expose global execution concurrency limit in settings
- Add global max concurrent agent limit to settings UI (Scheduling section)
- Add null-as-delete semantics for global settings persistence
- Add fetchGlobalConcurrency and updateGlobalConcurrency API integrations
- Update SettingsModal tests with comprehensive coverage for new features
- Fix lint issues in modified files
2026-04-13 20:22:10 -07:00
gsxdsm
6aec83fff3 feat(FN-1663): merge fusion/fn-1663 2026-04-13 15:51:05 -07:00
gsxdsm
fd8da2c2c7 fix(tests): add globalConcurrency mocks to SettingsModal test files
Both SettingsModal test files were missing mocks for fetchGlobalConcurrency
and updateGlobalConcurrency, causing the component to throw on mount.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-13 14:59:08 -07:00
gsxdsm
4ba4cca01f feat(FN-1130): add project memory editing in settings
- Add GET /api/memory and PUT /api/memory routes with project-scoped file access and validation
- Add fetchMemory and saveMemory dashboard API helpers for memory file operations
- Extend the Settings modal Memory section with inline FileEditor loading, dirty tracking, save action, and read-only behavior when memory is disabled
- Add SettingsModal tests covering memory load, loading state, save flow, and empty-content handling
2026-04-08 04:30:10 -07:00
gsxdsm
ea4fe6fe0f feat(FN-925): add memoryEnabled setting with UI toggle and engine integration
- Add memoryEnabled boolean setting to core types and default settings
- Add Memory section toggle to SettingsModal dashboard UI
- Integrate memoryEnabled check in executor and triage engine prompts
- Add tests for settings UI, executor prompt behavior, and triage prompt behavior
- Update SettingsModal section count test for the new Memory section
2026-04-04 15:06:57 -07:00
gsxdsm
383f2789e7 fix(FN-859): fix settings export filename prefix to fusion-settings
- Change export filename from 'kb-settings' to 'fusion-settings' in SettingsModal
- Add comprehensive tests for settings export functionality including filename branding
- Remove stale dashboard-footer-mobile-layout test and unused App test
- Fix minor CSS and README cleanup
2026-04-03 23:38:56 -07:00