pp-planer/.sisyphus/README.md
Thorsten Bus c9324eb542 docs: add Sisyphus boulder workflow README
- Quick start guide for continuation
- File structure overview
- Current status summary
- Key documents reference
- Workflow patterns
- Troubleshooting guide
- Metrics and next steps
2026-03-01 23:20:35 +01:00

8.9 KiB

Sisyphus Boulder Workflow — CTS Herd + Playwright E2E Testing

Project: CTS Presenter App — Church Service Preparation Tool
Phase: E2E Testing with Playwright on Laravel Herd
Status: 7/24 tasks complete (29.2%) — Wave 1-2 Complete, Wave 3 Partial


QUICK START

For Continuing This Work

  1. Read the continuation guide first:

    cat .sisyphus/CONTINUATION_GUIDE.md
    
  2. Verify environment:

    cd /Users/thorsten/AI/cts-work
    curl -s -o /dev/null -w "%{http_code}" http://cts-work.test/login  # Should return 200
    npx playwright test  # Should pass 13 tests
    php artisan test     # Should pass 174 tests
    
  3. Continue with next tasks:

    • See CONTINUATION_GUIDE.md for detailed instructions
    • See SESSION_SUMMARY.md for current state
    • See plans/cts-herd-playwright.md for full plan

FILE STRUCTURE

.sisyphus/
├── README.md                           # This file — start here
├── CONTINUATION_GUIDE.md               # Complete guide for continuing work
├── SESSION_SUMMARY.md                  # Current session summary
├── boulder.json                        # Boulder state tracking
├── plans/
│   ├── cts-presenter-app.md           # Phase 1 plan (COMPLETE)
│   └── cts-herd-playwright.md         # Phase 2 plan (ACTIVE — 7/24 tasks)
├── notepads/
│   ├── cts-presenter-app/             # Phase 1 learnings
│   └── cts-herd-playwright/           # Phase 2 learnings (ACTIVE)
│       ├── learnings.md               # Patterns, conventions
│       ├── decisions.md               # Architectural choices
│       ├── issues.md                  # Problems, gotchas
│       └── problems.md                # Unresolved issues
└── evidence/
    ├── task-1-herd-login-page.txt     # T1 verification
    ├── task-3-factory-fields.txt      # T3 verification
    ├── task-3-pest-pass.txt           # T3 verification
    ├── task-4-build-tests.txt         # T4 verification
    ├── task-4-testid-login.txt        # T4 verification
    ├── task-5-config-check.txt        # T5 verification
    ├── task-5-playwright-setup.txt    # T5 verification
    ├── task-6-auth-tests.txt          # T6 verification
    └── task-7-navigation-tests.txt    # T7 verification

WORKTREE STRUCTURE

/Users/thorsten/AI/cts-work/  (branch: cts-presenter-app)
├── playwright.config.ts                # Playwright configuration
├── tests/
│   ├── e2e/
│   │   ├── .auth/
│   │   │   └── user.json              # storageState (gitignored)
│   │   ├── auth.setup.ts              # Auth setup for tests
│   │   ├── auth.spec.ts               # Auth E2E tests (5 tests)
│   │   └── navigation.spec.ts         # Navigation E2E tests (9 tests)
│   └── Feature/                       # Pest tests (174 tests)
├── resources/js/
│   ├── Pages/                         # 6 Vue pages (data-testid added)
│   ├── Components/
│   │   ├── Blocks/                    # 4 block components (data-testid added)
│   │   └── [others]                   # 8 other components (data-testid added)
│   └── Layouts/                       # 3 layouts (data-testid added)
├── routes/web.php                     # Routes (includes POST /dev-login)
└── [other Laravel files]

CURRENT STATUS

Completed (7/24 tasks)

  • Wave 1: Herd env, dummy login, UserFactory (3 tasks)
  • Wave 2: data-testid attributes, Playwright infrastructure (2 tasks)
  • Wave 3: Auth tests, Navigation tests (2 tasks)

In Progress

  • Wave 3: 6 remaining E2E test spec files (T8-T13)

Pending

  • Wave 4: 7 E2E test spec files (T14-T20)
  • Final Verification: 4 review tasks (F1-F4)

Test Status

  • E2E: 13 tests passing (2 spec files)
  • Pest: 174 tests passing (26 feature files)
  • Build: Succeeds (790 modules, 1.51s)

KEY DOCUMENTS

1. CONTINUATION_GUIDE.md (START HERE)

Purpose: Complete guide for continuing the work
Contents:

  • Quick start commands
  • Completed work summary
  • Remaining task breakdown with exact requirements
  • Execution patterns for each task type
  • 6-section prompt templates
  • Troubleshooting guide
  • Verification checklists

When to use: Every time you continue this work

