1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# macOS exchange fixtures
Request-level recordings of the eight distinct requests macOS Contacts
(26.5.1, AddressBookCore/2732.600.11) sent to pro-tacts on 2026-08-14, the
day the one-card milestone landed — see
`docs/plans/2026-08-12-one-card-on-macos.md`. That exchange is the only
confirmed-working client session, so these requests are the baseline every
later response change is measured against.
Each step directory holds:
- `request` — the request line, the headers that affect routing
(`Brief`, `Content-Type`, `Depth`, `Prefer`), a blank line, then the exact
body. `Authorization`, `Host`, `User-Agent`, and the `Tailscale-*` /
`X-Forwarded-*` / `X-Mme-Client-Info` headers were stripped: they identify
the tailnet and user, and the app ignores them.
- `response` — the status line, the significant response headers
(`Content-Type`, `ETag`, `DAV`, `Allow`, `Location`), a blank line, then
the exact body the app returned.
`request` files are evidence: edit them only when a new client session
supersedes this one. `response` files are a snapshot of current app
behavior: regenerate them with `rake fixtures` after changing responses
deliberately, and review the diff — accidental drift is exactly what the
comparison test exists to catch.