matiasandina / matiasandina/uid_python_api
Design closed-loop start gating at the output layer
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 0
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
Summary
As of 2026-04-11, stimulus.start is implemented for open-loop only. Closed-loop still begins classifier evaluation immediately at launch.
We discussed extending the same scheduling concept to closed-loop, but decided not to implement it yet because the correct semantics depend on future non-laser outputs such as notifications.
Problem
A naive closed-loop implementation would delay the classifier itself until the scheduled start time. That is too blunt if we later want trigger-driven behaviors that should remain active before laser output is armed, for example:
- notifications
- event logging
- counters / monitoring
Desired Direction
When closed-loop scheduling is added, the gate should apply to the output/action layer, not necessarily to classifier evaluation.
This should let us support behavior such as:
- classifier continues evaluating before the start gate
- UI/status can still reflect trigger state before the gate opens
- laser output remains suppressed until the configured start time
- future output modes may choose whether they obey the same gate
Design Questions
- Should gating be configured per output mode?
- Should
laserbe gated while futurenotifyactions remain active? - How should pre-gate trigger events appear in the UI and logs?
- Should the trigger/stim status panels explicitly show that stimulation is suppressed by schedule?
Proposed Follow-up
Revisit this after we add multiple trigger output modes. At that point:
- Define action-layer routing and output modes.
- Add a closed-loop start gate that applies to laser output.
- Decide whether other outputs (
notify, logging-only actions, etc.) should ignore or honor the same gate.
Current Decision
Do not implement closed-loop stimulus.start scheduling yet. Keep the open-loop implementation. Revisit after output modes are expanded.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the existing open-loop stimulus.start implementation and the current trigger/output flow. Revisit this issue only after multiple trigger output modes exist; the intended outcome is action-layer routing with laser gating while classifier evaluation and any explicitly ungated outputs remain active before the scheduled start.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100