Skip to content

protocols + rig records → private repos (LAB-227) - #288

Merged
1 commit merged into
mainfrom
feat/lab-227-protocols-to-private
Oct 29, 2026
Merged

1 commit merged into
mainfrom
feat/lab-227-protocols-to-private

Conversation

@mbreiser

@mbreiser mbreiser commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Rig-specific protocols and per-rig records leave the public repo so a rig's protocol tweaks never need a webDisplayTools release (Linear LAB-227). The rule: a protocol stays here only if a tool, test, QC profile or doc fixture depends on it. Everything removed here was copied first, with a PROVENANCE.md in each destination:

  • reiserlab/arena-experiments (private, commit 8db48e6): protocols/ww18/ ← the three bias_camera_closed_loop_poc* protocols; protocols/shared/ ← fictrac_bias_test, fictrac_direction_test, fictrac_coupling_bias_fly_test, led_activation_quadrant_test (+ _patterns/), mode3_drill_1trial; rigs/ww18/ ← the ww18 Windows results; rigs/ww14/ ← the okey-cokey run sheets, handover, dashboard plan, BIAS config and the two .ps1 start scripts. roster.yaml gains the ww18 and ww14 rigs.
  • reiserlab/scanimage-2026-bergamo (private, commit 00bccfd): protocols/ ← g6_2p_color_led_sweep (+ _patterns/), g6_2x10_2p_diagnostics (+ _patterns/), g6_2x10_2p_duty_sweep.

Stays public: protocols/validation/bench_closed_loop_2x10, g6_2x10_smoke, full_experiment, g6_color_optomotor_smoke, g6_color_optomotor_test (+ patterns; rig/tests/test_stimulus.py), opto_intensity_runtime_test, fictrac_closed_loop, the three soak_* (the Studio Soak dialog names them), all configs/rigs/*.yaml (the Studio reads rig YAML only from the site), rig/foxglove/arena-okey-cokey.json (a layout rig.py --foxglove loads), rig/tools/ufmf.py + patfile.py (imported by nodes).

In this PR: protocols/index.json drops the moved keys; protocols/MOVED.md maps every old path to its new home; tests/test-protocol-roundtrip-v3.js parses the 2P sweep from a fixture copy (tests/fixtures/v3_g6_2p_color_led_sweep.yaml); scripts/make-color-optomotor-patterns.js --gs16 and scripts/make-2p-diagnostic-patterns.js take --out <dir> (without it they name the private repo and exit 2); rig/README.md, rig/WINDOWS-TEST.md, the protocol-yaml skill, two course docs and the decision record's "stays" row point at the new locations. Pages under docs/development/ that cite old paths are historical and untouched.

Notes for the candidate: #285 (pixi run qc) must switch its bergamo profile from protocols/g6_2x10_2p_diagnostics.yaml to protocols/validation/bench_closed_loop_2x10.yaml (the 2P protocol is private now); its ww18/mac/ww14 profiles are unaffected. The private copies are already pushed, so this PR can merge as soon as the candidate is validated.

Tier

next candidate (together with #285 and #286).

Release notes

  • Rig-specific protocols and the per-rig records moved to the lab's private repos (reiserlab/arena-experiments, reiserlab/scanimage-2026-bergamo); protocols/MOVED.md says where each one went. The site library keeps the validation and demo protocols.

Test plan

  • pixi run test (root): 72/72 files, incl. test-studio-protocols-index, test-protocol-roundtrip-v3 (fixture path), test-studio-runtime-vars, test-project-skills
  • node scripts/make-2p-diagnostic-patterns.js / --gs16 without --out exit 2 with the pointer; with --out <dir> both regenerate their sets (self-verify OK)
  • cd rig && pixi install --locked && pixi run test in the PR worktree: every check passes except the known macOS host-monitor CPU gate (median 0.072 of a core on rig-nodes 0.3.0; fixed by the 0.4.0 re-pin in rig: pin the rig-nodes package set 0.4.0 at its release tag (LAB-338) #286, same as on main) — test_stimulus.py still finds g6_color_optomotor_test_patterns
  • ww18 end-to-end Studio test against arena-experiments (LAB-227 Phase 1, in progress on the rig)
  • pixi run qc -- --tier next --rig ww18 on the candidate

🤖 Generated with Claude Code

Rig-specific protocols and per-rig records leave the public repo so a rig's protocol
tweaks never need a webDisplayTools release. Rule: a protocol stays here only if a
tool, test, QC profile or fixture depends on it.

- Removed (copied first to reiserlab/arena-experiments 8db48e6 and
  reiserlab/scanimage-2026-bergamo 00bccfd, each with PROVENANCE.md): the three
  bias_camera_closed_loop_poc* protocols (→ protocols/ww18/), fictrac_bias_test,
  fictrac_direction_test, fictrac_coupling_bias_fly_test, led_activation_quadrant_test
  (+ patterns), mode3_drill_1trial (→ protocols/shared/); the three 2P protocols +
  two pattern folders (→ bergamo protocols/); the ww18 and okey-cokey (ww14) run
  sheets, handover, dashboard plan, BIAS config and .ps1 start scripts
  (→ rigs/ww18/, rigs/ww14/).
- protocols/index.json drops the moved keys; protocols/MOVED.md maps every old path
  to its new home.
- tests/test-protocol-roundtrip-v3.js parses the 2P sweep from a fixture copy
  (tests/fixtures/v3_g6_2p_color_led_sweep.yaml).
- scripts/make-color-optomotor-patterns.js --gs16 and
  scripts/make-2p-diagnostic-patterns.js take --out <dir> (the 2P targets are no
  longer in this repo; without --out they explain where they went and exit 2).
- rig/README.md, rig/WINDOWS-TEST.md, the protocol-yaml skill, two course docs and
  the decision record's "stays" row point at the new locations.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
mbreiser added a commit that referenced this pull request Oct 29, 2026
# Conflicts:
#	rig/docs/okey-cokey-foxglove-dashboard-plan.md
mbreiser added a commit that referenced this pull request Oct 29, 2026
Candidate for Production. PRs: #286, #285, #288, #289.

Release-Manifest: releases/2026-10-29.json
mbreiser added a commit that referenced this pull request Oct 29, 2026
# Conflicts:
#	rig/docs/okey-cokey-foxglove-dashboard-plan.md
mbreiser added a commit that referenced this pull request Oct 29, 2026
Candidate for Production. PRs: #286, #285, #288, #289.

Release-Manifest: releases/2026-10-29.json
@mbreiser mbreiser closed this pull request by merging all changes into main in 62dbbe7 Oct 29, 2026
@mbreiser
mbreiser deleted the feat/lab-227-protocols-to-private branch October 29, 2026 21:13
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