Skip to content

Reapply: derive launch args for kimi-native and antigravity-native sub-agents - #8

Open
btli wants to merge 9 commits into
mainfrom
reapply/native-harness-launch-args
Open

Reapply: derive launch args for kimi-native and antigravity-native sub-agents#8
btli wants to merge 9 commits into
mainfrom
reapply/native-harness-launch-args

Conversation

@btli

@btli btli commented Aug 7, 2026

Copy link
Copy Markdown
Owner

Reapplies #7 (reverted in bb1db02 during incident backout). The incident root cause was NOT this change: every runner (all harnesses) died at boot with ModuleNotFoundError: prompt_toolkit, because the editable uv tool install failed to resolve workspace-SDK dependencies (sdks/ui declares prompt_toolkit>=3). The reinstall now carries the missing dep explicitly and imports are verified before host restart.

🤖 Generated with Claude Code

btli and others added 9 commits August 6, 2026 21:45
…e sub-agents

Named sub-agent workers on the kimi-native and antigravity-native
harnesses launched with no autonomy flag, so every risky tool call
parked on a web approval card no headless pane can answer.
_derive_terminal_launch_args_from_spec only knew claude/codex/cursor
and fell through to None for both harnesses.

- kimi-native: executor.config yolo: true -> ["--yolo"] (kimi's
  auto-approve-tools flag, matching codex/cursor semantics; --auto full
  autonomy deliberately not mapped). Opt-in: absent/false unchanged.
- antigravity-native: executor.config permission_mode:
  bypassPermissions -> ["--dangerously-skip-permissions"], agy's only
  pre-emptive permission control. Other/absent modes unchanged. The
  runner spawn path already forwards snapshot terminal_launch_args
  verbatim into the agy argv (build_agy_launch extra_args), now pinned
  by a spawn-path test.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Signed-off-by: Bryan Li <bryan.li@gmail.com>
Tribunal round-1 findings on the kimi-native / antigravity-native
launch-arg derivation:

- Verified the spec parser stringifies scalar executor.config values
  (spec/parser.py str(v) coercion), so the bool arm serves
  programmatically built specs (config is dict[str, Any]); kept it,
  aligned the comment, and added bool True/False test rows.
- Documented the value-matching policy: flag keys (yolo) accept bool or
  case-insensitive true/false strings (mirroring
  _spec_config_flag_explicitly_disabled); mode keys (permission_mode)
  match exactly, mirroring the runner's should_skip_permissions
  comparison.
- Debug-log a present-but-unrecognized yolo / permission_mode value
  instead of silently no-opping.
- Parametrized boundary tests pinning accepted-vs-rejected spellings
  for both branches.
- Pinned build_agy_launch's existing skip-flag dedup for the
  double-source case (permission_mode=bypassPermissions + the flag
  already in extra_args -> exactly one flag).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Signed-off-by: Bryan Li <bryan.li@gmail.com>
fix(server): derive launch args for kimi-native and antigravity-native sub-agents
This reverts commit 2c1ae3a, reversing
changes made to 34eff2c.

Signed-off-by: Bryan Li <bryan.li@gmail.com>
This reverts commit bb1db02.

Signed-off-by: Bryan Li <bryan.li@gmail.com>
@github-actions github-actions Bot added the size/L Pull request size: L label Aug 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/L Pull request size: L

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant