Skip to content

Run every Claude child at effort max under an Ultracode main loop (installer agents, examples, committed project settings) - #196

Merged
seathatflowsinourveins merged 6 commits into
mainfrom
claude/max-effort-default-20260923
Sep 24, 2026
Merged

seathatflowsinourveins merged 6 commits into
mainfrom
claude/max-effort-default-20260923

Conversation

@seathatflowsinourveins

@seathatflowsinourveins seathatflowsinourveins commented Sep 24, 2026 •

Copy link
Copy Markdown
Owner

Catalog half of the 2026-09-23 max-effort decision. The agent-lab half is #43, #46 and #48, all merged. Record: docs/decisions/2026-09-23-max-effort-default.md.

What changes

  • adoption/agents/claude/: the five installer agents move to effort: max, with models unchanged, and source-scout gets maxTurns: 100. The files are byte-identical to agent-lab .claude/agents/. The two blind roles already arrived at max with Blind lanes round 2: sanitized export, receipt aliases, two-family adjudication #145.
  • Committed .claude/settings.json: ultracode, workflows, the unrestricted size guideline, a concurrency cap of 8 and spawn depth 1, merged with main's secret-read deny rules and guard hook. Single-repo cloud and GitHub sessions start with ultracode. It sets no effortLevel (max cannot persist) and no CLAUDE_CODE_EFFORT_LEVEL (that turns ultracode off).
  • Examples:
    • the agents and the review-changes/readiness-audit workflows at max, and the child-usage.mjs mirror synced from agent-lab;
    • the contract suites now reject a non-max stage or agent (envelope 214/214, mutations 47/47), and CI now runs them;
    • the routing table gains blind-adjudicator.
  • Docs: recipes (the coordinator stays at xhigh under ultracode; workers at max; GitHub claude-code-action notes), examples/claude-native/CLAUDE.md, AGENTS.md, foundation decisions.json, and change-after-v2026.09.24.1 markers in bootstrap.md.
  • No lane files. layer-verdict-lane.js, vendored-lanes.json, lane-provenance.json, the blind roles and tests/test_verdict_lane_vendoring.py are exactly main's. Blind lanes round 2: sanitized export, receipt aliases, two-family adjudication #145 owns them.

Evidence

Probes P0–P9, Q1–Q3 and H1 on Claude Code 2.1.281:

  • A max session drops the "Ultracode is on" orchestration reminder.
  • Persisted max is silently dropped.
  • The env var overrides every child's effort.
  • Under the ultracode coordinator, a stage or frontmatter set to max runs at max, and the stage wins over frontmatter.

Live acceptance: a saved workflow's children ran at max, and child-usage --require-effort max exited 0. Telemetry across 183 children shows 0 max_tokens stops, with about 2.9× the output tokens.

The decision stays keep-but-compare until the per-role effort sweep runs.

