Merges 20 commits from Ashley's smolblocks.com instance (main branch),
bringing in the full Backlog Board screen (BacklogBoardController, board
columns/cards, task detail drawer, summary panel, search/filter/sort/group,
Break Up and Someday actions) plus the unified FocusFlowSection navigation
model.
Reconciled with our own in-flight work:
- Replaced our placeholder BacklogPane/createBacklogController wiring with
Ashley's real BacklogBoardScreen/BacklogBoardController (same problem,
more complete implementation - avoids two competing Backlog UIs).
- Adopted the FocusFlowSection-based Sidebar API in place of our bespoke
SidebarScreen enum; the Settings nav item now intercepts
FocusFlowSection.settings in _selectSection to open our Settings dialog
instead of falling through to a placeholder screen.
- Gave every sidebar nav item a stable key (not just the active one) so the
Settings dialog tests can still target it reliably.
- Kept our additive owner-settings read controller, Settings dialog, and
timeline Break-up wiring; renamed the Today controller field to
todayController throughout to match upstream's now-multi-controller
naming.
- Fixed a test-only regression: backlog_board_screen_test.dart's standalone
SchedulerCommandController construction needed the new `management` param.
- Added .gitleaks.toml allowlisting the local, gitignored
.claude/settings.local.json path (recorded bash command patterns, not
repo secrets) that was blocking commits.
Verified via focusflow-flutter-ci:3.44.4 (Flutter 3.44.4/Dart 3.12.2):
flutter analyze clean, dart format clean, 106/106 Flutter tests passing,
348/348 scheduler_core + scheduler_persistence_sqlite tests passing.
Closes: Circuit-Forge/focus-flow#9