2. SESSION_SUMMARY.md

Purpose: Summary of current session's work
Contents:

  • Executive summary
  • Completed work details
  • Current state
  • Remaining work
  • Key patterns established
  • Metrics and handoff checklist

When to use: To understand what was done in the last session

3. plans/cts-herd-playwright.md

Purpose: Complete task plan (1,624 lines)
Contents:

  • All 24 implementation tasks with detailed requirements
  • 4 final verification tasks
  • Acceptance criteria for each task
  • QA scenarios
  • References and patterns

When to use: To understand exact requirements for each task

4. notepads/cts-herd-playwright/learnings.md

Purpose: Accumulated knowledge from all sessions
Contents:

  • Patterns that work
  • Conventions established
  • Gotchas discovered
  • Best practices

When to use: Before starting any new task (to avoid known pitfalls)


WORKFLOW

For Each Task

  1. Read:

    • Plan file for task requirements
    • Notepad for inherited wisdom
    • Continuation guide for execution pattern
  2. Delegate:

    task(
      category="quick",
      load_skills=["playwright"],
      run_in_background=false,
      description="Create {filename}.spec.ts",
      prompt=`[6-section prompt from continuation guide]`
    )
    
  3. Verify:

    npx playwright test {filename}.spec.ts  # All tests pass
    
  4. Mark Complete:

    Edit("plans/cts-herd-playwright.md", [
      {op: "replace", pos: "{line}#{hash}", lines: "- [x] {task}"}
    ])
    
  5. Commit:

    git add tests/e2e/{filename}.spec.ts
    git commit -m "test(e2e): add {feature} E2E tests"
    
  6. Update Notepad (if learnings discovered):

    echo "## [DATE] Task {N}: {Name}\n{learnings}" >> notepads/cts-herd-playwright/learnings.md
    

CRITICAL PATTERNS

Test Structure

import { test, expect } from '@playwright/test';

test('description', async ({ page }) => {
    await page.goto('/url');
    await page.waitForLoadState('networkidle');  // CRITICAL
    await expect(page).toHaveURL(/pattern/);
    await expect(page.getByTestId('testid')).toBeVisible();
});

CSRF Protection

const cookies = await page.context().cookies();
const xsrfToken = decodeURIComponent(
    cookies.find(c => c.name === 'XSRF-TOKEN')?.value || ''
);
await page.request.post('/endpoint', {
    headers: { 'X-XSRF-TOKEN': xsrfToken }
});

data-testid Naming

  • {component-kebab}-{element-description}
  • Examples: login-oauth-button, service-list-edit-button

German UI Text

  • Always use exact German text from Vue components
  • Examples: "Gottesdienste", "Bearbeiten", "Finalisieren"

TROUBLESHOOTING

Session Timeouts

Symptom: task() times out after 10 minutes
Solution: Check if file was created, verify tests, proceed if passing

Test Failures

Symptom: Element not found
Solution: Check data-testid spelling in Vue component

Symptom: Timeout waiting for element
Solution: Add page.waitForLoadState('networkidle')

Symptom: Redirect to login
Solution: Re-run auth setup: npx playwright test --project=setup

SQLite BUSY

Symptom: Database locked errors
Solution: Verify workers: 1 in playwright.config.ts


METRICS

Progress

  • Tasks: 7/24 complete (29.2%)
  • E2E Tests: 13/~45 complete (~29%)
  • Spec Files: 2/15 complete (13.3%)

Quality

  • Test Pass Rate: 100% (13/13 E2E + 174/174 Pest)
  • Build Success: 100%
  • Commits: 8 atomic commits (6 worktree + 2 main repo)

Time

  • Session Duration: ~3 hours
  • Avg Time per Task: ~25 minutes
  • Estimated Remaining: ~7-8 hours (17 tasks)

NEXT STEPS

  1. Read CONTINUATION_GUIDE.md — Complete context for next session
  2. Launch Wave 3 tasks — T8-T13 (6 tasks in parallel)
  3. Verify all tests pass — Should have ~35-40 E2E tests after Wave 3
  4. Continue to Wave 4 — T14-T20 (7 tasks)
  5. Final Verification — F1-F4 (4 review tasks)

CONTACT

Plan: .sisyphus/plans/cts-herd-playwright.md (READ-ONLY for subagents)
Guide: .sisyphus/CONTINUATION_GUIDE.md (START HERE)
Notepad: .sisyphus/notepads/cts-herd-playwright/ (APPEND-ONLY)
Worktree: /Users/thorsten/AI/cts-work (branch: cts-presenter-app)


Last Updated: 2026-03-01 23:20 UTC
Status: READY FOR CONTINUATION
Quality: All tests passing, full documentation
Recommendation: Continue with Wave 3 tasks T8-T13