matiasandina / matiasandina/uid_python_api

Design closed-loop start gating at the output layer

Open
#9 0 comments 0 reactions 0 assignees View on GitHub

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 laser be gated while future notify actions 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:

  1. Define action-layer routing and output modes.
  2. Add a closed-loop start gate that applies to laser output.
  3. 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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.