pub struct Baseline {
pub ref: String,
pub commit_oid: String,
pub toolchain: String,
pub test_passlist_hash: String,
pub clippy_warnings_hash: String,
pub enumerated_targets_hash: String,
pub extra: Map<String, Value>,
}Expand description
Baseline snapshot captured at the feat/<slug> fork (owner: supervisor).
§Provenance fields (floor-capture-hardening-round-2 item 5 / F10)
r#ref is a mutable ref string (feat/<slug>@fork) — a force-push can
re-point it. The floor therefore also records the pinned commit_oid the ref
resolved to at capture time, the toolchain fingerprint the snapshot was
captured with, and enumerated_targets_hash (F7). The evaluator compares all
of these — not just the two content hashes — so a spec-node cannot smuggle a
baseline captured at a different commit, under a different toolchain, or over
a narrowed target set than the one the supervisor gates against.
As of schema v3 (PROVENANCE_REQUIRED_SCHEMA) all three are required:
they carry no #[serde(default)], so a document missing one fails to
deserialize (PlanValidationError::Malformed), and validate_plan
additionally rejects an empty / whitespace-only value
(PlanValidationError::EmptyString) — the same two-layer treatment the
other required baseline strings (ref, the two content hashes) get. This is
the structural half of the fail-closed provenance guard; the evaluator
(verify_plan_baseline) is the runtime half that additionally checks the
values match the live snapshot. A security oracle treats “no evidence” as
a rejection, not a match — so the plan may not even omit the evidence.
Fields§
§ref: StringGit ref the snapshot was taken at (e.g. feat/<slug>@fork) — mutable,
display/audit only; commit_oid is the authoritative binding.
commit_oid: StringThe ref resolved to an immutable commit OID at capture time (provenance). Required as of v3.
toolchain: Stringrustc -V fingerprint the snapshot was captured with (provenance).
Required as of v3.
test_passlist_hash: StringHash of the passing-test list at baseline (floor: no baseline pass may regress).
clippy_warnings_hash: StringHash of the clippy-warning list at baseline (floor: no new warnings).
enumerated_targets_hash: StringHash of the enumerated (package, target_kind, target) test-target set at
baseline (floor F7: the tip’s set must be a superset — a shrink fails
closed). Required as of v3.
extra: Map<String, Value>Unrecognized keys, captured for the compatibility check.