Preflight checklist
What problem does this solve?
The headless CLI can create or resume a Session and submit a prompt, but it cannot select several execution controls available in the Open Science interface:
- Start a turn using Plan First
- Enable or disable auto-review
- Bind a Specialist when creating a Session
- Control whether the main agent may create subagents
For example, the following CLI run cannot currently request Plan First or auto-review:
open-science run \
--project "Analysis" \
--prompt-file task.md \
--wait
Users must open the interface and configure these options manually. This limits unattended, scripted, and benchmark-driven workflows and can cause CLI-created Sessions to behave differently from Sessions created interactively.
--approval-profile auto does not solve this problem. It controls tool permissions and is unrelated to automatic review.
Proposed solution
Expose stable Session and turn controls through open-science run.
Suggested interface:
open-science run \
--project "Analysis" \
--prompt-file task.md \
--plan-first \
--auto-review \
--specialist <id-or-name> \
--subagents allow \
--wait \
--jsonl
Plan First
Add:
The submitted prompt should use the existing Plan First turn intent.
When the generated Plan requires approval:
- The run should enter an explicit
awaiting_plan_approval state.
--json and --jsonl should expose the Session ID, Plan identity/version, and available actions.
- Waiting for approval should not be treated as run failure or completion.
- A parked Plan should not expire merely because the CLI process exits or remains idle.
Provide commands or equivalent API operations for completing the lifecycle, for example:
open-science plan show <session-id>
open-science plan approve <session-id>
open-science plan revise <session-id> --feedback "..."
open-science plan discard <session-id>
The exact command names can follow the project's preferred CLI structure.
Auto-review
Add:
--auto-review
--no-auto-review
Auto-review for CLI runs must be owned by the daemon/runtime and must not depend on an Open Science renderer or browser being open.
For a new Session, the explicit flag should set its initial auto-review state. For an existing Session:
- An explicit flag should update the Session setting.
- Omitting both flags should preserve the Session's saved setting.
The existing configured reviewer model and review policy can remain the default. Reviewer-model selection can be added separately if it requires another stable public contract.
Review progress and results should be included in --jsonl events and reflected in the final run result.
Specialist selection
Add:
--specialist <id-or-name>
This should bind a Specialist when creating a new Session using the existing internal Specialist identity.
Because the Specialist is a Session-level binding, using --specialist with an incompatible existing --session should return a clear validation error rather than silently switching or ignoring it.
Subagent policy
Add an explicit delegation policy, for example:
--subagents allow
--subagents deny
This would control whether the main agent may use Open Science's existing delegated-work capability. It should not require users to predefine individual child tasks; the agent may still decide when and how to delegate.
For automation:
- Delegated-work lifecycle events should be available through
--jsonl.
- The run result should distinguish active, completed, failed, and cancelled delegated work.
- Cancelling a run should use the documented Open Science cancellation policy for its child work.
- Permission requests and questions raised by delegated agents should appear as explicit waiting states rather than an unexplained timeout.
General behavior
- CLI help and documentation should distinguish permission profiles, auto-review, Plan First, Specialists, and subagents.
- Unsupported combinations should fail with exit code
2 and a clear usage message.
- Structured outputs should remain stable and machine-readable.
- Behavior should be covered on Windows, macOS, and Linux.
Alternatives considered
Configure everything through the interface first
This prevents a workflow from being fully reproducible from a command or automation script.
Encode the behavior in prompt text
Instructions such as "create a plan first" or "use subagents" are not equivalent to application-owned Plan First, review, Specialist, and delegation controls.
Use --approval-profile auto
Permission approval and auto-review are separate features. Changing the permission profile does not enable review or Plan First.
Expose all interactive settings immediately
This issue is limited to Plan First, auto-review, Specialist selection, and delegation policy. Attachments and per-run model/backend selection are already tracked in #363.
Additional context
Current Open Science internals already contain much of the required runtime behavior:
- Plan First is represented by the existing
plan-first turn intent.
- Session creation accepts a Specialist identity internally.
- Open Science supports delegated work through
host.delegate.
- Auto-review already exists as a Session setting, although its current trigger path is associated with the interactive workspace.
The main missing piece is a stable CLI and Task API contract that exposes these capabilities without requiring the interface to remain open.
Preflight checklist
What problem does this solve?
The headless CLI can create or resume a Session and submit a prompt, but it cannot select several execution controls available in the Open Science interface:
For example, the following CLI run cannot currently request Plan First or auto-review:
open-science run \ --project "Analysis" \ --prompt-file task.md \ --waitUsers must open the interface and configure these options manually. This limits unattended, scripted, and benchmark-driven workflows and can cause CLI-created Sessions to behave differently from Sessions created interactively.
--approval-profile autodoes not solve this problem. It controls tool permissions and is unrelated to automatic review.Proposed solution
Expose stable Session and turn controls through
open-science run.Suggested interface:
Plan First
Add:
The submitted prompt should use the existing Plan First turn intent.
When the generated Plan requires approval:
awaiting_plan_approvalstate.--jsonand--jsonlshould expose the Session ID, Plan identity/version, and available actions.Provide commands or equivalent API operations for completing the lifecycle, for example:
The exact command names can follow the project's preferred CLI structure.
Auto-review
Add:
Auto-review for CLI runs must be owned by the daemon/runtime and must not depend on an Open Science renderer or browser being open.
For a new Session, the explicit flag should set its initial auto-review state. For an existing Session:
The existing configured reviewer model and review policy can remain the default. Reviewer-model selection can be added separately if it requires another stable public contract.
Review progress and results should be included in
--jsonlevents and reflected in the final run result.Specialist selection
Add:
This should bind a Specialist when creating a new Session using the existing internal Specialist identity.
Because the Specialist is a Session-level binding, using
--specialistwith an incompatible existing--sessionshould return a clear validation error rather than silently switching or ignoring it.Subagent policy
Add an explicit delegation policy, for example:
This would control whether the main agent may use Open Science's existing delegated-work capability. It should not require users to predefine individual child tasks; the agent may still decide when and how to delegate.
For automation:
--jsonl.General behavior
2and a clear usage message.Alternatives considered
Configure everything through the interface first
This prevents a workflow from being fully reproducible from a command or automation script.
Encode the behavior in prompt text
Instructions such as "create a plan first" or "use subagents" are not equivalent to application-owned Plan First, review, Specialist, and delegation controls.
Use
--approval-profile autoPermission approval and auto-review are separate features. Changing the permission profile does not enable review or Plan First.
Expose all interactive settings immediately
This issue is limited to Plan First, auto-review, Specialist selection, and delegation policy. Attachments and per-run model/backend selection are already tracked in #363.
Additional context
Current Open Science internals already contain much of the required runtime behavior:
plan-firstturn intent.host.delegate.The main missing piece is a stable CLI and Task API contract that exposes these capabilities without requiring the interface to remain open.