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

Plan

The milestones and issues of this repository's plan, as the plan derives them.

41milestonesplan.roadmap
424issues shownplan.issues
M002milestone nowplan.roadmap
I0702issue nextplan.next

What to work on

plan.next
Issue
I0702 READY
Title
Decide how a record is attributed, between named alternatives
Milestone
Wave
1
Objective
Choose between the alternatives that actually exist — attribute to the session that ran the command, refuse to write when the active task belongs to somebody else, or require the task to be named explicitly — and record the choice with the case each rejected option gets wrong.

Milestones

plan.roadmap
StatusMilestoneTitleIssuesRankWaiting on
DONEM000Milestone and DAG driven development
15 DONE
0—
DONEM001A blocking question survives a handover
4 DONE
0—
ACTIVE nowM002A durable record names the worker that wrote it
2 BLOCKED1 DONE1 READY
0—
ACTIVE nextM003A session is a durable envelope, and knowledge is compiled from what is already canonical
3 BLOCKED1 CANCELLED11 DONE1 READY
0—
ACTIVEM004Performance is executable evidence, and the hot path does no canonical work twice
1 ACTIVE10 BLOCKED16 DONE10 READY1 VERIFY
0—
DONEfoundationA supervisory control layer that is real rather than described
0—
ACTIVEfly-deploymentThe container image is a projection of the repository model, and its smoke is its evidence
14 BLOCKED9 CANCELLED4 DONE5 READY
0—
PLANNEDweb-sign-inThe deployed surfaces know who is asking, and the identity providers are data
7 BLOCKED1 READY
0—
ACTIVEcapability-graphOne capability graph, two projections, and no second inventory of what this repository can do
15 BLOCKED9 DONE7 READY1 VERIFY
0—
ACTIVEexternal-workspacesAn external workspace is read the way this repository reads anything else, and its content never becomes public by accident
8 BLOCKED1 DONE1 READY
0—
ACTIVEtwo-folder-integrationA repository that adopts Majordomus gains two directories and two lines, and can give them back
22 BLOCKED1 VERIFY
0—
VERIFYderived-data-integrityA committed derivation describes something it can be a projection of
1 DONE
0—
VERIFYwork-graph-githubThe projection to GitHub is gated, identified and traversable, and a merged pull request leads back to the outcome it served
10 DONE
0—
PLANNEDintent-lifecycleWork is traceable to the intent it serves, and an intent is satisfied only by evidence
1 BLOCKED1 READY
0—
ACTIVEdevelopment-runtimeThe runtime has a development surface
11 BLOCKED38 DONE21 READY
0—
ACTIVEtest-evidenceEvery verifiable claim and widget resolves to revision-bound test evidence, on every surface
12 BLOCKED12 DONE4 READY
0—
ACTIVEpublic-proofA visitor sees the product prove itself, and can check every claim it makes
1 DONE1 READY
0—
ACTIVEadopter-upgradesAn adopting repository survives a Majordomus upgrade, and what the tool vendors into it is adopter-neutral
2 BLOCKED10 DONE5 READY
0—
ACTIVEa-second-adopter-is-servedA second adopter is served: what a foreign repository met on its first day is fixed in the tool
1 VERIFY
0—
DONEa-session-leaves-what-it-observedA session leaves what it observed, and the repository routes it
3 DONE
0—
ACTIVEautomationRepository automation is scripted capabilities over typed Rust, not shell
2 BLOCKED2 DONE1 READY
0—
ACTIVEruntime-trustA runtime is safe to reach from another machine, and joining the mesh trusts nobody by accident
1 BLOCKED5 DONE3 READY
0—
ACTIVEruntime-lifecycleOne usable server per checkout starts, attaches, stops and reports its state without races or hidden kills
5 DONE3 READY
0—
ACTIVEmesh-journal-convergesThe cooperation journal is durable, converges under any delivery order, and never lets a stale claim win
1 BLOCKED2 DONE2 READY
0—
VERIFYmcp-transports-are-reliableEvery MCP transport delivers each request at most once, bounds what it carries, and honours cancellation
2 DONE
0—
ACTIVEsurfaces-never-disagreeEvery surface projects the same state, says when it was observed, and keeps no list of its own
3 BLOCKED1 DONE2 READY
0—
ACTIVEfailure-is-visibleEvery failure the runtime can suffer is bounded, tested or stated, and changes the health it reports
3 DONE1 READY
0—
ACTIVEarchitecture-is-enforcedA violated invariant fails a gate, and green means every required check ran
2 DONE1 READY
0—
ACTIVEsafe-self-updateEvery mesh node follows the published release by itself, versions meet safely, and a release's provenance can be checked
3 BLOCKED2 DONE2 READY
0—
PLANNEDevery-session-joins-the-meshEvery LLM session joins the Majordomus mesh at start, told the mesh as work
3 BLOCKED1 READY
0—
ACTIVEtruthful-plan-surfacesThe plan's surfaces are inferred from delivery, and nothing they show is typed beside the repository
4 BLOCKED3 READY2 VERIFY
0—
ACTIVEidd-workspaceThe UI is where the owner directs the work, from an intent to its next move
1 VERIFY
0—
ACTIVEeverything-is-followed-in-one-streamEverything that happens in the repository is followed in one stream
5 BLOCKED1 DONE2 READY
0—
PLANNEDthe-mesh-works-out-of-the-boxThe mesh works out of the box: trusted machines find each other by every means and their sessions cooperate from the first turn
6 READY
0—
PLANNEDruntime-adaptersProfiles become runtime constraints rather than advice
5 BLOCKED1 READY
1—
BLOCKEDintent-planningThe plan of an intent is held to it before execution
2 BLOCKED
1
BLOCKEDexecution-telemetryExecution telemetry, only from providers that expose it honestly
5 BLOCKED
2
BLOCKEDintent-bound-workA task is bound to the intent it serves
5 BLOCKED
2
BLOCKEDcost-per-accepted-outcomeCost per accepted outcome, only on measured data
4 BLOCKED
3
BLOCKEDrouting-recommendationsRouting recommendations derived from measured cost
4 BLOCKED
4
BLOCKEDshared-policyShared policy across repositories and workers
5 BLOCKED
5

