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
I1001
One typed graph composes the registries that already own their facts
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
0- Waiting on
- none
- Holds back
- Behind it in all
29- Evidence
2of2
Moves
plan.transitionWhat it is
- Objective
- Extend the executable's graph derivation into a typed, deterministic model that composes the existing authoritative registries — capabilities, commands, routes, MCP exposure, skills, rules, decisions, documents, use cases, benchmarks — without any of them ceasing to be authoritative.
- Why
- A single source of truth for this repository does not mean one manifest holding everything; it means each subsystem stays authoritative for what it owns and one derivation composes them. Any other arrangement is either a second inventory or a rewrite of nine working registries.
- Now
- graph.rs derives rule dependencies, decisions and the shape of the layer for the Cockpit and the site. The capability registry knows capabilities. Nothing joins the two, and no node type spans both.
- Wanted
- One typed model holds nodes of every kind the repository already indexes, built by reading the registries through the paths every other caller uses, and producing the same output for the same inputs.
- Done when
- unknown: the record declares no `completion`
- Risk
- Composing everything invites a model that knows too much and is slower than the hot path allows. It is built on the reads that already happen, and its cost is measured like every other command's.
Acceptance
- Node kinds come from the kinds the layer already registers, and adding a kind does not require a new variant hand-written in the graph
- Every source is read through the registry that owns it, never by a second traversal of the filesystem
- Generation over identical repository contents produces structurally identical output, with no iteration-order dependence, no random identity and no timestamp inside the canonical data
- The model separates a capability's definition from its runtime state, so that the static projection needs no runtime fields
- Unit tests cover discovery, normalisation, deduplication and ordering
- Validation
cargo test --workspace --all-features- Evidence required
federated_graphdeterministic_output- Evidence present
federated_graphdeterministic_output
Scope
- Touches
apps/majordomus-cli/src/graph.rs- Not
A new store of anything an existing registry already ownsReading the index outside the executor, the cache and the counters that every other read passes throughNode kinds invented here rather than taken from the kinds the layer already registers- Depends on
- none
- Priority
- p0
- Profile
- deep-work
- 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-06T15:48:16Z
- Started
- 2026-09-06T15:33:09Z
- Verified
- unknown: the record declares no `verified_at`
- Completed
- 2026-09-06T15:48:16Z
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.