AOS / Docs

Feature coverage

This page is the inventory for Crucible's user-visible functionality. It maps each shipped surface to its implementation authority, operational status, user documentation, and production evidence. A feature is not considered documented merely because its Rust type appears in generated API documentation.

Use the status vocabulary from Support boundaries: packaged, public API, certified, model only, and rejected. Several rows carry more than one status because the model, direct Rust integration, and packaged CLI expose different portions of the same feature.

#Coverage contract

Complete user coverage requires all applicable columns below:

RequirementRequired content
PurposeWhat the feature models and when an operator should use it.
StatusExact packaged/API/certification boundary, including architecture and backend restrictions.
ConfigurationFields, closed variants, units, bounds, defaults, and reference rules.
AdmissionCross-field validation and backend capability requirements.
ExecutionSampling point, phase, state transitions, composition, and deterministic ordering.
EvidenceCanonical events, adapter evidence, property observations, and terminal verdict behavior.
ContinuationCheckpoint, resume, fork, search, and replay semantics.
ExampleA complete recipe or implementation-backed executable when the feature benefits from one.

The canonical reference remains the exhaustive CLI and scenario exchange vocabulary. Task guides explain how those fields form an experiment. Cross-domain worked patterns are in the fault experiment cookbook, and programmatic surfaces are mapped in the Rust integration API.

#Packaged command inventory

All thirteen shipped subcommands are packaged on the local CLI. A command can still have narrower daemon or backend behavior, which its guide must state.

CommandPrimary behaviorUser documentationBoundary
runExecute one canonical scenario to a bounded terminal condition.Running Crucible, ReferenceLocal packaged-QEMU is primary; ordinary run does not attach the DAG store as a signal-artifact store.
verifyCompare independent reductions or retained artifacts.Reproduction, ReferenceLive verification uses fresh matched-QEMU execution; ordinary verify has the same signal-store boundary as run.
selftestExercise the small packaged live-QEMU gate subset.Running CrucibleRepository certification contains many gates that are not selectable here.
saveMaterialize an exact savepoint at an admitted boundary.Reproduction, ReferenceRequires a durable DAG store and a supported boundary.
resumeContinue an exact retained world.Reproduction, ReferenceFails closed when the closure, scenario, scheduler identity, or backend identity differs.
forkContinue a retained prefix with an explicit branch choice.Reproduction, ReferenceBranch points must be admitted choices; mutation creates a non-canonical descendant.
replayReproduce an artifact and optionally compare or bisect evidence.Reproduction, ReferenceReproduction artifacts may carry authenticated signal objects and resolved-effect traces.
searchExplore bounded alternate schedules and fault choices.Exploration, ReferenceLocal search attaches --store for signal search material; budgets are mandatory for useful exploration.
fuzzInstantiate and explore a bounded scenario family.Exploration, ReferencePackaged local campaigns exist; fleet campaign orchestration remains an API/certification surface.
triageCluster, compare, and minimize retained findings.Exploration, ReferenceOperates on signed findings ledgers, not arbitrary log files.
debugInspect a retained or running execution.Debugging, ReferenceSome actions require a daemon session, debug gateway, guest agent, or explicit mutable fork.
serveRun the mutual-TLS or explicitly trusted cleartext HTTP/2 lifecycle control plane.Daemon operation, ReferenceNot a distributed scheduler and not equivalent to every local CLI workflow.
completionsEmit an offline shell completion definition.Running Crucible, ReferenceReads only command schema and does not discover a backend.

Global options, environment variables, input resolution, output formats, terminal conditions, and exit codes are cataloged in Running Crucible and the command-line reference.

#Scenario model inventory

