feat(lanes): badge codex lanes and document the lane tool
This commit is contained in:
@@ -45,6 +45,34 @@ The modal has a segmented toggle mirroring the CLI's two modes:
|
||||
|
||||
Both modes' path field has a **Browse** button next to it, opening a small folder browser (`GET /api/lanes/browse?path=<abs>`) instead of a native OS picker — a browser cannot hand a web page an absolute filesystem path from a native dialog, so this dashboard (local-first, server and browser on the same machine) lists directories server-side instead: click a subfolder to descend, ".." to go up, "Select this folder" to fill the path field. Git repos are marked in the listing.
|
||||
|
||||
## Lane tool: Claude or Codex
|
||||
|
||||
A lane is driven by a tool: **Claude** (default) or **Codex**, chosen in the "+ Add lane" modal and immutable once the lane exists. A lane's tool determines which CLI is spawned when a run starts.
|
||||
|
||||
- **`claude` (default)** — `claude` binary is invoked; the session's hooks, messages, and tool calls flow through the dashboard. Claude lanes render Sessions, Analytics, cost, and stage-detection badges; liveness is tracked by the Claude Code session.
|
||||
- **`codex` (experimental)** — `codex` binary is invoked instead. The Run Setup panel shows model, sandbox approval, and reasoning effort toggles instead of the Claude session picker, and offers "Resume last Codex run" instead of picking a session. Resume uses `codex resume --last`.
|
||||
|
||||
### How Codex arguments map
|
||||
|
||||
The Run Setup panel's model, sandbox, approval, and reasoning-effort toggles map directly onto `codex` command-line arguments:
|
||||
|
||||
- **Model** → `codex -m <model>` (e.g. `codex -m claude-opus-5`)
|
||||
- **Sandbox** → `-s` (enables restricted filesystem/network mode)
|
||||
- **Approval** → `-a` (prompts for confirmation before tool execution)
|
||||
- **Reasoning effort** → `-c model_reasoning_effort=<level>` (e.g. `medium`)
|
||||
|
||||
A codex lane's run console shows the full command line before execution.
|
||||
|
||||
### Limitations of Codex lanes
|
||||
|
||||
Codex does not emit Claude Code hooks (sessions, agent events, tool-execution tracking), so the following surfaces remain empty for a Codex lane:
|
||||
|
||||
- **Sessions** and **Analytics** tabs — no session history or aggregated statistics
|
||||
- **Cost** surface — no per-run or per-model pricing data
|
||||
- **Stage detection** — automatic stage inference from tool events (`stage-detect`) never fires
|
||||
|
||||
**These are not bugs; they reflect Codex's architecture.** The stage you declare via `ccam stage` (or that the driving agent calls itself) still works; liveness is tracked by the lane's tmux pane (if the stack is up) and `dashboard_runs` table (recording every invocation). Cost tracking for Codex runs would require parsing Codex's own logs, a separate design not yet implemented.
|
||||
|
||||
## Destructive lane actions
|
||||
|
||||
Reset a managed worktree, remove one, or purge the lane's eligible session history with the CLI:
|
||||
|
||||
Reference in New Issue
Block a user