Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .cursor/skills/verify-anyr/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ Stable handles. Match these strings, not column layout or ANSI color.
| Whoami | `cli -- whoami` | `active account` `default`; full fixture key absent |
| Config path | `cli -- config path` | isolated `config.yaml` |
| Account switch | `cli -- account use work` | stdout contains `work`; follow with `whoami` |
| Menu dump | `cli -- menu --dump-tui` | ANSI-free frame with `LAUNCH`, `claude`, `❯`, box corners `╭`/`╯`; secret absent |
| Menu dump | `cli -- menu --dump-tui` | ANSI-free frame with `LAUNCH`, `claude`, `CONFIGURE`, `for claude`, `❯`, box corners `╭`/`╯`; secret absent |
| Config dump | `cli -- config --dump-tui` | sections `ACCOUNT`, `MODEL`, `AGENT`, `GENERAL` |
| Agent dry-run | `cli -- claude --dry-run --yes --key sk-ar-v1-fixture-key-0001` | `command:`, `ANTHROPIC_BASE_URL`, key redacted. **Does not spawn Claude** |
| Upgrade check | `ANYR_RELEASES_JSON=$(control-anyr path RELEASES_FIXTURE)` then `cli -- upgrade --check --dry-run` | no install; no live GitHub required |
Expand Down
43 changes: 43 additions & 0 deletions .cursor/skills/verify-anyr/artifacts/tui-launcher/PROOF.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Proof: tui-launcher (#36 pick-agent-then-settings)

Feature: `tui-launcher`
Entry points driven: `anyr menu --dump-tui`, empty-agents dump, `anyr config --dump-tui`, `anyr claude --dry-run --yes`, PTY `anyr menu`
Harness: `.cursor/skills/verify-anyr/control-anyr` (`launch`, `doctor`, `cli`, `pty`, `cleanup`)
Binary: `target/debug/anyr` from this checkout (`0.1.11`)
Isolated home: `/tmp/anyr-verify-20260903-060828-7216/home` (removed by cleanup)

## Commands

```bash
.cursor/skills/verify-anyr/control-anyr launch
.cursor/skills/verify-anyr/control-anyr doctor
.cursor/skills/verify-anyr/control-anyr cli --out artifacts/tui-launcher/menu-dump.txt -- menu --dump-tui
# empty-agents: helper always exports ANYR_AGENTS=claude,codex; drive the
# isolated binary directly with ANYR_AGENTS=none
ANYR_AGENTS=none ANYROUTER_HOME=… "$BIN" menu --dump-tui > artifacts/tui-launcher/menu-empty.txt
.cursor/skills/verify-anyr/control-anyr cli --out artifacts/tui-launcher/config-dump.txt -- config --dump-tui
.cursor/skills/verify-anyr/control-anyr cli --out artifacts/tui-launcher/claude-dry-run.txt -- claude --dry-run --yes --key sk-ar-v1-fixture-key-0001
.cursor/skills/verify-anyr/control-anyr pty start -- menu
.cursor/skills/verify-anyr/control-anyr pty capture --path artifacts/tui-launcher/pane.txt
.cursor/skills/verify-anyr/control-anyr pty send Down
.cursor/skills/verify-anyr/control-anyr pty capture --path artifacts/tui-launcher/pane-focus-codex.txt
.cursor/skills/verify-anyr/control-anyr pty send Escape
.cursor/skills/verify-anyr/control-anyr cleanup
```

## Results

| Artifact | Exit | Observable |
| --- | --- | --- |
| `menu-dump.txt` | 0 | Compact 3-row mark (`▄▄ ▄▄▄` / `▄█▀▀█▄▄█▀`). `LAUNCH` and `CONFIGURE · CLAUDE` on the same frame. Claude row: `stealth/ox-alpha · default ·` masked key. Codex row: `auto`. `model…` / `account…` / `key…` say `for claude`. `MORE` holds install/config/quit. No `verify-fixture-not-a-real-key`. |
| `menu-empty.txt` | 0 | `install an agent…`, `none detected`; launch list still present (not replaced by configure). |
| `config-dump.txt` | 0 | `ACCOUNT`, `MODEL`, `AGENT`, `GENERAL`, `auto-update`, `update channel`. |
| `claude-dry-run.txt` | 0 | `command: claude`, `ANTHROPIC_MODEL=stealth/ox-alpha[1m]`, key redacted. Did not spawn Claude. |
| `pane.txt` | PTY | Live home: `LAUNCH` + `CONFIGURE · CLAUDE` together. Highlight on claude. |
| `pane-focus-codex.txt` | PTY | Down moves highlight to codex. `CONFIGURE · CODEX` / `for codex`. Launch list still visible. Claude still shows `stealth/ox-alpha`. |

No `anyr claude` without `--dry-run`. No paid tokens. Model catalog / `anyrouter/auto` most-used dump not exercised (#37).

## Cleanup

`control-anyr cleanup` removed the isolated workdir and left this `artifacts/tui-launcher/` tree in place.
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
command: claude
args: []
env:
ANTHROPIC_AUTH_TOKEN=sk-ar-...0001
ANTHROPIC_BASE_URL=https://anyrouter.dev/api
ANTHROPIC_DEFAULT_FABLE_MODEL=stealth/ox-alpha[1m]
ANTHROPIC_DEFAULT_FABLE_MODEL_DESCRIPTION=Fable alias + fallback
ANTHROPIC_DEFAULT_HAIKU_MODEL=stealth/ox-alpha[1m]
ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION=Background & subagents
ANTHROPIC_DEFAULT_OPUS_MODEL=stealth/ox-alpha[1m]
ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION=Opus alias
ANTHROPIC_DEFAULT_SONNET_MODEL=stealth/ox-alpha[1m]
ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION=Sonnet alias
ANTHROPIC_MODEL=stealth/ox-alpha[1m]
ANYROUTER_MODEL_MODE=concrete
ANYROUTER_PINNED_PRESET=@preset/coding-stack
API_TIMEOUT_MS=3000000
CLAUDE_CODE_AUTO_COMPACT_WINDOW=1000000
CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1
CLAUDE_CODE_SUBAGENT_MODEL=stealth/ox-alpha[1m]
Empty file.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
0
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/tmp/anyr-verify-20260903-060828-7216/home/config.yaml
Empty file.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
0
26 changes: 26 additions & 0 deletions .cursor/skills/verify-anyr/artifacts/tui-launcher/config-dump.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
╭ ▲ Config ────────────────────────────────────────────────────────╮
│account default │
│credits - │
│file /tmp/anyr-verify-20260903-060828-7216/home/config.yaml │
│ │
│[general] claude codex grok opencode pi pool │
│ │
├──────────────────────────────────────────────────────────────────┤
│ │
│ ACCOUNT │
│◆ account default │
│ api key sk-ar-v1-verif…-key │
│ │
│ MODEL │
│ default auto · most used │
│ │
│ AGENT │
│ coding agent claude │
│ on PATH claude, codex │
│ │
│ GENERAL │
│ auto-update disabled │
│ update channel stable │
├──────────────────────────────────────────────────────────────────┤
│tab agent ↑↓ move ↵ edit x reset q close │
╰──────────────────────────────────────────────────────────────────╯
Empty file.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
0
23 changes: 23 additions & 0 deletions .cursor/skills/verify-anyr/artifacts/tui-launcher/menu-dump.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
╭ anyr ────────────────────────────────────────────────────────────────╮
│ ▄▄ ▄▄▄ account default │
│ ▄█▀▀█▄▄█▀ credits - │
│ ▀▀ ▀▀▀▀ │
├──────────────────────────────────────────────────────────────────────┤
│❯ █ │
├──────────────────────────────────────────────────────────────────────┤
│ LAUNCH │
│◆ ⚡ claude stealth/ox-alpha · default · sk-ar-v1-verif…-key │
│ ⚡ codex auto · most used · default · sk-ar-v1-verif…-key │
│ │
│ CONFIGURE · CLAUDE │
│ ◆ model… for claude │
│ ⇄ account… for claude │
│ 🔑 key… for claude │
│ │
│ MORE │
│ ⬇ install… install a coding agent │
│ ⚙ config… accounts · keys · agent │
│ ✕ quit esc works too │
├──────────────────────────────────────────────────────────────────────┤
│type to filter ↑↓ pick agent ↵ launch / switch esc quit │
╰──────────────────────────────────────────────────────────────────────╯
Empty file.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
0
22 changes: 22 additions & 0 deletions .cursor/skills/verify-anyr/artifacts/tui-launcher/menu-empty.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
╭ anyr ────────────────────────────────────────────────────────────────╮
│ ▄▄ ▄▄▄ account default │
│ ▄█▀▀█▄▄█▀ credits - │
│ ▀▀ ▀▀▀▀ │
├──────────────────────────────────────────────────────────────────────┤
│❯ █ │
├──────────────────────────────────────────────────────────────────────┤
│ LAUNCH │
│◆ ⬇ install an agent… none detected on PATH │
│ │
│ CONFIGURE · CLAUDE │
│ ◆ model… for claude │
│ ⇄ account… for claude │
│ 🔑 key… for claude │
│ │
│ MORE │
│ ⬇ install… install a coding agent │
│ ⚙ config… accounts · keys · agent │
│ ✕ quit esc works too │
├──────────────────────────────────────────────────────────────────────┤
│type to filter ↑↓ pick agent ↵ launch / switch esc quit │
╰──────────────────────────────────────────────────────────────────────╯
Empty file.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
0
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
┌ anyr ────────────────────────────────────────────────────────────────┐
│ │
│ ▄▄ ▄▄▄ account default │
│ ▄█▀▀█▄▄█▀ credits (unknown) │
│ ▀▀ ▀▀▀▀ │
│ ──────────────────────────────────────────────────────────────────── │
│ ❯ █ │
│ │
│ LAUNCH │
│ ⚡ claude stealth/ox-alpha · default · sk-ar-v1-verif…-ke │
│ ❯ ⚡ codex auto · most used · default · sk-ar-v1-verif…-ke │
│ │
│ CONFIGURE · CODEX │
│ ◆ model… for codex │
│ ⇄ account… for codex │
│ 🔑 key… for code │
│ │
│ MORE │
│ ⬇ install… install a coding agent │
│ ⚙ config… accounts · keys · agent │
│ │
│ type to filter ↑↓ pick agent ↵ launch / switch esc quit │
│ │
└──────────────────────────────────────────────────────────────────────┘
24 changes: 24 additions & 0 deletions .cursor/skills/verify-anyr/artifacts/tui-launcher/pane.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
┌ anyr ────────────────────────────────────────────────────────────────┐
│ │
│ ▄▄ ▄▄▄ account default │
│ ▄█▀▀█▄▄█▀ credits (unknown) │
│ ▀▀ ▀▀▀▀ │
│ ──────────────────────────────────────────────────────────────────── │
│ ❯ █ │
│ │
│ LAUNCH │
│ ❯ ⚡ claude stealth/ox-alpha · default · sk-ar-v1-verif…-ke │
│ ⚡ codex auto · most used · default · sk-ar-v1-verif…-ke │
│ │
│ CONFIGURE · CLAUDE │
│ ◆ model… for claude │
│ ⇄ account… for claude │
│ 🔑 key… for claud │
│ │
│ MORE │
│ ⬇ install… install a coding agent │
│ ⚙ config… accounts · keys · agent │
│ │
│ type to filter ↑↓ pick agent ↵ launch / switch esc quit │
│ │
└──────────────────────────────────────────────────────────────────────┘
Loading
Loading