chore: commit sisyphus evidence and CI/CD artifacts
Some checks failed
CI Pipeline / Backend Build & Test (pull_request) Failing after 49s
CI Pipeline / Frontend Lint, Test & Build (pull_request) Successful in 28s
CI Pipeline / Infrastructure Validation (pull_request) Successful in 4s

This commit is contained in:
WorkClub Automation
2026-03-09 15:05:55 +01:00
parent 867dc717cc
commit 271b3c189c
22 changed files with 2014 additions and 0 deletions

View File

@@ -0,0 +1,46 @@
# Decisions - Self-Assignment Bug Fix
## Architectural Choices
*(To be populated as work progresses)*
## Trade-offs Made
*(To be populated as work progresses)*
## T3: Contract Parity Decision (2026-03-08)
**Decision**: Task self-assignment will use existing `useUpdateTask` mutation with `assigneeId` field.
**Rationale**:
1. **UpdateTaskRequest Interface** already includes `assigneeId?: string` field (line 45)
2. **useUpdateTask Mutation** accepts arbitrary UpdateTaskRequest fields via PATCH /api/tasks/{id}
3. **Shift Pattern** uses implicit self-assignment via POST /signup, but tasks require explicit assigneeId
4. **Member Role Assumption**: No frontend restrictions observed on member role updating assigneeId
**Implementation Pattern** (for T7):
```typescript
// Detection pattern (similar to shift isSignedUp)
const isAssignedToMe = task.assigneeId === session?.user?.id;
// Self-assignment action (via useUpdateTask)
await updateTaskMutation.mutateAsync({
id: task.id,
data: { assigneeId: session.user.id }
});
// Unassignment action
await updateTaskMutation.mutateAsync({
id: task.id,
data: { assigneeId: null }
});
```
**Backend Verification Required** (T8):
- Confirm PATCH /api/tasks/{id} permits member role to set assigneeId to self
- Verify no policy restrictions on member role task assignment
- Document any backend adjustments needed
**Evidence Files**:
- `.sisyphus/evidence/task-3-contract-parity.txt` (contract analysis)
- `.sisyphus/evidence/task-3-contract-mismatch.txt` (empty - no mismatches found)