Skip to content

feat: resolve worker reasoning effort from per-type SSM params - #99

Merged
tdrml merged 1 commit into
mainfrom
feat/per-worker-claude-effort
Jun 17, 2026
Merged

feat: resolve worker reasoning effort from per-type SSM params#99
tdrml merged 1 commit into
mainfrom
feat/per-worker-claude-effort

Conversation

@tdrml

@tdrml tdrml commented Jun 17, 2026

Copy link
Copy Markdown
Owner

What

Adds resolveClaudeEffort(workerType), mirroring the existing resolveClaudeModel:

  • Reads /auto-graph/worker-effort/{workerType} from SSM → CLAUDE_EFFORT env → undefined.
  • Validates against low|medium|high|xhigh|max and normalizes case/whitespace; an invalid value warns and is ignored rather than failing the run.
  • runClaude appends --effort <level> only when a level resolves, so omitting it preserves current behavior (the CLI's own default — xhigh on Opus).
  • Each task role gains ssm:GetParameter on its own /auto-graph/worker-effort/{name} ARN.

Lets operators tune reasoning effort per worker via aws ssm put-parameter with no redeploy — balancing output quality against token burn and rate limits.

Live SSM values already set

Worker Effort
writer, auditor xhigh
outliner, editor, reviser, fixer high
planner, continuity-checker medium

(Models remain on the bare opus alias across all workers.)

Tests

  • New unit tests for resolveClaudeEffort (SSM hit, env fallback, invalid-value rejection, no-source → undefined) and for runClaude appending/omitting --effort.
  • 63/63 worker entrypoint tests pass; both packages build (tsc) clean; lint clean.

🤖 Generated with Claude Code

Add resolveClaudeEffort(workerType), mirroring resolveClaudeModel: read
/auto-graph/worker-effort/{workerType} from SSM, then the CLAUDE_EFFORT
env var, then fall through to undefined (the CLI applies its own default,
xhigh on Opus). The value is validated against low|medium|high|xhigh|max
and normalized; an invalid value warns and is ignored rather than failing
the run. runClaude appends --effort only when a level is resolved, so
omitting it preserves current behavior.

This lets operators tune reasoning effort per worker type via
aws ssm put-parameter with no redeploy — e.g. xhigh for the writer and
auditor, medium for planner/continuity-checker — to balance output
quality against token burn and rate limits. Each task role gains
ssm:GetParameter on its own /auto-graph/worker-effort/{name} param ARN.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@tdrml
tdrml merged commit 90ffd82 into main Jun 17, 2026
3 checks passed
@tdrml
tdrml deleted the feat/per-worker-claude-effort branch June 17, 2026 17:56
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