Pinned lanes and default efforts

ResponsibilityModelDefault
Main orchestrator and final decisionsCurrent gpt-6-sol, gpt-6-luna, or gpt-6-astra sessionObserved session effort
Selected deep-reasoning workgpt-6-astraAstra Medium
Focused, narrow, fully specified workgpt-6-lunaLuna Max
Context-heavy implementation, debugging, integration, or moderate refactoringgpt-6-solSol High
Fresh final reviewgpt-6-solReviewer Sol High
Hypernova childrengpt-6-sol by default, or gpt-6-astraSol Max or configured Astra effort

The model already running the task remains primary at its observed effort. Worker effort comes from persisted per-lane settings when Adaptive is off, or from a validated per-task choice when Adaptive is on. Primary effort never caps worker effort, and Astra is chosen only when its reasoning benefit justifies the added cost.

Configure normal lane effort

Reasoning effort is a requested reasoning budget. Higher values can increase latency and usage and do not guarantee a better result.

Show effective settings

sh scripts/configure-effort.sh --show

Change one lane

sh scripts/configure-effort.sh --astra medium

Set several lanes or restore defaults

sh scripts/configure-effort.sh --astra medium --luna max --sol high --reviewer high
sh scripts/configure-effort.sh --reset

Allowed labels are minimal, low, medium, high, xhigh, max, and ultra. Max and Ultra are model- and account-dependent. A rejected value is an error, never a silent fallback. Settings persist outside the plugin cache at ~/.codex/astral-orchestrator/effort-levels.toml, or under CODEX_HOME when set.

Optional TypeSafe and Adaptive worker selection

Install typesafe-session@astral-orchestrator separately and trust its hooks to keep one task's settings through compaction. TypeSafe on, TypeSafe off, and TypeSafe status control optional worker-model advice at configured effort. TypeSafe starts off unless the project root's AGENTS.md contains TypeSafe session: on.

Adaptive on typesafe or Adaptive on openrouter selects a Jev provider and enables per-task worker model and effort selection. Adaptive off and Adaptive status control that separate switch. Adaptive starts off each task; TypeSafe off does not disable it. If both switches are on, Astral makes one Jev request per worker card. Put the chosen provider's TYPESAFE_API_KEY or OPENROUTER_API_KEY in a private project .env.local. There is no automatic provider fallback.

Code first filters by mode, observed model and effort availability, exact choices, delegation permission, and settled acceptance. Jev Choice selects among eligible workers and Score selects a supported effort when Adaptive is on. Explicit choices and the fresh Sol High reviewer stay fixed. Comet and Singularity show only a recommendation for a future task. The current primary, authorization, execution, and runtime proof remain under Codex control. A missing key or uncertain judgment is reported visibly.

For local setup, copy the repository's .env.example to an owner-only, git-ignored .env.local in the active project and add the selected provider's key. The key stays local; the website never receives it.

Primary proof comes first

Every mode runs the local primary checker before execution. When CODEX_THREAD_ID and local rollout evidence are available, it checks the observed model and effort and emits only allowlisted route fields—never prompt or session contents.

The checker accepts an observed gpt-6-sol, gpt-6-luna, or gpt-6-astra primary and reports the effort already running. An explicitly selected legacy gpt-5.6-sol primary is also supported. Optional --require-sol-ultra (legacy Sol only) and --require-astra-ultra flags are strict diagnostics; no mode requires them.

A mismatch or invalid result blocks every route. When evidence is unavailable, only modes whose contracts permit it may ask once for user confirmation and must label it user-confirmed. Singularity and Hypernova require observed proof; confirmation cannot override it.

Five native MultiAgentsV2 controls

Before native delegation, Astral verifies that collaboration.spawn_agent exposes all five controls:

  1. agent_type
  2. task_name
  3. model
  4. reasoning_effort
  5. fork_turns

A current native route sends a complete standalone packet with a unique task name, exact model and effort, and fork_turns: "none". A matching optional profile may be selected only when its fixed values agree; profile values take precedence.

For ordinary delegated modes, a host missing one or more native controls may use the bundled legacy exact-process launcher only where that mode permits it. The launcher emits an ASTRAL_ORCHESTRATOR_ROUTE header with allowlisted route facts and never the task packet, instructions, secrets, or file contents. Hypernova is native-only and has no such fallback.

Task name is not proof. Requested is not observed. Missing or mismatched native controls, model, effort, fork history, capacity, or required review evidence blocks the lane and produces the smallest corrective action.

Astral status stays truthful

Astral status is mandatory before work, before and after every child launch, whenever route state changes, and in the final handoff. The table shows lane, role, requested and observed model and effort, lifecycle state, and the evidence that affects the next decision. A route begins as requested and becomes observed only after runtime proof.

FieldMeaning
RequestedThe planned route; never presented as execution proof.
ObservedAllowlisted runtime evidence that confirms what actually ran.
StateQueued, running, completed, blocked, or another truthful lifecycle value.
EvidenceOnly facts that materially affect acceptance or the next action.

Morph and external-provider disclosure

Morph can use an OpenCodex-routed provider/model or another user-selected native model only for a bounded worker card. The provider may be external and may receive the bounded worker packet during inference.

Astral does not install OpenCodex, change ~/.opencodex, start a service, or install a provider package. Astral does not handle credentials. It does not claim that every provider supports native effort semantics. Provider support and effort semantics remain capability-dependent, and a failure blocks the worker rather than silently changing route.

For an OpenCodex-routed Codex task, Astral intersects its GPT worker candidates with the active OpenCodex model catalog. OpenCodex carries model requests; it does not choose the Astral route. Its own sub-agent model and effort settings are guidance or defaults. The Jev key is separate from any model-provider credential.

Astra-Ares is an optional patched Codex CLI for within-task GPT-6 effort changes. Astral checks its selected provider and accepts an Ares primary only when its logical selection matches a private native checkpoint and applied-effort acknowledgment for the same task. A compatible configuration alone is not proof. The tested Ares path is single-agent CLI, including one OpenCodex-routed Luna Low task; ordinary Codex Desktop does not inherit Ares checkpoints. Adaptive per-worker routing works separately in CLI and Desktop.

The optional Jev selector runs only when enabled with a private project key. This does not imply provider traffic is local. Review the provider's terms and your workplace rules before sending sensitive material.

Capacity, Constellation, and Hypernova

Constellation starts concurrent work only after Sol proves independent cards, non-overlapping ownership, suitable cost-aware workers, and host-advertised capacity after the primary consumes one slot. When capacity or independence is uncertain, Constellation may use serial Orbit-style routing.

Hypernova instead requires observed native capacity and exact worker routes: Sol Max by default, or a validated Adaptive model and effort for each card when enabled. Its fresh reviewer stays Sol High. It launches the maximum safe ready wave, recalculates capacity between waves, and blocks rather than treating a different route as equivalent. Dependent or safety-sensitive cards may be sequenced within the exact native contract.