Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# Changelog

## 0.10.1

- **Grok Build opt-in.** Stock configs keep `team_harness_agents` as
codex/claude/gemini. Commented overlays document how to enable the
`grok` worker family when the Grok Build CLI is installed and authenticated
(`XAI_API_KEY` or `grok login`). Requires **team-harness ≥ 0.6.1**.
- Skill and website configuration docs mention the same opt-in path.
- Dependency lower bound: `team-harness>=0.6.1`.

## 0.10.0

The session layout, IDs, and traces redesign (session-layout-and-ids.md;
Expand Down
4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "hatchling.build"

[project]
name = "loopy-loop"
version = "0.10.0"
version = "0.10.1"
description = "Run long-running AI agent workflows inside your repository."
readme = "README.md"
requires-python = ">=3.12"
Expand Down Expand Up @@ -44,7 +44,7 @@ dependencies = [
"pydantic>=2.11",
"pyyaml>=6.0.2",
"rich>=14.0",
"team-harness>=0.5.4",
"team-harness>=0.6.1",
"uvicorn[standard]>=0.32.0",
]

Expand Down
6 changes: 6 additions & 0 deletions skills/loopy-loop/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,12 @@ team_harness_api_key_env: OPENROUTER_API_KEY
team_harness_system_prompt_extension: ""
```

Optional Grok Build worker family (team-harness ≥ 0.6.1): when `grok` is
installed and authenticated (`XAI_API_KEY` or `grok login`), append `grok` to
`team_harness_agents` and add model/effort cells (e.g. `grok-4.5` / `high`).
Do not list families the worker host cannot run — the capability roster treats
every listed agent with a model cell as available.

The four canonical strength tiers are:

- `frontier`: hardest architecture, ambiguous debugging, adversarial review,
Expand Down
4 changes: 4 additions & 0 deletions src/loopy_loop/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,10 @@
claude: "claude-opus-4-8"
gemini: "gemini-3.5-flash"
team_harness_agent_reasoning_efforts: {{}}
# Optional: enable Grok Build when `grok` is installed/authenticated
# (XAI_API_KEY or `grok login`). Requires team-harness>=0.6.1.
# team_harness_agents: [codex, claude, gemini, grok]
# team_harness_agent_models: {{..., grok: "grok-4.5"}}
# Optional coordinator retry controls. Omit to use team-harness defaults.
# team_harness_max_retries: 8
# team_harness_retry_base_delay_s: 2.0
Expand Down
10 changes: 10 additions & 0 deletions src/loopy_loop/templates/inner_outer_eval/loopy_loop_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,13 @@ team_harness_agent_models:
gemini: "gemini-3.5-flash"
team_harness_agent_reasoning_efforts:
codex: "high"
# Optional: enable Grok Build as a worker family when `grok` is installed and
# authenticated (XAI_API_KEY or `grok login`). Requires team-harness>=0.6.1.
# Only list families the worker host can run — the capability roster treats
# every listed agent with a model cell as available.
# team_harness_agents: [codex, claude, gemini, grok]
# team_harness_agent_models: {..., grok: "grok-4.5"}
# team_harness_agent_reasoning_efforts: {..., grok: "high"}
# Optional semantic strength tiers. Configure concrete ids here; stock role
# prompts select by tier and enabled family without naming vendors or models.
# With default_tier set, REMOVE the two explicit mappings above. Every enabled
Expand All @@ -30,14 +37,17 @@ team_harness_agent_reasoning_efforts:
# codex: {model: "<frontier model id>", effort: "<frontier effort>"}
# claude: {model: "<frontier model id>", effort: "<frontier effort>"}
# gemini: {model: "<frontier model id>", effort: "<frontier effort>"}
# grok: {model: "grok-4.5", effort: "high"}
# strong:
# codex: {model: "<strong model id>", effort: "<strong effort>"}
# claude: {model: "<strong model id>", effort: "<strong effort>"}
# gemini: {model: "<strong model id>", effort: "<strong effort>"}
# grok: {model: "grok-4.5", effort: "high"}
# standard:
# codex: {model: "<standard model id>", effort: "<standard effort>"}
# claude: {model: "<standard model id>", effort: "<standard effort>"}
# gemini: {model: "<standard model id>", effort: "<standard effort>"}
# grok: {model: "grok-4.5", effort: "medium"}
# economy:
# codex: {model: "<economy model id>", effort: "<economy effort>"}
# claude: {model: "<economy model id>", effort: "<economy effort>"}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,11 @@ team_harness_agent_models:
codex: "gpt-5.5"
team_harness_agent_reasoning_efforts:
codex: "high"
# Optional: enable Grok Build when `grok` is installed/authenticated
# (XAI_API_KEY or `grok login`). Requires team-harness>=0.6.1. Only list
# families the worker host can run.
# team_harness_agents: [codex, claude, gemini, grok]
# team_harness_agent_models: {..., grok: "grok-4.5"}
# Optional semantic strength tiers. Configure concrete ids here; stock role
# prompts select by tier and enabled family without naming vendors or models.
# This extension also reaches child sessions. With default_tier set, REMOVE the
Expand All @@ -22,18 +27,22 @@ team_harness_agent_reasoning_efforts:
# codex: {model: "<frontier model id>", effort: "<frontier effort>"}
# claude: {model: "<frontier model id>", effort: "<frontier effort>"}
# gemini: {model: "<frontier model id>", effort: "<frontier effort>"}
# grok: {model: "grok-4.5", effort: "high"}
# strong:
# codex: {model: "<strong model id>", effort: "<strong effort>"}
# claude: {model: "<strong model id>", effort: "<strong effort>"}
# gemini: {model: "<strong model id>", effort: "<strong effort>"}
# grok: {model: "grok-4.5", effort: "high"}
# standard:
# codex: {model: "<standard model id>", effort: "<standard effort>"}
# claude: {model: "<standard model id>", effort: "<standard effort>"}
# gemini: {model: "<standard model id>", effort: "<standard effort>"}
# grok: {model: "grok-4.5", effort: "medium"}
# economy:
# codex: {model: "<economy model id>", effort: "<economy effort>"}
# claude: {model: "<economy model id>", effort: "<economy effort>"}
# gemini: {model: "<economy model id>", effort: "<economy effort>"}
# grok: {model: "grok-4.5", effort: "low"}
# default_tier: "standard"
# Optional coordinator retry controls. Omit to use team-harness defaults.
# team_harness_max_retries: 8
Expand Down
10 changes: 5 additions & 5 deletions uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion website/src/app/docs/configuration/page.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ Everything about *how* work is executed — which provider, coordinator model, a
| --- | --- | --- | --- |
| `team_harness_provider` | string | `"openai_compat"` | The team-harness provider name workers use. `codex` uses local Codex authentication; the shipped templates set this to `"codex"`. |
| `team_harness_model` | string | `"gpt-5.5"` | The model name passed to team-harness for its **coordinator** model. |
| `team_harness_agents` | list of strings | `["codex"]` | Agent names team-harness should make available as worker subprocesses, such as `codex`, `claude`, and `gemini`. |
| `team_harness_agents` | list of strings | `["codex"]` | Agent names team-harness should make available as worker subprocesses, such as `codex`, `claude`, and `gemini`. Optional `grok` (Grok Build CLI; team-harness ≥ 0.6.1) when the binary is installed and authenticated (`XAI_API_KEY` or `grok login`). Only list families the worker host can run. |
| `team_harness_agent_models` | map | `{}` | Per-agent default worker model overrides, keyed by agent name. |
| `team_harness_agent_reasoning_efforts` | map | `{}` | Per-agent reasoning-effort overrides, keyed by agent name. Only agents whose templates support a reasoning-effort flag use this value. |
| `model_tiers` | map | `{}` | Coordinator-side tier name → agent → `{model, effort}` bundles rendered into the harness prompt for per-spawn worker choice. Tier selection is guidance and audit evidence, not enforcement. |
Expand Down
Loading