81 lines
2.8 KiB
Markdown
81 lines
2.8 KiB
Markdown
---
|
|
status: current
|
|
system: cli
|
|
requirements:
|
|
- REQ-CLI-PASSTHROUGH-LAUNCH-001
|
|
---
|
|
|
|
# Passthrough Launch Defaults System Design
|
|
|
|
## Purpose and boundaries
|
|
|
|
The CLI system owns the arguments that Kandev uses to launch agent CLIs in
|
|
passthrough mode. This design changes only the built-in Claude passthrough
|
|
default.
|
|
|
|
## Requirement mapping
|
|
|
|
| Requirement | Design section |
|
|
| --- | --- |
|
|
| `REQ-CLI-PASSTHROUGH-LAUNCH-001` | [Command composition](#command-composition), [Compatibility](#compatibility), [Verification](#verification) |
|
|
|
|
## Components and responsibilities
|
|
|
|
- `agents.NewClaudeACP` defines the required base command for Claude
|
|
passthrough.
|
|
- `agents.StandardPassthrough.BuildPassthroughCommand` adds model, permission,
|
|
resume, prompt, MCP, and profile CLI arguments.
|
|
- `lifecycle.Manager.profileCLIFlagTokens` resolves enabled profile CLI flags
|
|
before it builds the passthrough command.
|
|
- `agent/settings/controller.Controller.PreviewAgentCommand` builds the same
|
|
passthrough argv for the settings preview, including resolved profile CLI
|
|
flags.
|
|
|
|
## Command composition
|
|
|
|
The Claude base command contains `npx -y @anthropic-ai/claude-code`. It does not
|
|
contain `--verbose`.
|
|
|
|
The standard passthrough builder appends enabled profile CLI arguments. Thus, a
|
|
profile with `--verbose` keeps access to the Claude verbose view mode.
|
|
|
|
The change does not alter the ACP adapter command. It also does not alter model,
|
|
permission, resume, prompt, or MCP argument composition.
|
|
|
|
The settings command preview passes resolved profile CLI flags to the same
|
|
passthrough builder. The preview therefore matches the command that Kandev
|
|
launches for the selected profile.
|
|
|
|
## Compatibility
|
|
|
|
The profile model and storage remain unchanged. Existing profiles receive the
|
|
quiet default unless their CLI-flags list already contains `--verbose`.
|
|
|
|
No migration or new user-interface control is necessary. The current CLI-flags
|
|
field remains the explicit configuration path.
|
|
|
|
## Failure behavior
|
|
|
|
Malformed profile CLI flags keep the current warning and omission behavior.
|
|
This change adds no new error path.
|
|
|
|
## Security and observability
|
|
|
|
The change does not alter permission flags, environment handling, or command
|
|
redaction. Existing passthrough process logs continue to record the redacted
|
|
launch command.
|
|
|
|
## Verification
|
|
|
|
A focused agent-package test inspects the complete tokenized command. A
|
|
controller test compares passthrough preview output with an enabled profile
|
|
flag. The tests cover the quiet default and the explicit `--verbose` opt-in.
|
|
|
|
A live Claude session is not necessary for this contract. The command argv is
|
|
the Kandev-owned boundary, while Claude owns its output rendering.
|
|
|
|
## Related decisions
|
|
|
|
None. The design uses the existing profile CLI-flags contract and adds no new
|
|
architecture boundary.
|