Skip to content

protocol(fictrac_direction_test): drop redundant open-loop waits (single duration knob)#146

Merged
mbreiser merged 1 commit into
mainfrom
protocol/simplify-durations
Jul 4, 2026
Merged

protocol(fictrac_direction_test): drop redundant open-loop waits (single duration knob)#146
mbreiser merged 1 commit into
mainfrom
protocol/simplify-durations

Conversation

@mbreiser

@mbreiser mbreiser commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

Open-loop trials no longer carry a redundant wait: the runner already holds each trial for its trialParams duration host-side (hostSideTrialEnd remainder top-up; firmware auto-stop #4 not landed). So all 12 open-loop trials are now a single trialParams with one open_dur knob — the max(trialParams, waits) masking that confused a bench user can't happen. The closed-loop trial keeps its wait (it brackets the closed-loop hold, bound to cl_dur).

Totals unchanged: 330 s default; open_dur: 3 -> 162 s. Verified against the shared runner math. Also pushed to the course repo protocols/shared/.

🤖 Generated with Claude Code

The web runner holds each trial for its trialParams `duration` host-side
(hostSideTrialEnd remainder top-up; firmware auto-stop #4 not landed), so a
plain display trial needs no `wait`. Remove the paired `wait` from all 12
open-loop trials — `open_dur` is now their single duration field, so the
max(trialParams, waits) masking can't happen. The closed-loop trial keeps its
wait: it brackets the closed-loop hold (start -> wait -> stop), bound to cl_dur.

Totals unchanged: 330 s default; open_dur:3 -> 162 s. Verified against the
shared runner math (conditionDuration / flattenStructure).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@mbreiser mbreiser merged commit 2037a7b into main Jul 4, 2026
@mbreiser mbreiser deleted the protocol/simplify-durations branch July 4, 2026 23:46
mbreiser added a commit that referenced this pull request Jul 6, 2026
Brings in #144 (closed-loop runner FicTrac apply + in-protocol disconnect +
course-repo default), #145/#146 (fictrac_direction_test open_dur/cl_dur
durations), #147 (arena-configs sync), #149, and the deploy-pages split.

Only conflict was arena_studio.html (2 hunks), resolved:
- footer: kept v0.7's one-line footer (the full changelog moved to
  docs/development/arena-studio-release-notes.md; #144's code auto-merged).
- course-repo default: kept #144's Studio.DEFAULT_COURSE_REPO fallback so the
  Repo field display matches the already-merged courseSettings() resolver and
  the change handler (all "empty -> course repo"); dropped v0.7's never-set
  seeding / explicit-clear-sticks nuance in favor of #144's coherent default.

#144's runner FicTrac-apply is the fix for the "closed loop doesn't run in the
runner" checklist note; keeping it was the point of merging rather than replacing.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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.

1 participant