Skip to content

feat(transports): opt-in per-role effort on the sdk + claude-cli runtimes#26

Merged
stxkxs merged 1 commit into
mainfrom
feat/role-effort
Jun 4, 2026
Merged

feat(transports): opt-in per-role effort on the sdk + claude-cli runtimes#26
stxkxs merged 1 commit into
mainfrom
feat/role-effort

Conversation

@stxkxs

@stxkxs stxkxs commented Jun 4, 2026

Copy link
Copy Markdown
Member

The reachable half of the transport-parity follow-up. See the commit message for full detail.

Fast-mode parity was investigated and dropped — it's not reachable through fab's seam (no SDK query() fastMode; claude has --effort/--model but no --fast). effort is reachable on exactly those two transports, so that's what shipped.

What

  • TeamMember.effort?: 'low'|'medium'|'high'|'xhigh'|'max'unset by default (no behavior change).
  • sdkquery() effort; claude-cli--effort <level>; managed-agents = documented no-op.
  • Pilot per role like model tiering (set in src/team/*, run sdk/claude-cli, keep/revert). docs/roster.md updated.

Verification

npm run lint / build / format:check clean · npm test 302/302 (+2 --effort tests).

…runtimes

The reachable half of the transport-parity follow-up. Fast-mode parity turned
out to be unreachable through fab's programmatic seam — no SDK query() fastMode
option, and `claude --help` shows `--effort`/`--model` but no `--fast` (it's a
settings.json / interactive `/fast` feature). `effort`, by contrast, IS exposed
on exactly those two transports, so that's what landed.

- TeamMember gains an optional `effort?: EffortLevel`
  (low | medium | high | xhigh | max), unset by default — zero behavior change
  until a role sets it.
- The sdk runtime passes it to query() as the `effort` option; claude-cli passes
  `--effort <level>`. The Managed Agents agent-create surface does not expose
  effort, so it is a documented no-op there (like compaction and Tool Search).
- Assign per role via the same pilot path as model tiering: set `effort` in
  src/team/*, run in sdk/claude-cli mode, keep or revert. docs/roster.md's Model
  tiering section is updated from "deferred" to the live mechanism.
- Tests: buildClaudeArgs emits `--effort` when a role sets it, omits it when unset.

Verified: npm run lint / build / format:check clean; npm test 302/302.

Co-authored-by: stxkxsbot <275011021+stxkxsbot@users.noreply.github.com>
@stxkxs stxkxs marked this pull request as ready for review June 4, 2026 04:58
@stxkxs stxkxs merged commit 7c5ba8c into main Jun 4, 2026
2 checks passed
@stxkxs stxkxs deleted the feat/role-effort branch June 4, 2026 04:58
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