Schema
v1.json is the graph document's JSON schema. It is generated from the rb-model types with schemars, so it cannot drift from what the tool reads and writes, and it is served at https://benbahrenburg.github.io/rulebearing/schema/v1.json from wave 1 (ADR-0004, ADR-0005).
| File | What it describes | Generated by | Checked by |
|---|---|---|---|
fleet-v1.json |
fleet.yaml, the workspace manifest rulebearing fleet reads |
RB_UPDATE_SCHEMA=1 cargo test -p rb-config fleet |
the_committed_schema_is_current in crates/rb-config/src/fleet.rs |
edges-v1.json |
edges.yaml, the declared edges a fleet adds |
RB_UPDATE_SCHEMA=1 cargo test -p rb-ingest schema |
the_committed_schema_is_current in crates/rb-ingest/src/declared.rs |
v1.json |
the graph document: dependency-cruiser 18.2.0's cruise-result module layer, unchanged, plus the additive fields and the code layer |
cargo run -p rb-model --example emit-schema |
the schema-check CI job (regenerates and fails on a diff) and the committed_schema_matches_the_types unit test in crates/rb-model/src/schema.rs |
A change to an rb-model type is committed together with the regenerated v1.json. Renaming or removing a field is a breaking change and needs an ADR (ADR-0004); adding an optional field is not.
The configuration schema, with descriptions so an agent's editor can complete keys, joins this directory in wave 1 (Plan 0001). The pinned dependency-cruiser 18.2.0 configuration and cruise-result schemas are vendored under conformance/dependency-cruiser/fixtures/schemas/ for --strict-schema validation (FR-OUT-03) and for the round-trip test in crates/rb-model/tests/round_trip.rs.