docs: archive task pushing plan

This commit is contained in:
Ashley Venn 2026-07-02 12:51:04 -07:00
parent 93f4b12283
commit fcafa27e58
13 changed files with 67 additions and 8 deletions

View file

@ -16,6 +16,9 @@ Included documents cover:
normal Flutter startup and close/reopen task lifecycle proof.
- Date Selection 01, the completed day navigation and date picker plan for the
persistence-backed Flutter Today timeline.
- Task Pushing 01, the completed past-task push controls plan for planned
flexible tasks, including backend scheduling semantics and Backlog freshness
reset behavior.
Excluded documents include superseded originals, MongoDB-targeted persistence or
runtime plans, planned/blocked UI handoff plans, old archive indexes, and review

View file

@ -4,7 +4,7 @@
# Task Pushing 01 — Past Task Push Controls
**Status:** Planned. Execute after Date Selection 01.
**Status:** Complete. Executed after Date Selection 01.
**Scope level:** XHIGH implementation plan.
This plan adds the push affordance for scheduled tasks that are in the past and

View file

@ -4,7 +4,7 @@
# Task Pushing 01 Block 05 — Command Wiring and Persistence
**Status:** Planned.
**Status:** Complete.
**Goal:** Connect push menu destinations to application commands and prove their
results persist.

View file

@ -4,7 +4,7 @@
# Task Pushing 01 Block 06 — Destination Scheduling Rules
**Status:** Planned.
**Status:** Complete.
**Goal:** Verify or adjust backend push scheduling so destination behavior exactly
matches the requested product rules.

View file

@ -4,7 +4,7 @@
# Task Pushing 01 Block 07 — Backlog Freshness Reset
**Status:** Planned.
**Status:** Complete.
**Goal:** Make Push to backlog reset the backlog freshness timer without losing
original task creation history.

View file

@ -4,7 +4,7 @@
# Task Pushing 01 Block 08 — Validation and Handoff
**Status:** Planned.
**Status:** Complete.
**Goal:** Prove task pushing works end to end and close the plan cleanly.
---
@ -113,3 +113,35 @@ flutter test
- Push results persist through SQLite.
- Push to Backlog resets freshness without rewriting creation history.
- Validation status is documented.
## Handoff notes
Implemented changes:
1. Added past-task push presentation state, button/menu UI, and command
callbacks.
2. Routed all three destinations through `SchedulerCommandController` and
`V1ApplicationCommandUseCases`.
3. Added scheduler/application support for `Push to next` after command time,
including overdue tasks from previous dates.
4. Added `Task.backlogEnteredAt` and `backlogEnteredAtProvenance`; Backlog age
filtering and staleness markers now use that freshness anchor with
`createdAt` fallback.
5. Added on-disk SQLite close/reopen coverage for push-next, push-tomorrow,
push-backlog, and completion after push.
Validation completed:
```sh
cd packages/scheduler_core
dart test test/document_mapping_test.dart test/scheduling_engine_test.dart test/application_commands_test.dart test/persistence_edge_cases_test.dart test/edge_case_regression_test.dart test/task_lifecycle_test.dart
cd ../../apps/focus_flow_flutter
flutter test test/models/past_task_push_presentation_test.dart test/widget_test.dart test/persistent_composition_test.dart
flutter test test/persistent_composition_test.dart
```
Unverified gates:
1. Full `scripts/test.sh`, full package `dart analyze`, and full Flutter
analyze/test were not rerun for this closeout. Earlier hook/analyzer runs in
this branch hit the known Dart analysis server `Too many open files` failure.

View file

@ -4,7 +4,7 @@
# Task Pushing 01 Execution Order
**Status:** Planned.
**Status:** Complete.
Run these files in order. All chunks are intended for `XHIGH` execution unless a
chunk explicitly says otherwise.

View file

@ -4,7 +4,7 @@
# Task Pushing 01 Summary — Past Task Push Controls
**Status:** Planned.
**Status:** Complete.
**Scope level:** XHIGH implementation plan.
**Primary outcome:** Past, incomplete scheduled tasks expose a persistent push
control that can move the task to the next available slot, tomorrow's first open
@ -91,6 +91,30 @@ Task Pushing 01 is complete when all of the following are true:
11. UI widgets do not contain scheduling, Drift, SQL, or repository logic.
12. Validation gates pass, or unavailable commands are documented.
## Completion notes
Implemented on branch `task-pushing-01-past-task-controls`.
Key decisions:
1. Push support remains limited to planned flexible tasks in V1.
2. `Push to next` uses the real current owner-local date/time, not the selected
review date, and never schedules before that instant.
3. `Push to tomorrow` targets the next owner-local civil day relative to command
time.
4. `Push to backlog` records `backlogEnteredAt` and provenance while preserving
original `createdAt`.
Validation completed:
```sh
cd packages/scheduler_core
dart test test/document_mapping_test.dart test/scheduling_engine_test.dart test/application_commands_test.dart test/persistence_edge_cases_test.dart test/edge_case_regression_test.dart test/task_lifecycle_test.dart
cd ../../apps/focus_flow_flutter
flutter test test/models/past_task_push_presentation_test.dart test/widget_test.dart test/persistent_composition_test.dart
flutter test test/persistent_composition_test.dart
```
---
## Non-goals

View file

@ -6,7 +6,7 @@
Ordered implementation queue:
1. `Task Pushing 01 - Past Task Push Controls/` — Next incomplete plan.
No active implementation plans remain in this folder.
Execute only the first incomplete plan.