Expand description
The executable capabilities this executable ships: one Rust module per capability
module, each owning its typed inputs and outputs, its handlers, its benchmark cases
and its module() composition; modules composes the application from them with
compose_modules!, and that list is the only root composition there is. Adding a
capability to an existing module touches that module’s file alone; every projection,
benchmark target and generated document follows from the descriptor.
use majordomus_cli::capability::builtin;
// the application is its modules, and each module stamps its namespace on what it holds
let modules = builtin::modules();
assert!(modules.iter().any(|m| m.id.as_str() == "repository"));
for module in &modules {
for e in &module.capabilities {
assert_eq!(
e.capability.id.namespace(),
module.id.as_str(),
"{} is composed into the wrong module",
e.capability.id
);
}
}
// and `all` is the same set flattened, for a registry built without module metadata
let flattened = builtin::all().len();
assert_eq!(
flattened,
modules.iter().map(|m| m.capabilities.len()).sum::<usize>()
);Re-exports§
pub use artifacts::ArtifactReport;pub use artifacts::ArtifactState;pub use artifacts::ArtifactTallies;pub use artifacts::ArtifactVerdict;pub use artifacts::ArtifactView;pub use artifacts::ArtifactsInput;pub use artifacts::ARTIFACTS_URI;pub use continuity::ActiveTask;pub use continuity::Continuity;pub use continuity::Divergence;pub use continuity::OpenSession;pub use continuity::Record;pub use continuity::CONTINUITY_URI;pub use devtask::DevMilestoneInput;pub use devtask::DevTaskInput;pub use environment::EnvironmentInput;pub use environment::EnvironmentProvenance;pub use environment::ExplainInput;pub use environment::ENVIRONMENT_URI;pub use episodes::AttachInput;pub use episodes::DetachInput;pub use episodes::EpisodeList;pub use gates::CompletionInput;pub use gates::GateModelEntry;pub use gates::GateModelReport;pub use gates::COMPLETION_URI;pub use gates::GATES_URI;pub use health::Health;pub use health::HealthCheck;pub use health::HealthStatus;pub use health::HEALTH_URI;pub use knowledge_base::AgeSource;pub use knowledge_base::KnowledgeCandidate;pub use knowledge_base::KnowledgeCandidates;pub use knowledge_base::KnowledgeRecord;pub use knowledge_base::KnowledgeRecordInput;pub use knowledge_base::KnowledgeStatus;pub use knowledge_base::LedgerMark;pub use knowledge_base::ReferenceResolution;pub use knowledge_base::ResolvedReference;pub use knowledge_base::ResolvedRelation;pub use knowledge_base::KNOWLEDGE_CANDIDATES_URI;pub use knowledge_base::KNOWLEDGE_STATUS_URI;pub use lifecycle::Balance;pub use lifecycle::ClosedSession;pub use lifecycle::ClosedSessions;pub use lifecycle::Episode;pub use lifecycle::EpisodeStanding;pub use lifecycle::Episodes;pub use lifecycle::Orphan;pub use lifecycle::Pointer;pub use lifecycle::PointerLayout;pub use lifecycle::ProviderLifecycle;pub use lifecycle::ProviderLifecycles;pub use lifecycle::Recovery;pub use lifecycle::RuntimeView;pub use lifecycle::Stranded;pub use lifecycle::EPISODES_URI;pub use lifecycle::RECOVERY_URI;pub use objects::resolve;pub use objects::AnswerView;pub use objects::Comparison;pub use objects::DriftedObject;pub use objects::GetInput;pub use objects::ListInput;pub use objects::ObjectList;pub use objects::ObjectStanding;pub use objects::Resolved;pub use objects::ResourceView;pub use objects::SearchHit;pub use objects::SearchInput;pub use objects::SearchResult;pub use objects::VerifyInput;pub use objects::VerifyReport;pub use objects::SEARCH_DEFAULT_LIMIT;pub use objects::SEARCH_MAX_LIMIT;pub use obligations::Closure;pub use obligations::Evidence;pub use obligations::Obligation;pub use obligations::ObligationClosure;pub use obligations::ObligationState;pub use obligations::Vocabulary;pub use obligations::CLOSURE_URI;pub use obligations::OBLIGATIONS_URI;pub use plan::PlanIssueFilter;pub use plan::PlanMilestoneFilter;pub use plan::PlanRecordInput;pub use plan::PLAN_URI;pub use quality::QualityAnswer;pub use quality::QualityInput;pub use quality::QUALITY_URI;pub use repository::RepositoryReport;pub use repository::REPOSITORY_URI;pub use server::Checkouts;pub use server::Desired;pub use server::LeaseView;pub use server::ServerStanding;pub use server::ServerStatus;pub use server::ServerStatusInput;pub use server::ServerView;pub use server::SERVER_URI;pub use session_domain::IdentityReport;pub use session_domain::MachineReport;pub use session_domain::IDENTITY_URI;pub use session_domain::MACHINE_URI;pub use trace::TraceCommitInput;pub use trace::TraceIssueInput;pub use trace::TraceReportInput;pub use trace::TRACEABILITY_URI;pub use commands::CommandGraphReport;pub use commands::CommandIndex;pub use commands::CommandSummary;pub use web::SurfaceReport;pub use web::SURFACES_URI;
Modules§
- artifacts
- The
artifactsmodule: whatmajordomus generatewrites, read back. - commands
- The
commandsmodule: the command graph, projected. - commit
- The
commitmodule: what this repository holds a commit to, what the working tree would commit, and which scope the history gives a set of paths. - continuity
- The
continuitymodule: what this checkout’s lifecycle is holding right now — the open episode, the record the next worker would resume from, the newest progress note, what is blocking acceptance, and whether the provider’s events actually reach the tool. - dashboard
- The
dashboardmodule: the Overview of the Dashboard Suite, as a projection of the capabilities that already answer each of its facts (ADR 0088). - devtask
- The
devtaskmodule: an issue and a milestone read as executable development scopes. - economics
- The
economicsmodule: token economics, measured, projected. Every capability here is a read ofcrate::economics— the one calculator — so the command line, HTTP, the OpenAPI document, MCP and the Cockpit show the same metric, value, class and sample count, because none of them computes one. - entity
- The
entitymodule: every object of the layer as an addressable, cross-linked node. - environment
- The
environmentmodule: what this checkout is, as a capability. - episodes
- The
episodesmodule: the execution episode of a client that has no provider hooks, opened and closed by the MCP connection itself (ADR 0103). - evidence
- The
evidencemodule: from a claim to the run that proves it, and back. - gates
- The
gatesmodule: completion as a state the repository decides. - health
- The
healthmodule: whether what this process serves is healthy, answered by the engines that already decide it rather than by checks written a second time here. - intent_
realization - The
intent_realizationmodule: which work realises which intent, and why an intent stands where it stands. - intents
- The
intentsmodule: - knowledge_
base - The
knowledge_basemodule: what the knowledge deriver left for review and whether it is still writing — the candidate records awaiting promotion, one record by id with every reference it names resolved, and the derivation status of this checkout judged againstsession.freshness. - lifecycle
- The
lifecyclemodule: the episode lifecycle as something a person can watch. - mcp
- The
mcpmodule: the MCP projection of this registry, described as one typed value. - objects
- The
objectsmodule: the declarative objects of the repository’s layer, listed, read and searched, and the one resolution of amajordomus://URI thatobjects.getand the MCP resource read share. - obligations
- The
obligationsmodule: what a task owes before it may be called completed, and whether the evidence that discharged each one still describes this tree. - observatory
- The
observatorymodule: what the Observatory (/ui/observatory) may carry to a place where no mesh runs, and the recording the repository carries there (ADR 0158, I2678). - pack
- The
packmodule: the tracked tree as token-bounded text shards for a reader whose file search indexes text, with nothing in it that is not source. - plan
- The
planmodule: the milestone and issue model’s derivations, projected. - quality
- The
qualitymodule: what this executable’s own public surface is held to, answered through every transport the surface is measured against. - reasoning
- The
reasoningmodule: provider-independent reasoning, projected (ADR 0098). - recover
- The
recovermodule: the stray files of the record stores, classified by evidence and swept exactly once. - release
- The
releasemodule: the changelog, the version, and the compatibility analysis behind it — all three derived. - repository
- The
repositorymodule: what the repository and this process’s index are. - rules
- The
rulesmodule: from a rule to what proves it, and back. - served
- The
servedmodule: whether a deployment serves the commit it was meant to, observed from outside and recorded as evidence a later reader can re-judge. - server
- The
servermodule: the shared server of this checkout, and of every other checkout of the same git repository — what each lease says, whether the server it names answers, and whether what answers is the code on disk. - session_
domain - The
session_domainmodule: the typed session domain, projected. - skills
- The
skillsmodule: every skill as a proven capability, derived. - trace
- The
tracemodule: the work graph above the branch, both ways. - web
- The
webmodule: the surfaces this repository exposes over HTTP, answered from the resolution the process is already serving from.
Structs§
- Announce
Input - The input of
peers.announce: what the calling peer is working on. - Build
Report - What this executable is: enough to tell two builds apart without asking a repository.
- Cancel
Report - The answer of
executions.cancel. - Capabilities
Input - The input of
capabilities.list: optional filters by kind and by projection. - Capability
List - The answer of
capabilities.list: the matching capabilities, summarised, and the registry counted. - Capability
Summary - One capability as a listing shows it: everything the descriptor says except its two
schemas, which
capabilities.describeanswers for one capability. A listing of a repository’s registry runs to hundreds of entries; their schemas would be megabytes of the same object view repeated. - Classify
Input - Which path to judge.
- Contract
View - A directory contract as the document declares it, before anything is inherited.
- Deployment
Check - Whether the deployments this repository declares would work, decided locally: against the capability registry this process built and the workspace it sits in.
- Deployment
List - Every deployment the layer declares.
- Deployment
View - One deployment as this process reads it, with where it came from.
- Describe
Input - The input of
capabilities.describe: which capability. - Directories
Input - Which directories to answer for, and how much of the hierarchy to resolve.
- Directory
Node - One directory of the layer, what it owes, and what applies to it.
- Directory
Report - The layer’s directories, what each owes, and the contracts that apply.
- Directory
Tallies - How many directories are in each state.
- Distribution
Report - The distribution, as a person or a script asks for it.
- Effective
Entry - One contract in a directory’s effective chain, in the order it is applied.
- Empty
- No input.
- Event
History - The answer of
executions.events: one page of an execution’s retained history. - Execution
Links - Where to read more about one execution, in this server’s own terms.
- Execution
List - The answer of
executions.list. - Execution
View - One execution with the links to everything else about it.
- GetDeployment
Input - The input of
deploy.get: which deployment. - Graph
Input - Which graph to derive.
- Graph
List - Every graph this executable derives.
- Install
Check - One check: what was asked, what was seen, and — when it does not hold — why, and the
command that changes it. The
causeandnextfields exist so that a report is actionable without a second document; a check that fails without naming its remedy is a diagnostic nobody can act on. - Installability
Report - Whether the advertised one-line installation works right now, and if not, what is missing.
- Mesh
Identity Report - The answer of
mesh.identity: this machine’s node identity, public half only. - Models
Filter - The input of
models.list: optional narrowing. Everything empty lists everything. - Models
Report - The answer of
models.list. - Node
List - The answer of
mesh.nodes: every node this process has observed. - Object
Summary - One object, summarised for a listing.
- Object
View - One declarative object of the repository’s layer, as a client reads it.
- Peer
List - The answer of
peers.list: every worker of this repository, from every checkout’s board. - Protocol
Report - The answer of
executions.protocol: the live channel’s whole contract, derived from the types that implement it. - Register
Input - The input of
mesh.register: one signed envelope, exactly as the wire carries it. - Release
Artifact Input - Which artifact a target and a tag name.
- Release
Artifact View - The artifact a target and a tag name, and the directory it unpacks into.
- Release
View - One release, as every projection shows it.
- Releases
Report - The releases this repository recorded, and the one an unpinned installation resolves to.
- Route
Input - The input of
models.route: what the task needs, in transport-friendly scalars (requireis comma-separated so a GET query string can carry it). - Scope
Report - The scope: the declaration as read, its origin, and every tracked file against it.
- Target
View - One target, as every projection shows it: what it is, what it is called in prose, and the artifact name the naming function derives for a tag yet to be chosen.
- Vendor
View - One vendor with whether its credential is configured — presence of the named environment variable and nothing more. No value is read.
- Worktree
Inspect Input - A branch to inspect.
- Worktree
Status Input - Where to answer from.
Enums§
- Check
State - The state of one check in the installability report. Three states and no more: a check either holds, does not, or could not be made from what this process can see.
- Directory
State - Whether a directory of the layer carries the contract it owes.
Constants§
- DEPLOYMENTS_
URI - The URI under which the deployments are read as one MCP resource.
- DEVCONTEXT_
POLICY_ URI - The URI under which the compiler’s own rules are read as an MCP resource.
- DIRECTORIES_
URI - The URI under which
directories.listis read as an MCP resource. - EXECUTIONS_
URI - The MCP resource the list of executions is read at.
- EXECUTION_
PROTOCOL_ URI - The MCP resource the live channel’s own contract is read at.
- GRAPHS_
URI - The URI under which
graph.listis read as an MCP resource. - MESH_
URI - The MCP resource
mesh.statusis projected as. - MODELS_
URI - The MCP resource
models.listis projected as. - SCOPE_
URI - The URI under which
repository.scopeis read as an MCP resource. - WORKTREES_
URI - The URI under which the topology is read as an MCP resource.
Functions§
- all
- Every executable of every module, flattened, for a registry built without module
metadata (tests, benchmarks, doctests). The application builds from
modules. - modules
- The application: its modules, in one place. A new module is one line here; a new capability in an existing module is no line here.
- normalise_
path - A repository-relative path as the scope judges it: forward slashes, no
./, no trailing slash. Absolute paths and parent segments are refused.