refactor: group scheduler core src modules

This commit is contained in:
Ashley Venn 2026-07-01 13:54:28 -07:00
parent ec19dd498d
commit 0c97567283
304 changed files with 121 additions and 96 deletions

View file

@ -1,3 +1,6 @@
<!-- SPDX-FileCopyrightText: 2026 FocusFlow contributors -->
<!-- SPDX-License-Identifier: AGPL-3.0-only -->
# AGENTS.md — Codex Project Rules (SQLiteFirst, July 2026) # AGENTS.md — Codex Project Rules (SQLiteFirst, July 2026)
This document supersedes all previous agent rule files. Treat it as the single source of truth. This document supersedes all previous agent rule files. Treat it as the single source of truth.
@ -80,6 +83,17 @@ integrated.
--- ---
## 6.1 File Hygiene
All future project files must include the relevant SPDX metadata for their file
format. New Dart files must include file-level Dartdoc library docs and Dartdoc
comments for every class, enum, enum value, constructor, method, field, and
top-level declaration. When adding code, keep large feature surfaces organized
under descriptive subfolders instead of expanding flat top-level `src` or app
directories.
---
## 7. Branch, Commit & CI ## 7. Branch, Commit & CI
* Start each new block from `main` on a block branch named * Start each new block from `main` on a block branch named

View file

@ -0,0 +1,9 @@
<!-- SPDX-FileCopyrightText: 2026 FocusFlow contributors -->
<!-- SPDX-License-Identifier: AGPL-3.0-only -->
# Focus Flow Contributors
## Project Contact
Ashley Eva Venn
ashleyevavenn@gmail.com

View file

@ -22,28 +22,28 @@ library;
// //
// Keep this file small. Implementation details belong in `lib/src/`. // Keep this file small. Implementation details belong in `lib/src/`.
export 'src/models.dart'; export 'src/domain/models.dart';
export 'src/application_commands.dart'; export 'src/application/application_commands.dart';
export 'src/application_layer.dart'; export 'src/application/application_layer.dart';
export 'src/application_management.dart'; export 'src/application/application_management.dart';
export 'src/application_recovery.dart'; export 'src/application/application_recovery.dart';
export 'src/backlog.dart'; export 'src/scheduling/backlog.dart';
export 'src/child_tasks.dart'; export 'src/scheduling/child_tasks.dart';
export 'src/document_mapping.dart'; export 'src/persistence/document_mapping.dart';
export 'src/document_migration.dart'; export 'src/persistence/document_migration.dart';
export 'src/free_slots.dart'; export 'src/scheduling/free_slots.dart';
export 'src/locked_time.dart'; export 'src/domain/locked_time.dart';
export 'src/occupancy_policy.dart'; export 'src/domain/occupancy_policy.dart';
export 'src/persistence_contract.dart'; export 'src/persistence/persistence_contract.dart';
export 'src/project_statistics.dart'; export 'src/domain/project_statistics.dart';
export 'src/quick_capture.dart'; export 'src/scheduling/quick_capture.dart';
export 'src/reminder_policy.dart'; export 'src/scheduling/reminder_policy.dart';
export 'src/repositories.dart'; export 'src/persistence/repositories.dart';
export 'src/repository_values.dart'; export 'src/persistence/repository_values.dart';
export 'src/scheduling_engine.dart'; export 'src/scheduling/scheduling_engine.dart';
export 'src/task_actions.dart'; export 'src/scheduling/task_actions.dart';
export 'src/task_lifecycle.dart'; export 'src/scheduling/task_lifecycle.dart';
export 'src/task_statistics.dart'; export 'src/domain/task_statistics.dart';
export 'src/time_contracts.dart'; export 'src/domain/time_contracts.dart';
export 'src/today_state.dart'; export 'src/scheduling/today_state.dart';
export 'src/timeline_state.dart'; export 'src/scheduling/timeline_state.dart';

View file

