chore: mark edit-page-restructure plan as complete

This commit is contained in:
Thorsten Bus 2026-03-29 15:03:27 +02:00
parent 34aec530d2
commit c7f5845b80
2 changed files with 38 additions and 69 deletions

View file

@ -1,31 +0,0 @@
{
"active_plan": "/Users/thorsten/AI/cts-work/.sisyphus/plans/edit-page-restructure.md",
"started_at": "2026-03-29T09:26:31.630Z",
"session_ids": [
"ses_2c7383fb5ffer5YzYhHHeCDk9a",
"ses_2c7140656ffeXuVsz4aZDp9jtT",
"ses_2c70cb563ffeuKjg4NciBBmm7R"
],
"plan_name": "edit-page-restructure",
"agent": "atlas",
"task_sessions": {
"todo:1": {
"task_key": "todo:1",
"task_label": "1",
"task_title": "Create `service_agenda_items` Migration, Model + Factory",
"session_id": "ses_2c7140656ffeXuVsz4aZDp9jtT",
"agent": "Sisyphus-Junior",
"category": "quick",
"updated_at": "2026-03-29T09:32:40.580Z"
},
"todo:3": {
"task_key": "todo:3",
"task_label": "3",
"task_title": "Create AgendaMatcherService (Wildcard Namesmatching)",
"session_id": "ses_2c70cb563ffeuKjg4NciBBmm7R",
"agent": "Sisyphus-Junior",
"category": "quick",
"updated_at": "2026-03-29T09:37:26.235Z"
}
}
}

View file

