# QA Evidence Traceability Map (T6-T12)

This map links acceptance criteria (AC) and QA scenarios from tasks T6-T12 to specific evidence artifact paths.

## Task 6: Fix shift runtime syntax error
- AC 6.1: `next.config.ts` contains compatible route source pattern for `/api/*` forwarding.
  - Happy Path: `.sisyphus/evidence/task-6-rewrite-regression.txt` (Build log check)
- AC 6.2: Shift detail self-assignment no longer throws runtime syntax parse error.
  - Happy Path: `.sisyphus/evidence/task-6-shift-happy-path.png` (Playwright screenshot)
  - Failure Path: `.sisyphus/evidence/task-6-shift-failure-path.png` (Simulated network error or invalid pattern)

## Task 7: Add "Assign to Me" action to task detail
- AC 7.1: Task detail shows "Assign to Me" for unassigned tasks when member session exists.
  - Happy Path: `.sisyphus/evidence/task-7-task-assign-happy.png` (Playwright screenshot)
- AC 7.2: Clicking button calls update mutation with `{ assigneeId: session.user.id }`.
  - Happy Path: `.sisyphus/evidence/task-7-task-assign-mutation.json` (Network trace or console log)
- AC 7.3: Once assigned to current member, action is hidden/disabled as designed.
  - Happy Path: `.sisyphus/evidence/task-7-task-assign-hidden.png` (Post-assignment screenshot)
- Scenario: Missing-session guard
  - Failure Path: `.sisyphus/evidence/task-7-no-session-guard.txt` (Vitest output)

## Task 8: Backend/policy adjustment (Conditional)
- AC 8.1: Conditional task executed only when evidence shows backend denial.
  - Trace: `.sisyphus/evidence/task-8-execution-decision.txt` (Log of T7 failure analysis)
- AC 8.2: Member self-assignment request returns success for valid member context.
  - Happy Path: `.sisyphus/evidence/task-8-backend-parity-happy.json` (Curl output)
- Scenario: Unauthorized assignment still blocked
  - Failure Path: `.sisyphus/evidence/task-8-backend-parity-negative.json` (Curl output for non-member)

## Task 9: Extend task detail tests
- AC 9.1: New tests fail before implementation and pass after implementation.
  - Happy Path: `.sisyphus/evidence/task-9-test-visibility.txt` (Vitest output)
- AC 9.2: Existing transition tests remain passing.
  - Happy Path: `.sisyphus/evidence/task-9-test-regression.txt` (Full suite Vitest output)
- Scenario: Wrong payload guard
  - Failure Path: `.sisyphus/evidence/task-9-test-payload.txt` (Failed test output with wrong payload)

## Task 10: Run full frontend checks
- AC 10.1: `bun run lint` returns exit code 0.
  - Happy Path: `.sisyphus/evidence/task-10-frontend-checks.txt` (Lint section)
- AC 10.2: `bun run test` returns exit code 0.
  - Happy Path: `.sisyphus/evidence/task-10-frontend-checks.txt` (Test section)
- AC 10.3: `bun run build` returns exit code 0.
  - Happy Path: `.sisyphus/evidence/task-10-frontend-checks.txt` (Build section)
- Scenario: Regression triage loop
  - Failure Path: `.sisyphus/evidence/task-10-regression-loop.txt` (Log of failures and fixes)

## Task 11: Verify real behavior parity
- AC 11.1: Member can self-sign up to shift without runtime syntax error.
  - Happy Path: `.sisyphus/evidence/task-11-cross-flow-happy.png` (Shift part)
- AC 11.2: Member can self-assign task from task detail.
  - Happy Path: `.sisyphus/evidence/task-11-cross-flow-happy.png` (Task part)
- AC 11.3: Negative scenario in each flow returns controlled UI behavior.
  - Failure Path: `.sisyphus/evidence/task-11-cross-flow-negative.png` (Full shift/assigned task)

## Task 12: Commit, push, and open PR
- AC 12.1: Branch pushed to remote.
  - Happy Path: `.sisyphus/evidence/task-12-pr-created.txt` (Git/gh output)
- AC 12.2: PR created targeting `main`.
  - Happy Path: `.sisyphus/evidence/task-12-pr-created.txt` (PR URL)
- AC 12.3: PR description includes root cause + fix + frontend check outputs.
  - Happy Path: `.sisyphus/evidence/task-12-pr-body.txt` (Captured PR body)
- Scenario: Dirty-tree guard
  - Failure Path: `.sisyphus/evidence/task-12-clean-tree.txt` (Git status output)