Checks

  • validate, validate_catalogs, evidence_manifest --check, new_host_grand_list --check, build_ecosystem --check, validate_foundation, and release_due --strict-if-repinned origin/main: all exit 0.
  • unittest (docs consistency, install, lane vendoring, bootstrap, guard, apply): 158 OK, 1 skipped.
  • Example SHA256SUMS OK, and gitleaks clean.
  • The earlier commits had two rounds of independent Opus review. Post-merge update: the rebase review (ff2ac50...cad8d25) found 1 blocking, 1 medium, 1 low and 1 pre-existing note, all fixed in 152cfa4; an independent post-merge review of 152cfa4 (github-automation session) was clean. Record: agent-lab docs/tasks/2026-09-23-max-effort-default.md (Publish corrected live Claude command results and native dashboards #53).

🤖 Generated with Claude Code

Set effort: max in the five shipped agent definitions
(adoption/agents/claude/*.md), keeping their task-matched models; the
one-line change keeps them byte-identical to agent-lab's .claude/agents
copies, which receive the same edit.

Commit a project .claude/settings.json (byte-identical to the portable
ultracode example and agent-lab's committed project settings) so
single-repository cloud sessions on this repository start with Ultracode.
It carries neither effortLevel (a max there is silently dropped) nor
CLAUDE_CODE_EFFORT_LEVEL (any value but xhigh disables Ultracode, and max
there overrides every child's effort).

Update the Ultracode recipe: every child role at max with its task-matched
model, the coordinator at Ultracode (xhigh plus orchestration), the measured
constraints (max disables orchestration, cannot be persisted, and the
environment variable overrides all child efforts), the per-stage rule
(agent() calls pass effort: 'max'; a stage without it inherits xhigh) and
GitHub/cloud-session guidance (claude-code-action has no effort input: use
claude_args '--effort ultracode' or settings {"ultracode":true}, never
'--effort max' beside Ultracode). Note the child-effort change in the
native profile recipe.

Record the decision with its probes, alternatives and overturn conditions
in docs/decisions/2026-09-23-max-effort-default.md, linked from the Claude
user profile decision, and rehash the two recipes in manifests/evidence.json.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…e review findings

Rebased onto the current main (v2026.09.23.1 pinned by #148). The five
adoption/agents/claude definitions differ from that release, so
adoption/bootstrap.md now says they "changed after `v2026.09.23.1`", and
tests/test_adoption_docs_consistency.py treats what install_claude_profile.py
copies (the agent and hook directories, the MCP template) as install inputs,
matching a directory by its path, never its last component. The stale
v2026.09.23 notes are dropped from the bootstrap, platform, README and
next-host pages: the pinned release contains everything they described.

Examples: the four example agents and every agent() stage of
review-changes.js, readiness-audit.js and layer-verdict-lane.js bind effort
max with models unchanged; the three scripts are byte-identical to agent-lab
915e73e. The vendored lane now names blind-lane-reviewer, vendored beside it
and pinned under required_agents in vendored-lanes.json; SHA256SUMS,
vendored-lanes.json and two appended lane-provenance.json entries rebind the
new bytes. The contract suite pins max in ROUTING (which also clears the
routing failure the old vendored lane already had on main) and now rejects a
stage or agent at any other effort, a second effort line, MODEL drift, a
routing table that restates an agent differently, CLAUDE_CODE_EFFORT_LEVEL
or an effort cap in the settings, and instructions without the
`effort: 'max'` literal; of 24 new mutations, 22 fail on their named
assertion and two harmless edits do not.
examples/claude-native/CLAUDE.md takes the host's current worker sentence,
and AGENTS.md tells the coordinator to pass effort: 'max' on ad-hoc agent()
calls and to stay at xhigh.

Recipes and decision record: GitHub runs are non-interactive Agent SDK
runs whose Workflow launches go through normal permission evaluation;
autoContinueAtUsageLimit is no cost control and headless, SDK, GitHub and
background runs fail at a usage limit; the claude-code-action pin is "read
2026-09-23" without an input count; the action's one CI smoke is cited and no
Ultracode or effort run is claimed; /effort max is marked as not probed;
Q1/Q2 replace the confounded P3/P4/P7/P8 as the evidence that a persisted
max is dropped, and Q3 adds that a stage's effort wins over the frontmatter;
CLAUDE_CODE_EFFORT_LEVEL is never set. catalogs/foundation/decisions.json's
lean-workflow-child-routing activation names the max efforts and cites the
decision. A new test requires one "effort: max" frontmatter line in each
shipped agent.

Checks (raw): validate.py, validate_catalogs.py, evidence_manifest.py
--check, new_host_grand_list.py --check, build_ecosystem.py --check and
release_due.py --strict-if-repinned origin/main (exit 0, not strict: no
re-pin, nothing due) pass; the example suites pass as CI runs them
(sha256sum --check) and as their README runs them (envelope 207/207,
mutations 47/47, child-usage 16/16, usage-receipts 18/18, codex-envelope,
check-syntax); the named unittest modules and the related ones pass.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…t-step and concurrency wording

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…builder from agent-lab #46 (a7a67a3e)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ct settings, blind-adjudicator routing row, current agent-lab pins

- .claude/settings.json keeps main's secret-read deny rules and guard hook and adds
  the ultracode keys; the recipe and decision no longer call it byte-identical.
- bootstrap.md marks adoption/agents/claude and adoption/hooks/claude as changed after
  v2026.09.24.1; the lane test and lane files are #145's.
- child-usage mirror synced from agent-lab; examples routing table lists blind-adjudicator.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

…#94 cleanup, sync example agents

- The decision record names v2026.09.24.1 and the settings file main added (#182).
- The macOS step 4 re-pin note and next-host-stages' 'as the macOS page marks' go,
  since #94 is in the pinned tag.
- The four example agents are byte-identical to agent-lab's again (source-scout
  maxTurns 100 and the foreground-acceptance sentence), as the recipe states.
- The install-input docstring and comment name the secret-path guard's SHA256SUMS coverage.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@seathatflowsinourveins
seathatflowsinourveins enabled auto-merge (squash) September 24, 2026 16:37
@seathatflowsinourveins
seathatflowsinourveins merged commit 2d86d55 into main Sep 24, 2026
22 checks passed
@seathatflowsinourveins
seathatflowsinourveins deleted the claude/max-effort-default-20260923 branch September 24, 2026 16:45
seathatflowsinourveins added a commit that referenced this pull request Sep 24, 2026
…max-effort decision (#202)

Co-authored-by: seathatflowsinourveins <234074349+seathatflowsinourveins@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant