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:
@@ -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>
|
||||
@@ -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)
|
||||
@@ -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)_
|
||||
Reference in New Issue
Block a user