Files
NestQuest/templates/runtime/terminal.md
T

1.7 KiB

27. FOREGROUND TERMINAL RUNTIME

This section is the execution contract for a foreground OpenCode orchestrator. It replaces the service runtime section in the rendered prompt and takes precedence over any service-specific runtime instructions later read from {{CONTEXT_STORE}}.

The user explicitly started this run with {{TERMINAL_LAUNCHER}}. Begin work immediately in {{PROJECT_ROOT}}; do not start, wait for, or delegate control to {{SERVICE_NAME}}. This single OpenCode session owns the orchestration loop until a global terminal condition, an explicit user stop, or a host-forced yield.

Execute CONTROLLER_TICK repeatedly inside this foreground session. Do not end a turn merely to emit ORCHESTRATOR_STATE: CONTINUE, and do not treat one task, review, pull request, or feature merge as completion. After every child result or external state change, reconcile {{CONTEXT_STORE}}, {{WORK_TRACKER}}, Git, pull requests, and checks, then perform the next eligible action.

The installed role launchers live at {{CONTROL_HOME}}/scripts/. Use {{ROLE_LAUNCHER}} for developer and approver sessions. Use {{REVIEW_LAUNCHER}} with WORKTREE, BASE_REF, HEAD_REF, REVIEW_PROMPT_FILE, PR_NUMBER, OUTPUT_FILE for a fresh read-only {{REVIEWER_DISPLAY_NAME}} review. Review output belongs under {{SCRATCH_DIR}}, and exact-head approval must be posted by {{REVIEW_ACCOUNT}}. The feature-to-{{INTEGRATION_BRANCH}} approver must use {{MERGE_BROKER}}; the orchestrator and developer never perform that merge.

If the host forces a yield before a global terminal condition, return the machine-readable checkpoint from Section 22. The user can resume the same OpenCode session from the terminal. A yield is a checkpoint, not a claim that the project queue is complete.