flybrain/services/flysim/crates/fly-session/src
acamilo 66ec2e5c6b session: an unknown launch option is an error, not a no-op
The command line between a launcher and a participant in its own process
was coupled by string convention on both sides and checked by neither: the
parser accepted any --flag it did not know, so a renamed or dropped option
would have become a fault that never fires or a delay that is never
applied, with nothing failing.

Every flag now has one name, in launcher::flags, written by the launcher's
argv and read by the parser. Options::parse takes the sets its command
allows and refuses anything outside them by name, so a mismatch fails the
launch. measure and measure-row use the same constants for their own
flags.

Three tests hold the two sides together: every flag a launch writes is one
its command accepts, every media option is written for a separate process,
and an unknown or wrong-command flag is refused by name. The four media
faults now also run end to end in all three execution modes, each failing
its own transition, so the wiring across a process boundary is proved
rather than assumed.
2026-09-22 16:28:59 +00:00
..
bin session: parallel processes, a launcher and the fault behaviour 2026-09-22 14:33:25 +00:00
agent.rs Merge main: the per-fly processes, the launcher and the thread budgets 2026-09-22 16:07:30 +00:00
cli.rs session: an unknown launch option is an error, not a no-op 2026-09-22 16:28:59 +00:00
clock.rs refactor(session): build the session slice on the shared fly-session-types crate 2026-09-22 12:30:41 +00:00
coordinator.rs Merge main: the per-fly processes, the launcher and the thread budgets 2026-09-22 16:07:30 +00:00
dedup.rs refactor(session): build the session slice on the shared fly-session-types crate 2026-09-22 12:30:41 +00:00
environment.rs Merge main: the per-fly processes, the launcher and the thread budgets 2026-09-22 16:07:30 +00:00
harness.rs Merge main: the per-fly processes, the launcher and the thread budgets 2026-09-22 16:07:30 +00:00
launcher.rs session: an unknown launch option is an error, not a no-op 2026-09-22 16:28:59 +00:00
lib.rs Merge main: the per-fly processes, the launcher and the thread budgets 2026-09-22 16:07:30 +00:00
measure.rs session: an unknown launch option is an error, not a no-op 2026-09-22 16:28:59 +00:00
media.rs media: no best-effort defaults in the audio path 2026-09-22 15:15:06 +00:00
metrics.rs session: parallel processes, a launcher and the fault behaviour 2026-09-22 14:33:25 +00:00
phase.rs feat(session): fly-session, the SESSION-01 synthetic sequential transaction over flybus 2026-09-22 11:46:57 +00:00
rpc.rs refactor(session): build the session slice on the shared fly-session-types crate 2026-09-22 12:30:41 +00:00
task.rs refactor(session): build the session slice on the shared fly-session-types crate 2026-09-22 12:30:41 +00:00
types.rs refactor(session): build the session slice on the shared fly-session-types crate 2026-09-22 12:30:41 +00:00
worker.rs session: resolve uncertain calls, and measure each mode in its own process 2026-09-22 15:41:42 +00:00