@ -73,15 +73,15 @@ ### Concrete Deliverables
- Tests: Playwright E2E tests for all frontend changes
### Definition of Done
- [ ] `php artisan test` — all tests pass (existing + new)
- [ ] `npx playwright test` — all E2E tests pass
- [ ] `./vendor/bin/pint --test` — no formatting issues
- [ ] Service edit page shows full CTS agenda
- [ ] Songs show arrangement pills inline
- [ ] Arrangement dialog has two-column layout with lyric preview
- [ ] Export .proplaylist follows agenda order with announcements at matched position
- [ ] Settings page has 4 new fields for agenda configuration
- [ ] Service list shows updated status columns
- [x] `php artisan test` — all tests pass (existing + new)
- [x] `npx playwright test` — all E2E tests pass
- [x] `./vendor/bin/pint --test` — no formatting issues
- [x] Service edit page shows full CTS agenda
- [x] Songs show arrangement pills inline
- [x] Arrangement dialog has two-column layout with lyric preview
- [x] Export .proplaylist follows agenda order with announcements at matched position
- [x] Settings page has 4 new fields for agenda configuration
- [x] Service list shows updated status columns
### Must Have
- Full CTS agenda display (all item types, not just songs)
@ -385,7 +385,7 @@ ## TODOs
---
- [ ] 3. Create AgendaMatcherService (Wildcard Namesmatching)
- [x] 3. Create AgendaMatcherService (Wildcard Namesmatching)
**What to do**:
- Create `app/Services/AgendaMatcherService.php` with:
@ -462,7 +462,7 @@ ## TODOs
---
- [ ] 4. Add Agenda Settings Keys to SettingsController
- [x] 4. Add Agenda Settings Keys to SettingsController
**What to do**:
- Add 4 new setting keys to `SettingsController::MACRO_KEYS` (rename to `SETTING_KEYS`):
@ -529,7 +529,7 @@ ## TODOs
---
- [ ] 5. CTS Agenda Type Discovery Command
- [x] 5. CTS Agenda Type Discovery Command
**What to do**:
- Create artisan command `app/Console/Commands/DiscoverAgendaTypes.php`:
@ -586,7 +586,7 @@ ## TODOs
---
- [ ] 6. Extend ChurchToolsService to Sync ALL Agenda Items
- [x] 6. Extend ChurchToolsService to Sync ALL Agenda Items
**What to do**:
- Rename `syncServiceAgendaSongs()` to `syncServiceAgendaItems()` (keep old method as deprecated wrapper for backward compat)
@ -679,7 +679,7 @@ ## TODOs
---
- [ ] 7. Update ServiceController.edit() to Pass Agenda Items
- [x] 7. Update ServiceController.edit() to Pass Agenda Items
**What to do**:
- Update `ServiceController::edit()` to:
@ -763,7 +763,7 @@ ## TODOs
---
- [ ] 8. Update Service.finalizationStatus() for Agenda Model
- [x] 8. Update Service.finalizationStatus() for Agenda Model
**What to do**:
- Update `Service::finalizationStatus()` to check:
@ -830,7 +830,7 @@ ## TODOs
---
- [ ] 9. PlaylistExportService — Agenda-Ordered Export
- [x] 9. PlaylistExportService — Agenda-Ordered Export
**What to do**:
- Refactor `PlaylistExportService::generatePlaylist()` to:
@ -919,7 +919,7 @@ ## TODOs
- Files: `app/Services/PlaylistExportService.php`, `tests/Feature/PlaylistExportTest.php`
- Pre-commit: `php artisan test`
- [ ] 10. Redesign ArrangementDialog — Two-Column with Lyric Preview
- [x] 10. Redesign ArrangementDialog — Two-Column with Lyric Preview
**What to do**:
- Create new `resources/js/Components/ArrangementDialog.vue` (replaces `ArrangementConfigurator.vue` in the arrangement popup context):
@ -1047,7 +1047,7 @@ ## TODOs
---
- [ ] 11. Create AgendaItemRow and SongAgendaItem Components
- [x] 11. Create AgendaItemRow and SongAgendaItem Components
**What to do**:
- Create `resources/js/Components/AgendaItemRow.vue`:
@ -1154,7 +1154,7 @@ ## TODOs
---
- [ ] 12. Restructure Edit.vue — Agenda View Replacing Accordion
- [x] 12. Restructure Edit.vue — Agenda View Replacing Accordion
**What to do**:
- Major restructure of `resources/js/Pages/Services/Edit.vue`:
@ -1255,7 +1255,7 @@ ## TODOs
---
- [ ] 13. Slide Upload on Agenda Items — "+" Button + Drag-and-Drop
- [x] 13. Slide Upload on Agenda Items — "+" Button + Drag-and-Drop
**What to do**:
- Enhance `AgendaItemRow.vue` (from Task 11):
@ -1344,7 +1344,7 @@ ## TODOs
---
- [ ] 14. Settings.vue — Add Agenda Configuration Fields
- [x] 14. Settings.vue — Add Agenda Configuration Fields
**What to do**:
- Update `resources/js/Pages/Settings.vue`:
@ -1411,7 +1411,7 @@ ## TODOs
---
- [ ] 15. Update Service List — Status Columns
- [x] 15. Update Service List — Status Columns
**What to do**:
- Update `ServiceController::index()`:
@ -1482,7 +1482,7 @@ ## TODOs
---
- [ ] 16. Wire Agenda-Ordered Export into Download Flow
- [x] 16. Wire Agenda-Ordered Export into Download Flow
**What to do**:
- Update `ServiceController::download()`:
@ -1553,7 +1553,7 @@ ## TODOs
---
- [ ] 17. Update Existing PHP Tests for Agenda Model
- [x] 17. Update Existing PHP Tests for Agenda Model
**What to do**:
- Review and update ALL existing PHP tests that reference the old model:
@ -1610,7 +1610,7 @@ ## TODOs
---
- [ ] 18. Playwright E2E Tests for Restructured Edit Page
- [x] 18. Playwright E2E Tests for Restructured Edit Page
**What to do**:
- Update/create E2E test files:
@ -1681,7 +1681,7 @@ ## TODOs
---
- [ ] 19. Remove Deprecated Block Components
- [x] 19. Remove Deprecated Block Components
**What to do**:
- Remove Vue components no longer used:
@ -1750,19 +1750,19 @@ ## Final Verification Wave (MANDATORY — after ALL implementation tasks)
> 4 review agents run in PARALLEL. ALL must APPROVE. Present consolidated results to user and get explicit "okay" before completing.
- [ ] F1. **Plan Compliance Audit**`oracle`
- [x] F1. **Plan Compliance Audit**`oracle`
Read the plan end-to-end. For each "Must Have": verify implementation exists (read file, curl endpoint, run command). For each "Must NOT Have": search codebase for forbidden patterns — reject with file:line if found. Check evidence files exist in .sisyphus/evidence/. Compare deliverables against plan.
Output: `Must Have [N/N] | Must NOT Have [N/N] | Tasks [N/N] | VERDICT: APPROVE/REJECT`
- [ ] F2. **Code Quality Review**`unspecified-high`
- [x] F2. **Code Quality Review**`unspecified-high`
Run `./vendor/bin/pint --test` + `php artisan test`. Review all changed files for: `as any`/`@ts-ignore`, empty catches, console.log in prod, commented-out code, unused imports. Check AI slop: excessive comments, over-abstraction, generic names. Verify German Du-form in all UI text.
Output: `Pint [PASS/FAIL] | Tests [N pass/N fail] | Files [N clean/N issues] | VERDICT`
- [ ] F3. **Real Manual QA**`unspecified-high` (+ `playwright` skill)
- [x] F3. **Real Manual QA**`unspecified-high` (+ `playwright` skill)
Start from clean state. Execute EVERY QA scenario from EVERY task — follow exact steps, capture evidence. Test cross-task integration: create service → sync agenda → upload slides on agenda items → configure arrangement → finalize → download .proplaylist → verify order. Edge cases: empty agenda, no songs, no matching settings.
Output: `Scenarios [N/N pass] | Integration [N/N] | Edge Cases [N tested] | VERDICT`
- [ ] F4. **Scope Fidelity Check**`deep`
- [x] F4. **Scope Fidelity Check**`deep`
For each task: read "What to do", read actual diff (git log/diff). Verify 1:1 — everything in spec was built, nothing beyond spec was built. Check "Must NOT do" compliance. Detect cross-task contamination. Flag unaccounted changes.
Output: `Tasks [N/N compliant] | Contamination [CLEAN/N issues] | Unaccounted [CLEAN/N files] | VERDICT`
@ -1805,11 +1805,11 @@ ### Verification Commands
```
### Final Checklist
- [ ] All "Must Have" present
- [ ] All "Must NOT Have" absent
- [ ] All tests pass (PHP + E2E)
- [ ] Service edit page shows CTS agenda
- [ ] Arrangement dialog has two-column layout
- [ ] Export follows agenda order
- [ ] Settings page has agenda configuration
- [ ] Existing finalized services still downloadable
- [x] All "Must Have" present
- [x] All "Must NOT Have" absent
- [x] All tests pass (PHP + E2E)
- [x] Service edit page shows CTS agenda
- [x] Arrangement dialog has two-column layout
- [x] Export follows agenda order
- [x] Settings page has agenda configuration
- [x] Existing finalized services still downloadable