<!-- SPDX-FileCopyrightText: 2026 FocusFlow contributors -->
<!-- SPDX-License-Identifier: AGPL-3.0-only -->


# Task Pushing 01 — Past Task Push Controls

**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
not complete. The push button replaces hover quick actions while visible and
opens a destination menu with:

1. Push to next,
2. Push to tomorrow,
3. Push to backlog.

Push behavior must go through the existing scheduler command/use-case layer and
persist through SQLite. The UI must not compute or save canonical schedule
placement.

## Files in this plan

1. `TASK_PUSHING_01_SUMMARY.md`
2. `TASK_PUSHING_01_EXECUTION_ORDER.md`
3. `TASK_PUSHING_01_BLOCK_01_SCOPE_AND_DOMAIN_SEMANTICS.md`
4. `TASK_PUSHING_01_BLOCK_02_PAST_TASK_READ_MODEL.md`
5. `TASK_PUSHING_01_BLOCK_03_PUSH_BUTTON_CARD_UI.md`
6. `TASK_PUSHING_01_BLOCK_04_PUSH_MENU_DESTINATIONS.md`
7. `TASK_PUSHING_01_BLOCK_05_COMMAND_WIRING_AND_PERSISTENCE.md`
8. `TASK_PUSHING_01_BLOCK_06_DESTINATION_SCHEDULING_RULES.md`
9. `TASK_PUSHING_01_BLOCK_07_BACKLOG_FRESHNESS_RESET.md`
10. `TASK_PUSHING_01_BLOCK_08_VALIDATION_HANDOFF.md`

## Dependency

Task Pushing 01 requires:

1. Persistence Plan 1 complete.
2. Date Selection 01 complete.

The push menu depends on multi-day reads because push destinations can move a
task away from the currently visible day.
