From d75aeea04aae0170d98c40707f96c057b9a1b3ef Mon Sep 17 00:00:00 2001 From: Ashley Venn Date: Wed, 24 Jun 2026 14:47:38 -0700 Subject: [PATCH] docs(test): add v1 coverage audit matrix --- ..._BLOCK_10_Testing_Documentation_Handoff.md | 9 ++++- ..._BLOCK_10_Testing_Documentation_Handoff.md | 9 ++++- .../V1_TEST_COVERAGE_MATRIX.md | 36 +++++++++++++++++++ 3 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 Codex Documentation/Current Software Plan/V1_TEST_COVERAGE_MATRIX.md diff --git a/Codex Documentation/Current Software Plan/V1_BLOCKS_07_10_UPDATED/V1_BLOCK_10_Testing_Documentation_Handoff.md b/Codex Documentation/Current Software Plan/V1_BLOCKS_07_10_UPDATED/V1_BLOCK_10_Testing_Documentation_Handoff.md index d25ea12..c747878 100644 --- a/Codex Documentation/Current Software Plan/V1_BLOCKS_07_10_UPDATED/V1_BLOCK_10_Testing_Documentation_Handoff.md +++ b/Codex Documentation/Current Software Plan/V1_BLOCKS_07_10_UPDATED/V1_BLOCK_10_Testing_Documentation_Handoff.md @@ -1,6 +1,6 @@ # V1 Block 10 — Testing, Documentation, and Handoff -Status: Planned +Status: In progress — Chunk 10.1 complete Purpose: Ensure the V1 scheduling core is understandable, tested, and ready for future UI work. @@ -42,6 +42,13 @@ Acceptance criteria: - Edge-case tests added in Blocks 06–09 are represented in the final coverage audit. - `dart analyze` and `dart test` pass. +Completion notes: + +- Added `V1_TEST_COVERAGE_MATRIX.md` with representative coverage for every listed V1 scheduling rule. +- Confirmed Blocks 06-09 regression coverage is represented in the final audit. +- No missing implemented behavior was found, so no production code or additional tests were required for this chunk. +- Verified with `dart format lib test`, `dart analyze`, `dart test`, and `git diff --check`. + BREAKPOINT: Stop here. Confirm `medium` mode before final verification and documentation sync. ## Chunk 10.2 — Full verification pass diff --git a/Codex Documentation/Current Software Plan/V1_BLOCK_10_Testing_Documentation_Handoff.md b/Codex Documentation/Current Software Plan/V1_BLOCK_10_Testing_Documentation_Handoff.md index d25ea12..c747878 100644 --- a/Codex Documentation/Current Software Plan/V1_BLOCK_10_Testing_Documentation_Handoff.md +++ b/Codex Documentation/Current Software Plan/V1_BLOCK_10_Testing_Documentation_Handoff.md @@ -1,6 +1,6 @@ # V1 Block 10 — Testing, Documentation, and Handoff -Status: Planned +Status: In progress — Chunk 10.1 complete Purpose: Ensure the V1 scheduling core is understandable, tested, and ready for future UI work. @@ -42,6 +42,13 @@ Acceptance criteria: - Edge-case tests added in Blocks 06–09 are represented in the final coverage audit. - `dart analyze` and `dart test` pass. +Completion notes: + +- Added `V1_TEST_COVERAGE_MATRIX.md` with representative coverage for every listed V1 scheduling rule. +- Confirmed Blocks 06-09 regression coverage is represented in the final audit. +- No missing implemented behavior was found, so no production code or additional tests were required for this chunk. +- Verified with `dart format lib test`, `dart analyze`, `dart test`, and `git diff --check`. + BREAKPOINT: Stop here. Confirm `medium` mode before final verification and documentation sync. ## Chunk 10.2 — Full verification pass diff --git a/Codex Documentation/Current Software Plan/V1_TEST_COVERAGE_MATRIX.md b/Codex Documentation/Current Software Plan/V1_TEST_COVERAGE_MATRIX.md new file mode 100644 index 0000000..0eacac5 --- /dev/null +++ b/Codex Documentation/Current Software Plan/V1_TEST_COVERAGE_MATRIX.md @@ -0,0 +1,36 @@ +# V1 Test Coverage Matrix + +Status: Current after Block 10.1 audit. + +## Scheduling rule coverage + +| V1 behavior | Status | Representative coverage | +| --- | --- | --- | +| Flexible insert into a free slot | Covered | `test/scheduling_engine_test.dart` verifies inserting a backlog task into an open 20-minute slot. `test/edge_case_regression_test.dart` verifies next-available insertion uses the earliest fitting open slot. | +| Flexible insert pushes other flexible tasks | Covered | `test/scheduling_engine_test.dart` verifies inserting before a flexible task and pushing the later task. `test/quick_capture_test.dart` verifies immediate scheduling uses normal insertion and push rules. | +| Locked blocks are never moved | Covered | `test/scheduling_engine_test.dart` verifies inserts skip locked time and respect expanded locked blocks. `test/timeline_state_test.dart` verifies locked occurrences expose overlay data without becoming task items. | +| Inflexible tasks are never moved | Covered | `test/scheduling_engine_test.dart` verifies inserts do not move inflexible items. `test/required_task_actions_test.dart` verifies invalid push destinations leave fixed task types unchanged. | +| Critical tasks remain visible and required | Covered | `test/scheduling_engine_test.dart` verifies inserts do not move critical items. `test/required_task_actions_test.dart` verifies missed critical tasks move to backlog with schedule cleared, and required push actions keep fixed items visible. | +| Push to next available | Covered | `test/required_task_actions_test.dart` verifies the next-available push destination uses the scheduling engine. `test/scheduling_engine_test.dart` verifies a flexible task moves after the current slot. | +| Push to tomorrow top of queue | Covered | `test/required_task_actions_test.dart` verifies tomorrow top-of-queue metadata. `test/scheduling_engine_test.dart` verifies tomorrow placement respects required and locked time. | +| Push to backlog | Covered | `test/required_task_actions_test.dart` verifies backlog push clears active schedule placement. `test/edge_case_regression_test.dart` verifies backlog moves do not duplicate task IDs. | +| End-of-day rollover | Covered | `test/scheduling_engine_test.dart` verifies unfinished flexible tasks roll to tomorrow in order and fixed/completed/cancelled items are excluded. `test/edge_case_regression_test.dart` verifies rollover uses an explicit source window and ignores future tasks. | +| Required task states | Covered | `test/required_task_actions_test.dart` verifies done, missed, cancelled, no-longer-relevant, backlog, and invalid push state transitions for required task types. | +| Surprise task overlaps | Covered | `test/surprise_task_logging_test.dart` verifies surprise tasks keep overlap metadata, can coexist with other scheduled items, and preserve the expected timeline order. | +| Child task parent completion | Covered | `test/child_tasks_test.dart` verifies parent-child ownership, child ordering, child movement, parent auto-completion, and no dependency graph behavior. | +| Timeline state mapping | Covered | `test/timeline_state_test.dart` verifies visible task mapping, required visibility, hidden locked overlay state, reveal state, manual compact mode, and timeline ordering. | +| Persistence-sensitive model behavior | Covered | `test/persistence_edge_cases_test.dart`, `test/document_mapping_test.dart`, and `test/repositories_test.dart` verify MongoDB-shaped document mapping, enum/date persistence names, repository contracts, and in-memory repository behavior. | + +## Block 06-09 regression representation + +| Area | Status | Representative coverage | +| --- | --- | --- | +| Quick capture and backlog ordering | Covered | `test/edge_case_regression_test.dart` covers quick-capture title validation, immediate scheduling behavior, and stale backlog age preservation. | +| Scheduling edge cases | Covered | `test/edge_case_regression_test.dart` covers earliest fitting insertion, locked-boundary placement, fixed item preservation, rollover windows, and backlog ID uniqueness. | +| Required task action edge cases | Covered | `test/required_task_actions_test.dart` covers non-punitive terminal states and fixed-task push guards. | +| Locked time and timeline overlays | Covered | `test/timeline_state_test.dart` covers hidden locked time, revealed overlay state, compact mode, and overlay/task separation. | +| MongoDB persistence boundary | Covered | `test/persistence_edge_cases_test.dart`, `test/document_mapping_test.dart`, and `test/repositories_test.dart` cover document-shaped serialization without adding a MongoDB runtime dependency. | + +## Audit result + +No uncovered implemented V1 scheduling behavior was found during this audit, so no production code or new tests were required for Chunk 10.1.