Public API quality report
The crate's exported surface measured against the repository's rules: how many items are documented and exampled, how many modules are documented, exampled and behaviourally tested, how the canonical operations stand against the command line, HTTP, OpenAPI and MCP, and one finding per violation carrying a stable code, the rule that requires it, its file and line, why it matters and what to do about it.
- query
- behaviorally_verified
- benchmark required
- cache process (max_entries=8, ttl_seconds=10)
- MCP tool majordomus_quality
- MCP resource {"name": "quality", "uri": "majordomus://quality"}
- $ quality report
Query parameters
| name | type | required | description | examples |
|---|---|---|---|---|
| code | string | no | Only findings carrying this code (`RUST_PUBLIC_MISSING_EXAMPLE`). All of them when absent. A code nothing recognises is refused rather than answered with an empty list, so a typo cannot read as a clean report. | |
| path | string | no | Only findings whose file path starts with this, repository-relative (`apps/majordomus-cli/src/web`). All of them when absent. | |
| summary_only | boolean | no | Answer with the counts and leave the findings out. For a caller that wants the state of the crate and not the list of what to do about it. | default: false |
| include_baselined | boolean | no | Include the findings the ratchet already accepts, which are left out by default. The default is what a gate wants: only what is new. This is what a person paying the debt down wants, and it is what `--write-baseline` must ask for — a baseline written from a report that had the baseline applied to it would empty the file, accepting nothing and failing on everything the next time it ran. | default: false |
Try it
The port is whatever the server logged; 8741 is the one it asks for first. The values are the operation's first example.
curl -s "http://127.0.0.1:8741/api/v1/quality?summary_only=false&include_baselined=false"
Tested by apps/majordomus-cli/tests/http_serve.rs, which replays the route with these values against a server on a real socket.
Responses
| status | body | meaning |
|---|---|---|
| 200 | QualityAnswer | Public API quality report: the result. |
| 400 | ErrorBody | invalid_input: The input does not fit the schema: a parameter of the wrong type, an unknown one, or a value the capability rejects. |
| 404 | ErrorBody | not_found: The input names something the repository does not hold. |
| 500 | ErrorBody | internal: The capability failed for a reason of its own; the message names it. |
| default | ErrorBody | Any other failure the transport reports: 405 method_not_allowed for another method on this path, 400 invalid_input for a body that is not a JSON object. |