docs(conflicts,queue): Beam WO5 batch — 13 endpoints backfilled, registry pinned
Beam added frontmatter + provenance + labeled examples to the 7 conflict and 6 queue docs, fixing real field drift on the way (resolve response keys, bulk result shape, dismiss-all deleted count, queue stats counts). Claude registry verification found TWO Beam catches of Claude's own draft: - queue routes use :device_id / :item_id params (registry first draft said :id) - resolve_conflict DOES take a body (ConflictResolutionRequest) — registry first draft said nil Both fixed; gate then surfaced one real Beam defect: example-request used a nonexistent "resolution" field in resolve + bulk-resolve (real contract: winner=<source|manual> with required manual_data for manual; strategy= most_recent|highest_progress|manual). Fixed in the docs. Pinned by type: ConflictListResponse, ConflictDetailResponse, ConflictResolveResponse, BulkResolveRequest/Response, QueueStatsResponse, ConflictResolutionRequest. dismiss-all deleted is an int count.
This commit is contained in:
1 parent
fa00d6d3cb
commit
eacc33bfac
14 files changed
+224
-98
No files matched your search
@@ -324,4 +324,52 @@ var Schemas = map[string]Schema{
|
||||
"name": "", "library_id": "", "books": [], "total": 0
|
||||
}`),
|
||||
},
|
||||
|
||||
// --- Beam batch 2: conflicts + queue backfill ---
|
||||
"GET /api/conflicts": {
|
||||
Response: handlers.ConflictListResponse{},
|
||||
},
|
||||
"GET /api/conflicts/:id": {
|
||||
Response: handlers.ConflictDetailResponse{},
|
||||
},
|
||||
"DELETE /api/conflicts/:id": {},
|
||||
"POST /api/conflicts/:id/resolve": {
|
||||
Request: handlers.ConflictResolutionRequest{},
|
||||
Response: handlers.ConflictResolveResponse{},
|
||||
},
|
||||
"POST /api/conflicts/dismiss-all": {
|
||||
// deleted is an INT count of dismissed rows.
|
||||
Response: json.RawMessage(`{"deleted": 0}`),
|
||||
},
|
||||
"POST /api/conflicts/bulk-resolve": {
|
||||
Request: handlers.BulkResolveRequest{},
|
||||
Response: handlers.BulkResolveResponse{},
|
||||
},
|
||||
"POST /api/conflicts/bulk-dismiss": {
|
||||
// Inline anonymous request struct {conflict_ids} — pinned by sample.
|
||||
Request: json.RawMessage(`{"conflict_ids": []}`),
|
||||
Response: handlers.BulkResolveResponse{},
|
||||
},
|
||||
|
||||
// NOTE: queue param names are :device_id / :item_id in the router —
|
||||
// first registry draft used :id and the gate caught it.
|
||||
"GET /api/queue/devices/:device_id/stats": {
|
||||
Response: handlers.QueueStatsResponse{},
|
||||
},
|
||||
"GET /api/queue/devices/:device_id/items": {
|
||||
Response: json.RawMessage(`{"items": [{}], "count": 0}`),
|
||||
},
|
||||
"GET /api/queue/items": {
|
||||
Response: json.RawMessage(`{"items": [{}], "count": 0}`),
|
||||
},
|
||||
"POST /api/queue/items/:item_id/retry": {
|
||||
Response: json.RawMessage(`{
|
||||
"message": "", "item_id": "", "status": "",
|
||||
"attempts": 0, "max_attempts": 0
|
||||
}`),
|
||||
},
|
||||
"DELETE /api/queue/items/:item_id": {},
|
||||
"DELETE /api/queue/devices/:device_id/clear": {
|
||||
Response: json.RawMessage(`{"message": ""}`),
|
||||
},
|
||||
}
|
||||
Reference in new issue
Block a user