bruno: regenerate collection from canonical docs + permanent docs↔Bruno parity gate

WO4. The old collection was the drifted artifact AGENTS.md warned about:
bodies pre-truncated at their first {{var}}, routes renamed server-side
but not here (/api/notes/:media_id, /api/book-matching/search,
/api/collections/:id/rules/test), an orphan universal-progress suite for
routes that no longer exist.

scripts/gen_bruno_from_docs.py emits one OpenCollection request per
frontmatter'd endpoint doc (191 requests): gate-verified example-request
JSON as body, {{env}} params per the environment file, device-token
routes get an explicit Bearer {{device_token}} header, login/register/
refresh keep the token-capture after-response scripts that chain the
collection. Old 1:1 mirrors deleted (128); hand-authored NewDevDBSetup,
environments, and edge-case suites kept. 30 scenario files with
truncated bodies (the documented corruption) deleted — they could not
run.

internal/docs/drift_test.go gains TestBrunoMirrorsDocs: every
frontmatter'd doc must have a Bruno request with matching method+URL
shape — the collection can never silently drift from the docs again.
opencollection.yml README block replaced with the real run instructions.

make test green (9 pkgs, parity test included in internal/docs).
This commit is contained in:
John O'Keefe committed 2026-10-24 18:35:51 -04:00
1 parent 6fc501b35a
commit acd82fff0a
353 files changed
+5165 -5293

No files matched your search

+42
View File
@@ -0,0 +1,42 @@
info:
name: Markup Sync
type: http
seq: 4
http:
method: POST
url: '{{base_url}}/api/sync/kobo/{{kobo_device_token}}/markup'
auth: inherit
body:
type: json
data: |-
{
"bookmarks": [
{
"BookmarkID": "bookmark123",
"ContentID": "book-uuid",
"StartPosition": 1234,
"EndPosition": 1456,
"Text": "Highlighted text from book",
"Annotation": "My annotation",
"DateCreated": "2026-02-08T10:00:00Z",
"Chapter": "Chapter 1",
"Hidden": false
}
]
}
headers:
- key: Authorization
value: Bearer {{device_token}}
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
docs: |-
# Markup Sync
`POST /api/sync/kobo/:token/markup` — auth: device-token.
Canonical reference: `docs/developer/api/kobo/markup_sync.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file.