chore: archive v1.2 phase directories to milestones/

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-03 21:55:55 +02:00
parent 0f3d4c3609
commit 78384cabbb
22 changed files with 0 additions and 0 deletions

View File

@@ -0,0 +1,134 @@
---
phase: 10-dead-code-cleanup
plan: 01
type: execute
wave: 1
depends_on: []
files_modified:
- lib/features/home/presentation/daily_plan_providers.dart
- lib/features/home/presentation/daily_plan_task_row.dart
- lib/features/home/presentation/progress_card.dart
- lib/features/home/domain/daily_plan_models.dart
autonomous: true
requirements: [CLN-01]
must_haves:
truths:
- "daily_plan_providers.dart no longer exists in the codebase"
- "daily_plan_task_row.dart no longer exists in the codebase"
- "progress_card.dart no longer exists in the codebase"
- "DailyPlanDao is still registered in database.dart and functional"
- "TaskWithRoom class still exists and is importable by calendar system"
- "All 144 tests pass without failures"
- "dart analyze reports zero issues"
artifacts:
- path: "lib/features/home/domain/daily_plan_models.dart"
provides: "TaskWithRoom class (DailyPlanState removed)"
contains: "class TaskWithRoom"
key_links:
- from: "lib/features/home/data/calendar_dao.dart"
to: "lib/features/home/domain/daily_plan_models.dart"
via: "import for TaskWithRoom"
pattern: "import.*daily_plan_models"
- from: "lib/features/home/presentation/calendar_providers.dart"
to: "lib/features/home/domain/daily_plan_models.dart"
via: "import for TaskWithRoom"
pattern: "import.*daily_plan_models"
- from: "lib/core/database/database.dart"
to: "lib/features/home/data/daily_plan_dao.dart"
via: "DAO registration in @DriftDatabase annotation"
pattern: "DailyPlanDao"
---
<objective>
Delete three orphaned v1.0 daily plan presentation files and clean up the orphaned DailyPlanState class from the domain models file, then verify no regressions.
Purpose: These files were superseded by the calendar strip (Phase 5, v1.1) but never removed. Cleaning them prevents confusion and reduces maintenance surface.
Output: Three files deleted, one file trimmed, zero test/analysis regressions.
</objective>
<execution_context>
@/home/jlmak/.claude/get-shit-done/workflows/execute-plan.md
@/home/jlmak/.claude/get-shit-done/templates/summary.md
</execution_context>
<context>
@.planning/PROJECT.md
@.planning/ROADMAP.md
@.planning/STATE.md
</context>
<tasks>
<task type="auto">
<name>Task 1: Delete orphaned files and remove DailyPlanState</name>
<files>
lib/features/home/presentation/daily_plan_providers.dart (DELETE)
lib/features/home/presentation/daily_plan_task_row.dart (DELETE)
lib/features/home/presentation/progress_card.dart (DELETE)
lib/features/home/domain/daily_plan_models.dart (MODIFY)
</files>
<action>
1. Delete these three files entirely (use `rm` or equivalent):
- lib/features/home/presentation/daily_plan_providers.dart
- lib/features/home/presentation/daily_plan_task_row.dart
- lib/features/home/presentation/progress_card.dart
2. Edit lib/features/home/domain/daily_plan_models.dart:
- Remove the DailyPlanState class (lines 16-31) entirely. It is only used by the now-deleted daily_plan_providers.dart.
- Keep the TaskWithRoom class intact — it is used by calendar_dao.dart, calendar_models.dart, calendar_providers.dart, calendar_day_list.dart, calendar_task_row.dart, and daily_plan_dao.dart.
- Keep the existing import of database.dart at line 1.
3. DO NOT touch these files (they are still in use):
- lib/features/home/data/daily_plan_dao.dart (used by database.dart daos list and settings_screen.dart)
- lib/features/home/data/daily_plan_dao.g.dart (generated, paired with DAO)
</action>
<verify>
<automated>ls lib/features/home/presentation/daily_plan_providers.dart lib/features/home/presentation/daily_plan_task_row.dart lib/features/home/presentation/progress_card.dart 2>&1 | grep -c "No such file" | grep -q 3 && grep -c "DailyPlanState" lib/features/home/domain/daily_plan_models.dart | grep -q 0 && grep -c "TaskWithRoom" lib/features/home/domain/daily_plan_models.dart | grep -qv 0 && echo "PASS" || echo "FAIL"</automated>
</verify>
<done>Three dead files deleted, DailyPlanState removed from daily_plan_models.dart, TaskWithRoom preserved</done>
</task>
<task type="auto">
<name>Task 2: Verify zero regressions</name>
<files>
(no files modified — verification only)
</files>
<action>
1. Run `dart analyze` from the project root. Must report "No issues found!" with zero errors, warnings, or infos. If any issues appear related to the deleted files (unused imports, missing references), fix them — but based on codebase analysis, none are expected since the three files have zero importers.
2. Run `flutter test` from the project root. All 144 tests must pass. No test references the deleted files or DailyPlanState (confirmed via grep during planning).
3. If dart analyze reveals any issue (unexpected import of deleted file elsewhere), fix the import. This is a safety net — grep during planning found zero references, but the analyzer is authoritative.
</action>
<verify>
<automated>dart analyze 2>&1 | tail -1 | grep -q "No issues found" && flutter test --reporter compact 2>&1 | tail -1 | grep -q "All tests passed" && echo "PASS" || echo "FAIL"</automated>
</verify>
<done>dart analyze reports zero issues AND all 144+ tests pass — no regressions from dead code removal</done>
</task>
</tasks>
<verification>
1. `ls lib/features/home/presentation/daily_plan_providers.dart` returns "No such file"
2. `ls lib/features/home/presentation/daily_plan_task_row.dart` returns "No such file"
3. `ls lib/features/home/presentation/progress_card.dart` returns "No such file"
4. `grep "DailyPlanDao" lib/core/database/database.dart` still shows the DAO in the daos list
5. `grep "TaskWithRoom" lib/features/home/domain/daily_plan_models.dart` still shows the class
6. `grep "DailyPlanState" lib/features/home/domain/daily_plan_models.dart` returns no matches
7. `dart analyze` reports zero issues
8. `flutter test` — all tests pass
</verification>
<success_criteria>
- Three orphaned presentation files are deleted from the codebase
- DailyPlanState class is removed from daily_plan_models.dart
- TaskWithRoom class is preserved in daily_plan_models.dart
- DailyPlanDao is preserved and still registered in database.dart
- `dart analyze` reports zero issues
- All 144+ tests pass
</success_criteria>
<output>
After completion, create `.planning/phases/10-dead-code-cleanup/10-01-SUMMARY.md`
</output>

