This guide is for maintainers supporting early Scrypath production usage.
For metrics, paging discipline, and Meilisearch cluster footguns (SRE / platform view), see docs/search-backend-sre.md.
The support contract stays simple:
- operator code calls the root APIs on
Scrypath.* - terminal operators can use the thin
mix scrypath.*wrappers over those same APIs - The Phase 14 verification task keeps the task surface, docs contract, package metadata, and docs build aligned
mix verify.phase11remains the release-contract gate
First Response Path
When a team reports drift, failed sync, or uncertain visibility:
- ask which schema is affected
- run
mix scrypath.statusfor current visibility - run
mix scrypath.failedfor explicit recovery candidates - run
mix scrypath.reconcilewhen you need report-first guidance before changing anything
Use mix scrypath.retry only when you already selected a concrete failed-work id.
Sync Mode Triage
Keep the sync mode in view during support:
:inlinemeans Scrypath waited for terminal backend success, but database and search writes are still not atomic:obanmeans the enqueue is durable, not that search visibility is complete:manualmeans accepted work was handed back for operator-controlled follow-up
The detailed operator wording lives in guides/sync-modes-and-visibility.md.
Boundary Checks
Support docs should keep two boundaries explicit:
- operator visibility and recovery live on
Scrypath.* - backend-native search power stays under
Scrypath.Meilisearch.*
Do not document the Mix tasks as a replacement for the root API, and do not widen Scrypath.search/3 with Meilisearch-native flags.
Verification
Before merge or release handoff, run:
mix verify.phase14
mix verify.phase20
mix verify.phase26
mix verify.phase11
The Phase 14 verifier is auth-free. It exercises the focused Mix task tests, docs contract, package metadata assertions, and mix docs --warnings-as-errors.
The Phase 20 verifier (mix verify.phase20) is auth-free. It runs the faceting, Meilisearch settings, and faceted-guide docs contract tests, then mix docs --warnings-as-errors.
The Phase 26 verifier (mix verify.phase26) is auth-free. It runs failed-work rollups, reconcile output, operator Mix tasks, and the docs contract tests with --warnings-as-errors, then mix docs --warnings-as-errors.
mix verify.phase11 keeps the release path aligned and remains the gate you use before a real publish flow.