SurfaceAuthorityStatusDocumentation
ScenarioDef = World + Plan + Properties + Seedcrucible::modelPackaged and public APIOperating Crucible, Scenarios
Canonical TOML and derived content IDsScenarioDefForm and TOML modelPackaged and public APIScenarios, Reference
VM nodes and logical linksWorld, WorldNode, LinkDefPackaged and public APIScenarios, Reference
Block and 9p I/O sub-nodesWorldIoNodePublic API and certified live adapterScenarios, Storage and hardware faults
Fault-addressable topologyWorldFaultTopologyPublic API and certified adaptersFault topology reference, Authoring
Signal-driven planFaultSignalPlan, SignalProgram, FaultBindingPublic API and certified adaptersSignal programs, Fault bindings, Signal-driven faults, Authoring
Event/control graphPlan event graphPackaged and public APIScenarios, Reference
Temporal propertiesProperties, Property, PredicatePackaged and public APIProperties and evidence, Scenarios, Reference
Deterministic seed and keyed choicesSeed, RNG stream identitiesPackaged and public APIScenarios, Running Crucible

Continuation and retained-output object types are mapped in Stores, artifacts, checkpoints, and findings.

#Fault-topology inventory

The world topology contains sixteen canonical collections. Every referenced ID must resolve within the same admitted world.

CollectionDeclaresExecution status
fault_domainsNamed, finite sets of typed targets for shared causes.Public API; used by production adapters.
network_interfacesVM or forwarder endpoints, technology, addresses, and domain membership.Live network adapter.
network_segmentsPoint-to-point or logical transmission segments.Live network adapter.
network_mediaShared or point-to-point media and bounded resources.Live network adapter/model.
network_forwardersSwitches, routers, gateways, and other forwarding elements.Live network adapter/model.
network_queuesBounded interface/media/forwarder queues.Live network adapter/model.
network_pathsOrdered directed routes through segments and forwarders.Live network adapter/model.
network_attachmentsEndpoint association and candidate state.Network model and certified fault runtime.
network_contact_plansScheduled disrupted-link contacts.Network model and certified fault runtime.
network_policy_artifactsClosed network lookup and policy tables.Public API; content-addressed validation.
mobile_endpointsEndpoints driven by an admitted truth trajectory.Model truth; not a guest sensor device.
storage_devicesBlock/9p durability, cache, discard, completion, and media contracts.Live storage and 9p adapters.
storage_controllersNamespaces, access paths, and controller identity.Live storage model/adapter.
storage_arraysMember/path layout, quorum, selection, and rebuild topology.Storage model and certified fault runtime.
storage_policy_artifactsClosed storage and 9p policy tables.Public API; content-addressed validation.
node_capabilitiesExact CPU, register, memory, interrupt, clock, error, and accelerator contracts.Matched patched-QEMU capability adapters.

Detailed fields, variants, validation, and cross-reference rules are in the fault topology reference. Public struct definitions remain supplementary implementation authority rather than a user-facing substitute.

#Signal inventory

The closed signal registry currently contains:

  • 21 source kinds;
  • 36 pure operator kinds;
  • 9 stateful operator kinds;
  • 6 coordinate domains;
  • typed scalar, vector, enum, event, and byte values;
  • explicit units, decimal scale, overflow, rounding, interpolation, missing data, and boundary policies; and
  • resource limits for authored graphs and runtime state.
FamilyExamplesStatusCurrent guide
Analyticconstant, step, pulse, periodic pulse, ramp, triangle, sawtoothPublic API and certified evaluatorSignal-driven faults
Recordedevent sequence and normalized tracePublic API; search/replay integrations; ordinary run limitationRecorded signal inputs
Spatialpoint set, grids, zones, path profiles, fields, transmittersHost model; may drive supported adaptersSignal-driven faults
StochasticBernoulli, uniform integer, exponential wait, Weibull waitPublic API and certified evaluator/searchSignal-driven faults
TelemetryOne-boundary-delayed adapter statePublic API and certified evaluatorSignal-driven faults
Pure transformsArithmetic, comparison, Boolean, selection, lookup, geometry, eventsPublic API and certified evaluatorReference
Stateful transformsHysteresis, debounce, integrators, FSM, Markov, burst, counter, queuePublic API; checkpointed evaluator stateSignal-driven faults

#Binding and opportunity inventory

Bindings cover boundary, change, cadence, opportunity, and event sampling; typed mappings; exact, target-set, fault-domain, and dynamic-path selectors; phase sets; impulse, persistent, opportunity, and state-machine lifetimes; search policy; observability policy; and optional opportunity filters. The closed registries include every fault operation and target kind listed in the reference.

