chore: mark edit-page-restructure plan as complete
This commit is contained in:
parent
34aec530d2
commit
c7f5845b80
|
|
@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in a new issue