@ -11,16 +11,16 @@ library;
// activity, project-statistic, and operation-record changes in one unit of work. // activity, project-statistic, and operation-record changes in one unit of work.
import 'application_layer.dart'; import 'application_layer.dart';
import 'child_tasks.dart'; import '../scheduling/child_tasks.dart';
import 'free_slots.dart'; import '../scheduling/free_slots.dart';
import 'locked_time.dart'; import '../domain/locked_time.dart';
import 'models.dart'; import '../domain/models.dart';
import 'project_statistics.dart'; import '../domain/project_statistics.dart';
import 'quick_capture.dart'; import '../scheduling/quick_capture.dart';
import 'scheduling_engine.dart'; import '../scheduling/scheduling_engine.dart';
import 'task_actions.dart'; import '../scheduling/task_actions.dart';
import 'task_lifecycle.dart'; import '../scheduling/task_lifecycle.dart';
import 'time_contracts.dart'; import '../domain/time_contracts.dart';
part 'application_commands/codes/application_command_code.dart'; part 'application_commands/codes/application_command_code.dart';
part 'application_commands/messages/application_child_task_draft.dart'; part 'application_commands/messages/application_child_task_draft.dart';
part 'application_commands/messages/application_command_read_hint.dart'; part 'application_commands/messages/application_command_read_hint.dart';

View file

@ -10,14 +10,14 @@ library;
// gives future Flutter/use-case code one atomic boundary per user command // gives future Flutter/use-case code one atomic boundary per user command
// without importing widgets, database clients, or platform notification APIs. // without importing widgets, database clients, or platform notification APIs.
import 'backlog.dart'; import '../scheduling/backlog.dart';
import 'locked_time.dart'; import '../domain/locked_time.dart';
import 'models.dart'; import '../domain/models.dart';
import 'project_statistics.dart'; import '../domain/project_statistics.dart';
import 'repositories.dart'; import '../persistence/repositories.dart';
import 'scheduling_engine.dart'; import '../scheduling/scheduling_engine.dart';
import 'task_lifecycle.dart'; import '../scheduling/task_lifecycle.dart';
import 'time_contracts.dart'; import '../domain/time_contracts.dart';
part 'application_layer/context/owner_time_zone_context.dart'; part 'application_layer/context/owner_time_zone_context.dart';
part 'application_layer/context/application_operation_context.dart'; part 'application_layer/context/application_operation_context.dart';
part 'application_layer/results/application_failure_code.dart'; part 'application_layer/results/application_failure_code.dart';

View file

@ -12,11 +12,11 @@ library;
// application unit-of-work boundary as task commands. // application unit-of-work boundary as task commands.
import 'application_layer.dart'; import 'application_layer.dart';
import 'backlog.dart'; import '../scheduling/backlog.dart';
import 'locked_time.dart'; import '../domain/locked_time.dart';
import 'models.dart'; import '../domain/models.dart';
import 'project_statistics.dart'; import '../domain/project_statistics.dart';
import 'time_contracts.dart'; import '../domain/time_contracts.dart';
part 'application_management/codes/application_management_command_code.dart'; part 'application_management/codes/application_management_command_code.dart';
part 'application_management/codes/owner_settings_warning_code.dart'; part 'application_management/codes/owner_settings_warning_code.dart';
part 'application_management/requests/get_backlog_request.dart'; part 'application_management/requests/get_backlog_request.dart';

View file

@ -11,12 +11,12 @@ library;
// day and persist any resulting V1 flexible-task rollover. // day and persist any resulting V1 flexible-task rollover.
import 'application_layer.dart'; import 'application_layer.dart';
import 'locked_time.dart'; import '../domain/locked_time.dart';
import 'models.dart'; import '../domain/models.dart';
import 'repositories.dart'; import '../persistence/repositories.dart';
import 'scheduling_engine.dart'; import '../scheduling/scheduling_engine.dart';
import 'task_lifecycle.dart'; import '../scheduling/task_lifecycle.dart';
import 'time_contracts.dart'; import '../domain/time_contracts.dart';
part 'application_recovery/app_open_recovery_outcome.dart'; part 'application_recovery/app_open_recovery_outcome.dart';
part 'application_recovery/run_app_open_recovery_request.dart'; part 'application_recovery/run_app_open_recovery_request.dart';
part 'application_recovery/app_open_recovery_result.dart'; part 'application_recovery/app_open_recovery_result.dart';

View file

@ -11,7 +11,7 @@ library;
// project defaults or implement reports UI. // project defaults or implement reports UI.
import 'models.dart'; import 'models.dart';
import 'task_lifecycle.dart'; import '../scheduling/task_lifecycle.dart';
part 'project_statistics/enums/project_completion_time_bucket.dart'; part 'project_statistics/enums/project_completion_time_bucket.dart';
part 'project_statistics/enums/project_suggestion_type.dart'; part 'project_statistics/enums/project_suggestion_type.dart';
part 'project_statistics/enums/project_suggestion_confidence.dart'; part 'project_statistics/enums/project_suggestion_confidence.dart';

Some files were not shown because too many files have changed in this diff Show more