Admission resolves selectors, verifies signal shapes, and validates the effect/target/phase/lifetime/operation tuple before boot. Runtime composition is adapter-owned; bindings do not overwrite one another by declaration order.

#Executable effect inventory

There are 71 executable effect kinds:

Adapter familyEffect countExecution boundaryGuide
Network31Host-side deterministic network route and adapter state.Network faults
Storage18Deterministic block request, service, completion, persistence, media, and controller state.Storage and hardware faults
9p2Deterministic 9p result and visibility state.Storage and hardware faults
Node2Production VM lifecycle and progress state.Storage and hardware faults
CPU5Matched QEMU CPU/vCPU/register/instruction/exception capability.Storage and hardware faults
Interrupt2Matched QEMU interrupt route capability.Storage and hardware faults
Memory5Matched QEMU address-space, access, ECC, region, and service capability.Storage and hardware faults
Clock2Matched guest-visible QEMU clock-source capability.Storage and hardware faults
Accelerator4Declared deterministic Crucible accelerator fault device.Storage and hardware faults

The exhaustive effect registry and domain guides document every effect's top-level parameter shape, nested closed variants, legal tuple, composition, capability, and family-level evidence/continuation behavior. The cookbook supplies reusable authoring patterns. Code-backed tests synchronize effect names and descriptor metadata; they do not validate explanatory prose or replace implementation schema tests.

#Assertions and evidence inventory

SurfacePurposeStatus
Temporal quantifiersExpress invariants, reachability, eventuality, and quiescent verdicts.Packaged and public API.
Deterministic predicatesObserve lifecycle, network, console, guest marker, timer, I/O, and named truth state.Packaged and public API; exact set is closed.
Guest markersReport application semantics at an exact guest coordinate.Packaged static guest emitter and live QEMU doorbell.
Adapter evidenceRecord contributors, preconditions, application, capability, and result.Production fault adapters.
Event logCanonical scheduler, decision, observation, property, and evidence history.Packaged output and artifact input.
FingerprintsCompare deterministic machine and modeled state at admitted boundaries.Packaged verification and certification gates.
Resolved-effect tracePreserve authoritative effect work for locked replay and diagnosis.Public API and reproduction/search artifact paths.

#Continuation and exploration inventory

SurfacePreserved identity/stateStatus
Thin checkpointScenario and schedule position without a complete live execution closure.Model/API surface; not sufficient for arbitrary production restore.
Fat checkpointWhole-world QEMU state, adapter state, scheduler state, signal state, and authenticated dependencies.Packaged save/resume/fork and public API.
Reproduction artifactScenario, schedule, evidence, backend identity, critical payloads, and optional effect/signal material.Packaged replay and triage.
Search frontierStable alternate choices reachable from an execution prefix.Packaged bounded search and public API.
Scenario family/corpusDeterministic campaign inputs, coverage, findings, and lineage.Packaged local fuzzing; fleet orchestration is API/certification-only.
Debug branchRead-only canonical inspection or explicit non-canonical mutable descendant.Packaged with gateway/guest/session limitations.

#Rejected and non-guaranteed surfaces

The following are not inferred as supported from nearby schema concepts:

  • guest sensor, battery, power-supply, or cooling-device adapters;
  • arbitrary host QEMU, KVM, passthrough devices, or host GPU fault injection;
  • host tc, netem, namespaces, or load generators as deterministic inputs;
  • heterogeneous per-node guest images through the packaged CLI;
  • packaged AArch64 operator support merely because architecture types exist;
  • a raw-trace import CLI command;
  • ordinary run/verify automatic signal-store attachment;
  • every local workflow over the daemon; or
  • a general packaged distributed/fleet campaign operator.

Admission must fail closed when a scenario requests a rejected target or an unavailable backend capability.

#Maintenance rule

When a user-visible registry or command changes, update this inventory, the appropriate complete reference, at least one task guide where behavior changes, and the documentation coverage tests in the same change. A new enum variant that appears only in Rust source is incomplete feature work.