Skip to content

Hermetic Rust decision cores, gates, duals - #83

Merged
stefanpenner merged 1 commit into
mainfrom
feature/rust-hermetic-duals
Jul 10, 2026
Merged

Hermetic Rust decision cores, gates, duals#83
stefanpenner merged 1 commit into
mainfrom
feature/rust-hermetic-duals

Conversation

@stefanpenner

Copy link
Copy Markdown
Owner

Summary

Completes the "do all of those" follow-ups for Rust+Go peers:

  1. Old Go-only loop — already expired (only Rust evolve loop remains)
  2. Hermetic Bazel Rust outs — `//tools/specgen -lang rust` in decision genrules; `*_rs_up_to_date`
  3. Rust duals + prod wrappers — `crates/decision_cores` with `gates::*` + `tests/log_groups_dual.rs`
  4. New cores policy — documented in DECISION_CORES.md (only when a real race/decision appears)

Verify

  • `bazel test //tools/decision:up_to_date` (14 tests: Go + Rust)
  • `cargo test -p decision_cores`
  • `scripts/decision-check.sh`
  • `bazel build //:ote`

Go production path unchanged. Same Decision.tla SSOT for both languages.

- In-tree specgen -lang rust (PATH A) wired into //tools/decision genrules
- Commit crates/decision_cores (generated modules + thin gates wrappers)
- *_rs_up_to_date keeps Rust fresh with Go; update.sh copies both
- log_groups dual tests; cargo workspace; .cargo linker for hermetic_cc
- Docs: new cores only when a real decision appears
@stefanpenner
stefanpenner merged commit 1166964 into main Jul 10, 2026
4 checks passed
@stefanpenner
stefanpenner deleted the feature/rust-hermetic-duals branch July 10, 2026 21:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant