diff --git a/.sisyphus/boulder.json b/.sisyphus/boulder.json new file mode 100644 index 0000000..5cf49b7 --- /dev/null +++ b/.sisyphus/boulder.json @@ -0,0 +1,8 @@ +{ + "active_plan": "/var/home/user/Code/einundzwanzig-verein/.sisyphus/plans/remove-dead-code.md", + "started_at": "2026-01-22T23:56:34.510Z", + "session_ids": [ + "ses_417ea6095ffeShGGJfMFsYK4F5" + ], + "plan_name": "remove-dead-code" +} \ No newline at end of file diff --git a/.sisyphus/plans/remove-dead-code.md b/.sisyphus/plans/remove-dead-code.md new file mode 100644 index 0000000..2553e4f --- /dev/null +++ b/.sisyphus/plans/remove-dead-code.md @@ -0,0 +1,438 @@ +# Remove Dead Code from Laravel Project + +## Context + +### Original Request +Find and remove dead code (unused code) that is no longer used in the Laravel project. Focus on high-confidence, safe-to-delete items only. + +### Interview Summary + +**Key Discussions:** +- User wants high-confidence dead code only (safe to delete) +- Exclude any items that might be in use or require manual verification +- Complete analysis across all code categories: models, controllers, views, services, Livewire components, methods, config files, migrations + +**Research Findings:** +- Launched 11 parallel analysis agents to comprehensively scan codebase +- Performed exhaustive grep searches across all file types (PHP, Blade, JavaScript) +- Cross-referenced findings with routes, tests, and usage patterns +- Identified 4 Livewire components and 1 method with 0 references + +### Self-Review (Gap Analysis) + +**Gaps Identified and Resolved:** + +1. **Testing Strategy**: Added comprehensive test suite verification to ensure nothing breaks after deletion +2. **Rollback Protection**: Added git commit checkpoints after each deletion to enable safe rollback +3. **Verification Methods**: Included both automated tests and manual verification checks +4. **Edge Cases**: Checked for dynamic imports, reflection, and magic methods (none found for identified items) + +**Assumptions Made:** +- grep searches captured all usage patterns (checked: @livewire, view('components.detail')` + - This is a PowerGrid component, but never instantiated + + **Test References** (to verify no breakage): + - No test files reference EinundzwanzigPlebTable (safe to delete) + + **Acceptance Criteria**: + - [ ] File deleted: `app/Livewire/EinundzwanzigPlebTable.php` + - [ ] Verify deletion: `ls app/Livewire/EinundzwanzigPlebTable.php` → Error (file not found) + - [ ] `vendor/bin/sail artisan test --compact` → PASS (all tests, no failures) + - [ ] Git commit created: + ```bash + git add app/Livewire/EinundzwanzigPlebTable.php + git commit -m "remove: unused Livewire component EinundzwanzigPlebTable (0 references in codebase)" + git log -1 # Verify commit + ``` + - [ ] Evidence: Command output captured from test run and git log + + **Commit**: YES + - Message: `remove: unused Livewire component EinundzwanzigPlebTable (0 references in codebase)` + - Files: `app/Livewire/EinundzwanzigPlebTable.php` + - Pre-commit: `vendor/bin/sail artisan test --compact` + +--- + +- [ ] 4. Delete unused Livewire component: MeetupTable + + **What to do:** + - Delete file: `app/Livewire/MeetupTable.php` + - Run full test suite to verify nothing breaks + - Create git commit for rollback capability + + **Must NOT do:** + - Do NOT delete any tests that reference MeetupTable (if any exist) + - Do NOT delete any documentation files + - Do NOT modify any other files + + **Parallelizable**: NO (depends on 3) + + **References**: + + **Evidence of 0 Usage** (from exhaustive analysis): + - Grep for "MeetupTable" in PHP files: Only 1 match (file definition itself) + - Grep for "MeetupTable" in Blade files: 0 matches + - Grep for "MeetupTable" in JS files: 0 matches + - Livewire::test calls: No tests reference MeetupTable + - @livewire directives: No MeetupTable usage + - getPleb(); + } + } + ``` + + **Evidence of 0 Usage** (from exhaustive analysis): + - Grep for "NostrAuth::pleb(" in PHP files: 0 matches + - Grep for "NostrAuth::pleb(" in Blade files: 0 matches + - Grep for "pleb" in relation to NostrAuth class: 0 matches + - Other NostrAuth methods are actively used: + - `login()`: 60+ usages in tests and auth-button + - `logout()`: 1 usage in routes/web.php + - `user()`: 1 usage in WithNostrAuth trait + - `check()`: 16 usages in Blade views + - `pubkey()`: 9 usages in Blade views + - `pleb()`: 0 usages anywhere in codebase + + **Test References** (to verify no breakage): + - No test files use NostrAuth::pleb() (safe to remove) + + **Acceptance Criteria**: + - [ ] Method removed: Lines 57-60 deleted from `app/Support/NostrAuth.php` + - [ ] Verify removal: `grep -n "function pleb" app/Support/NostrAuth.php` → No matches + - [ ] `vendor/bin/sail artisan test --compact` → PASS (all tests, no failures) + - [ ] Git commit created: + ```bash + git add app/Support/NostrAuth.php + git commit -m "remove: unused method NostrAuth::pleb() (0 usages in codebase)" + git log -1 # Verify commit + ``` + - [ ] Evidence: Command output captured from test run and git log + + **Commit**: YES + - Message: `remove: unused method NostrAuth::pleb() (0 usages in codebase)` + - Files: `app/Support/NostrAuth.php` + - Pre-commit: `vendor/bin/sail artisan test --compact` + +--- + +## Commit Strategy + +| After Task | Message | Files | Verification | +|------------|---------|---------|--------------| +| 1 | `remove: unused Livewire component VoteForm (0 references in codebase)` | `app/Livewire/Forms/VoteForm.php` | `vendor/bin/sail artisan test --compact` | +| 2 | `remove: unused Livewire component NotificationForm (0 references in codebase)` | `app/Livewire/Forms/NotificationForm.php` | `vendor/bin/sail artisan test --compact` | +| 3 | `remove: unused Livewire component EinundzwanzigPlebTable (0 references in codebase)` | `app/Livewire/EinundzwanzigPlebTable.php` | `vendor/bin/sail artisan test --compact` | +| 4 | `remove: unused Livewire component MeetupTable (0 references in codebase)` | `app/Livewire/MeetupTable.php` | `vendor/bin/sail artisan test --compact` | +| 5 | `remove: unused method NostrAuth::pleb() (0 usages in codebase)` | `app/Support/NostrAuth.php` | `vendor/bin/sail artisan test --compact` | + +--- + +## Success Criteria + +### Verification Commands +```bash +# Verify all deletions completed +ls app/Livewire/Forms/VoteForm.php # Should fail (file not found) +ls app/Livewire/Forms/NotificationForm.php # Should fail (file not found) +ls app/Livewire/EinundzwanzigPlebTable.php # Should fail (file not found) +ls app/Livewire/MeetupTable.php # Should fail (file not found) +grep "function pleb" app/Support/NostrAuth.php # Should find no matches + +# Verify all tests pass +vendor/bin/sail artisan test --compact # Should show PASS for all tests + +# Verify git history +git log --oneline -5 # Should show 5 new commits +``` + +### Final Checklist +- [ ] All 4 Livewire component files deleted +- [ ] NostrAuth::pleb() method removed +- [ ] All tests pass (0 failures) +- [ ] No new errors in browser logs +- [ ] 5 git commits created for rollback capability +- [ ] No other files modified or deleted +- [ ] Git history intact (no history rewrites) + +### Rollback Instructions (If Something Breaks) + +If any tests fail or functionality breaks: +```bash +# Rollback all deletions +git reset --hard HEAD~5 # Undo last 5 commits + +# Verify rollback successful +git log --oneline -3 +vendor/bin/sail artisan test --compact # Tests should pass again +``` diff --git a/app/Livewire/Forms/VoteForm.php b/app/Livewire/Forms/VoteForm.php deleted file mode 100644 index c801300..0000000 --- a/app/Livewire/Forms/VoteForm.php +++ /dev/null @@ -1,12 +0,0 @@ -