View File

@@ -0,0 +1,107 @@
---
phase: 10-dead-code-cleanup
plan: 01
subsystem: ui
tags: [flutter, dead-code, cleanup, daily-plan, calendar]
# Dependency graph
requires:
- phase: 05-calendar-strip
provides: "Calendar strip that superseded daily_plan_providers.dart, daily_plan_task_row.dart, progress_card.dart"
provides:
- "Three orphaned v1.0 daily plan presentation files removed from codebase"
- "DailyPlanState class removed; TaskWithRoom class retained in daily_plan_models.dart"
affects: []
# Tech tracking
tech-stack:
added: []
patterns: []
key-files:
created: []
modified:
- lib/features/home/domain/daily_plan_models.dart
key-decisions:
- "DailyPlanDao kept in database.dart registration — still used by notification/settings service; only the presentation layer files were deleted"
- "TaskWithRoom retained in daily_plan_models.dart — actively imported by calendar_dao.dart, calendar_providers.dart, and related calendar files"
patterns-established: []
requirements-completed: [CLN-01]
# Metrics
duration: 5min
completed: 2026-03-19
---
# Phase 10 Plan 01: Dead Code Cleanup Summary
**Deleted three orphaned v1.0 daily plan presentation files and stripped DailyPlanState from domain models, leaving TaskWithRoom intact for the calendar system — zero test/analysis regressions across all 144 tests.**
## Performance
- **Duration:** ~5 min
- **Started:** 2026-03-19T00:00:54Z
- **Completed:** 2026-03-19T00:05:00Z
- **Tasks:** 2
- **Files modified:** 4 (3 deleted, 1 trimmed)
## Accomplishments
- Deleted `daily_plan_providers.dart`, `daily_plan_task_row.dart`, and `progress_card.dart` — all orphaned since Phase 5 replaced the daily plan UI with the calendar strip
- Removed `DailyPlanState` class from `daily_plan_models.dart` (it was only referenced by the now-deleted providers file)
- Preserved `TaskWithRoom` in `daily_plan_models.dart` — confirmed it remains importable by calendar system files
- `dart analyze` reports zero issues; all 144 tests pass with no regressions
## Task Commits
Each task was committed atomically:
1. **Task 1: Delete orphaned files and remove DailyPlanState** - `510529a` (chore)
2. **Task 2: Verify zero regressions** - verification only, no file changes
**Plan metadata:** `80e7011` (docs: complete dead-code-cleanup plan)
## Files Created/Modified
- `lib/features/home/domain/daily_plan_models.dart` - Removed DailyPlanState class (lines 16-31); TaskWithRoom preserved
- `lib/features/home/presentation/daily_plan_providers.dart` - DELETED (orphaned v1.0 file)
- `lib/features/home/presentation/daily_plan_task_row.dart` - DELETED (orphaned v1.0 file)
- `lib/features/home/presentation/progress_card.dart` - DELETED (orphaned v1.0 file)
## Decisions Made
- DailyPlanDao was NOT removed from `database.dart` — it is still registered in the `@DriftDatabase` annotation and used by `settings_screen.dart`. Only the presentation layer files were deleted.
- TaskWithRoom was kept because it is imported by: `calendar_dao.dart`, `calendar_providers.dart`, `calendar_models.dart`, `calendar_day_list.dart`, `calendar_task_row.dart`, and `daily_plan_dao.dart`.
## Deviations from Plan
None - plan executed exactly as written.
## Issues Encountered
None.
## User Setup Required
None - no external service configuration required.
## Next Phase Readiness
- Phase 10 dead code cleanup complete
- No blockers — dead code that was tracked as a blocker in STATE.md is now resolved
---
*Phase: 10-dead-code-cleanup*
*Completed: 2026-03-19*
## Self-Check: PASSED
- FOUND (deleted): lib/features/home/presentation/daily_plan_providers.dart
- FOUND (deleted): lib/features/home/presentation/daily_plan_task_row.dart
- FOUND (deleted): lib/features/home/presentation/progress_card.dart
- FOUND: lib/features/home/domain/daily_plan_models.dart (with TaskWithRoom, without DailyPlanState)
- FOUND: commit 510529a (chore: delete orphaned files)
- FOUND: commit 80e7011 (docs: complete plan)

