Skip to content

experiment: define keeps every setting an arm names - #758

Open
A13xB0 wants to merge 1 commit into
mainfrom
experiment-define-reads-the-whole-arm
Open

A13xB0 wants to merge 1 commit into
mainfrom
experiment-define-reads-the-whole-arm

Conversation

@A13xB0

@A13xB0 A13xB0 commented Oct 17, 2026 •

Copy link
Copy Markdown
Collaborator

experiment.define read each arm's label, repeater_version and companion_version and silently dropped the rest. An arm defined with "cad": "on" therefore ran with CAD as the scenario had it, labelled as though it were on, and its row compared two identical configurations.

  • Arms are decoded whole into session.ExpArm, so path_hash_mode, rep_path_hash, loop_detect, cad, spread_ms and set all reach provisioning.
  • Each setting is checked through the same varied function experiment.vary uses, so the two verbs cannot disagree about what a value may be.
  • An unknown field (a misspelling such as cad_mode) or a bad value is refused with bad_params, and the arms already defined are kept.

Tests: define_test.go, two cases, both fail on main. verb-reference.md regenerated.

Manual: MeshBench/docs#48.

experiment.define read an arm's label and its two firmware versions and
dropped everything else, so an arm defined with cad on ran with cad as the
scenario had it, under a label saying otherwise. Arms are now decoded whole,
held to the values experiment.vary accepts, and a field an arm does not have
is refused with bad_params, leaving the arms already defined in place.

This branch has not been deployed

No deployments
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.

2 participants