feat(sim): rutster-sim crate skeleton + Scenario/ScenarioStep types (slice-4½ S1)
The critical-path foundation for the benchmark + simulation harness. Scenario is a TOML-deserializable scripted-caller data type; ScenarioStep covers speak_loud / speak_quiet / pause / await_reply / end. Determinism is the point -- reproducible thresholds in CI (ADR-0010). All other sim modules land as stubs here + fill in across S2-S7. Threshold consts (BARGE_IN_KILL_TIME_P99_MS = 80.0, MOUTH_TO_EAR_P99_MS = 700.0, TICK_LAG_MAX_MS = 10.0, TICK_OVERRUN_PCT_MAX = 1.0, SWEEP_CONCURRENCIES = [1,10,50]) land now per the plan's S1 step 2 note (used by S5/S6/S7 wiring). Adds toml = 0.8 to workspace.dependencies (the first consumer; spec §1.1 claim of pre-existing membership was inaccurate). Task S1 of slice-4½ -- everything else depends on this landing. Signed-off-by: Aaron D. Lee <himself@adlee.work>
This commit is contained in:
11
Cargo.toml
11
Cargo.toml
@@ -6,13 +6,14 @@
|
||||
resolver = "2"
|
||||
members = [
|
||||
"crates/rutster",
|
||||
"crates/rutster-brain-realtime",
|
||||
"crates/rutster-call-model",
|
||||
"crates/rutster-media",
|
||||
"crates/rutster-trunk",
|
||||
"crates/rutster-sim",
|
||||
"crates/rutster-spend",
|
||||
"crates/rutster-tap",
|
||||
"crates/rutster-tap-echo",
|
||||
"crates/rutster-brain-realtime",
|
||||
"crates/rutster-spend",
|
||||
"crates/rutster-trunk",
|
||||
]
|
||||
|
||||
[workspace.package]
|
||||
@@ -59,3 +60,7 @@ async-trait = "0.1"
|
||||
# client sends before WS upgrade; `openai_client::openai_headers` produces
|
||||
# the header pairs the caller stuffs into it.
|
||||
http = "1"
|
||||
# toml 0.8: TOML deserialization for the slice-4½ sim-crate's Scenario files
|
||||
# (crates/rutster-sim/scenarios/*.toml). The first consumer of `toml` in
|
||||
# the workspace; declared here so future members share the version pin.
|
||||
toml = "0.8"
|
||||
|
||||
Reference in New Issue
Block a user