Narrow

StatusIssueTitleMilestoneWavePriorityWaiting onEvidence
DONEI0001Audit what actually plans work in this repository0p0—1 of 1
DONEI0002Define the canonical milestone and issue schema1p0—1 of 1
DONEI0003Implement the model loader and the status derivation engine2p0—1 of 1
DONEI0004Implement DAG validation and execution waves3p0—1 of 1
DONEI0005Implement the plan command surface4p0—1 of 1
DONEI0006Generate the Mermaid DAG from the graph4p1—1 of 1
DONEI0007Enforce the canonical model as doctrine5p1—1 of 1
DONEI0008Project the model to GitHub milestones and issues5p1—2 of 2
DONEI0009Project the model into the website5p1—1 of 1
DONEI0010Behavioural tests for schema, status, graph and command4p0—1 of 1
DONEI0011Cross-surface consistency and mutation tests6p0—2 of 2
DONEI0012Make CI refuse an invalid model or a stale projection7p1—1 of 1
DONEI0013Document the semantics and the dogfooding rule5p1—1 of 1
DONEI0014Make the worker instructions require the model6p0—1 of 1
DONEI0015Open the first real milestone and execute one issue through it8p0—1 of 1
DONEI0101Reproduce the escaped blocker as an executable case0p1—1 of 1
DONEI0102Decide whether a question transfers or the gate widens1p1—1 of 1
DONEI0103Implement the decision and prove it holds2p1—1 of 1
DONEI0104Move the claim from planned to guaranteed3p2—1 of 1
READYI0201Declare which profile axis may become which runtime limit0p1—0 of 1
BLOCKEDI0202Resolve a task's effective limits and print them as data1p10 of 1
BLOCKEDI0203Make enforcement opt-in, and prove a repository that declines is unaffected2p10 of 1
BLOCKEDI0204Apply one derived limit for real and prove it changes what happens3p10 of 2
BLOCKEDI0205Declare the clamp as a doctrine so the mapping and the adapter cannot drift4p20 of 2
BLOCKEDI0206Publish the runtime-adapters claim with the test that proves it and the limits it does not cover5p20 of 1
BLOCKEDI0301Define the execution record, including what an absence looks like0p20 of 1
BLOCKEDI0302Record telemetry a provider reports, and refuse anything it did not1p20 of 1
BLOCKEDI0303Prove a silent provider produces an explicit absence, never a guess2p20 of 1
BLOCKEDI0304Read the measurements back through the history surface, under a bound3p20 of 1
BLOCKEDI0305Publish the telemetry claim and record what remains unmeasured4p30 of 1
BLOCKEDI0401Define an accepted outcome, and join it to its measurements without storing the join0p20 of 1
BLOCKEDI0402Report cost only where measurement and acceptance both exist1p20 of 1
BLOCKEDI0403Make a thin denominator say so rather than average it away2p20 of 1
BLOCKEDI0404Publish the cost-per-outcome claim with its unit defined beside it3p30 of 1
BLOCKEDI0501Group comparable work from what the records already carry0p30 of 1
BLOCKEDI0502Recommend a profile from measured cost, naming the measurements1p30 of 1
BLOCKEDI0503Return no recommendation where the data is too thin, and say why2p30 of 1
BLOCKEDI0504Prove the recommendation is advisory and publish it as such3p30 of 2
BLOCKEDI0601Let a policy name a shared source it does not copy0p30 of 1
BLOCKEDI0602Make a local override explicit and prove it survives an update of the shared source1p30 of 1
BLOCKEDI0603Report drift from the shared policy in one command2p30 of 1
BLOCKEDI0604Prove the offline guarantee survives sharing3p30 of 2
BLOCKEDI0605Publish the shared-policy claim and what sharing still cannot do4p30 of 1
DONEI0701Reproduce the misattribution as an executable case0p1—1 of 1
READYI0702Decide how a record is attributed, between named alternatives1p1—0 of 1
BLOCKEDI0703Implement the decision and prove it holds2p10 of 2
BLOCKEDI0704Publish what attribution guarantees, and what it still cannot3p20 of 1
DONEI0801Narrow the Clean Extraction Boundary and record what was adopted0p1—1 of 1
DONEI0802Specify the session record before writing one0p1—1 of 1
DONEI0803Open a session and report its status1p1—1 of 1
DONEI0804Close a session into an envelope derived from the ledger2p1—2 of 2
DONEI0805Read sessions back with a divergence label3p1—1 of 1
DONEI0806Make the session rules doctrines, with retention and archiving4p1—1 of 1
DONEI0807Discover knowledge sources from git, not from the filesystem1p1—1 of 1
DONEI0808Extract nodes with identities that survive a rebuild2p1—2 of 2
DONEI0809Record only edges that a file states, each with where it was observed3p1—2 of 2
CANCELLEDI0810A content-hash manifest that makes a second sync cheap4p1—0 of 2
DONEI0811Read-only knowledge lookup with an ordering that can be explained4p1—2 of 2
READYI0812Validate the graph, and let doctor and watch ask the same validator5p1—0 of 2
BLOCKEDI0813A closed session becomes a node that points at its episode6p10 of 1
DONEI0814Give the worker a bounded slice of knowledge, not the knowledge base5p1—1 of 1
BLOCKEDI0815Say what is now true in the claims, the documentation and the worker instructions7p10 of 2
BLOCKEDI0816Prove the loop on a real issue, without a transcript8p10 of 1
DONEI0817Phase timing and work counters behind MJ_TIMING0p0—1 of 1
DONEI0818The command registry is read in one pass1p0—1 of 1
DONEI0819The project model is loaded with one flatten per file and no per-file lookups1p0—1 of 1
READYI0820Catalogue, DAG, context and command-surface validators read their inputs once2p0—0 of 1
READYI0821Flattened YAML is cached under .ai/local/cache by content hash1p0—0 of 1
BLOCKEDI0822Every canonical file is flattened at most once per command3p00 of 1
DONEI0823majordomus bench: targets derived from the command registry1p0—1 of 1
DONEI0824Bench persists local runs and keeps a latest projection2p0—1 of 1
DONEI0825An explicit committed baseline3p0—1 of 1
DONEI0826bench --check refuses a regression by policy4p0—1 of 1
DONEI0827The benchmark policy block2p0—1 of 1
BLOCKEDI0828doctor under a declared budget, and the hook inherits it3p00 of 1
DONEI0829Performance doctrine as project rules0p0—1 of 1
DONEI0830docs/PERFORMANCE.md, README, CONTRIBUTING and CLI reference5p0—1 of 1
BLOCKEDI0831Performance claims at their proven status5p00 of 1
READYI0832generate-site-data instrumented and its hot spots removed2p0—0 of 1
DONEI0833knowledge nodes and edges read each source once1p0—1 of 1
BLOCKEDI0834The test runner reports per-case time and the suite budget4p00 of 1
BLOCKEDI0835CI runs the structural performance checks5p00 of 1
DONEI0836A synthetic repository generator for scaling cases2p0—1 of 1
DONEI0837Timing report as JSON1p0—1 of 1
READYI0838bench compare and the top regressions report5p0—0 of 1
BLOCKEDI0839watch inherits every doctor fix and its own budget4p00 of 1
BLOCKEDI0840context and its subcommands under a second3p00 of 1
BLOCKEDI0841Cache equivalence proved by property-shaped cases2p00 of 1
BLOCKEDI0842Before and after evidence for every optimisation3p00 of 1
BLOCKEDI0843The performance workflow is discoverable and complete6p00 of 1
DONEI0901The deployment description is a kind of the layer, not a provider file0p0—4 of 4
DONEI0902The deployment object becomes typed Rust that refuses nonsense1p0—3 of 3
DONEI0903Deployment reads are declared once and projected everywhere2p0—4 of 4
DONEI0904The listen address is one fact with two projections2p0—3 of 3
READYI0905Liveness and readiness are registered capabilities, not router hacks2p0—0 of 3
READYI0906Termination is graceful and proved against the real container3p1—0 of 3
READYI0907The running process says what it is, from an allowlist2p1—0 of 3
READYI0908A hosted process has no repository, and says so instead of failing2p0—0 of 3
BLOCKEDI0909The production image is a generated projection of the build specification3p00 of 4
BLOCKEDI0910The release profile is chosen by measurement, not by folklore4p10 of 2
BLOCKEDI0911A source change does not rebuild the world, and the context stays small4p10 of 3
BLOCKEDI0912The image serves the site the canonical pipeline produced4p00 of 3
CANCELLEDI0913The provider configuration is generated, and the cheap profile is declared3p0—0 of 4
CANCELLEDI0914One deployment core, one command, and a dry run that mutates nothing4p00 of 4
CANCELLEDI0915Deployment joins the diagnostics that already exist5p00 of 3
BLOCKEDI0916The smoke suite is derived from the route registry, never written twice5p00 of 4
CANCELLEDI0917A bad deployment can be undone deterministically5p10 of 2
CANCELLEDI0918The bootstrap credential is used once and belongs to nothing2p0—0 of 3
BLOCKEDI0919Nothing secret and nothing local leaves in the image4p00 of 3
BLOCKEDI0920The image's dependencies are known and its advisories are policy4p20 of 4
BLOCKEDI0921Size is measured first and budgeted second5p10 of 3
CANCELLEDI0922The memory hypothesis is tested, not asserted6p00 of 3
BLOCKEDI0923Cold start and endpoint cost are benchmark targets like everything else6p10 of 3
CANCELLEDI0924The decision is recorded where architecture decisions are recorded1p1—0 of 1
BLOCKEDI0925Every deployment rule is a check that runs6p00 of 3
BLOCKEDI0926The deployment documentation is generated and reachable4p10 of 3
READYI0927The cockpit shows the deployment from the same data3p2—0 of 3
BLOCKEDI0928A pull request cannot merge a deployment that would not work6p00 of 2
CANCELLEDI0929Production deploys from CI with a token scoped to one application8p10 of 3
BLOCKEDI0930The real image runs under the real limits before anything is deployed5p00 of 4
CANCELLEDI0931The application exists, one machine runs it, and the URL answers7p00 of 4
BLOCKEDI0932The milestone is accepted on its evidence9p00 of 3
DONEI1001One typed graph composes the registries that already own their facts0p0—2 of 2
DONEI1002Relations are typed, inferred from stable identities, and never dangle1p0—2 of 2
DONEI1003Skills, rules, decisions, documents, use cases and benchmarks enter the graph as themselves1p0—2 of 2
DONEI1004Availability and visibility are metadata, not conditions in a template1p0—2 of 2
DONEI1005The graph is a generated artifact with a schema and no unsafe field2p0—3 of 3
DONEI1006The runtime reads the graph through the registry, like every other read3p1—2 of 2
READYI1007The site renders the same graph, generated once3p0—0 of 2
BLOCKEDI1008The two projections are proved to be the same model4p00 of 1
READYI1009Every menu in this repository comes from one derivation3p0—0 of 2
READYI1010The overview is what exists, counted rather than claimed3p1—0 of 2
READYI1011The coverage matrix reports evidence, and never a green cell without one2p0—0 of 2
READYI1012One detail view, assembled from what a node actually has3p1—0 of 3
BLOCKEDI1013Search over the graph, generated, with nothing to run4p20 of 2
BLOCKEDI1014The relation view reads the graph and holds no data of its own4p20 of 3
DONEI1015A surface with no server behind it is not offered as if it had one2p0—2 of 2
BLOCKEDI1016The Cockpit works on a phone and before JavaScript runs4p00 of 3
READYI1017Live state is an overlay that degrades to nothing4p2—0 of 2
BLOCKEDI1018The surface rules exist as checks, proved by making them fail3p00 of 2
BLOCKEDI1019One skill runs the whole loop, and is itself in the graph4p20 of 2
BLOCKEDI1020The graph's health is answered by the doctor that already answers everything else4p10 of 2
BLOCKEDI1021A browser proves the interface, at the widths people use5p10 of 2
BLOCKEDI1022Drift in any derived surface fails the build4p00 of 2
READYI1023Nothing private reaches a published page3p0—0 of 2
BLOCKEDI1024The interface has a weight, and it is measured5p20 of 2
DONEI1025The federated model and its two projections are an architecture decision1p1—1 of 1
BLOCKEDI1026The architecture explains itself, from inside itself4p10 of 2
BLOCKEDI1027A synthetic capability proves the architecture instead of describing it5p00 of 2
BLOCKEDI1028The inventories this replaces are removed, not left running beside it4p10 of 2
BLOCKEDI1029The gate refuses what would silently break the interface6p10 of 2
BLOCKEDI1030The milestone is accepted on its evidence7p00 of 3
VERIFYI1031A served surface says which checkout it is serving0p1—2 of 2
VERIFYI1101What this tool leaves behind, established by inspection rather than by memory0p0—2 of 2
BLOCKEDI1102The two namespaces are a typed contract, not a habit1p00 of 2
BLOCKEDI1103Whether a file is authored or derived is a field, not a naming convention2p00 of 2
BLOCKEDI1104Both namespaces carry their contracts, all the way down2p10 of 2
BLOCKEDI1105The repository is discovered once, into one model1p00 of 2
BLOCKEDI1106The registries are views of the model, not separate discoveries2p00 of 2
BLOCKEDI1107Discovery is deterministic, cached, and its cost is known3p10 of 3
BLOCKEDI1108The desired integration is a value, and the plan is a diff3p00 of 3
BLOCKEDI1109Everything placed outside the two namespaces is recorded, with what it was4p00 of 2
BLOCKEDI1110The second run changes nothing, and a test says so5p00 of 2
BLOCKEDI1111Uninstall gives back exactly what was taken5p00 of 3
BLOCKEDI1112What touches the root is two small blocks, and they never change again5p00 of 2
BLOCKEDI1113Entering a directory is local, bounded and silent about the network6p10 of 2
BLOCKEDI1114A provider is an adapter over the model, and adding one is an implementation6p10 of 2
BLOCKEDI1115Completion comes from the command model, not from a second list7p20 of 1
BLOCKEDI1116This repository's own footprint moves, through the reconciler6p00 of 3
BLOCKEDI1117The hand-maintained lists are removed, not left running beside the derivation3p10 of 2
BLOCKEDI1118Every invariant of this milestone is a rule with a check that runs7p00 of 3
BLOCKEDI1119The budgets are measured, and a regression fails rather than being noticed7p20 of 2
BLOCKEDI1120A refusal says what to do about it4p10 of 1
BLOCKEDI1121Every surface shows the integration from the one model6p10 of 2
BLOCKEDI1122A foreign repository, adopted, upgraded and given back7p00 of 3
BLOCKEDI1123The milestone is accepted on its evidence8p00 of 3
READYI1201An identity provider is a declarative object, and Google and Facebook are two of them0p0—0 of 3
BLOCKEDI1202One typed provider model reads the objects, and no code names a provider1p00 of 3
BLOCKEDI1203One flow serves every provider, and it refuses everything it did not start2p00 of 3
BLOCKEDI1204The session is signed, short, and revocable from the server3p00 of 3
BLOCKEDI1205Identity is resolved once, in the router, and every surface reads it from there4p10 of 2
BLOCKEDI1206What an anonymous reader may do is derived from the effect classification, not from a list5p10 of 3
BLOCKEDI1207No credential reaches any output, and hostile provider metadata renders safely4p00 of 3
BLOCKEDI1208Adding a provider is one file, removing one is one deletion, and both are executed rather than described6p10 of 3
DONEI1301A workspace is a declared object of the layer; only its content is local0p0—4 of 4
READYI1302Identity, provenance and support level are typed fields, not prose1p0—0 of 4
BLOCKEDI1303The store is bounded, measured and invisible to every published projection2p00 of 4
BLOCKEDI1304The browser transport is the one this repository already drives2p00 of 5
BLOCKEDI1305An observed contract has a fingerprint, a compatibility state and a fixture3p10 of 5
BLOCKEDI1306A sync resumes, repeats itself without harm, and says how fresh it is4p10 of 4
BLOCKEDI1307The ChatGPT shape is mapped from evidence and never becomes the canonical model4p10 of 4
BLOCKEDI1308The executable's share is one capability, shaped like continuity3p10 of 4
BLOCKEDI1309The boundaries this milestone asserts are gates, not sentences4p00 of 5
BLOCKEDI1310The subsystem is documented where a person looks, and the plan is closed against the repository5p20 of 4
DONEI1401The identity of a projected record is what the record carries, not what its title says0p0—2 of 2
DONEI1402A finding says which of six states it found, and the state that could hide a person's edit is no longer one of them1p1—2 of 2
DONEI1403Backfill the projection once, deliberately, and record what it created3p0—1 of 1
DONEI1404The drift check is a gate, so a projection that stops being applied cannot stay silent2p0—2 of 1
DONEI1405A pull request names the issue it realises, and the edge is derived rather than remembered1p1—1 of 1
DONEI1406The plan's derivations are capabilities, so every surface reads the readiness the terminal reads0p1—2 of 2
DONEI1407One issue travels the whole path and back, as an executable case3p1—1 of 1
DONEI1408The documents stop claiming a projection nobody runs3p2—1 of 1
DONEI1409Derived data stops hashing inputs it cannot control0p1—3 of 3
DONEI1501An execution a person starts is an execution the server can see0p0—2 of 2
DONEI1502A server serving code that no longer exists stops calling itself ready0p0—2 of 2
DONEI1503A closed session is not closed a second time under the same identity0p0—2 of 2
READYI1504One development transition is a capability, end to end0p0—0 of 3
BLOCKEDI1505A mutating capability leaves a durable event, and the ledger can be read back1p10 of 2
BLOCKEDI1506The lifecycle commands become non-interactive capabilities2p10 of 2
BLOCKEDI1507Issues, milestones, sessions and peers reach the Cockpit as projections3p20 of 2
DONEI1508The navigation is derived from the dispatcher, not kept beside it0p1—2 of 2
DONEI1509A detail page that pages nothing has outgrown the reason it pages nothing0p1—2 of 2
DONEI1510A gap the audit calls planned names a plan object that exists0p1—2 of 2
DONEI1511The documentation surface answers in a checkout that has not built the site0p2—1 of 1
READYI1512Gate state is something the runtime can answer0p2—0 of 2
DONEI1516The adapter composes a projected body in one place0p0—2 of 2
DONEI1520A step that runs out of time says so itself0p1—2 of 2
DONEI1600The challenge is one recorded run, and every public surface replays it0p1—3 of 3
READYI1800The sandboxed engine a scripted capability runs in0p1—0 of 1
BLOCKEDI1801A scripted capability is a kind, discovered and registered, runnable and projected like any capability1p10 of 2
DONEI1802Nothing runs Perl0p1—1 of 1
DONEI1803New shell is refused without a declared exemption, and the migration inventory is tracked0p1—1 of 1
BLOCKEDI1804The first shell scripts become scripted capabilities over typed Rust2p20 of 1
READYI1900An intent is a typed record whose stage and satisfaction are derived0p1—0 of 2
BLOCKEDI1901An issue names the intent criterion it serves, and coverage is derived1p10 of 2
BLOCKEDI1902The gap and the critique of an intent are typed records the plan is held to2p10 of 2
BLOCKEDI1903The work realising an intent is joined across episodes, providers and handovers1p10 of 2
DONEI1945The test-evidence decision and its plan are recorded0p1—2 of 2
DONEI1946The verdict words are status words of the design system0p1—1 of 1
DONEI1947Every feature reaches a test, and every use case has a feature0p1—2 of 2
DONEI1948Evidence is judged at the presented revision, by one freshness function0p1—3 of 3
DONEI1949CI evidence is recorded clean, and its report is the tracked ledger's verdict0p1—2 of 2
DONEI1950Text a run printed is redacted by one rule set0p1—1 of 1
READYI1951Evidence runs are typed, and a recording carries what its run measured1p1—0 of 3
DONEI1952Evidence subjects are derived once, in Rust1p1—2 of 2
BLOCKEDI1953Evidence answers by subject, on every surface2p10 of 2
BLOCKEDI1954Every runner reaches the ledger, through the recording branch2p10 of 4
BLOCKEDI1955The evidence publication is an allow-listed projection3p10 of 2
BLOCKEDI1956The Cockpit shows evidence by subject3p20 of 1
BLOCKEDI1957Every test line is read, and a local run stays local4p20 of 2
BLOCKEDI1958Evidence has one route per subject, and every panel is joined to its subject4p10 of 2
BLOCKEDI1959The evidence publication is typed, bound to its build, and kept on gh-pages4p10 of 2
BLOCKEDI1960Every widget names its proof5p10 of 2
BLOCKEDI1961A deploy verifies the evidence routes it publishes5p10 of 1
BLOCKEDI1962The evidence gates read subject findings and widgets6p10 of 2
BLOCKEDI1963Evidence is tested end to end6p10 of 3
BLOCKEDI1964The evidence reference is documented and held to the tree7p20 of 1
READYI1965The entry preflight reads the one verdict1p2—0 of 1
DONEI1966The composed graph is whole or its generation refuses0p1—3 of 3
DONEI1967A reporter that sets a flag is a reporter0p2—1 of 1
READYI1980A layer names the tool version it was written for, and doctor tells version skew from defects0p0—0 of 3
DONEI1981A command's effect class is declared per subcommand and flag, and live scenarios judge the whole argv0p0—4 of 2
BLOCKEDI1982Plan stamps written before seals existed are re-sealed by a command that keeps their original times1p10 of 2
BLOCKEDI1983Upgrading the vendored rules reports or applies the policy and source keys those rules depend on1p10 of 1
DONEI1984Knowledge candidates never leave untracked files on a trunk that only pull requests change0p1—2 of 2
READYI1985A knowledge candidate relates to its own decision and commit, not to the whole episode1p2—0 of 1
DONEI1986The vendored rule package says nothing that is only true of this repository0p2—2 of 2
DONEI1987A knowledge record's file provenance survives the file's deletion0p2—1 of 1
READYI1988A use case's setup scripts live where the adopter declares, and its scenarios may run the adopter's own commands1p2—0 of 1
DONEI1989init seeds a scope for the stack it finds, not for this repository's0p3—1 of 1
READYI1990The pre-push check judges the refs being pushed, or says why the checkout's task binds them0p3—1 of 2
DONEI1991A comment-only edit of the policy regenerates no bootstrap0p3—1 of 1
DONEI1992A rebuild that fails consumes no change: the next request retries it0p2—1 of 1
DONEI1995Work a session left uncommitted in a worktree is named, not found by luck0p1—2 of 2
DONEI1996doctor does not fail an adopter on a check written for this repository0p2—2 of 2
READYI1997The peer board can be read from the command line0p1—0 of 2
DONEI1998A health command in an unsupervised repository does not exit 00p2—1 of 1
READYI1999A tracked file a hook regenerates does not refuse a task that never touched it0p2—0 of 2
BLOCKEDI2000What a piece of work serves is one derivation, with a revision0p10 of 4
BLOCKEDI2001start asks what the task serves and refuses a refused binding where the policy requires it1p10 of 4
BLOCKEDI2002The context of a bound task says what the intent asks of this work2p10 of 1
BLOCKEDI2003A handover pins the binding it was written under, and resolving it reports drift2p10 of 1
BLOCKEDI2004plan start refuses an issue whose binding is refused, in both engines1p10 of 1
DONEI2054A tag does not turn every other pull request red until its record lands0p1—1 of 1
READYI2059A rebuild never replaces the executable a live lease names0p1—0 of 2
VERIFYI2068A verdict that depends on the runner says so, and one cold sample is not a regression0p2—2 of 2
DONEI2073A worker records an observation in one command0p1—1 of 1
DONEI2074An observation becomes a candidate that says what it is about, and reading groups recurrence1p1—1 of 1
DONEI2075A candidate is routed by what it is about2p1—1 of 1
READYI2114A task's scope admits what its derive writes0p2—0 of 2
DONEI2123A caller beyond loopback reads, and changes nothing it cannot authenticate0p0—2 of 2
DONEI2124An event reloaded from disk meets the trust policy in force, and no stamp outruns the clock0p0—1 of 1
DONEI2126A server busy with tool calls is never taken over as if it were dead0p1—1 of 1
DONEI2127A server that lost its lease hands its sessions on and ends0p1—2 of 2
DONEI2128A lease is removed only by the process that holds it, and serve stop stops the server in order0p1—3 of 3
DONEI2129The lease timings the policy declares are the ones the mcp and serve elections use0p2—1 of 1
DONEI2131A server in use through the Cockpit or HTTP is not stopped as idle, and a checkout keeps one address0p1—1 of 1
READYI2132A hello names the runtime it is meant for, and no other runtime accepts it0p1—0 of 1
DONEI2133Every mesh input and answer has a bound, and a refused registration learns nothing0p1—2 of 2
DONEI2134A key removed from the trust list loses its links without a restart, and a node key can be rotated0p0—2 of 2
DONEI2135The trust root is read from the default branch, not from whatever the checkout holds0p0—2 of 2
DONEI2137An accepted mesh event is on disk before it counts, and a damaged journal line is reported, never fused or dropped silently0p0—3 of 3
DONEI2139A sync message stays under the link bound whatever the marks weigh0p1—1 of 1
READYI2140Paging mesh.events returns every event exactly once0p2—0 of 1
DONEI2145A tool call that may have run is never sent a second time0p0—2 of 2
DONEI2147The MCP transports bound what they read and follow the Streamable HTTP rules they claim0p2—3 of 3
DONEI2151A page served beside the write routes runs only script it shipped, and a rebinding host reads nothing0p0—3 of 3
DONEI2156A slow or silent HTTP client cannot hold a server worker0p1—1 of 1
DONEI2157Ready means ready: a lost lease, a degraded layer or a failing mesh is not reported ready0p1—2 of 2
DONEI2161No answer, log line or mesh frame carries a credential the redactor knows0p1—1 of 1
DONEI2162A released archive, installed, serves a foreign repository over the shared server in CI0p1—2 of 2
DONEI2163A client never attaches to a server of another version without saying so, and a newer client replaces an older server1p1—2 of 2
DONEI2165A released archive carries a provenance attestation the installer can check0p1—2 of 2
READYI2282The record pull request's dispatched verdict does not satisfy branch protection0p1—0 of 2
BLOCKEDI2288A task is on the mesh while it works1p00 of 1
BLOCKEDI2289A task built off the mesh is refused2p00 of 1
DONEI2296The executor reopens a record pull request no run was started for0p1—2 of 2
DONEI2298A pull request stacked on one that landed merges on the verdict its head already has0p1—2 of 2
DONEI2300A head is judged against what it changes, not against GitHub's live state0p1—2 of 2
DONEI2301Whether the work is done is answered by measurement: the done invariant asks about debt, what was left behind and the backlog0p1—2 of 2
DONEI2303A release publishes its metadata to the site before its record lands, and the site never goes back a release0p0—2 of 2
DONEI2396The CI critical path of 2026-10-10 is measured, recorded, and explained before anything is changed0p0—1 of 1
DONEI2398A derive offloaded to another machine waits its turn in a declared queue0p1—2 of 2
DONEI2399Every session briefs itself on an interval, without being asked0p1—2 of 2
DONEI2400A signal model and a fold join every source the server already records0p1—1 of 1
READYI2401monitor is one read capability with three projections1p1—0 of 1
BLOCKEDI2402majordomus monitor follows the stream from a terminal and a script2p10 of 1
READYI2403Pull requests, checks and deploys reach the stream when GitHub is reachable1p2—0 of 1
BLOCKEDI2404The Cockpit shows the stream live2p10 of 1
BLOCKEDI2405Every session is told what happened since its last look2p10 of 1
BLOCKEDI2406The stream is documented where a reader looks3p20 of 1
BLOCKEDI2407The monitor is released and deployed4p10 of 1
READYI2410A trusted machine on the tailnet is found through Tailscale, with no address written by hand0p0—0 of 1
READYI2411A server whose mesh is enabled is reachable on the tailnet and the LAN, and only by a trusted peer0p0—0 of 1
READYI2412`majordomus init` declares the mesh and enrols this machine's key, so a fresh repository cooperates0p1—0 of 1
READYI2413A linked worktree cooperates through its repository's running server, and a start that cannot ensure one says why0p1—0 of 1
READYI2414mesh.state and mesh.peers answer a filtered summary that fits one tool answer0p1—0 of 1
READYI2415A mesh review request carries a body, can be withdrawn, and expires0p2—0 of 1
DONEI2416The ci verdict asks every selected gate for a receipt, and a gate whose step never ran is red0p1—1 of 1
READYI2417The landing page is a click-through story: an editorial hero and an evidence chain a visitor steps through0p1—0 of 1
DONEI2460The overview asks its sources at once, so it costs its slowest source and not their sum0p1—2 of 2
DONEI2461majordomus ui is served at /ui as its own product, with screens composed from capabilities0p1—3 of 3
DONEI2462The UI has every screen, and its mesh is a graph whose nodes open an inspector1p1—2 of 2
DONEI2463A train of stacked pull requests is a typed object, served everywhere and drawn as a graph0p2—2 of 2
DONEI2464A path that holds a space is one path to the scope doctrine0p1—1 of 1
DONEI2470The pull requests drain in the UI: a queue a reader narrows, inspects and follows to what each depends on2p1—2 of 2
DONEI2471The roadmap opens a milestone: what it holds, what can start, its critical path, and what it waits for3p1—2 of 2
DONEI2472How long CI takes is measured, from when each run started to when it completed, and the CI/CD screen draws it4p1—2 of 2
DONEI2473A pull request shows its trail: what the executor did to it, and the drain what the lane did lately3p1—2 of 2
DONEI2474The drain draws its merge throughput: each day's merges over the fortnight its trail ends on4p1—2 of 2
DONEI2475The issues are browsed: every issue of the plan by status, milestone, priority or text, each a link onward4p1—2 of 2
DONEI2476An intent opens what serves it: its statement, its criteria and their evidence, and the milestones and issues that serve it4p1—2 of 2
DONEI2477A claim opens its proof: what settles it, its last run, what changed since, how to see it again2p1—2 of 2
DONEI2478A rule opens its proof: what it states, the tests that prove it, what is missing, and the rules around it2p1—2 of 2
DONEI2481The UI links every entity it names, and says none where a source has no value3p1—1 of 1
READYI2482Every screen of the UI has a case, and no link on the UI is dead4p1—0 of 2
DONEI2483The UI is published as a snapshot: read once at the published commit and carried by the site at /ui2p1—4 of 4
READYI2484majordomus ui ensures the shared server and opens the UI's dashboard1p1—0 of 2
READYI2485The bench measures the first request after the repository moved, and a budget bounds it3p2—0 of 2
DONEI2486No screen waits for a source: a page shows the latest reading with its age, read again behind the reader1p0—4 of 4
READYI2487A screen is streamed, and one stream tells an open page which readings changed2p1—0 of 4
READYI2488The HTTP stack is chosen by measurement: the same routes and several hundred open streams on tiny_http and on axum2p1—0 of 2
DONEI2489A screen over its budget fails the build: the UI's latency budgets are benchmark policy, and bench --check holds them2p1—3 of 3
DONEI2491A personal layer changes nothing shared: init --personal and install.sh --personal keep the layer one person's own, verify it, and --shared hands it to the team0p1—2 of 2
DONEI2495The Cockpit is published as a snapshot at /cockpit, and the UI's evidence links lead to it3p0—3 of 3
VERIFYI2601majordomus evidence reaches record, stamp and show0p1—1 of 1
READYI2652The UI shows what the knowledge base holds: the candidates awaiting review and whether the deriver still writes, read and never acted on2p1—0 of 3
READYI2653Every diagram on the site is one interactive, linkable viewer whose node links are inferred, and a derived table can be drawn as a chart0p2—0 of 3
BLOCKEDI2654A chart is held to its table by a gate, and the tables that are measured series are drawn1p30 of 2
BLOCKEDI2655The homepage decides whether it carries a derived figure, within its declared story and budget1p30 of 1
BLOCKEDI2656The diagram viewer serves the Cockpit and majordomus ui, and a node that is a repository file links to its source1p30 of 2
READYI2660The site is published as an artifact by the job that built it, so a ready site waits for no second workflow0p1—0 of 2
READYI2661A publication that did not arrive is a finding the next reader meets, never a green step0p1—0 of 2
READYI2662Validation leaves the deployment a runner: a branch's checks never hold the pool a publication or a release record needs0p1—0 of 2
READYI2663The published UI is not read from nothing on every deployment3p1—0 of 2
DONEI2664A run that has already failed is cancelled by itself, and a red on the trunk is fixed before anything else is prepared0p1—2 of 2
READYI2670A build-cache offer is a typed model and its selection is a pure, explained function0p1—0 of 1
BLOCKEDI2671A provider offers its cache as a signed, expiring mesh record, and a stopped provider goes stale1p10 of 2
BLOCKEDI2672The offers and the selection are one read, projected to CLI, MCP, HTTP and OpenAPI1p10 of 1
BLOCKEDI2673The sccache client configuration is derived from the selected offer, local disk first2p10 of 2
BLOCKEDI2674A node is provisioned as an S3 cache provider, idempotently, with no secret in the repository1p10 of 2
BLOCKEDI2675Build-cache health, headroom and hit statistics are visible where the mesh is2p20 of 2
BLOCKEDI2676The build cache is verified and validated: failure paths, security and a real second-node hit3p10 of 2
BLOCKEDI2677The build cache is documented, governed by a rule and described on the site and the Pages2p20 of 1
DONEI2678The public Observatory replays events that were recorded, and says it is a replay0p2—1 of 1
DONEI2679The Observatory follows a stream with a cursor instead of asking for its page again0p2—1 of 1
DONEI2680The Observatory's gates are closed with evidence: screenshots, measured frame rates, a soak, the recovery drills0p2—1 of 1
READYI2694A promoted note resolves in every checkout, not only where it was promoted0p1—0 of 1
READYI2695The Observatory draws the proof, claim, surface, wave and release scenes from the capabilities that already answer them0p2—0 of 1
READYI2696p5 is a built, optional asset of the UI and the page says where it is0p2—0 of 1
READYI2697The public snapshot carries the p5 library, or says which scenes it cannot draw0p3—0 of 1
READYI2698The new scenes have screenshot evidence at 1080p and 4K on a named revision0p3—0 of 1
READYI2700A lease probe asks a cheap liveness route, and a server holding another lease token is not taken for the leaseholder1p1—0 of 1
READYI2701The idle timeout is declared beside the other server timings, and serve --idle overrides the declaration1p2—0 of 1
READYI2702A checkout keeps one address across restarts, because its server binds a port derived from the checkout1p1—0 of 1
BLOCKEDI2703The mesh cooperation rule lists the hello checks in the order the code runs them, and a test names that order1p10 of 1
READYI2704A dialer reads no reply beyond the link bound and no more candidates than the bound, and a refusing peer is retried at a measured, jittered rate1p1—0 of 2
READYI2705A node key can be rotated, peers follow the new key, and the old key is refused1p0—0 of 1
READYI2706An own event whose append failed is never acknowledged as durable, and a journal reload is bounded in size1p0—0 of 2
DONEI2707majordomus doctor reports a stale server, or says plainly that it checks governance only1p1—1 of 1
READYI2708A mesh event field nobody listed fails the mesh check, and no log field or review body carries a credential the redactor knows1p1—2 of 2
READYI2709A red on the trunk has one named carrier, and nobody else may land until it is paid1p1—0 of 1
DONEI2710A release run never waits behind pull-request validates for a job slot0p0—1 of 1
DONEI2711The pages job judges production only after the deployment of its own commit has arrived0p0—1 of 1
DONEI2712release-check treats a tag whose release run is still going as pending, not as a missing record1p1—1 of 1
READYI2713A build never lets idle incremental sessions fill the disk0p0—0 of 1
READYI2714One build directory never serves two worktrees' jobs at once0p1—0 of 1
DONEI2715New public Rust code meets rust-quality before the structure job does0p1—1 of 1
ACTIVEI2716A case derives its budgets and lists from what it tests, never pins them0p2—0 of 1
READYI2717A release record pull request gets a verdict that can pass0p0—0 of 1
READYI2718A linked worktree runs its own hooks, never the primary checkout's0p0—0 of 1
READYI2720majordomus self update re-runs the published installer, and never reimplements it0p0—0 of 2
BLOCKEDI2721An enrolled mesh node follows the stable pointer by itself1p00 of 2
BLOCKEDI2722A hub activates a new version under its service manager, checks its health and rolls back by itself1p00 of 2
READYI2723The mesh shows each node's version and how far a release has rolled out0p1—0 of 1
BLOCKEDI2724A node without a route to the site takes the archive from a peer and still verifies it itself1p10 of 1
READYI2731Every failure class in the published failure table names its test or its stated limitation0p1—0 of 1
BLOCKEDI2733A resumed mesh.events walk returns every event exactly once, across partitions1p20 of 1
READYI2734A session joins the mesh at its start and leaves it at its end0p0—0 of 1
BLOCKEDI2735An edit no claim covers is refused3p00 of 2
READYI2740An issue's delivery is inferred from branches, pull requests, merges, tags and the published site0p0—0 of 2
BLOCKEDI2741Merged work the plan has not recorded is drift, and on the trunk past a window it is red1p00 of 2
READYI2742A milestone's version is inferred from the release that carried it, never typed0p0—0 of 1
BLOCKEDI2743The public roadmap draws every milestone in the graph's order, each issue with its inferred delivery1p00 of 1
BLOCKEDI2744The UI roadmap reads delivery and the releases themselves, and its now is where work is1p00 of 1
VERIFYI2745The landing page states no present it does not read0p0—1 of 1
VERIFYI2746Every published tree draws its diagrams, and every diagram is the interactive viewer0p0—1 of 1
READYI2747Every code block on every surface is highlighted by one engine with one palette0p1—0 of 1
BLOCKEDI2748The drift already on the trunk is settled before the gate is made blocking2p00 of 1
READYI2760A scope entry is one path, and a path context would refuse is refused at start0p1—0 of 1
READYI2770majordomus ui and the Cockpit wear the site's navbar: one renderer, the same styles and scripts, and a browser comparison that refuses a difference0p1—0 of 2
VERIFYI2780The UI has an intent workspace: an intent, its milestones, issues, waves and graph on one screen0p0—1 of 1
READYI2786The published UI reads the evidence CI recorded, and a publication that would show tests as not run is refused0p0—0 of 1
BLOCKEDI2787A build never lets the shared build directory's crate artifacts fill the disk1p00 of 1