View File

@@ -0,0 +1,80 @@
---
phase: 10-dead-code-cleanup
verified: 2026-03-19T00:00:00Z
status: passed
score: 7/7 must-haves verified
---
# Phase 10: Dead Code Cleanup Verification Report
**Phase Goal:** Remove orphaned v1.0 daily plan files that are no longer used after the calendar strip replacement, keeping the codebase clean
**Verified:** 2026-03-19
**Status:** PASSED
**Re-verification:** No — initial verification
## Goal Achievement
### Observable Truths
| # | Truth | Status | Evidence |
|----|--------------------------------------------------------------|------------|--------------------------------------------------------------------------|
| 1 | `daily_plan_providers.dart` no longer exists in the codebase | VERIFIED | `ls` returns "No such file or directory"; no references in lib/ |
| 2 | `daily_plan_task_row.dart` no longer exists in the codebase | VERIFIED | `ls` returns "No such file or directory"; no references in lib/ |
| 3 | `progress_card.dart` no longer exists in the codebase | VERIFIED | `ls` returns "No such file or directory"; no references in lib/ |
| 4 | `DailyPlanDao` is still registered in `database.dart` | VERIFIED | Line 51: `daos: [RoomsDao, TasksDao, DailyPlanDao, CalendarDao]` |
| 5 | `TaskWithRoom` class still exists and is importable | VERIFIED | Defined in `daily_plan_models.dart:4`; imported by 6+ calendar files |
| 6 | All 144 tests pass without failures | VERIFIED | `flutter test` output: `+144: All tests passed!` |
| 7 | `dart analyze` reports zero issues | VERIFIED | `Analyzing HouseHoldKeaper... No issues found!` |
**Score:** 7/7 truths verified
### Required Artifacts
| Artifact | Expected | Status | Details |
|-------------------------------------------------------|---------------------------------------|----------|---------------------------------------------------------------------------------------------|
| `lib/features/home/domain/daily_plan_models.dart` | TaskWithRoom class; DailyPlanState removed | VERIFIED | Contains `class TaskWithRoom` only; `DailyPlanState` grep returns no matches in entire lib/ |
| `lib/features/home/presentation/daily_plan_providers.dart` | DELETED | VERIFIED | File does not exist; confirmed by `ls` |
| `lib/features/home/presentation/daily_plan_task_row.dart` | DELETED | VERIFIED | File does not exist; confirmed by `ls` |
| `lib/features/home/presentation/progress_card.dart` | DELETED | VERIFIED | File does not exist; confirmed by `ls` |
### Key Link Verification
| From | To | Via | Status | Details |
|-------------------------------------------------------------------|-------------------------------------------------|--------------------------------------|----------|---------------------------------------------------------------------------|
| `lib/features/home/data/calendar_dao.dart` | `lib/features/home/domain/daily_plan_models.dart` | `import.*daily_plan_models` | VERIFIED | Line 4: `import '../domain/daily_plan_models.dart';` |
| `lib/features/home/presentation/calendar_providers.dart` | `lib/features/home/domain/daily_plan_models.dart` | `import.*daily_plan_models` | VERIFIED | Line 5: `import 'package:household_keeper/features/home/domain/daily_plan_models.dart';` |
| `lib/core/database/database.dart` | `lib/features/home/data/daily_plan_dao.dart` | `DailyPlanDao` in `@DriftDatabase` | VERIFIED | Line 51: `daos: [RoomsDao, TasksDao, DailyPlanDao, CalendarDao]` |
### Requirements Coverage
| Requirement | Source Plan | Description | Status | Evidence |
|-------------|-------------|-----------------------------------------------------------------------------------------------------------------|-----------|------------------------------------------------------------------------------------------------------|
| CLN-01 | 10-01-PLAN | Dead code from v1.0 daily plan (daily_plan_providers.dart, daily_plan_task_row.dart, progress_card.dart) is removed without breaking notification service (DailyPlanDao must be preserved) | SATISFIED | All three files deleted; DailyPlanDao still registered in database.dart; 144 tests pass; zero analyze issues |
No orphaned requirements detected. CLN-01 is the only requirement assigned to Phase 10 in REQUIREMENTS.md, and it is covered by plan 10-01.
### Anti-Patterns Found
None detected. No TODO/FIXME/placeholder comments or empty implementations found in modified files.
### Human Verification Required
None. All success criteria for this cleanup phase are programmatically verifiable: file deletion, class presence/absence, DAO registration, test pass count, and static analysis output.
### Gaps Summary
No gaps. All seven must-have truths are verified against the actual codebase:
- Three orphaned presentation files (`daily_plan_providers.dart`, `daily_plan_task_row.dart`, `progress_card.dart`) are fully deleted with no import references remaining anywhere in `lib/`.
- `DailyPlanState` class is absent from `daily_plan_models.dart`; `TaskWithRoom` is intact and actively used by 6+ calendar files.
- `DailyPlanDao` remains registered in the `@DriftDatabase` annotation on `database.dart` (line 51).
- Both task commits (`510529a`, `80e7011`) exist in git history.
- `dart analyze` reports zero issues.
- All 144 tests pass.
Phase goal is fully achieved.
---
_Verified: 2026-03-19_
_Verifier: Claude (gsd-verifier)_