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:
John O'Keefe committed 2026-10-24 15:37:45 -04:00
1 parent fa00d6d3cb
commit eacc33bfac
14 files changed
+224 -98

No files matched your search

+14 -35
View File
@@ -1,3 +1,11 @@
---
method: GET
path: /api/conflicts/:id
auth: jwt
area: conflicts
---
<!-- source: internal/handlers/conflicts.go:169 ConflictHandler.GetConflict -->
# Get Conflict Details
Get detailed information about a specific conflict.
@@ -26,43 +34,14 @@ Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
## Response (200 OK)
```json
```json example-response
{
"id": "uuid",
"media_item": {
"id": "book-uuid",
"title": "Sample Book",
"authors": ["Author Name"]
},
"device_progress": {
"device_id": "device-uuid",
"device_name": "My Kobo",
"percentage": 75,
"position": 1234,
"page": 150,
"updated_at": "2026-02-08T10:00:00Z"
},
"server_progress": {
"percentage": 50,
"position": 800,
"page": 100,
"updated_at": "2026-02-08T09:00:00Z"
},
"device_bookmarks": [
{
"position": 1234,
"text": "Interesting passage",
"created_at": "2026-02-08T10:00:00Z"
}
],
"server_bookmarks": [
{
"position": 800,
"text": "Another passage",
"created_at": "2026-02-07T15:00:00Z"
}
],
"status": "active",
"media_item_id": "book-uuid",
"media_item_title": "Sample Book",
"conflict_type": "progress",
"conflict_data": {},
"resolution_status": "unresolved",
"created_at": "2026-02-08T10:00:00Z"
}
```