C · Temperature-change burst protocol (tactic)#65
Closed
pskeshu wants to merge 9 commits into
Closed
Conversation
Add three EventType members (TEMPERATURE_SETPOINT_CHANGED, TEMP_PROTOCOL_STARTED, TEMP_PROTOCOL_COMPLETED) to event_bus.py and map them to timeline subtypes in timeline.py for persistence to timeline.jsonl. Includes unit tests.
…rst (brightfield bursts)
Adds temperature_protocol_tools.py with the @tool-decorated run_temp_change_burst_protocol_tool: resolves agent/orchestrator/client from context, guards all three (returns error strings if absent), then launches the driver via asyncio.create_task so the thermal ramp runs in the background and the agent turn returns immediately. Registered in tools/__init__.py. TDD: 5 tests covering happy path (task created + started message), no-client, no-orchestrator, no-agent, and registry discoverability.
…gy snapshot
Initialize temp_protocol (None) and setpoint_changes ([]) on every embryo
dict in _build_embryos_static. In _replay_timeline, handle the three new
subtypes from Task 1: temp_protocol_started opens a band (start + params),
temp_protocol_completed closes it (end), setpoint_changed appends {t, to}
to the list. Bursts continue to render as burst phases unchanged.
…apse, harden driver test
- event_bus.py: fix TEMPERATURE_SETPOINT_CHANGED/TEMP_PROTOCOL_STARTED/TEMP_PROTOCOL_COMPLETED
inline comments to match actual emitted payloads ({embryo_id,to} / {embryo_id,target_setpoint_c,
frames,bursts_before,bursts_after} / {embryo_id,locked,cancelled,error})
- temperature_protocol_tools.py: refuse to launch if orchestrator._status == TimelapseStatus.RUNNING
(would contend with timelapse RunEngine); returns clear refusal string, no task created
- test_temp_protocol_driver.py: assert burst phase sequence (first=="before", last=="after") and
event order (STARTED < SETPOINT_CHANGED < COMPLETED)
- test_temp_protocol_tool.py: add test_tool_refuses_during_active_timelapse for the guard
Collaborator
Author
|
Superseded by #72 — the temperature + Operations/tactics suite and the new Operate (bottom-cam→SPIM) surface are consolidated onto |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Sub-project C. The automated temperature-strain protocol.
wait_for_temperature_lock+ the before/during/after burst driver, burst-acquisition wiring, protocol events + agent tool.Stack: →
feature/manual-mode-live-view(B1).