Skip to main content

Module quality

Module quality 

Source
Expand description

The quality module: what this executable’s own public surface is held to, answered through every transport the surface is measured against.

This is the subsystem dogfooding itself. project.rust-public-api-quality and project.operation-transport-parity are rules about the crate; the measurement of them is a capability of the crate, declared once here, and therefore reaches the command line, HTTP, the OpenAPI document, MCP and the Cockpit as projections rather than as five renderers. A quality subsystem that needed hand-written adapters would be failing the architecture it exists to enforce.

The measurement reads the crate’s sources from the repository the index was built from. A repository that carries no Rust crate — the layer installs into plenty of them — is answered with measured: false and the reason, never with a clean report over nothing.

quality.rustdoc holds the tree rustdoc renders from the same crate to the same inventory: every exported item has its page at the route rustdoc gives it, the tree is HEAD’s, and nothing in it is broken or leaks the machine it was built on. Its subject is the rustdoc web surface’s artifact as the topology resolves it — never a path a caller names — and a tree that is not there is the no_tree verdict, exit 12, never a pass.

use majordomus_cli::capability::builtin::quality::module;
let m = module();
let c = m.capabilities.iter().find(|c| c.capability.id.as_str() == "quality.report").unwrap();
assert_eq!(c.capability.exposure.http.as_ref().unwrap().path, "/api/v1/quality");
assert_eq!(
    c.capability.exposure.cli.as_ref().unwrap().path,
    vec!["quality".to_string(), "report".to_string()]
);

Structs§

QualityAnswer
The answer: the measurement, or the reason there was not one.
QualityInput
The input of quality.report: which findings to answer with.

Constants§

BASELINE
Where the ratchet’s accepted findings are recorded, repository-relative.
CRATE_DIR
Where the crate this executable is built from lives, relative to the repository root. The one fact the measurement needs that the index does not carry.
QUALITY_URI
The URI under which the report is read as an MCP resource.
RUSTDOC_URI
The URI under which the judgement of the rustdoc tree is read as an MCP resource.

Functions§

baseline_key
The key of one finding in the baseline: its code, its file and its symbol.
baseline_keys
The findings the ratchet accepts, read from the repository’s baseline file.
crate_dir
The crate directory of a repository, when it has one.
module
The module.