You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fix fixture payloads, route accuracy, and expected status codes from adversarial review
- Label fixture: use `colorHex` instead of `color` to match CreateLabelDto
- Agent fixture: add required `templateKey` and `scopeType` fields
- Knowledge fixture: add required `sourceType` field
- B-31: use POST method (ExternalImportsController has no GET)
- B-91: use `/cards/{id}/provenance` (no single-card GET endpoint exists)
- B-104: note that fake proposal ID returns 404 before Idempotency-Key check
- B-151: correct expected status to 200 (no admin gate in current code)
- Add AbuseContainmentActive to status-to-errorCode mapping table
| B-90 | GET |`/api/boards/00000000-0000-0000-0000-000000000001`| UserA | 404 | Board does not exist |
254
-
| B-91 | GET |`/api/boards/{BOARD_A}/cards/00000000-0000-0000-0000-000000000001`| UserA | 404 | Card does not exist on own board |
254
+
| B-91 | GET |`/api/boards/{BOARD_A}/cards/00000000-0000-0000-0000-000000000001/provenance`| UserA | 404 | Card provenance for nonexistent card on own board |
255
255
| B-92 | GET |`/api/boards/{BOARD_A}/columns` (after deleting all) | UserA | 200 | Empty list, not 404 |
256
256
| B-93 | GET |`/api/capture/items/00000000-0000-0000-0000-000000000001`| UserA | 404 | Capture item does not exist |
257
257
| B-94 | GET |`/api/llm/chat/sessions/00000000-0000-0000-0000-000000000001`| UserA | 404 | Chat session does not exist |
@@ -290,6 +290,7 @@ Known `errorCode` values (from `ErrorCodes` in `Taskdeck.Domain.Exceptions`):
290
290
| 404 |`NotFound`|
291
291
| 409 |`Conflict`, `InvalidOperation`|
292
292
| 429 |`TooManyRequests`, `LlmQuotaExceeded`|
293
+
| 500 |`UnexpectedError`, `AbuseContainmentActive` (no explicit mapping -- falls to default) |
293
294
| 503 |`LlmKillSwitchActive`|
294
295
295
296
### Targeted error-contract checks
@@ -300,7 +301,7 @@ Known `errorCode` values (from `ErrorCodes` in `Taskdeck.Domain.Exceptions`):
| B-104 |`POST /api/automation/proposals/{id}/execute` without `Idempotency-Key` header (use a real approved proposal ID -- a fake ID returns 404 before the header check) | 400 |`ValidationError`|`errorCode`+`message` present |
| B-150 | GET |`/api/abuse/actors/{UserA_ID}/status`| UserA | 200 or 403 | May require admin role |
390
-
| B-151 | POST |`/api/abuse/actors/override`| UserA |403|Admin-only override |
393
+
| B-151 | POST |`/api/abuse/actors/override`| UserA |200|**No admin gate in current code** -- any authenticated user can override; file security issue if unexpected|
0 commit comments