Problem Statement
SchroSIM is already positioned as reproducible research software, but the main CI workflow only builds the Python source distribution, checks package metadata, installs the package, and runs schrosim --help. That misses the Swift simulator, the SwiftUI Studio target, the Rust runtime, cross-runtime validation, trace SLOs, and benchmark smoke gates described in the developer docs.
Proposed Solution
Expand .github/workflows/ci.yml into a real public confidence gate:
- macOS Swift job:
bash scripts/swift-test.sh, swift build --product schrosim-cli, swift build --product schrosim-studio, swift run schrosim-cli version.
- Rust job:
cargo test -p schrosim-core, cargo run -q -p schrosim-core -- version.
- Validation job:
bash scripts/cv-validation-suite.sh --runtime both and bash scripts/trace-slo-check.sh --max-gates 512 --max-frame-ms 50.
- Benchmark smoke job with a short
compute-benchmark.sh run and explicit p95 budget.
Acceptance Criteria
- Pull requests fail if Swift tests, Rust tests, Studio build, validation suite, or trace SLO fail.
- CI uploads validation and benchmark JSON outputs as artifacts.
- CI status names are stable enough to become branch protection checks.
- The developer guide points to the workflow instead of describing this as a mostly manual release preflight.
Validation
bash scripts/swift-test.sh
cargo test -p schrosim-core
bash scripts/cv-validation-suite.sh --runtime both
bash scripts/trace-slo-check.sh --max-gates 512 --max-frame-ms 50
Evidence
.github/workflows/ci.yml
docs/13-developer-guide.md
docs/09-validation-and-benchmarks.md
Problem Statement
SchroSIM is already positioned as reproducible research software, but the main CI workflow only builds the Python source distribution, checks package metadata, installs the package, and runs
schrosim --help. That misses the Swift simulator, the SwiftUI Studio target, the Rust runtime, cross-runtime validation, trace SLOs, and benchmark smoke gates described in the developer docs.Proposed Solution
Expand
.github/workflows/ci.ymlinto a real public confidence gate:bash scripts/swift-test.sh,swift build --product schrosim-cli,swift build --product schrosim-studio,swift run schrosim-cli version.cargo test -p schrosim-core,cargo run -q -p schrosim-core -- version.bash scripts/cv-validation-suite.sh --runtime bothandbash scripts/trace-slo-check.sh --max-gates 512 --max-frame-ms 50.compute-benchmark.shrun and explicit p95 budget.Acceptance Criteria
Validation
bash scripts/swift-test.sh cargo test -p schrosim-core bash scripts/cv-validation-suite.sh --runtime both bash scripts/trace-slo-check.sh --max-gates 512 --max-frame-ms 50Evidence
.github/workflows/ci.ymldocs/13-developer-guide.mddocs/09-validation-and-benchmarks.md