Skip to content
Cockpit0.29.0
A snapshot: read at commit 707a04c7ce8 on 2026-10-18T00:06:01Z by majordomus 0.29.0. Nothing on this page is read again. See it live

I1003

Skills, rules, decisions, documents, use cases and benchmarks enter the graph as themselves

Where it stands

devtask.issue
Readiness
complete completion is recorded and every required evidence token is present
Status
DONE
Can start
not now
Milestone
Milestone status
ACTIVE
Wave
1
Waiting on
none
Holds back
none
Behind it in all
0
Evidence
2 of 2
A move writes the repository: it stamps one field of this issue's record and appends one event to the ledger, and a commit will carry both.
The same moves from a terminal

majordomus plan start I1003

majordomus plan verify I1003

majordomus plan done I1003

What it is

Objective
Bring the layer's own kinds into the graph through the registries that already index them, so that a rule, a skill, a decision, a document, a use case, a benchmark and a deployment are navigable next to the capabilities they govern.
Why
Doctrine that only exists as prose floating in a directory is unenforceable in practice and invisible in the interface. These kinds are already indexed; what is missing is their relation to the capabilities they concern.
Now
Each kind is indexed and readable as an object. The site renders some of them as lists. None is related to a capability by anything a machine reads.
Wanted
Each kind is a node with the metadata its own registry holds, related to what it governs, documents, enforces, tests or measures.
Done when
unknown: the record declares no `completion`
Risk
Every kind has its own vocabulary, and flattening them into one node type loses what makes each useful. The node carries the kind's own metadata rather than a lowest common denominator.

Acceptance

  • Each kind is projected from its own registry with the metadata that registry holds, and no field is invented here
  • A rule shows what it governs, how it is enforced and what tests it; a skill shows its purpose, scope and relations; a decision shows what it puts in force
  • Adding a valid object under a canonical directory makes it appear in the graph with no further registration
  • Where a relation needs declaring, the field is added to the kind's existing schema rather than to a new one
Validation
cargo test --workspace --all-featuresbin/majordomus doctor
Evidence required
kinds_in_graphrelations_from_registries
Evidence present
kinds_in_graphrelations_from_registries

Scope

Touches
apps/majordomus-cli/src/capability/builtin/graph.rs
Not
A second registry for any of these kindsFrontmatter conventions that conflict with the schemas those directories already define
Depends on
Priority
p0
Profile
implementation
Parallel safe
true
Owner
unknown: the record declares no `owner`

The work so far

Branches
none
Merged
none
Commits
0
Trunk
master
Sessions
none
Created
2026-09-06
Updated
2026-09-06T17:11:15Z
Started
2026-09-06T16:22:39Z
Verified
unknown: the record declares no `verified_at`
Completed
2026-09-06T17:11:14Z

Synchronisation

Adapter
scripts/github-sync
Repository
unknown: the derived plan's header carries no repository
External issue
unknown: a live GitHub state; this executable makes no network call, so only `scripts/github-sync --check` can answer it
State there
unknown: a live GitHub state; this executable makes no network call, so only `scripts/github-sync --check` can answer it

Findings

Nothing is wrong with these records.