I1020 — The graph's health is answered by the doctor that already answers everything else
Add the graph's diagnostics to the existing health and doctor surface: the graph builds, identities are unique, relations resolve, projections are synchronised, required documentation and verification are present, and nothing unsafe is exposed.
BLOCKED wave 4 · p1 · implementation profile · parallel safe
Blocked. This issue cannot start until I1007 is done. The status is derived from that, not declared.
Objective
Add the graph's diagnostics to the existing health and doctor surface: the graph builds, identities are unique, relations resolve, projections are synchronised, required documentation and verification are present, and nothing unsafe is exposed.
Why
The repository has one place that answers whether what it serves is healthy, and every check there delegates to the engine that decides it. A second diagnostic surface for the graph would be a second opinion.
Current state
The health capability aggregates index diagnostics, benchmark coverage and projection staleness.
Desired state
The graph's verdicts join them, computed rather than asserted, in the same machine-readable and human-readable output.
Scope
- apps/majordomus-cli/src/capability/builtin/health.rs
Out of scope
- A separate diagnostic script or command for the Cockpit
- A check that recomputes a verdict another engine already produces
Dependencies
- I1002DONE Relations are typed, inferred from stable identities, and never dangle
- I1007READY The site renders the same graph, generated once
What waits on this
Acceptance criteria
- The checks cover graph validity, identity uniqueness, relation resolution, projection freshness, required documentation and verification presence, and the absence of unsafe metadata
- Every number reported is computed, not stated
- The output is machine-readable and human-readable in the existing shapes
- Each check delegates to the engine that already decides it
Validation
- bin/majordomus doctor
- cargo test --workspace --all-features
Evidence required
- doctor_integrated
- numbers_computed
Evidence
None recorded. Every token above needs a command or an artifact behind it before this issue can be completed; narrative is refused.
Risk
Building the whole graph inside a blocking check makes the pre-commit hook slow enough to be bypassed, which the performance doctrine already refuses. Its cost is measured against that budget.
Timeline
- started
- —
- verified
- —
- completed
- —
Those three fields, the evidence above and the state of the dependencies are all the status is made of. There is no status field to disagree with them.
Canonical record: .ai/repo/project/issues/I1020.yaml. Read it back with majordomus plan show I1020.