Skip to content

Commit dc4c2f8

Browse files
fix(lab-runner): one currency verdict for materialization staleness, and two fail-open bugs it exposed (#10552)
* feat(lab-contract): one currency verdict for materialization staleness Adds crates/contracts/homeboy-lab-contract/src/materialization_currency.rs: Currency (Current/Stale/Unknown), CurrencyEvidence (which evidence a verdict rests on and whether it can prove byte equality), and comparators that fail closed to Unknown when either side of a comparison is missing. Adopts it at the two decision sites where the fail-open was real: - rig_materialization::with_lab_package_freshness reported `verified` for a source whose current revision could not be read at all, because the install-time revision was copied into the current-revision slot and then compared with itself. homeboy_rig::package_evidence_from_metadata already reported `unknown` for the same input. The two now agree. - runtime_overlay_freshness reported `Fresh` whenever a git probe failed, because every probe failure collapsed into commits_behind: None and fell through the `> 0` test onto the fresh branch. New UnknownProbeFailed status; stale stays false so nothing newly warns or hard-fails. Refs #10309 * fix(lab-contract): pass digests as str slices in compare_identities * style: cargo fmt --all --------- Co-authored-by: chubes-bot <266378653+homeboy-ci[bot]@users.noreply.github.com>
1 parent 7239ace commit dc4c2f8

5 files changed

Lines changed: 697 additions & 36 deletions

File tree

crates/contracts/homeboy-lab-contract/src/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
pub mod agent_task_config;
1010
pub mod agent_task_outcome;
1111
pub mod env_materialization_plan;
12+
pub mod materialization_currency;
1213
pub mod notification_payload;
1314
pub mod notification_route;
1415
pub mod path_materialization;

0 commit comments

Comments
 (0)