Skip to content

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

Part of capability-graph — One capability graph, two projections, and no second inventory of what this repository can do.

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

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.