Skip to content
Open
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .ai/allowlist.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,17 @@
"codex_fallback_model": "gpt-6-astra",
"codex_auth_mode": "cached",
"codex_reasoning_effort": "medium",
"effort": {
"planner": "medium",
"plan-reviewer-a": "medium",
"plan-reviewer-b": "medium",
"arbiter": "medium",
"builder": "medium",
"code-reviewer-a": "medium",
"code-reviewer-b": "medium",
"review-arbiter": "medium",
"fixer": "medium"
},
"models": {
"planner": "gpt-6-astra",
"plan-reviewer-a": "claude-opus-5",
Expand Down
4 changes: 2 additions & 2 deletions .ai/quest.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ The Quest Agent interprets your intent, matches brief references, and routes to

## Roles

Role models come from `.ai/allowlist.json` at startup and the saved `.quest/<id>/orchestration.json` thereafter. The canonical dispatch matrix in `.skills/quest/delegation/workflow.md` selects the runtime and transport; role names do not imply a fixed model.
Role models and per-role `effort` come from `.ai/allowlist.json` at startup and the saved `.quest/<id>/orchestration.json` thereafter. Active Claude/Codex roles require an effort pin; Gemini roles omit it. Old saved quests without the map, or with the retired saved `codex_reasoning_effort` scalar, stop before dispatch: explicitly reconfigure saved settings or start a new quest. The allowlist scalar remains a standalone `/gpt` default only. The canonical dispatch matrix in `.skills/quest/delegation/workflow.md` selects the runtime and transport; role names do not imply a fixed model.

| Role | Instructions | Purpose |
|------|--------------|---------|
Expand Down Expand Up @@ -96,7 +96,7 @@ Codex-led Quest note:
| bridge (explicit) | `scripts/quest_claude_bridge.py` | `claude --print`, API-metered after June 15, 2026 | explicit user/config opt-in, CI/daemonless/`ANTHROPIC_API_KEY` contexts |

- `.ai/allowlist.json` `claude_role_transport` (`auto` | `background-agent` | `bridge`) is copied into `.quest/<id>/orchestration.json`; preflight records `claude_transport_resolved` there and keeps `claude_transport_downgraded: false` as a compatibility field. New `auto` runs stop for a user decision when bg fails; bridge is used only when explicitly selected/configured.
- Native Claude-led Quest behavior is unchanged: Claude-designated roles still use native `Task(...)` execution when the orchestrator supports it.
- Claude-designated roles use the Quest Claude runner under either orchestrator, with saved model/effort and the existing role persona. Background setup must pass preflight; native tasks are not a fallback.
- The preferred helpers for Codex-led Claude slots are `scripts/quest_claude_probe.py --transport <t>` for transport preflight and `scripts/quest_claude_runner.py --transport <t>` for real role execution; the runner uses `bypassPermissions`, adds explicit repo/quest access via `--add-dir`, polls `handoff.json`, and updates `context_health.log` with the `transport=` field (the quest end summary and celebration report it).
- The workflow probes transport availability once per session, sweeps orphaned `quest-<id>-*` background sessions at start/resume (`scripts/quest_claude_bg_run.py --sweep`), routes Claude-designated slots by selected model/runtime, and logs runner-invoked Claude roles as `runtime=claude`.
- Transport failures are explicit: timeout retries once, CLI/auth/daemon failures block immediately with remediation (see `docs/guides/quest_setup.md`), and malformed output/missing handoff retries once before text fallback or blocking.
Expand Down
12 changes: 10 additions & 2 deletions .ai/schemas/allowlist.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"title": "Quest Allowlist Configuration",
"description": "Creator-managed permissions for quest orchestration.",
"type": "object",
"required": ["version", "auto_approve_phases", "review_mode", "role_permissions", "gates"],
"required": ["version", "auto_approve_phases", "review_mode", "role_permissions", "gates", "effort"],
"properties": {
"version": { "type": "integer", "minimum": 1 },
"description": { "type": "string" },
Expand Down Expand Up @@ -45,7 +45,15 @@
"codex_reasoning_effort": {
"type": "string",
"enum": ["low", "medium", "high", "xhigh", "max", "ultra"],
"description": "Reasoning effort pinned for Codex roles in new quests. Must be supported by the selected model and dispatch surface."
"description": "Default effort for standalone /gpt only. Quest roles use the per-role effort map."
},
"effort": {
Comment thread
KjellKod marked this conversation as resolved.
"type": "object",
"description": "Saved per Quest role. Required for active Claude/Codex roles; omit for Gemini roles.",
"propertyNames": {
"enum": ["planner", "plan-reviewer-a", "plan-reviewer-b", "arbiter", "builder", "code-reviewer-a", "code-reviewer-b", "review-arbiter", "fixer"]
},
"additionalProperties": {"type": "string", "enum": ["low", "medium", "high", "xhigh", "max", "ultra"]}
},
"models": {
"type": "object",
Expand Down
39 changes: 22 additions & 17 deletions .skills/quest/SKILL.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion .skills/quest/agents/arbiter.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
Gatekeeper for plan quality and canonical review decisions. Receives both plan-review artifacts, synthesizes their feedback, filters out noise, decides whether the plan is ready for implementation, and emits canonical findings artifacts.

## Tool
Runtime is derived from `models.arbiter` in `.quest/<id>/orchestration.json`; the entrypoint (local Codex subagent, Quest Codex CLI runner, native `Task(...)`, or the bridge runner) follows the canonical dispatch matrix in `.skills/quest/delegation/workflow.md` (Runtime And Entrypoint Selection). That matrix is the single source of truth — do not restate or override it here.
Runtime is derived from `models.arbiter` in `.quest/<id>/orchestration.json`; the entrypoint follows the canonical dispatch matrix in `.skills/quest/delegation/workflow.md` (Runtime And Entrypoint Selection). That matrix is the single source of truth — do not restate or override it here.

## Core Philosophy
The Arbiter exists to **prevent spin** and enforce engineering pragmatism. It filters feedback through:
Expand Down
2 changes: 1 addition & 1 deletion .skills/quest/agents/builder.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
Implements the approved plan. Writes code, runs tests, produces a PR description.

## Tool
Runtime is derived from `models.builder` in `.quest/<id>/orchestration.json`; the entrypoint (local Codex subagent, Quest Codex CLI runner, native `Task(...)`, or the bridge runner) follows the canonical dispatch matrix in `.skills/quest/delegation/workflow.md` (Runtime And Entrypoint Selection). That matrix is the single source of truth — do not restate or override it here.
Runtime is derived from `models.builder` in `.quest/<id>/orchestration.json`; the entrypoint follows the canonical dispatch matrix in `.skills/quest/delegation/workflow.md` (Runtime And Entrypoint Selection). That matrix is the single source of truth — do not restate or override it here.

When running on Codex, this role is non-interactive:
- Do not ask questions.
Expand Down
2 changes: 1 addition & 1 deletion .skills/quest/agents/fixer.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ At activation, announce the role and scope in one line. Example: `[fixer] fixing
Fixes issues identified by the Code Review Agent. Applies targeted fixes and re-runs tests.

## Tool
Runtime is derived from `models.fixer` in `.quest/<id>/orchestration.json`; the entrypoint (local Codex subagent, Quest Codex CLI runner, native `Task(...)`, or the bridge runner) follows the canonical dispatch matrix in `.skills/quest/delegation/workflow.md` (Runtime And Entrypoint Selection). That matrix is the single source of truth — do not restate or override it here.
Runtime is derived from `models.fixer` in `.quest/<id>/orchestration.json`; the entrypoint follows the canonical dispatch matrix in `.skills/quest/delegation/workflow.md` (Runtime And Entrypoint Selection). That matrix is the single source of truth — do not restate or override it here.

When running on Codex, this role is non-interactive:
- Do not ask questions.
Expand Down
2 changes: 1 addition & 1 deletion .skills/quest/agents/planner.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
Creates and refines implementation plans from quest briefs. May be invoked multiple times if the Arbiter requests plan improvements.

## Tool
Runtime is derived from `models.planner` in `.quest/<id>/orchestration.json`; the entrypoint (local Codex subagent, Quest Codex CLI runner, native `Task(...)`, or the bridge runner) follows the canonical dispatch matrix in `.skills/quest/delegation/workflow.md` (Runtime And Entrypoint Selection). That matrix is the single source of truth — do not restate or override it here.
Runtime is derived from `models.planner` in `.quest/<id>/orchestration.json`; the entrypoint follows the canonical dispatch matrix in `.skills/quest/delegation/workflow.md` (Runtime And Entrypoint Selection). That matrix is the single source of truth — do not restate or override it here.

When running on Codex, this role is non-interactive:
- Do not ask questions.
Expand Down
Loading
Loading