diff --git a/apps/focus_flow_flutter/lib/app.dart b/apps/focus_flow_flutter/lib/app.dart index bed7138..364b815 100644 --- a/apps/focus_flow_flutter/lib/app.dart +++ b/apps/focus_flow_flutter/lib/app.dart @@ -1 +1,4 @@ +/// Exports the FocusFlow Flutter application entry points. +library; + export 'app/focus_flow_app.dart' show FocusFlowApp; diff --git a/apps/focus_flow_flutter/lib/app/demo_scheduler_composition.dart b/apps/focus_flow_flutter/lib/app/demo_scheduler_composition.dart index 3a136bc..7672641 100644 --- a/apps/focus_flow_flutter/lib/app/demo_scheduler_composition.dart +++ b/apps/focus_flow_flutter/lib/app/demo_scheduler_composition.dart @@ -1,3 +1,6 @@ +/// Composes the FocusFlow Flutter application around Demo Scheduler Composition. +library; + import 'package:scheduler_core/scheduler_core.dart'; import '../controllers/scheduler_command_controller.dart'; diff --git a/apps/focus_flow_flutter/lib/app/focus_flow_app.dart b/apps/focus_flow_flutter/lib/app/focus_flow_app.dart index 3dd6cf7..679f65c 100644 --- a/apps/focus_flow_flutter/lib/app/focus_flow_app.dart +++ b/apps/focus_flow_flutter/lib/app/focus_flow_app.dart @@ -1,3 +1,6 @@ +/// Composes the FocusFlow Flutter application around Focus Flow App. +library; + import 'package:flutter/material.dart'; import '../controllers/today_screen_controller.dart'; diff --git a/apps/focus_flow_flutter/lib/composition/demo_scheduler_composition.dart b/apps/focus_flow_flutter/lib/composition/demo_scheduler_composition.dart index 0ded2cc..db00ab7 100644 --- a/apps/focus_flow_flutter/lib/composition/demo_scheduler_composition.dart +++ b/apps/focus_flow_flutter/lib/composition/demo_scheduler_composition.dart @@ -1 +1,4 @@ +/// Provides compatibility composition exports for FocusFlow Flutter. +library; + export '../app/demo_scheduler_composition.dart' show DemoSchedulerComposition; diff --git a/apps/focus_flow_flutter/lib/controllers/scheduler_command_controller.dart b/apps/focus_flow_flutter/lib/controllers/scheduler_command_controller.dart index cd2d2cf..96054ed 100644 --- a/apps/focus_flow_flutter/lib/controllers/scheduler_command_controller.dart +++ b/apps/focus_flow_flutter/lib/controllers/scheduler_command_controller.dart @@ -1,3 +1,6 @@ +/// Coordinates Scheduler Command Controller state for the FocusFlow Flutter UI. +library; + import 'package:flutter/foundation.dart'; import 'package:scheduler_core/scheduler_core.dart'; diff --git a/apps/focus_flow_flutter/lib/controllers/scheduler_read_controller.dart b/apps/focus_flow_flutter/lib/controllers/scheduler_read_controller.dart index fa4f15e..9b63eaf 100644 --- a/apps/focus_flow_flutter/lib/controllers/scheduler_read_controller.dart +++ b/apps/focus_flow_flutter/lib/controllers/scheduler_read_controller.dart @@ -1,3 +1,6 @@ +/// Coordinates Scheduler Read Controller state for the FocusFlow Flutter UI. +library; + import 'package:flutter/foundation.dart'; import 'package:scheduler_core/scheduler_core.dart'; diff --git a/apps/focus_flow_flutter/lib/controllers/today_screen_controller.dart b/apps/focus_flow_flutter/lib/controllers/today_screen_controller.dart index 0873fb0..fb7e734 100644 --- a/apps/focus_flow_flutter/lib/controllers/today_screen_controller.dart +++ b/apps/focus_flow_flutter/lib/controllers/today_screen_controller.dart @@ -1,3 +1,6 @@ +/// Coordinates Today Screen Controller state for the FocusFlow Flutter UI. +library; + import 'package:flutter/foundation.dart'; import 'package:scheduler_core/scheduler_core.dart'; diff --git a/apps/focus_flow_flutter/lib/main.dart b/apps/focus_flow_flutter/lib/main.dart index aac7400..e1262e0 100644 --- a/apps/focus_flow_flutter/lib/main.dart +++ b/apps/focus_flow_flutter/lib/main.dart @@ -1,3 +1,6 @@ +/// Launches the FocusFlow Flutter desktop application. +library; + import 'package:flutter/material.dart'; import 'app/demo_scheduler_composition.dart'; diff --git a/apps/focus_flow_flutter/lib/models/today_screen_models.dart b/apps/focus_flow_flutter/lib/models/today_screen_models.dart index 834633c..839ba9f 100644 --- a/apps/focus_flow_flutter/lib/models/today_screen_models.dart +++ b/apps/focus_flow_flutter/lib/models/today_screen_models.dart @@ -1,3 +1,6 @@ +/// Defines Today Screen Models models for the FocusFlow Flutter UI. +library; + import 'package:scheduler_core/scheduler_core.dart'; class RequiredBannerModel { diff --git a/apps/focus_flow_flutter/lib/theme/focus_flow_theme.dart b/apps/focus_flow_flutter/lib/theme/focus_flow_theme.dart index ef5963d..f4669e0 100644 --- a/apps/focus_flow_flutter/lib/theme/focus_flow_theme.dart +++ b/apps/focus_flow_flutter/lib/theme/focus_flow_theme.dart @@ -1,3 +1,6 @@ +/// Defines Focus Flow Theme styling for the FocusFlow Flutter UI. +library; + import 'package:flutter/material.dart'; import 'focus_flow_tokens.dart'; diff --git a/apps/focus_flow_flutter/lib/theme/focus_flow_tokens.dart b/apps/focus_flow_flutter/lib/theme/focus_flow_tokens.dart index 1faab95..3fefe79 100644 --- a/apps/focus_flow_flutter/lib/theme/focus_flow_tokens.dart +++ b/apps/focus_flow_flutter/lib/theme/focus_flow_tokens.dart @@ -1,3 +1,6 @@ +/// Defines Focus Flow Tokens styling for the FocusFlow Flutter UI. +library; + import 'package:flutter/material.dart'; abstract final class FocusFlowTokens { diff --git a/apps/focus_flow_flutter/lib/theme/scheduler_visual_tokens.dart b/apps/focus_flow_flutter/lib/theme/scheduler_visual_tokens.dart index 48fc5ea..43404a8 100644 --- a/apps/focus_flow_flutter/lib/theme/scheduler_visual_tokens.dart +++ b/apps/focus_flow_flutter/lib/theme/scheduler_visual_tokens.dart @@ -1,3 +1,6 @@ +/// Defines Scheduler Visual Tokens styling for the FocusFlow Flutter UI. +library; + import 'package:flutter/material.dart'; import 'package:scheduler_core/scheduler_core.dart'; diff --git a/apps/focus_flow_flutter/lib/widgets/app_shell.dart b/apps/focus_flow_flutter/lib/widgets/app_shell.dart index e590d4d..df171c0 100644 --- a/apps/focus_flow_flutter/lib/widgets/app_shell.dart +++ b/apps/focus_flow_flutter/lib/widgets/app_shell.dart @@ -1,3 +1,6 @@ +/// Renders the App Shell widget for the FocusFlow Flutter UI. +library; + import 'package:flutter/material.dart'; import '../theme/focus_flow_tokens.dart'; diff --git a/apps/focus_flow_flutter/lib/widgets/backlog_pane.dart b/apps/focus_flow_flutter/lib/widgets/backlog_pane.dart index 7abbead..11d8216 100644 --- a/apps/focus_flow_flutter/lib/widgets/backlog_pane.dart +++ b/apps/focus_flow_flutter/lib/widgets/backlog_pane.dart @@ -1,3 +1,6 @@ +/// Renders the Backlog Pane widget for the FocusFlow Flutter UI. +library; + import 'package:flutter/material.dart'; import 'package:scheduler_core/scheduler_core.dart'; diff --git a/apps/focus_flow_flutter/lib/widgets/read_state_view.dart b/apps/focus_flow_flutter/lib/widgets/read_state_view.dart index 771278c..5721af4 100644 --- a/apps/focus_flow_flutter/lib/widgets/read_state_view.dart +++ b/apps/focus_flow_flutter/lib/widgets/read_state_view.dart @@ -1,3 +1,6 @@ +/// Renders the Read State View widget for the FocusFlow Flutter UI. +library; + import 'package:flutter/material.dart'; import '../controllers/scheduler_read_controller.dart'; diff --git a/apps/focus_flow_flutter/lib/widgets/required_banner.dart b/apps/focus_flow_flutter/lib/widgets/required_banner.dart index a8d8b19..de60125 100644 --- a/apps/focus_flow_flutter/lib/widgets/required_banner.dart +++ b/apps/focus_flow_flutter/lib/widgets/required_banner.dart @@ -1,3 +1,6 @@ +/// Renders the Required Banner widget for the FocusFlow Flutter UI. +library; + import 'package:flutter/material.dart'; import '../models/today_screen_models.dart'; diff --git a/apps/focus_flow_flutter/lib/widgets/schedule_components.dart b/apps/focus_flow_flutter/lib/widgets/schedule_components.dart index 1a63f9b..ed46286 100644 --- a/apps/focus_flow_flutter/lib/widgets/schedule_components.dart +++ b/apps/focus_flow_flutter/lib/widgets/schedule_components.dart @@ -1,3 +1,6 @@ +/// Renders the Schedule Components widget for the FocusFlow Flutter UI. +library; + import 'package:flutter/material.dart'; import 'package:scheduler_core/scheduler_core.dart'; diff --git a/apps/focus_flow_flutter/lib/widgets/sidebar.dart b/apps/focus_flow_flutter/lib/widgets/sidebar.dart index f3ad028..329b7df 100644 --- a/apps/focus_flow_flutter/lib/widgets/sidebar.dart +++ b/apps/focus_flow_flutter/lib/widgets/sidebar.dart @@ -1,3 +1,6 @@ +/// Renders the Sidebar widget for the FocusFlow Flutter UI. +library; + import 'package:flutter/material.dart'; import '../theme/focus_flow_tokens.dart'; diff --git a/apps/focus_flow_flutter/lib/widgets/task_selection_modal.dart b/apps/focus_flow_flutter/lib/widgets/task_selection_modal.dart index ebb660a..a9b1d90 100644 --- a/apps/focus_flow_flutter/lib/widgets/task_selection_modal.dart +++ b/apps/focus_flow_flutter/lib/widgets/task_selection_modal.dart @@ -1,3 +1,6 @@ +/// Renders the Task Selection Modal widget for the FocusFlow Flutter UI. +library; + import 'package:flutter/material.dart'; import '../models/today_screen_models.dart'; diff --git a/apps/focus_flow_flutter/lib/widgets/timeline/difficulty_bars.dart b/apps/focus_flow_flutter/lib/widgets/timeline/difficulty_bars.dart index 910ec7e..d6c8a5a 100644 --- a/apps/focus_flow_flutter/lib/widgets/timeline/difficulty_bars.dart +++ b/apps/focus_flow_flutter/lib/widgets/timeline/difficulty_bars.dart @@ -1,3 +1,6 @@ +/// Renders Difficulty Bars pieces for the FocusFlow Flutter timeline. +library; + import 'package:flutter/material.dart'; import 'package:scheduler_core/scheduler_core.dart'; diff --git a/apps/focus_flow_flutter/lib/widgets/timeline/reward_icon.dart b/apps/focus_flow_flutter/lib/widgets/timeline/reward_icon.dart index cfab3a7..82a557e 100644 --- a/apps/focus_flow_flutter/lib/widgets/timeline/reward_icon.dart +++ b/apps/focus_flow_flutter/lib/widgets/timeline/reward_icon.dart @@ -1,3 +1,6 @@ +/// Renders Reward Icon pieces for the FocusFlow Flutter timeline. +library; + import 'package:flutter/material.dart'; import '../../theme/focus_flow_tokens.dart'; diff --git a/apps/focus_flow_flutter/lib/widgets/timeline/task_timeline_card.dart b/apps/focus_flow_flutter/lib/widgets/timeline/task_timeline_card.dart index 7858a7e..3d17b93 100644 --- a/apps/focus_flow_flutter/lib/widgets/timeline/task_timeline_card.dart +++ b/apps/focus_flow_flutter/lib/widgets/timeline/task_timeline_card.dart @@ -1,3 +1,6 @@ +/// Renders Task Timeline Card pieces for the FocusFlow Flutter timeline. +library; + import 'package:flutter/material.dart'; import '../../models/today_screen_models.dart'; diff --git a/apps/focus_flow_flutter/lib/widgets/timeline/timeline_axis.dart b/apps/focus_flow_flutter/lib/widgets/timeline/timeline_axis.dart index 1442af9..72cbf99 100644 --- a/apps/focus_flow_flutter/lib/widgets/timeline/timeline_axis.dart +++ b/apps/focus_flow_flutter/lib/widgets/timeline/timeline_axis.dart @@ -1,3 +1,6 @@ +/// Renders Timeline Axis pieces for the FocusFlow Flutter timeline. +library; + import 'package:flutter/material.dart'; import '../../theme/focus_flow_tokens.dart'; diff --git a/apps/focus_flow_flutter/lib/widgets/timeline/timeline_geometry.dart b/apps/focus_flow_flutter/lib/widgets/timeline/timeline_geometry.dart index 7d41472..511ebbd 100644 --- a/apps/focus_flow_flutter/lib/widgets/timeline/timeline_geometry.dart +++ b/apps/focus_flow_flutter/lib/widgets/timeline/timeline_geometry.dart @@ -1,3 +1,6 @@ +/// Renders Timeline Geometry pieces for the FocusFlow Flutter timeline. +library; + import 'package:flutter/material.dart'; class TimelineGeometry { diff --git a/apps/focus_flow_flutter/lib/widgets/timeline/timeline_view.dart b/apps/focus_flow_flutter/lib/widgets/timeline/timeline_view.dart index 51449eb..ebe41a9 100644 --- a/apps/focus_flow_flutter/lib/widgets/timeline/timeline_view.dart +++ b/apps/focus_flow_flutter/lib/widgets/timeline/timeline_view.dart @@ -1,3 +1,6 @@ +/// Renders Timeline View pieces for the FocusFlow Flutter timeline. +library; + import 'package:flutter/material.dart'; import '../../models/today_screen_models.dart'; diff --git a/apps/focus_flow_flutter/lib/widgets/today_pane.dart b/apps/focus_flow_flutter/lib/widgets/today_pane.dart index 38102f2..0c0ff33 100644 --- a/apps/focus_flow_flutter/lib/widgets/today_pane.dart +++ b/apps/focus_flow_flutter/lib/widgets/today_pane.dart @@ -1,3 +1,6 @@ +/// Renders the Today Pane widget for the FocusFlow Flutter UI. +library; + import 'package:flutter/material.dart'; import 'package:scheduler_core/scheduler_core.dart'; diff --git a/apps/focus_flow_flutter/lib/widgets/top_bar.dart b/apps/focus_flow_flutter/lib/widgets/top_bar.dart index c13415e..6c52cb9 100644 --- a/apps/focus_flow_flutter/lib/widgets/top_bar.dart +++ b/apps/focus_flow_flutter/lib/widgets/top_bar.dart @@ -1,3 +1,6 @@ +/// Renders the Top Bar widget for the FocusFlow Flutter UI. +library; + import 'package:flutter/material.dart'; import '../theme/focus_flow_tokens.dart'; diff --git a/apps/focus_flow_flutter/test/forbidden_imports_test.dart b/apps/focus_flow_flutter/test/forbidden_imports_test.dart index 24af669..93e2390 100644 --- a/apps/focus_flow_flutter/test/forbidden_imports_test.dart +++ b/apps/focus_flow_flutter/test/forbidden_imports_test.dart @@ -1,3 +1,6 @@ +/// Tests Forbidden Imports behavior in the FocusFlow Flutter app. +library; + import 'dart:io'; import 'package:flutter_test/flutter_test.dart'; diff --git a/apps/focus_flow_flutter/test/widget_test.dart b/apps/focus_flow_flutter/test/widget_test.dart index 2473401..2824db8 100644 --- a/apps/focus_flow_flutter/test/widget_test.dart +++ b/apps/focus_flow_flutter/test/widget_test.dart @@ -1,3 +1,6 @@ +/// Tests Widget behavior in the FocusFlow Flutter app. +library; + import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:scheduler_core/scheduler_core.dart'; diff --git a/packages/scheduler_backup/bin/backup.dart b/packages/scheduler_backup/bin/backup.dart index 515bdda..189ecc6 100644 --- a/packages/scheduler_backup/bin/backup.dart +++ b/packages/scheduler_backup/bin/backup.dart @@ -1,3 +1,6 @@ +/// Runs the Backup command for the Scheduler Backup package. +library; + import 'dart:io'; import 'package:scheduler_backup/backup.dart'; diff --git a/packages/scheduler_backup/lib/src/encrypted_backup.dart b/packages/scheduler_backup/lib/src/encrypted_backup.dart index c62b934..1bee79f 100644 --- a/packages/scheduler_backup/lib/src/encrypted_backup.dart +++ b/packages/scheduler_backup/lib/src/encrypted_backup.dart @@ -1,3 +1,6 @@ +/// Implements Encrypted Backup behavior for the Scheduler Backup package. +library; + import 'dart:convert'; import 'dart:io'; import 'dart:math'; diff --git a/packages/scheduler_backup/test/encrypted_backup_test.dart b/packages/scheduler_backup/test/encrypted_backup_test.dart index 6987d22..ad8b370 100644 --- a/packages/scheduler_backup/test/encrypted_backup_test.dart +++ b/packages/scheduler_backup/test/encrypted_backup_test.dart @@ -1,3 +1,6 @@ +/// Tests Encrypted Backup behavior for the Scheduler Backup package. +library; + import 'dart:convert'; import 'dart:io'; diff --git a/packages/scheduler_core/lib/scheduler_core.dart b/packages/scheduler_core/lib/scheduler_core.dart index 873efc3..3cc60dd 100644 --- a/packages/scheduler_core/lib/scheduler_core.dart +++ b/packages/scheduler_core/lib/scheduler_core.dart @@ -1,3 +1,6 @@ +/// Defines the Scheduler Core public library for the Scheduler Core package. +library; + // Public library entry point for the ADHD scheduling core. // // Import this file from app/UI code instead of importing individual files from diff --git a/packages/scheduler_core/lib/src/application_commands.dart b/packages/scheduler_core/lib/src/application_commands.dart index eb954ab..fda6996 100644 --- a/packages/scheduler_core/lib/src/application_commands.dart +++ b/packages/scheduler_core/lib/src/application_commands.dart @@ -1,3 +1,6 @@ +/// Implements Application Commands behavior for the Scheduler Core package. +library; + // Atomic V1 application commands. // // These use cases are the UI-facing mutation boundary. They load authoritative diff --git a/packages/scheduler_core/lib/src/application_layer.dart b/packages/scheduler_core/lib/src/application_layer.dart index 0832325..c40e9c9 100644 --- a/packages/scheduler_core/lib/src/application_layer.dart +++ b/packages/scheduler_core/lib/src/application_layer.dart @@ -1,3 +1,6 @@ +/// Implements Application Layer behavior for the Scheduler Core package. +library; + // Application orchestration contracts for UI-facing use cases. // // This layer sits above the pure domain services and repository interfaces. It diff --git a/packages/scheduler_core/lib/src/application_management.dart b/packages/scheduler_core/lib/src/application_management.dart index 568d212..26bcda1 100644 --- a/packages/scheduler_core/lib/src/application_management.dart +++ b/packages/scheduler_core/lib/src/application_management.dart @@ -1,3 +1,6 @@ +/// Implements Application Management behavior for the Scheduler Core package. +library; + // V1 management queries and commands. // // These use cases cover non-scheduling surfaces such as backlog views, project diff --git a/packages/scheduler_core/lib/src/application_recovery.dart b/packages/scheduler_core/lib/src/application_recovery.dart index 9e8f480..daf37ce 100644 --- a/packages/scheduler_core/lib/src/application_recovery.dart +++ b/packages/scheduler_core/lib/src/application_recovery.dart @@ -1,3 +1,6 @@ +/// Implements Application Recovery behavior for the Scheduler Core package. +library; + // App-open/start-day recovery orchestration. // // This layer makes rollover explicit. Reading Today never runs recovery; a UI or diff --git a/packages/scheduler_core/lib/src/backlog.dart b/packages/scheduler_core/lib/src/backlog.dart index a917f8e..fbda319 100644 --- a/packages/scheduler_core/lib/src/backlog.dart +++ b/packages/scheduler_core/lib/src/backlog.dart @@ -1,3 +1,6 @@ +/// Implements Backlog behavior for the Scheduler Core package. +library; + // Backlog query helpers for the ADHD scheduling core. // // The backlog is not a separate database table in this starter model. It is a diff --git a/packages/scheduler_core/lib/src/child_tasks.dart b/packages/scheduler_core/lib/src/child_tasks.dart index 03eb25c..8f23fb8 100644 --- a/packages/scheduler_core/lib/src/child_tasks.dart +++ b/packages/scheduler_core/lib/src/child_tasks.dart @@ -1,3 +1,6 @@ +/// Implements Child Tasks behavior for the Scheduler Core package. +library; + // Parent/child task ownership helpers. // // Child tasks are owned by one parent through `Task.parentTaskId`. This file diff --git a/packages/scheduler_core/lib/src/document_mapping.dart b/packages/scheduler_core/lib/src/document_mapping.dart index 231abb8..b084b1e 100644 --- a/packages/scheduler_core/lib/src/document_mapping.dart +++ b/packages/scheduler_core/lib/src/document_mapping.dart @@ -1,3 +1,6 @@ +/// Implements Document Mapping behavior for the Scheduler Core package. +library; + // Adapter-neutral V1 document mapping helpers. // // These helpers use plain Dart map shapes only. They do not import database diff --git a/packages/scheduler_core/lib/src/document_migration.dart b/packages/scheduler_core/lib/src/document_migration.dart index ece549c..8dcc6fa 100644 --- a/packages/scheduler_core/lib/src/document_migration.dart +++ b/packages/scheduler_core/lib/src/document_migration.dart @@ -1,3 +1,6 @@ +/// Implements Document Migration behavior for the Scheduler Core package. +library; + // Legacy document migration helpers for the V1 persistence contract. // // The migration layer is intentionally plain Dart and side-effect free. Future diff --git a/packages/scheduler_core/lib/src/free_slots.dart b/packages/scheduler_core/lib/src/free_slots.dart index 8c925f8..4d681ea 100644 --- a/packages/scheduler_core/lib/src/free_slots.dart +++ b/packages/scheduler_core/lib/src/free_slots.dart @@ -1,3 +1,6 @@ +/// Implements Free Slots behavior for the Scheduler Core package. +library; + // Protected Free Slot helpers. // // Free slots are intentional rest, not empty capacity. They are represented as diff --git a/packages/scheduler_core/lib/src/locked_time.dart b/packages/scheduler_core/lib/src/locked_time.dart index 6b6bf16..e31a3d8 100644 --- a/packages/scheduler_core/lib/src/locked_time.dart +++ b/packages/scheduler_core/lib/src/locked_time.dart @@ -1,3 +1,6 @@ +/// Implements Locked Time behavior for the Scheduler Core package. +library; + // Locked-time modeling and expansion. // // Locked time is anything the flexible scheduler should treat as unavailable: diff --git a/packages/scheduler_core/lib/src/models.dart b/packages/scheduler_core/lib/src/models.dart index 0296333..b21ba4b 100644 --- a/packages/scheduler_core/lib/src/models.dart +++ b/packages/scheduler_core/lib/src/models.dart @@ -1,3 +1,6 @@ +/// Implements Models behavior for the Scheduler Core package. +library; + // Core domain model for the ADHD scheduling starter project. // // This file intentionally contains small immutable value objects and enums. It diff --git a/packages/scheduler_core/lib/src/occupancy_policy.dart b/packages/scheduler_core/lib/src/occupancy_policy.dart index 60d89c0..4cf99ec 100644 --- a/packages/scheduler_core/lib/src/occupancy_policy.dart +++ b/packages/scheduler_core/lib/src/occupancy_policy.dart @@ -1,3 +1,6 @@ +/// Implements Occupancy Policy behavior for the Scheduler Core package. +library; + // Central occupancy policy for V1 scheduling. // // This file keeps scheduler movement rules separate from UI timeline diff --git a/packages/scheduler_core/lib/src/persistence_contract.dart b/packages/scheduler_core/lib/src/persistence_contract.dart index d78ab78..d7286f1 100644 --- a/packages/scheduler_core/lib/src/persistence_contract.dart +++ b/packages/scheduler_core/lib/src/persistence_contract.dart @@ -1,3 +1,6 @@ +/// Implements Persistence Contract behavior for the Scheduler Core package. +library; + // Adapter-neutral persistence contract helpers. // // This file defines stable field names and encoding conventions that document diff --git a/packages/scheduler_core/lib/src/project_statistics.dart b/packages/scheduler_core/lib/src/project_statistics.dart index 7cb1947..30fdbdc 100644 --- a/packages/scheduler_core/lib/src/project_statistics.dart +++ b/packages/scheduler_core/lib/src/project_statistics.dart @@ -1,3 +1,6 @@ +/// Implements Project Statistics behavior for the Scheduler Core package. +library; + // Project-level aggregate statistics and deterministic learned suggestions. // // These types stay in the pure Dart core. They provide persistence-friendly diff --git a/packages/scheduler_core/lib/src/quick_capture.dart b/packages/scheduler_core/lib/src/quick_capture.dart index 2a20fd2..c9ccdbc 100644 --- a/packages/scheduler_core/lib/src/quick_capture.dart +++ b/packages/scheduler_core/lib/src/quick_capture.dart @@ -1,3 +1,6 @@ +/// Implements Quick Capture behavior for the Scheduler Core package. +library; + // Low-friction capture flow. // // Quick capture is the "dump the thought before it disappears" path. The goal diff --git a/packages/scheduler_core/lib/src/reminder_policy.dart b/packages/scheduler_core/lib/src/reminder_policy.dart index 4323fcd..0e9e380 100644 --- a/packages/scheduler_core/lib/src/reminder_policy.dart +++ b/packages/scheduler_core/lib/src/reminder_policy.dart @@ -1,3 +1,6 @@ +/// Implements Reminder Policy behavior for the Scheduler Core package. +library; + // UI/platform-independent reminder policy. // // This file decides whether the core would deliver, suppress, defer, or require diff --git a/packages/scheduler_core/lib/src/repositories.dart b/packages/scheduler_core/lib/src/repositories.dart index b390548..882a031 100644 --- a/packages/scheduler_core/lib/src/repositories.dart +++ b/packages/scheduler_core/lib/src/repositories.dart @@ -1,3 +1,6 @@ +/// Implements Repositories behavior for the Scheduler Core package. +library; + // Persistence boundary interfaces for the scheduling core. // // These interfaces are intentionally database-client-free. SQLite, in-memory, diff --git a/packages/scheduler_core/lib/src/scheduling_engine.dart b/packages/scheduler_core/lib/src/scheduling_engine.dart index 5796bf3..287239d 100644 --- a/packages/scheduler_core/lib/src/scheduling_engine.dart +++ b/packages/scheduler_core/lib/src/scheduling_engine.dart @@ -1,3 +1,6 @@ +/// Implements Scheduling Engine behavior for the Scheduler Core package. +library; + // Scheduling engine for the ADHD scheduling starter project. // // This file is the core timeline manipulation layer. It takes task data plus a diff --git a/packages/scheduler_core/lib/src/task_actions.dart b/packages/scheduler_core/lib/src/task_actions.dart index c3ea7a9..2cf0a4f 100644 --- a/packages/scheduler_core/lib/src/task_actions.dart +++ b/packages/scheduler_core/lib/src/task_actions.dart @@ -1,3 +1,6 @@ +/// Implements Task Actions behavior for the Scheduler Core package. +library; + // Flexible task card actions. // // The main scheduling engine moves tasks through time. This file models the diff --git a/packages/scheduler_core/lib/src/task_lifecycle.dart b/packages/scheduler_core/lib/src/task_lifecycle.dart index e917e9c..dbd2c6f 100644 --- a/packages/scheduler_core/lib/src/task_lifecycle.dart +++ b/packages/scheduler_core/lib/src/task_lifecycle.dart @@ -1,3 +1,6 @@ +/// Implements Task Lifecycle behavior for the Scheduler Core package. +library; + // Canonical task lifecycle transitions and internal activity records. // // This module keeps task state changes separate from UI buttons and scheduling diff --git a/packages/scheduler_core/lib/src/task_statistics.dart b/packages/scheduler_core/lib/src/task_statistics.dart index 5bf1dff..c48b4bd 100644 --- a/packages/scheduler_core/lib/src/task_statistics.dart +++ b/packages/scheduler_core/lib/src/task_statistics.dart @@ -1,3 +1,6 @@ +/// Implements Task Statistics behavior for the Scheduler Core package. +library; + // Quiet per-task history counters. // // The app design calls for recovery/reporting features that can notice repeated diff --git a/packages/scheduler_core/lib/src/time_contracts.dart b/packages/scheduler_core/lib/src/time_contracts.dart index a450d10..4740589 100644 --- a/packages/scheduler_core/lib/src/time_contracts.dart +++ b/packages/scheduler_core/lib/src/time_contracts.dart @@ -1,3 +1,6 @@ +/// Implements Time Contracts behavior for the Scheduler Core package. +library; + import 'models.dart'; /// Deterministic source of the current instant. diff --git a/packages/scheduler_core/lib/src/timeline_state.dart b/packages/scheduler_core/lib/src/timeline_state.dart index d202b71..1bb5e4f 100644 --- a/packages/scheduler_core/lib/src/timeline_state.dart +++ b/packages/scheduler_core/lib/src/timeline_state.dart @@ -1,3 +1,6 @@ +/// Implements Timeline State behavior for the Scheduler Core package. +library; + // UI-independent Today timeline view state. // // This file translates domain tasks into small display-ready value objects diff --git a/packages/scheduler_core/lib/src/today_state.dart b/packages/scheduler_core/lib/src/today_state.dart index f019b8b..6e25d1e 100644 --- a/packages/scheduler_core/lib/src/today_state.dart +++ b/packages/scheduler_core/lib/src/today_state.dart @@ -1,3 +1,6 @@ +/// Implements Today State behavior for the Scheduler Core package. +library; + // Application-level Today read model. // // This module builds UI-independent state for the Today and compact views. It diff --git a/packages/scheduler_core/test/application_commands_test.dart b/packages/scheduler_core/test/application_commands_test.dart index 4d01f46..8e7a624 100644 --- a/packages/scheduler_core/test/application_commands_test.dart +++ b/packages/scheduler_core/test/application_commands_test.dart @@ -1,3 +1,6 @@ +/// Tests Application Commands behavior for the Scheduler Core package. +library; + import 'package:scheduler_core/scheduler_core.dart'; import 'package:test/test.dart'; diff --git a/packages/scheduler_core/test/application_layer_test.dart b/packages/scheduler_core/test/application_layer_test.dart index 0a94283..dbbaf99 100644 --- a/packages/scheduler_core/test/application_layer_test.dart +++ b/packages/scheduler_core/test/application_layer_test.dart @@ -1,3 +1,6 @@ +/// Tests Application Layer behavior for the Scheduler Core package. +library; + import 'package:scheduler_core/scheduler_core.dart'; import 'package:test/test.dart'; diff --git a/packages/scheduler_core/test/application_management_test.dart b/packages/scheduler_core/test/application_management_test.dart index 3448cc9..0af3111 100644 --- a/packages/scheduler_core/test/application_management_test.dart +++ b/packages/scheduler_core/test/application_management_test.dart @@ -1,3 +1,6 @@ +/// Tests Application Management behavior for the Scheduler Core package. +library; + import 'package:scheduler_core/scheduler_core.dart'; import 'package:test/test.dart'; diff --git a/packages/scheduler_core/test/application_recovery_test.dart b/packages/scheduler_core/test/application_recovery_test.dart index 4cebb56..ae451ee 100644 --- a/packages/scheduler_core/test/application_recovery_test.dart +++ b/packages/scheduler_core/test/application_recovery_test.dart @@ -1,3 +1,6 @@ +/// Tests Application Recovery behavior for the Scheduler Core package. +library; + import 'package:scheduler_core/scheduler_core.dart'; import 'package:test/test.dart'; diff --git a/packages/scheduler_core/test/child_tasks_test.dart b/packages/scheduler_core/test/child_tasks_test.dart index de95b93..fa0d81e 100644 --- a/packages/scheduler_core/test/child_tasks_test.dart +++ b/packages/scheduler_core/test/child_tasks_test.dart @@ -1,3 +1,6 @@ +/// Tests Child Tasks behavior for the Scheduler Core package. +library; + import 'package:scheduler_core/scheduler_core.dart'; import 'package:test/test.dart'; diff --git a/packages/scheduler_core/test/document_mapping_test.dart b/packages/scheduler_core/test/document_mapping_test.dart index 5dc144c..e942063 100644 --- a/packages/scheduler_core/test/document_mapping_test.dart +++ b/packages/scheduler_core/test/document_mapping_test.dart @@ -1,3 +1,6 @@ +/// Tests Document Mapping behavior for the Scheduler Core package. +library; + import 'package:scheduler_core/scheduler_core.dart'; import 'package:test/test.dart'; diff --git a/packages/scheduler_core/test/document_migration_test.dart b/packages/scheduler_core/test/document_migration_test.dart index 3fb8788..65a1c53 100644 --- a/packages/scheduler_core/test/document_migration_test.dart +++ b/packages/scheduler_core/test/document_migration_test.dart @@ -1,3 +1,6 @@ +/// Tests Document Migration behavior for the Scheduler Core package. +library; + import 'dart:convert'; import 'dart:io'; diff --git a/packages/scheduler_core/test/domain_contracts_test.dart b/packages/scheduler_core/test/domain_contracts_test.dart index 6abadf0..9ee7f9d 100644 --- a/packages/scheduler_core/test/domain_contracts_test.dart +++ b/packages/scheduler_core/test/domain_contracts_test.dart @@ -1,3 +1,6 @@ +/// Tests Domain Contracts behavior for the Scheduler Core package. +library; + import 'package:scheduler_core/scheduler_core.dart'; import 'package:test/test.dart'; diff --git a/packages/scheduler_core/test/domain_invariants_test.dart b/packages/scheduler_core/test/domain_invariants_test.dart index 912c718..2da8cb4 100644 --- a/packages/scheduler_core/test/domain_invariants_test.dart +++ b/packages/scheduler_core/test/domain_invariants_test.dart @@ -1,3 +1,6 @@ +/// Tests Domain Invariants behavior for the Scheduler Core package. +library; + import 'package:scheduler_core/scheduler_core.dart'; import 'package:test/test.dart'; diff --git a/packages/scheduler_core/test/edge_case_regression_test.dart b/packages/scheduler_core/test/edge_case_regression_test.dart index 9bab02c..889e064 100644 --- a/packages/scheduler_core/test/edge_case_regression_test.dart +++ b/packages/scheduler_core/test/edge_case_regression_test.dart @@ -1,3 +1,6 @@ +/// Tests Edge Case Regression behavior for the Scheduler Core package. +library; + import 'package:scheduler_core/scheduler_core.dart'; import 'package:test/test.dart'; diff --git a/packages/scheduler_core/test/free_slots_test.dart b/packages/scheduler_core/test/free_slots_test.dart index 3319c7c..c187994 100644 --- a/packages/scheduler_core/test/free_slots_test.dart +++ b/packages/scheduler_core/test/free_slots_test.dart @@ -1,3 +1,6 @@ +/// Tests Free Slots behavior for the Scheduler Core package. +library; + import 'package:scheduler_core/scheduler_core.dart'; import 'package:test/test.dart'; diff --git a/packages/scheduler_core/test/occupancy_policy_test.dart b/packages/scheduler_core/test/occupancy_policy_test.dart index 38b6804..ad94dd7 100644 --- a/packages/scheduler_core/test/occupancy_policy_test.dart +++ b/packages/scheduler_core/test/occupancy_policy_test.dart @@ -1,3 +1,6 @@ +/// Tests Occupancy Policy behavior for the Scheduler Core package. +library; + import 'package:scheduler_core/scheduler_core.dart'; import 'package:test/test.dart'; diff --git a/packages/scheduler_core/test/persistence_edge_cases_test.dart b/packages/scheduler_core/test/persistence_edge_cases_test.dart index 45934e9..bbc192d 100644 --- a/packages/scheduler_core/test/persistence_edge_cases_test.dart +++ b/packages/scheduler_core/test/persistence_edge_cases_test.dart @@ -1,3 +1,6 @@ +/// Tests Persistence Edge Cases behavior for the Scheduler Core package. +library; + import 'package:scheduler_core/scheduler_core.dart'; import 'package:test/test.dart'; diff --git a/packages/scheduler_core/test/persistence_index_contract_test.dart b/packages/scheduler_core/test/persistence_index_contract_test.dart index 8c81e73..11ba418 100644 --- a/packages/scheduler_core/test/persistence_index_contract_test.dart +++ b/packages/scheduler_core/test/persistence_index_contract_test.dart @@ -1,3 +1,6 @@ +/// Tests Persistence Index Contract behavior for the Scheduler Core package. +library; + import 'package:scheduler_core/scheduler_core.dart'; import 'package:test/test.dart'; diff --git a/packages/scheduler_core/test/project_statistics_test.dart b/packages/scheduler_core/test/project_statistics_test.dart index c1b923f..66de5a9 100644 --- a/packages/scheduler_core/test/project_statistics_test.dart +++ b/packages/scheduler_core/test/project_statistics_test.dart @@ -1,3 +1,6 @@ +/// Tests Project Statistics behavior for the Scheduler Core package. +library; + import 'package:scheduler_core/scheduler_core.dart'; import 'package:test/test.dart'; diff --git a/packages/scheduler_core/test/reminder_policy_test.dart b/packages/scheduler_core/test/reminder_policy_test.dart index e6f22d1..702b5b7 100644 --- a/packages/scheduler_core/test/reminder_policy_test.dart +++ b/packages/scheduler_core/test/reminder_policy_test.dart @@ -1,3 +1,6 @@ +/// Tests Reminder Policy behavior for the Scheduler Core package. +library; + import 'package:scheduler_core/scheduler_core.dart'; import 'package:test/test.dart'; diff --git a/packages/scheduler_core/test/repositories_test.dart b/packages/scheduler_core/test/repositories_test.dart index a26e83d..3d070aa 100644 --- a/packages/scheduler_core/test/repositories_test.dart +++ b/packages/scheduler_core/test/repositories_test.dart @@ -1,3 +1,6 @@ +/// Tests Repositories behavior for the Scheduler Core package. +library; + import 'package:scheduler_core/scheduler_core.dart'; import 'package:test/test.dart'; diff --git a/packages/scheduler_core/test/required_task_actions_test.dart b/packages/scheduler_core/test/required_task_actions_test.dart index 2cd1eb3..e804cef 100644 --- a/packages/scheduler_core/test/required_task_actions_test.dart +++ b/packages/scheduler_core/test/required_task_actions_test.dart @@ -1,3 +1,6 @@ +/// Tests Required Task Actions behavior for the Scheduler Core package. +library; + import 'package:scheduler_core/scheduler_core.dart'; import 'package:test/test.dart'; diff --git a/packages/scheduler_core/test/scheduling_engine_test.dart b/packages/scheduler_core/test/scheduling_engine_test.dart index 1e976ff..512091d 100644 --- a/packages/scheduler_core/test/scheduling_engine_test.dart +++ b/packages/scheduler_core/test/scheduling_engine_test.dart @@ -1,3 +1,6 @@ +/// Tests Scheduling Engine behavior for the Scheduler Core package. +library; + import 'package:scheduler_core/scheduler_core.dart'; import 'package:test/test.dart'; diff --git a/packages/scheduler_core/test/scheduling_invariants_test.dart b/packages/scheduler_core/test/scheduling_invariants_test.dart index 4ed5b56..98eaa92 100644 --- a/packages/scheduler_core/test/scheduling_invariants_test.dart +++ b/packages/scheduler_core/test/scheduling_invariants_test.dart @@ -1,3 +1,6 @@ +/// Tests Scheduling Invariants behavior for the Scheduler Core package. +library; + import 'dart:math'; import 'package:scheduler_core/scheduler_core.dart'; diff --git a/packages/scheduler_core/test/surprise_task_logging_test.dart b/packages/scheduler_core/test/surprise_task_logging_test.dart index 61393f3..fd16627 100644 --- a/packages/scheduler_core/test/surprise_task_logging_test.dart +++ b/packages/scheduler_core/test/surprise_task_logging_test.dart @@ -1,3 +1,6 @@ +/// Tests Surprise Task Logging behavior for the Scheduler Core package. +library; + import 'package:scheduler_core/scheduler_core.dart'; import 'package:test/test.dart'; diff --git a/packages/scheduler_core/test/task_lifecycle_test.dart b/packages/scheduler_core/test/task_lifecycle_test.dart index efc7ba4..1992495 100644 --- a/packages/scheduler_core/test/task_lifecycle_test.dart +++ b/packages/scheduler_core/test/task_lifecycle_test.dart @@ -1,3 +1,6 @@ +/// Tests Task Lifecycle behavior for the Scheduler Core package. +library; + import 'package:scheduler_core/scheduler_core.dart'; import 'package:test/test.dart'; diff --git a/packages/scheduler_core/test/time_contracts_test.dart b/packages/scheduler_core/test/time_contracts_test.dart index f57a223..a422029 100644 --- a/packages/scheduler_core/test/time_contracts_test.dart +++ b/packages/scheduler_core/test/time_contracts_test.dart @@ -1,3 +1,6 @@ +/// Tests Time Contracts behavior for the Scheduler Core package. +library; + import 'package:scheduler_core/scheduler_core.dart'; import 'package:test/test.dart'; diff --git a/packages/scheduler_core/test/timeline_state_test.dart b/packages/scheduler_core/test/timeline_state_test.dart index cd8eb33..71e248f 100644 --- a/packages/scheduler_core/test/timeline_state_test.dart +++ b/packages/scheduler_core/test/timeline_state_test.dart @@ -1,3 +1,6 @@ +/// Tests Timeline State behavior for the Scheduler Core package. +library; + import 'package:scheduler_core/scheduler_core.dart'; import 'package:test/test.dart'; diff --git a/packages/scheduler_core/test/today_state_test.dart b/packages/scheduler_core/test/today_state_test.dart index 4b942fd..0151db5 100644 --- a/packages/scheduler_core/test/today_state_test.dart +++ b/packages/scheduler_core/test/today_state_test.dart @@ -1,3 +1,6 @@ +/// Tests Today State behavior for the Scheduler Core package. +library; + import 'package:scheduler_core/scheduler_core.dart'; import 'package:test/test.dart'; diff --git a/packages/scheduler_export/lib/src/export_controller.dart b/packages/scheduler_export/lib/src/export_controller.dart index cbb8d41..e6cfb1e 100644 --- a/packages/scheduler_export/lib/src/export_controller.dart +++ b/packages/scheduler_export/lib/src/export_controller.dart @@ -1,3 +1,6 @@ +/// Implements Export Controller behavior for the Scheduler Export package. +library; + import 'dart:convert'; import 'package:scheduler_core/scheduler_core.dart' as core; diff --git a/packages/scheduler_export/test/export_controller_test.dart b/packages/scheduler_export/test/export_controller_test.dart index db58158..1167cb1 100644 --- a/packages/scheduler_export/test/export_controller_test.dart +++ b/packages/scheduler_export/test/export_controller_test.dart @@ -1,3 +1,6 @@ +/// Tests Export Controller behavior for the Scheduler Export package. +library; + import 'dart:convert'; import 'package:scheduler_core/scheduler_core.dart' as core; diff --git a/packages/scheduler_export_json/bin/export.dart b/packages/scheduler_export_json/bin/export.dart index ac2f133..1e224f5 100644 --- a/packages/scheduler_export_json/bin/export.dart +++ b/packages/scheduler_export_json/bin/export.dart @@ -1,3 +1,6 @@ +/// Runs the Export command for the Scheduler Export Json package. +library; + import 'dart:io'; import 'package:scheduler_core/scheduler_core.dart' as core; diff --git a/packages/scheduler_export_json/lib/src/json_csv_writers.dart b/packages/scheduler_export_json/lib/src/json_csv_writers.dart index 4edff3e..a23c3b7 100644 --- a/packages/scheduler_export_json/lib/src/json_csv_writers.dart +++ b/packages/scheduler_export_json/lib/src/json_csv_writers.dart @@ -1,3 +1,6 @@ +/// Implements Json Csv Writers behavior for the Scheduler Export Json package. +library; + import 'dart:convert'; import 'package:scheduler_core/scheduler_core.dart' as core; diff --git a/packages/scheduler_export_json/test/export_json_test.dart b/packages/scheduler_export_json/test/export_json_test.dart index 0ef8c55..cf787b3 100644 --- a/packages/scheduler_export_json/test/export_json_test.dart +++ b/packages/scheduler_export_json/test/export_json_test.dart @@ -1,3 +1,6 @@ +/// Tests Export Json behavior for the Scheduler Export Json package. +library; + import 'dart:convert'; import 'dart:io'; diff --git a/packages/scheduler_integration_tests/integration/scheduler_flow_test.dart b/packages/scheduler_integration_tests/integration/scheduler_flow_test.dart index f5768e7..26a7931 100644 --- a/packages/scheduler_integration_tests/integration/scheduler_flow_test.dart +++ b/packages/scheduler_integration_tests/integration/scheduler_flow_test.dart @@ -1,3 +1,6 @@ +/// Exercises Scheduler Flow integration behavior for the Scheduler Integration Tests package. +library; + import 'package:drift/native.dart'; import 'package:scheduler_core/scheduler_core.dart' as core; import 'package:scheduler_notifications/notifications.dart'; diff --git a/packages/scheduler_integration_tests/test/scheduler_flow_test.dart b/packages/scheduler_integration_tests/test/scheduler_flow_test.dart index 13cc182..6373b6c 100644 --- a/packages/scheduler_integration_tests/test/scheduler_flow_test.dart +++ b/packages/scheduler_integration_tests/test/scheduler_flow_test.dart @@ -1,3 +1,6 @@ +/// Tests Scheduler Flow behavior for the Scheduler Integration Tests package. +library; + import '../integration/scheduler_flow_test.dart' as scheduler_flow_test; void main() { diff --git a/packages/scheduler_notifications/lib/src/notification_adapter.dart b/packages/scheduler_notifications/lib/src/notification_adapter.dart index ad1d492..93b7e68 100644 --- a/packages/scheduler_notifications/lib/src/notification_adapter.dart +++ b/packages/scheduler_notifications/lib/src/notification_adapter.dart @@ -1,3 +1,6 @@ +/// Implements Notification Adapter behavior for the Scheduler Notifications package. +library; + import 'dart:async'; /// Request to schedule one notification through a platform adapter. diff --git a/packages/scheduler_notifications/test/fake_adapter_test.dart b/packages/scheduler_notifications/test/fake_adapter_test.dart index a8954d1..5a8743e 100644 --- a/packages/scheduler_notifications/test/fake_adapter_test.dart +++ b/packages/scheduler_notifications/test/fake_adapter_test.dart @@ -1,3 +1,6 @@ +/// Tests Fake Adapter behavior for the Scheduler Notifications package. +library; + import 'package:scheduler_notifications/notifications.dart'; import 'package:test/test.dart'; diff --git a/packages/scheduler_notifications/test/notification_adapter_contract.dart b/packages/scheduler_notifications/test/notification_adapter_contract.dart index 4d48fe6..34ebca5 100644 --- a/packages/scheduler_notifications/test/notification_adapter_contract.dart +++ b/packages/scheduler_notifications/test/notification_adapter_contract.dart @@ -1,3 +1,6 @@ +/// Tests Notification Adapter Contract behavior for the Scheduler Notifications package. +library; + import 'package:scheduler_notifications/notifications.dart'; import 'package:test/test.dart'; diff --git a/packages/scheduler_notifications_desktop/lib/src/desktop_notification_adapter.dart b/packages/scheduler_notifications_desktop/lib/src/desktop_notification_adapter.dart index 9f1f30b..a072eae 100644 --- a/packages/scheduler_notifications_desktop/lib/src/desktop_notification_adapter.dart +++ b/packages/scheduler_notifications_desktop/lib/src/desktop_notification_adapter.dart @@ -1,2 +1,5 @@ +/// Implements Desktop Notification Adapter behavior for the Scheduler Notifications Desktop package. +library; + export 'desktop_notification_adapter_stub.dart' if (dart.library.io) 'desktop_notification_adapter_io.dart'; diff --git a/packages/scheduler_notifications_desktop/lib/src/desktop_notification_adapter_io.dart b/packages/scheduler_notifications_desktop/lib/src/desktop_notification_adapter_io.dart index b8ed267..676f7c5 100644 --- a/packages/scheduler_notifications_desktop/lib/src/desktop_notification_adapter_io.dart +++ b/packages/scheduler_notifications_desktop/lib/src/desktop_notification_adapter_io.dart @@ -1,3 +1,6 @@ +/// Implements Desktop Notification Adapter Io behavior for the Scheduler Notifications Desktop package. +library; + import 'dart:async'; import 'dart:convert'; import 'dart:io'; diff --git a/packages/scheduler_notifications_desktop/lib/src/desktop_notification_adapter_stub.dart b/packages/scheduler_notifications_desktop/lib/src/desktop_notification_adapter_stub.dart index 3e653ad..5346375 100644 --- a/packages/scheduler_notifications_desktop/lib/src/desktop_notification_adapter_stub.dart +++ b/packages/scheduler_notifications_desktop/lib/src/desktop_notification_adapter_stub.dart @@ -1,3 +1,6 @@ +/// Implements Desktop Notification Adapter Stub behavior for the Scheduler Notifications Desktop package. +library; + import 'dart:async'; import 'package:scheduler_notifications/notifications.dart'; diff --git a/packages/scheduler_notifications_desktop/test/desktop_notification_adapter_test.dart b/packages/scheduler_notifications_desktop/test/desktop_notification_adapter_test.dart index b3bf2df..40cd4c4 100644 --- a/packages/scheduler_notifications_desktop/test/desktop_notification_adapter_test.dart +++ b/packages/scheduler_notifications_desktop/test/desktop_notification_adapter_test.dart @@ -1,3 +1,6 @@ +/// Tests Desktop Notification Adapter behavior for the Scheduler Notifications Desktop package. +library; + import 'dart:io'; import 'package:scheduler_notifications/notifications.dart'; diff --git a/packages/scheduler_persistence/test/repo_conformance.dart b/packages/scheduler_persistence/test/repo_conformance.dart index 0b1477e..024e765 100644 --- a/packages/scheduler_persistence/test/repo_conformance.dart +++ b/packages/scheduler_persistence/test/repo_conformance.dart @@ -1,3 +1,6 @@ +/// Tests Repo Conformance behavior for the Scheduler Persistence package. +library; + import 'package:scheduler_core/scheduler_core.dart' as core; import 'package:scheduler_persistence/persistence.dart'; import 'package:test/test.dart'; diff --git a/packages/scheduler_persistence/test/repo_contract_smoke_test.dart b/packages/scheduler_persistence/test/repo_contract_smoke_test.dart index 817cfaa..6ac1102 100644 --- a/packages/scheduler_persistence/test/repo_contract_smoke_test.dart +++ b/packages/scheduler_persistence/test/repo_contract_smoke_test.dart @@ -1,3 +1,6 @@ +/// Tests Repo Contract Smoke behavior for the Scheduler Persistence package. +library; + import 'package:scheduler_core/scheduler_core.dart' as core; import 'package:scheduler_persistence/persistence.dart'; import 'package:test/test.dart'; diff --git a/packages/scheduler_persistence_memory/test/memory_repository_conformance_test.dart b/packages/scheduler_persistence_memory/test/memory_repository_conformance_test.dart index 62b82ea..2d5f076 100644 --- a/packages/scheduler_persistence_memory/test/memory_repository_conformance_test.dart +++ b/packages/scheduler_persistence_memory/test/memory_repository_conformance_test.dart @@ -1,3 +1,6 @@ +/// Tests Memory Repository Conformance behavior for the Scheduler Persistence Memory package. +library; + import 'package:scheduler_persistence_memory/persistence_memory.dart'; import '../../scheduler_persistence/test/repo_conformance.dart'; diff --git a/packages/scheduler_persistence_sqlite/test/scheduler_db_test.dart b/packages/scheduler_persistence_sqlite/test/scheduler_db_test.dart index 6139ead..7e568bd 100644 --- a/packages/scheduler_persistence_sqlite/test/scheduler_db_test.dart +++ b/packages/scheduler_persistence_sqlite/test/scheduler_db_test.dart @@ -1,3 +1,6 @@ +/// Tests Scheduler Db behavior for the Scheduler Persistence Sqlite package. +library; + import 'package:drift/native.dart'; import 'package:scheduler_persistence_sqlite/sqlite.dart'; import 'package:test/test.dart'; diff --git a/packages/scheduler_persistence_sqlite/test/sqlite_repository_conformance_test.dart b/packages/scheduler_persistence_sqlite/test/sqlite_repository_conformance_test.dart index 7ff8825..fc1ee73 100644 --- a/packages/scheduler_persistence_sqlite/test/sqlite_repository_conformance_test.dart +++ b/packages/scheduler_persistence_sqlite/test/sqlite_repository_conformance_test.dart @@ -1,3 +1,6 @@ +/// Tests Sqlite Repository Conformance behavior for the Scheduler Persistence Sqlite package. +library; + import 'package:drift/native.dart'; import 'package:scheduler_core/scheduler_core.dart' as core; import 'package:scheduler_persistence_sqlite/sqlite.dart'; diff --git a/scripts/build.dart b/scripts/build.dart index cea0002..fe42c70 100644 --- a/scripts/build.dart +++ b/scripts/build.dart @@ -1,3 +1,6 @@ +/// Runs the Build workspace script. +library; + import 'dart:io'; /// Builds platform-specific Flutter desktop release artifacts. diff --git a/scripts/dev.dart b/scripts/dev.dart index 7d2d014..b421233 100644 --- a/scripts/dev.dart +++ b/scripts/dev.dart @@ -1,3 +1,6 @@ +/// Runs the Dev workspace script. +library; + import 'dart:io'; import 'package:scheduler_backup/backup.dart'; diff --git a/scripts/test.dart b/scripts/test.dart index 6169e1a..bc20af4 100644 --- a/scripts/test.dart +++ b/scripts/test.dart @@ -1,3 +1,6 @@ +/// Runs the Test workspace script. +library; + import 'dart:io'; /// Runs tests, combines coverage, enforces coverage, and checks Dart docs. diff --git a/test/scheduler_core_test.dart b/test/scheduler_core_test.dart index 818de52..0c57b88 100644 --- a/test/scheduler_core_test.dart +++ b/test/scheduler_core_test.dart @@ -1,3 +1,6 @@ +/// Aggregates Scheduler Core workspace tests. +library; + import '../packages/scheduler_backup/test/encrypted_backup_test.dart' as encrypted_backup_test; import '../packages/scheduler_core/test/application_commands_test.dart' diff --git a/tool/check_coverage.dart b/tool/check_coverage.dart index c89aeea..fca1692 100644 --- a/tool/check_coverage.dart +++ b/tool/check_coverage.dart @@ -1,3 +1,6 @@ +/// Runs the Check Coverage workspace validation tool. +library; + import 'dart:io'; /// Checks an LCOV report against a package-library coverage threshold. diff --git a/tool/check_docs.dart b/tool/check_docs.dart index 7aca779..2ec8a75 100644 --- a/tool/check_docs.dart +++ b/tool/check_docs.dart @@ -1,7 +1,18 @@ +/// Runs the Check Docs workspace validation tool. +library; + import 'dart:io'; /// Generates Dart docs for each package with public libraries and fails on warnings. Future main(List arguments) async { + final missingFileDocs = await _trackedDartFilesMissingFileDocs(); + if (missingFileDocs.isNotEmpty) { + stderr.writeln('Dart files missing file-level Dartdoc library headers:'); + for (final path in missingFileDocs) { + stderr.writeln('- $path'); + } + } + final outputRoot = Directory(_join(_join('doc', 'api'), 'packages')); if (await outputRoot.exists()) { await outputRoot.delete(recursive: true); @@ -17,7 +28,7 @@ Future main(List arguments) async { }).toList(growable: false) ..sort((left, right) => left.path.compareTo(right.path)); - var failed = false; + var failed = missingFileDocs.isNotEmpty; for (final package in packages) { final outputPath = _join(outputRoot.absolute.path, _basename(package.path)); stdout.writeln('> dart doc --output $outputPath (${package.path})'); @@ -40,6 +51,50 @@ Future main(List arguments) async { } } +Future> _trackedDartFilesMissingFileDocs() async { + final result = await Process.run( + 'git', + ['ls-files', '*.dart'], + runInShell: Platform.isWindows, + ); + if (result.exitCode != 0) { + throw ProcessException( + 'git', + ['ls-files', '*.dart'], + 'Unable to list tracked Dart files.', + result.exitCode, + ); + } + + final paths = (result.stdout as String) + .split('\n') + .where((path) => path.trim().isNotEmpty) + .toList(growable: false) + ..sort(); + + final missing = []; + for (final path in paths) { + final file = File(path); + final contents = await file.readAsString(); + if (_isGeneratedPart(path, contents)) { + continue; + } + if (!_hasFileLevelLibraryDocs(contents)) { + missing.add(path); + } + } + return missing; +} + +bool _isGeneratedPart(String path, String contents) { + return path.endsWith('.g.dart') || contents.startsWith("part of '"); +} + +bool _hasFileLevelLibraryDocs(String contents) { + return RegExp(r'^\s*///[\s\S]*?\nlibrary;', multiLine: false) + .hasMatch(contents); +} + bool _hasWarnings(String output) { return output.contains(' warning:') || RegExp(r'Found [1-9][0-9]* warnings').hasMatch(output);