You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There is no console script and no __main__.py (pyproject.toml has no [project.scripts]). Work is launched as:
python comparison/run_v5_comparison.py [--full | -n N | ...]
python comparison/run_phase4_gate.py [--hours H --out PATH --skip-validate]
python comparison/run_synthetic_day.py
Those three filenames are the complete set of questions the repo makes askable. Each script builds its own nine parameter objects, its own strategy list (STRATEGY_FACTORIES in run_v5_comparison.py; greek_milp_bidding is not in it and has its own runner), and its own output naming. An experiment is literals at a call site — it has no name, so it cannot be listed, reused by a second figure, parameterised from the CLI, or recorded. This is RCWS #55, verbatim.
The cost is the one the developer named: "I am forgetting commands and capabilities." A CLI demands recall; a list offers recognition. Every capability that has to be remembered is, functionally, a capability that does not exist.
What it should be
RCWS's platform, sized for one simulator:
A registry of named experiments with a one-line finding each, discoverable in code — the three runners become entries in it, not the interface.
One CLI, a small verb set. RCWS carries seven (list run sweep show compare rerun emit-config); BESS probably needs four to start: list, run, show, compare. list is the one that pays immediately.
What is wrong
There is no console script and no
__main__.py(pyproject.tomlhas no[project.scripts]). Work is launched as:Those three filenames are the complete set of questions the repo makes askable. Each script builds its own nine parameter objects, its own strategy list (
STRATEGY_FACTORIESinrun_v5_comparison.py;greek_milp_biddingis not in it and has its own runner), and its own output naming. An experiment is literals at a call site — it has no name, so it cannot be listed, reused by a second figure, parameterised from the CLI, or recorded. This is RCWS #55, verbatim.The cost is the one the developer named: "I am forgetting commands and capabilities." A CLI demands recall; a
listoffers recognition. Every capability that has to be remembered is, functionally, a capability that does not exist.What it should be
RCWS's platform, sized for one simulator:
findingeach, discoverable in code — the three runners become entries in it, not the interface.list run sweep show compare rerun emit-config); BESS probably needs four to start:list,run,show,compare.listis the one that pays immediately.run NAME --set path=value, read off the config schema from run_simulation takes 15 positional parameters and 9 config dataclasses from one file, with no runtime schema — every caller is welded to the core's shape #5, refusing unknown keys.--force.[A8]).Done when
uv run bess listprints every registered experiment with its note and expected runtime.uv run bess run NAME [--set …] [--name …]writes a record (A run does not describe itself: results/ holds 27 files named by version, with no config, seed, conditions or git stamp — two runs of one version overwrite each other #6).comparison/are gone or reduced to thin registry entries.[project.scripts]declared.runof the canonical synthetic day reproduces the current runner's numbers.Phase 3 of the platform epic. Depends on #5 and #6. The Lab (phase 4) is its own epic, opened when this lands — as RCWS #70 was.