@ucsandman/legcli 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +560 -0
- package/LICENSE +58 -0
- package/NOTICE +4 -0
- package/README.md +558 -0
- package/bin/fake-agent.mjs +143 -0
- package/bin/leg.mjs +449 -0
- package/docs/DECISIONS.md +119 -0
- package/docs/DEMO.md +214 -0
- package/docs/DEVIATIONS.md +182 -0
- package/docs/ERRORS.md +326 -0
- package/docs/README.md +40 -0
- package/docs/REUSE.md +289 -0
- package/docs/ROADMAP-v2.md +55 -0
- package/docs/VOCABULARY.md +243 -0
- package/docs/adapters.md +300 -0
- package/docs/board-guide.md +579 -0
- package/docs/cli-contracts.md +401 -0
- package/docs/concepts.md +426 -0
- package/docs/configuration.md +220 -0
- package/docs/faq.md +206 -0
- package/docs/getting-started.md +251 -0
- package/docs/real-run.md +80 -0
- package/docs/review-2026-09-14.md +72 -0
- package/docs/screenshots/board-400px.png +0 -0
- package/docs/screenshots/board-details-open.png +0 -0
- package/docs/screenshots/board-done.png +0 -0
- package/docs/screenshots/board-drawer.png +0 -0
- package/docs/screenshots/board-empty.png +0 -0
- package/docs/screenshots/board-handoff.png +0 -0
- package/docs/screenshots/board-running.png +0 -0
- package/docs/screenshots/demo-1-claude-running.png +0 -0
- package/docs/screenshots/demo-2-limit-hit.png +0 -0
- package/docs/screenshots/demo-3-handoff-bundle.png +0 -0
- package/docs/screenshots/demo-4-codex-running.png +0 -0
- package/docs/screenshots/demo-5-done.png +0 -0
- package/docs/screenshots/floor-final-1280.png +0 -0
- package/docs/screenshots/floor-final-400.png +0 -0
- package/docs/screenshots/floor-landing.png +0 -0
- package/docs/screenshots/floor.png +0 -0
- package/docs/screenshots/share-guest-1280.png +0 -0
- package/docs/screenshots/share-owner-1280.png +0 -0
- package/docs/screenshots/terminals-1280.png +0 -0
- package/docs/screenshots/thumb-done.jpg +0 -0
- package/docs/screenshots/thumb-handoff-details.jpg +0 -0
- package/docs/screenshots/thumb-limit-hit.jpg +0 -0
- package/docs/screenshots/youtube-thumbnail.jpg +0 -0
- package/fixtures/limits/agy/agy-resource-exhausted.json +11 -0
- package/fixtures/limits/claude/claude-budget-limit.json +11 -0
- package/fixtures/limits/claude/claude-max-turns.json +11 -0
- package/fixtures/limits/claude/claude-model-limit.json +11 -0
- package/fixtures/limits/claude/claude-session-limit.json +11 -0
- package/fixtures/limits/claude/claude-weekly-limit.json +11 -0
- package/fixtures/limits/codex/codex-quota-exceeded.json +11 -0
- package/fixtures/limits/codex/codex-rate-limit-exceeded.json +11 -0
- package/fixtures/limits/codex/codex-skills-notice.json +11 -0
- package/fixtures/limits/codex/codex-usage-limit-reached.json +11 -0
- package/fixtures/limits/codex/codex-usage-limit.json +11 -0
- package/fixtures/limits/generic/generic-429.json +11 -0
- package/fixtures/limits/generic/generic-overloaded.json +11 -0
- package/fixtures/limits/generic/generic-quota.json +11 -0
- package/fixtures/limits/generic/generic-rate-limit.json +11 -0
- package/fixtures/limits/generic/generic-resource-exhausted.json +11 -0
- package/fixtures/limits/generic/generic-usage-limit.json +11 -0
- package/fixtures/limits/grok/grok-not-logged-in.json +11 -0
- package/fixtures/limits/negative/auth-source-set.json +11 -0
- package/fixtures/limits/negative/compile-error.json +11 -0
- package/fixtures/limits/negative/empty-stdout-exit-0.json +11 -0
- package/fixtures/live/agy/attempt-1-scratch-workspace.out.log +1 -0
- package/fixtures/live/agy/cmd.txt +1 -0
- package/fixtures/live/agy/err.log +0 -0
- package/fixtures/live/agy/out.log +1 -0
- package/fixtures/live/agy/parsed.json +5 -0
- package/fixtures/live/agy/run.json +18 -0
- package/fixtures/live/agy/supervisor.log +2 -0
- package/fixtures/live/claude/cmd.txt +1 -0
- package/fixtures/live/claude/err.log +0 -0
- package/fixtures/live/claude/limit-rate_limit.json +21 -0
- package/fixtures/live/claude/out.log +1 -0
- package/fixtures/live/claude/parsed.json +11 -0
- package/fixtures/live/claude/run.json +18 -0
- package/fixtures/live/claude/supervisor.log +2 -0
- package/fixtures/live/codex/cmd.txt +1 -0
- package/fixtures/live/codex/err.log +1 -0
- package/fixtures/live/codex/last.md +2 -0
- package/fixtures/live/codex/limit-usage_limit_exceeded.json +25 -0
- package/fixtures/live/codex/out.log +8 -0
- package/fixtures/live/codex/parsed.json +15 -0
- package/fixtures/live/codex/run.json +18 -0
- package/fixtures/live/codex/supervisor.log +2 -0
- package/fixtures/live/grok/cmd.txt +1 -0
- package/fixtures/live/grok/err.log +32 -0
- package/fixtures/live/grok/out.log +7 -0
- package/fixtures/live/grok/parsed.json +5 -0
- package/fixtures/live/grok/run.json +18 -0
- package/fixtures/live/grok/supervisor.log +2 -0
- package/fixtures/verified.json +34 -0
- package/package.json +68 -0
- package/scripts/board-shots.mjs +69 -0
- package/scripts/build-docs-site.mjs +308 -0
- package/scripts/check-claims.mjs +150 -0
- package/scripts/clean-clone-check.sh +42 -0
- package/scripts/license-sign.mjs +23 -0
- package/scripts/limits-table.mjs +38 -0
- package/scripts/live-limits.mjs +36 -0
- package/scripts/privacy-check.mjs +63 -0
- package/scripts/probe.mjs +92 -0
- package/scripts/seed-fake-cards.mjs +34 -0
- package/scripts/seed-floor-board.mjs +69 -0
- package/scripts/seed-wes-board.mjs +91 -0
- package/scripts/stripe-setup.mjs +99 -0
- package/scripts/vercel-env.mjs +40 -0
- package/src/accounts.mjs +119 -0
- package/src/adapters/agy.mjs +56 -0
- package/src/adapters/claude.mjs +54 -0
- package/src/adapters/codex.mjs +73 -0
- package/src/adapters/common.mjs +32 -0
- package/src/adapters/fake.mjs +48 -0
- package/src/adapters/grok.mjs +51 -0
- package/src/adapters/index.mjs +27 -0
- package/src/adapters/resolve.mjs +40 -0
- package/src/attach.mjs +592 -0
- package/src/auth.mjs +85 -0
- package/src/board/board.css +543 -0
- package/src/board/board.js +1307 -0
- package/src/board/favicon.svg +1 -0
- package/src/board/floor.html +127 -0
- package/src/board/floor.js +670 -0
- package/src/board/fonts/OFL-atkinson-hyperlegible-next.txt +93 -0
- package/src/board/fonts/OFL-azeret-mono.txt +94 -0
- package/src/board/fonts/atkinson-board.woff2 +0 -0
- package/src/board/fonts/azeret-board.woff2 +0 -0
- package/src/board/index.html +251 -0
- package/src/board/sessions.js +1451 -0
- package/src/bundle.mjs +103 -0
- package/src/cards.mjs +114 -0
- package/src/chain.mjs +264 -0
- package/src/commands.mjs +79 -0
- package/src/contract.mjs +73 -0
- package/src/env.mjs +19 -0
- package/src/fsx.mjs +72 -0
- package/src/git-snapshot.mjs +152 -0
- package/src/handoff.mjs +171 -0
- package/src/hook.mjs +49 -0
- package/src/land.mjs +106 -0
- package/src/launcher.mjs +272 -0
- package/src/leases.mjs +86 -0
- package/src/ledger.mjs +369 -0
- package/src/license.mjs +168 -0
- package/src/limits.mjs +97 -0
- package/src/live-capture.mjs +69 -0
- package/src/mergequeue.mjs +225 -0
- package/src/orchestrator.mjs +365 -0
- package/src/pipeline.mjs +100 -0
- package/src/preferences.mjs +47 -0
- package/src/presets.mjs +23 -0
- package/src/ratelimit.mjs +49 -0
- package/src/redact.mjs +47 -0
- package/src/resume.mjs +354 -0
- package/src/runner.mjs +438 -0
- package/src/scheduler.mjs +118 -0
- package/src/server.mjs +845 -0
- package/src/session-detail.mjs +129 -0
- package/src/sessions.mjs +202 -0
- package/src/share.mjs +163 -0
- package/src/stations/agent.mjs +42 -0
- package/src/stations/build.mjs +9 -0
- package/src/stations/human.mjs +5 -0
- package/src/stations/land.mjs +6 -0
- package/src/stations/plan.mjs +8 -0
- package/src/stations/pr.mjs +31 -0
- package/src/stations/review.mjs +8 -0
- package/src/stations/test.mjs +27 -0
- package/src/store.mjs +90 -0
- package/src/sync/dashclaw.mjs +70 -0
- package/src/sync/index.mjs +54 -0
- package/src/sync/workboard.mjs +54 -0
- package/src/taps/agy.mjs +64 -0
- package/src/taps/claude-usage.mjs +67 -0
- package/src/taps/claude.mjs +170 -0
- package/src/taps/codex.mjs +286 -0
- package/src/trust.mjs +323 -0
- package/src/usage.mjs +179 -0
- package/src/wait.mjs +30 -0
- package/src/worktree.mjs +207 -0
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "agy-resource-exhausted",
|
|
3
|
+
"adapter": "agy",
|
|
4
|
+
"source": "docs-only",
|
|
5
|
+
"produced_by": "`agy changelog` (\"Fixed personal accounts hitting a resource-exhausted error at startup\"); agy --help documents no limit wording; falls back to the generic matchers",
|
|
6
|
+
"where": "any",
|
|
7
|
+
"text": "resource-exhausted",
|
|
8
|
+
"pattern": "resource.exhausted",
|
|
9
|
+
"exit_code": null,
|
|
10
|
+
"classification": "limit"
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "claude-budget-limit",
|
|
3
|
+
"adapter": "claude",
|
|
4
|
+
"source": "docs-only",
|
|
5
|
+
"produced_by": "https://code.claude.com/docs/en/cli-reference (--max-budget-usd)",
|
|
6
|
+
"where": "any",
|
|
7
|
+
"text": "Budget limit reached",
|
|
8
|
+
"pattern": "Budget limit reached",
|
|
9
|
+
"exit_code": null,
|
|
10
|
+
"classification": "budget"
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "claude-max-turns",
|
|
3
|
+
"adapter": "claude",
|
|
4
|
+
"source": "observed-live",
|
|
5
|
+
"produced_by": "fixtures/real-run/leg1/out.log: `claude -p --max-turns 2` on the real run, 2026-09-10 (docs: https://code.claude.com/docs/en/cli-reference --max-turns \"Exits with an error when the limit is reached\")",
|
|
6
|
+
"where": "stdout",
|
|
7
|
+
"text": "{\"type\":\"result\",\"subtype\":\"error_max_turns\",\"is_error\":true,\"stop_reason\":\"tool_use\",\"terminal_reason\":\"max_turns\",\"num_turns\":3}",
|
|
8
|
+
"pattern": "error_max_turns|\"terminal_reason\":\\s*\"max_turns\"",
|
|
9
|
+
"exit_code": 1,
|
|
10
|
+
"classification": "budget"
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "claude-model-limit",
|
|
3
|
+
"adapter": "claude",
|
|
4
|
+
"source": "docs-only",
|
|
5
|
+
"produced_by": "https://code.claude.com/docs/en/costs (\"You’ve hit your Opus limit\" / \"You’ve hit your Sonnet limit\")",
|
|
6
|
+
"where": "any",
|
|
7
|
+
"text": "You’ve hit your Opus limit",
|
|
8
|
+
"pattern": "You.ve hit your (?!session |weekly |usage )[A-Za-z0-9.-]+ limit",
|
|
9
|
+
"exit_code": null,
|
|
10
|
+
"classification": "limit"
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "claude-session-limit",
|
|
3
|
+
"adapter": "claude",
|
|
4
|
+
"source": "docs-only",
|
|
5
|
+
"produced_by": "https://code.claude.com/docs/en/costs (section: When a developer asks about a limit)",
|
|
6
|
+
"where": "any",
|
|
7
|
+
"text": "You’ve hit your session limit",
|
|
8
|
+
"pattern": "You.ve hit your session limit",
|
|
9
|
+
"exit_code": null,
|
|
10
|
+
"classification": "limit"
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "claude-weekly-limit",
|
|
3
|
+
"adapter": "claude",
|
|
4
|
+
"source": "docs-only",
|
|
5
|
+
"produced_by": "https://code.claude.com/docs/en/costs (section: When a developer asks about a limit)",
|
|
6
|
+
"where": "any",
|
|
7
|
+
"text": "You’ve hit your weekly limit",
|
|
8
|
+
"pattern": "You.ve hit your weekly limit",
|
|
9
|
+
"exit_code": null,
|
|
10
|
+
"classification": "limit"
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "codex-quota-exceeded",
|
|
3
|
+
"adapter": "codex",
|
|
4
|
+
"source": "docs-only",
|
|
5
|
+
"produced_by": "github.com/openai/codex codex-rs/response-debug-context/src/lib.rs (ApiError::QuotaExceeded => \"quota exceeded\")",
|
|
6
|
+
"where": "any",
|
|
7
|
+
"text": "quota exceeded",
|
|
8
|
+
"pattern": "quota exceeded",
|
|
9
|
+
"exit_code": null,
|
|
10
|
+
"classification": "limit"
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "codex-rate-limit-exceeded",
|
|
3
|
+
"adapter": "codex",
|
|
4
|
+
"source": "docs-only",
|
|
5
|
+
"produced_by": "github.com/openai/codex codex-rs/codex-api/src/error.rs (#[error(\"rate limit exceeded: {message}\")])",
|
|
6
|
+
"where": "any",
|
|
7
|
+
"text": "rate limit exceeded: ",
|
|
8
|
+
"pattern": "rate limit exceeded",
|
|
9
|
+
"exit_code": null,
|
|
10
|
+
"classification": "limit"
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "codex-skills-notice",
|
|
3
|
+
"adapter": "codex",
|
|
4
|
+
"source": "observed-live",
|
|
5
|
+
"produced_by": "fixtures/live/codex/out.log (item.completed, item.type=error) from scripts/probe.mjs --adapter codex, 2026-09-10",
|
|
6
|
+
"where": "stdout",
|
|
7
|
+
"text": "Skill descriptions were shortened to fit the skills context budget. Codex can still see every skill, but some descriptions are shorter.",
|
|
8
|
+
"pattern": "Skill descriptions were shortened",
|
|
9
|
+
"exit_code": 0,
|
|
10
|
+
"classification": "info"
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "codex-usage-limit-reached",
|
|
3
|
+
"adapter": "codex",
|
|
4
|
+
"source": "docs-only",
|
|
5
|
+
"produced_by": "github.com/openai/codex codex-rs/tui/src/chatwidget/turn_runtime.rs (WorkspaceOwnerUsageLimitReached)",
|
|
6
|
+
"where": "any",
|
|
7
|
+
"text": "Usage limit reached. You've reached your usage limit. Increase your limits to continue",
|
|
8
|
+
"pattern": "Usage limit reached",
|
|
9
|
+
"exit_code": null,
|
|
10
|
+
"classification": "limit"
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "codex-usage-limit",
|
|
3
|
+
"adapter": "codex",
|
|
4
|
+
"source": "docs-only",
|
|
5
|
+
"produced_by": "github.com/openai/codex codex-rs/protocol/src/error.rs (gh search code \"usage limit\" --repo openai/codex, 2026-09-10)",
|
|
6
|
+
"where": "any",
|
|
7
|
+
"text": "You’ve hit your usage limit for {limit_name}. Switch to another model now,",
|
|
8
|
+
"pattern": "You.ve hit your usage limit",
|
|
9
|
+
"exit_code": null,
|
|
10
|
+
"classification": "limit"
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "generic-429",
|
|
3
|
+
"adapter": "*",
|
|
4
|
+
"source": "docs-only",
|
|
5
|
+
"produced_by": "generic HTTP matcher (429 Too Many Requests); lowest priority",
|
|
6
|
+
"where": "any",
|
|
7
|
+
"text": "429 Too Many Requests",
|
|
8
|
+
"pattern": "\\b429\\b|Too Many Requests",
|
|
9
|
+
"exit_code": null,
|
|
10
|
+
"classification": "limit"
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "generic-overloaded",
|
|
3
|
+
"adapter": "*",
|
|
4
|
+
"source": "docs-only",
|
|
5
|
+
"produced_by": "generic matcher (Anthropic API 529 overloaded_error); lowest priority",
|
|
6
|
+
"where": "any",
|
|
7
|
+
"text": "overloaded_error",
|
|
8
|
+
"pattern": "overloaded",
|
|
9
|
+
"exit_code": null,
|
|
10
|
+
"classification": "limit"
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "generic-resource-exhausted",
|
|
3
|
+
"adapter": "*",
|
|
4
|
+
"source": "docs-only",
|
|
5
|
+
"produced_by": "generic matcher (gRPC RESOURCE_EXHAUSTED); lowest priority",
|
|
6
|
+
"where": "any",
|
|
7
|
+
"text": "RESOURCE_EXHAUSTED",
|
|
8
|
+
"pattern": "RESOURCE_EXHAUSTED|resource.exhausted",
|
|
9
|
+
"exit_code": null,
|
|
10
|
+
"classification": "limit"
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "grok-not-logged-in",
|
|
3
|
+
"adapter": "grok",
|
|
4
|
+
"source": "observed-live",
|
|
5
|
+
"produced_by": "fixtures/live/grok/err.log from scripts/probe.mjs --adapter grok, 2026-09-10 (stdout JSON stopReason: Cancelled, exit 0)",
|
|
6
|
+
"where": "stderr",
|
|
7
|
+
"text": "To sign in, open this URL in your browser:\n\n https://accounts.x.ai/oauth2/device?user_code=XXXX-XXXX\n\nConfirm this code in your browser:\n\nWaiting for authorization...",
|
|
8
|
+
"pattern": "To sign in, open this URL|Waiting for authorization",
|
|
9
|
+
"exit_code": 0,
|
|
10
|
+
"classification": "auth"
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "auth-source-set",
|
|
3
|
+
"adapter": "*",
|
|
4
|
+
"source": "docs-only",
|
|
5
|
+
"produced_by": "project brief (Wes, 2026-09-10): stderr saying \"another auth source is set\" counts as a failed launch; wording not yet observed live",
|
|
6
|
+
"where": "stderr",
|
|
7
|
+
"text": "another auth source is set",
|
|
8
|
+
"pattern": "another auth source is set",
|
|
9
|
+
"exit_code": null,
|
|
10
|
+
"classification": "auth"
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "compile-error",
|
|
3
|
+
"adapter": "*",
|
|
4
|
+
"source": "docs-only",
|
|
5
|
+
"produced_by": "synthetic negative fixture (a crashed agent is not a limit)",
|
|
6
|
+
"where": "stderr",
|
|
7
|
+
"text": "SyntaxError: Unexpected token )\n at compileSourceTextModule (node:internal/modules/esm/utils:318:16)",
|
|
8
|
+
"pattern": "SyntaxError",
|
|
9
|
+
"exit_code": 1,
|
|
10
|
+
"classification": "info"
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "empty-stdout-exit-0",
|
|
3
|
+
"adapter": "*",
|
|
4
|
+
"source": "observed-live",
|
|
5
|
+
"produced_by": "fixtures/live/grok (exit 0, no work): silence is not a limit",
|
|
6
|
+
"where": "stdout",
|
|
7
|
+
"text": "",
|
|
8
|
+
"pattern": "^$",
|
|
9
|
+
"exit_code": 0,
|
|
10
|
+
"classification": "info"
|
|
11
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"conversation_id":"f7ff607d-9831-4f28-83d2-f50fb07ad8a1","status":"SUCCESS","response":"Done. Both files created in `~\\.gemini\\antigravity-cli\\scratch\\`:\n\n- [hello-agy.txt](file:///~/.gemini/antigravity-cli/scratch/hello-agy.txt) — contains `hi`\n- [.baton/DONE](file:///~/.gemini/antigravity-cli/scratch/.baton/DONE) — contains `done`\n","duration_seconds":17.670068,"num_turns":1,"usage":{"input_tokens":39133,"output_tokens":542,"thinking_tokens":0,"cache_read_tokens":37387,"total_tokens":39675}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
~\AppData\Local\agy\bin\agy.exe -p "Working directory: ~\\AppData\\Local\\Temp\\claude\\C--Projects\\49952fac-5ff4-486c-8395-9973cebdfdcb\\scratchpad\\toy-probe\nEvery relative path in this task is relative to that directory; create files there, never in a scratch workspace.\n\nCreate a file named hello-agy.txt in the current directory containing exactly the word hi. Then create the directory .baton if it is missing and write the file .baton/DONE containing the single line: done. Do nothing else. Do not ask questions.\n" --output-format json --mode accept-edits --add-dir ~\AppData\Local\Temp\claude\C--Projects\49952fac-5ff4-486c-8395-9973cebdfdcb\scratchpad\toy-probe --print-timeout 90m
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"conversation_id":"e36f7b41-8a0f-4666-a690-b49062d53de0","status":"SUCCESS","response":"Done. Created [hello-agy.txt](file:///~/AppData/Local/Temp/claude/C--Projects/49952fac-5ff4-486c-8395-9973cebdfdcb/scratchpad/toy-probe/hello-agy.txt) and [.baton/DONE](file:///~/AppData/Local/Temp/claude/C--Projects/49952fac-5ff4-486c-8395-9973cebdfdcb/scratchpad/toy-probe/.baton/DONE).\n","duration_seconds":36.3828431,"num_turns":1,"usage":{"input_tokens":39475,"output_tokens":600,"thinking_tokens":0,"cache_read_tokens":37477,"total_tokens":40075}}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
{
|
|
2
|
+
"session_id": "e36f7b41-8a0f-4666-a690-b49062d53de0",
|
|
3
|
+
"last_message": "Done. Created [hello-agy.txt](file:///~/AppData/Local/Temp/claude/C--Projects/49952fac-5ff4-486c-8395-9973cebdfdcb/scratchpad/toy-probe/hello-agy.txt) and [.baton/DONE](file:///~/AppData/Local/Temp/claude/C--Projects/49952fac-5ff4-486c-8395-9973cebdfdcb/scratchpad/toy-probe/.baton/DONE).\n",
|
|
4
|
+
"stop_reason": "SUCCESS"
|
|
5
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"card_id": "card-20260911-0039-probe-agy",
|
|
3
|
+
"run": 1,
|
|
4
|
+
"adapter": "agy",
|
|
5
|
+
"mode": "accept-edits",
|
|
6
|
+
"max_turns": null,
|
|
7
|
+
"resume": null,
|
|
8
|
+
"cwd": "~\\AppData\\Local\\Temp\\claude\\C--Projects\\49952fac-5ff4-486c-8395-9973cebdfdcb\\scratchpad\\toy-probe",
|
|
9
|
+
"status": "exited",
|
|
10
|
+
"supervisor_pid": 62288,
|
|
11
|
+
"agent_pid": 62724,
|
|
12
|
+
"started_at": "2026-09-11T00:39:34.516Z",
|
|
13
|
+
"outcome": null,
|
|
14
|
+
"updated_at": "2026-09-11T00:40:15.642Z",
|
|
15
|
+
"exit_code": 0,
|
|
16
|
+
"session_id": "e36f7b41-8a0f-4666-a690-b49062d53de0",
|
|
17
|
+
"ended_at": "2026-09-11T00:40:15.123Z"
|
|
18
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
~\.local\bin\claude.exe -p --output-format json --permission-mode acceptEdits
|
|
File without changes
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"agent": "claude",
|
|
3
|
+
"signal": "rate_limit",
|
|
4
|
+
"captured_at": "2026-09-11T07:46:37.143Z",
|
|
5
|
+
"session_id": "s-20260911-070526-claude-90b4",
|
|
6
|
+
"source": "observed-live",
|
|
7
|
+
"payload": {
|
|
8
|
+
"session_id": "6699ca09-6439-496d-a5a0-331999b3f646",
|
|
9
|
+
"transcript_path": "[redacted-home]\\.claude\\projects\\C--Projects-baton\\6699ca09-6439-496d-a5a0-331999b3f646.jsonl",
|
|
10
|
+
"cwd": "[redacted-repo]",
|
|
11
|
+
"scratchpad_dir": "[redacted-home]\\AppData\\Local\\Temp\\claude\\C--Projects-baton\\6699ca09-6439-496d-a5a0-331999b3f646\\scratchpad",
|
|
12
|
+
"prompt_id": "d0d87356-0947-45c7-a73b-2bc3ed8efb6d",
|
|
13
|
+
"effort": {
|
|
14
|
+
"level": "high"
|
|
15
|
+
},
|
|
16
|
+
"hook_event_name": "StopFailure",
|
|
17
|
+
"error": "rate_limit",
|
|
18
|
+
"error_details": "429 {\"type\":\"error\",\"error\":{\"type\":\"rate_limit_error\",\"message\":\"This request would exceed your account's rate limit. Please try again later.\"},\"request_id\":\"req_011CewHHg6eZrktkEjKYr2EK\"}",
|
|
19
|
+
"last_assistant_message": "You've reached your Fable limit. Run /usage-credits to continue or switch models with /model."
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"duration_api_ms":7804,"stop_reason":"end_turn","session_id":"d9e19d78-1502-4f88-8ded-81c5bbbda8c2","total_cost_usd":1.0015022500000001,"usage":{"input_tokens":34,"cache_creation_input_tokens":48486,"cache_read_input_tokens":47217,"output_tokens":372,"output_tokens_details":{"thinking_tokens":0},"server_tool_use":{"web_search_requests":0,"web_fetch_requests":0},"service_tier":"standard","cache_creation":{"ephemeral_1h_input_tokens":48486,"ephemeral_5m_input_tokens":0},"inference_geo":"not_available","iterations":[{"input_tokens":32,"output_tokens":45,"cache_read_input_tokens":47217,"cache_creation_input_tokens":1269,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":1269},"type":"message"}],"speed":"standard"},"modelUsage":{"claude-haiku-4-5-20251001":{"inputTokens":948,"outputTokens":18,"cacheReadInputTokens":0,"cacheCreationInputTokens":0,"webSearchRequests":0,"costUSD":0.0010379999999999999,"contextWindow":200000,"maxOutputTokens":32000,"thinkingTokens":0,"canonicalModel":"claude-haiku-4-5","provider":"firstParty","costBasis":"list"},"claude-fable-5-1":{"inputTokens":34,"outputTokens":372,"cacheReadInputTokens":47217,"cacheCreationInputTokens":48486,"webSearchRequests":0,"costUSD":1.00046425,"contextWindow":1000000,"maxOutputTokens":64000,"thinkingTokens":0,"canonicalModel":"claude-fable-5-1","provider":"firstParty","costBasis":"list"}},"permission_denials":[],"terminal_reason":"completed","fast_mode_state":"off","fast_mode_disabled_reason":"sdk_opt_in_required","subagent_stats":{"spawned":0,"requested":{"background":0,"foreground":0,"unset":0},"started_in_background":0,"max_depth":0,"spawned_by_subagents":0,"completed":0,"failed":0,"killed":{"parent":0,"user":0,"system":0},"refused":{"depth_limit":0,"concurrency_limit":0,"budget":0},"by_type":{}},"is_error":false,"num_turns":3,"subtype":"success","api_error_status":null,"result":"Done. Both files exist:\n\n- `hello-claude.txt` contains `hi`\n- `.baton/DONE` contains `done`","ttft_ms":2791,"type":"result","duration_ms":11899,"uuid":"d70f3d4c-5a7f-4675-a734-d05edf37b1ed","ttft_stream_ms":1846,"time_to_request_ms":338,"first_content_frame_ms":1846,"queued_turn_count":0,"result_index":0}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"session_id": "d9e19d78-1502-4f88-8ded-81c5bbbda8c2",
|
|
3
|
+
"last_message": "Done. Both files exist:\n\n- `hello-claude.txt` contains `hi`\n- `.baton/DONE` contains `done`",
|
|
4
|
+
"stop_reason": "end_turn",
|
|
5
|
+
"subtype": "success",
|
|
6
|
+
"is_error": false,
|
|
7
|
+
"num_turns": 3,
|
|
8
|
+
"terminal_reason": "completed",
|
|
9
|
+
"api_error_status": null,
|
|
10
|
+
"permission_denials": 0
|
|
11
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"card_id": "card-20260911-0033-probe-claude",
|
|
3
|
+
"run": 1,
|
|
4
|
+
"adapter": "claude",
|
|
5
|
+
"mode": "acceptEdits",
|
|
6
|
+
"max_turns": null,
|
|
7
|
+
"resume": null,
|
|
8
|
+
"cwd": "~\\AppData\\Local\\Temp\\claude\\C--Projects\\49952fac-5ff4-486c-8395-9973cebdfdcb\\scratchpad\\toy-probe",
|
|
9
|
+
"status": "exited",
|
|
10
|
+
"supervisor_pid": 69268,
|
|
11
|
+
"agent_pid": 57828,
|
|
12
|
+
"started_at": "2026-09-11T00:33:13.367Z",
|
|
13
|
+
"outcome": null,
|
|
14
|
+
"updated_at": "2026-09-11T00:33:33.400Z",
|
|
15
|
+
"exit_code": 0,
|
|
16
|
+
"session_id": "d9e19d78-1502-4f88-8ded-81c5bbbda8c2",
|
|
17
|
+
"ended_at": "2026-09-11T00:33:33.001Z"
|
|
18
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
~\AppData\Roaming\npm\node_modules\@openai\codex\node_modules\@openai\codex-win32-x64\vendor\x86_64-pc-windows-msvc\bin\codex.exe exec --json -s workspace-write -C ~\AppData\Local\Temp\claude\C--Projects\49952fac-5ff4-486c-8395-9973cebdfdcb\scratchpad\toy-probe -c sandbox_workspace_write.network_access=false -o ~\AppData\Local\Temp\claude\C--Projects\49952fac-5ff4-486c-8395-9973cebdfdcb\scratchpad\baton-home\cards\card-20260911-0033-probe-codex\runs\1\last.md "Create a file named hello-codex.txt in the current directory containing exactly the word hi. Then create the directory .baton if it is missing and write the file .baton/DONE containing the single line: done. Do nothing else. Do not ask questions.\n"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Reading additional input from stdin...
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"agent": "codex",
|
|
3
|
+
"signal": "usage_limit_exceeded",
|
|
4
|
+
"captured_at": "2026-09-15T02:12:12.311Z",
|
|
5
|
+
"session_id": "s-20260915-005312-codex-4840",
|
|
6
|
+
"source": "observed-live",
|
|
7
|
+
"payload": {
|
|
8
|
+
"timestamp": "2026-09-15T02:12:12.109Z",
|
|
9
|
+
"ordinal": 1658,
|
|
10
|
+
"type": "event_msg",
|
|
11
|
+
"payload": {
|
|
12
|
+
"type": "task_complete",
|
|
13
|
+
"turn_id": "01a0a28f-046f-7b42-b865-a2fc96e06192",
|
|
14
|
+
"last_agent_message": null,
|
|
15
|
+
"error": {
|
|
16
|
+
"message": "Error running remote compact task: You've hit your usage limit. Visit https://chatgpt.com/codex/settings/usage to purchase more credits or try again at Sep 19th, 2026 10:11 PM.",
|
|
17
|
+
"codex_error_info": "usage_limit_exceeded"
|
|
18
|
+
},
|
|
19
|
+
"started_at": 1789433676,
|
|
20
|
+
"completed_at": 1789438332,
|
|
21
|
+
"duration_ms": 4655180,
|
|
22
|
+
"time_to_first_token_ms": 7145
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{"type":"thread.started","thread_id":"01a08de2-7611-7ff1-b0da-1e6e2cb7ca90"}
|
|
2
|
+
{"type":"turn.started"}
|
|
3
|
+
{"type":"item.completed","item":{"id":"item_0","type":"error","message":"Skill descriptions were shortened to fit the skills context budget. Codex can still see every skill, but some descriptions are shorter. Disable unused skills or plugins to leave more room for the rest."}}
|
|
4
|
+
{"type":"item.completed","item":{"id":"item_1","type":"agent_message","text":"`New-Item -ItemType File -Path hello-codex.txt -Value hi -Force` and `Set-Content` via `New-Item` in `.baton` (creating it only if missing), then writing `.baton/DONE` as `done`; I’m applying it now."}}
|
|
5
|
+
{"type":"item.started","item":{"id":"item_2","type":"command_execution","command":"\"~\\\\AppData\\\\Local\\\\Microsoft\\\\WindowsApps\\\\pwsh.exe\" -Command '$ErrorActionPreference = '\"'Stop'; Set-Content -Path .\\\\hello-codex.txt -NoNewline -Value 'hi'; if (-not (Test-Path .\\\\.baton)) { New-Item -ItemType Directory -Path .\\\\.baton | Out-Null }; Set-Content -Path .\\\\.baton\\\\DONE -NoNewline -Value 'done'\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
|
|
6
|
+
{"type":"item.completed","item":{"id":"item_2","type":"command_execution","command":"\"~\\\\AppData\\\\Local\\\\Microsoft\\\\WindowsApps\\\\pwsh.exe\" -Command '$ErrorActionPreference = '\"'Stop'; Set-Content -Path .\\\\hello-codex.txt -NoNewline -Value 'hi'; if (-not (Test-Path .\\\\.baton)) { New-Item -ItemType Directory -Path .\\\\.baton | Out-Null }; Set-Content -Path .\\\\.baton\\\\DONE -NoNewline -Value 'done'\"","aggregated_output":"","exit_code":0,"status":"completed"}}
|
|
7
|
+
{"type":"item.completed","item":{"id":"item_3","type":"agent_message","text":"Done. \n`hello-codex.txt` now contains exactly `hi`, and `.baton/DONE` contains exactly `done`."}}
|
|
8
|
+
{"type":"turn.completed","usage":{"input_tokens":58585,"cached_input_tokens":10880,"cache_write_input_tokens":0,"output_tokens":853,"reasoning_output_tokens":650}}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"session_id": "01a08de2-7611-7ff1-b0da-1e6e2cb7ca90",
|
|
3
|
+
"last_message": "Done. \n`hello-codex.txt` now contains exactly `hi`, and `.baton/DONE` contains exactly `done`.",
|
|
4
|
+
"stop_reason": "turn.completed",
|
|
5
|
+
"usage": {
|
|
6
|
+
"input_tokens": 58585,
|
|
7
|
+
"cached_input_tokens": 10880,
|
|
8
|
+
"cache_write_input_tokens": 0,
|
|
9
|
+
"output_tokens": 853,
|
|
10
|
+
"reasoning_output_tokens": 650
|
|
11
|
+
},
|
|
12
|
+
"errors": [
|
|
13
|
+
"Skill descriptions were shortened to fit the skills context budget. Codex can still see every skill, but some descriptions are shorter. Disable unused skills or plugins to leave more room for the rest."
|
|
14
|
+
]
|
|
15
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"card_id": "card-20260911-0033-probe-codex",
|
|
3
|
+
"run": 1,
|
|
4
|
+
"adapter": "codex",
|
|
5
|
+
"mode": "workspace-write",
|
|
6
|
+
"max_turns": null,
|
|
7
|
+
"resume": null,
|
|
8
|
+
"cwd": "~\\AppData\\Local\\Temp\\claude\\C--Projects\\49952fac-5ff4-486c-8395-9973cebdfdcb\\scratchpad\\toy-probe",
|
|
9
|
+
"status": "exited",
|
|
10
|
+
"supervisor_pid": 64760,
|
|
11
|
+
"agent_pid": 51856,
|
|
12
|
+
"started_at": "2026-09-11T00:33:42.751Z",
|
|
13
|
+
"outcome": null,
|
|
14
|
+
"updated_at": "2026-09-11T00:34:10.756Z",
|
|
15
|
+
"exit_code": 0,
|
|
16
|
+
"session_id": "01a08de2-7611-7ff1-b0da-1e6e2cb7ca90",
|
|
17
|
+
"ended_at": "2026-09-11T00:34:10.269Z"
|
|
18
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
~\.grok\bin\grok.exe -p "Create a file named hello-grok.txt in the current directory containing exactly the word hi. Then create the directory .baton if it is missing and write the file .baton/DONE containing the single line: done. Do nothing else. Do not ask questions.\n" --output-format json --permission-mode acceptEdits
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
|
|
2
|
+
To sign in, open this URL in your browser:
|
|
3
|
+
|
|
4
|
+
https://accounts.x.ai/oauth2/device?user_code=S3S6-5YEF
|
|
5
|
+
|
|
6
|
+
Confirm this code in your browser:
|
|
7
|
+
|
|
8
|
+
S3S6-5YEF
|
|
9
|
+
|
|
10
|
+
[90mOnly continue with a code you requested. Don't share it with anyone.[0m
|
|
11
|
+
|
|
12
|
+
Waiting for authorization...
|
|
13
|
+
[2m2026-09-11T00:37:22.879885Z[0m [31mERROR[0m Skipping MCP tool with invalid name [3mtool_name[0m[2m=[0mmole__mole.aggregate [3mserver[0m[2m=[0mmole [3mreason[0m[2m=[0mtool name 'mole__mole.aggregate' is invalid — must match ^[a-zA-Z_][a-zA-Z0-9_-]{0,63}$ (start with letter/underscore, max 64 chars)
|
|
14
|
+
[2m2026-09-11T00:37:22.879980Z[0m [31mERROR[0m Skipping MCP tool with invalid name [3mtool_name[0m[2m=[0mmole__mole.citations [3mserver[0m[2m=[0mmole [3mreason[0m[2m=[0mtool name 'mole__mole.citations' is invalid — must match ^[a-zA-Z_][a-zA-Z0-9_-]{0,63}$ (start with letter/underscore, max 64 chars)
|
|
15
|
+
[2m2026-09-11T00:37:22.880166Z[0m [31mERROR[0m Skipping MCP tool with invalid name [3mtool_name[0m[2m=[0mmole__mole.claim_add [3mserver[0m[2m=[0mmole [3mreason[0m[2m=[0mtool name 'mole__mole.claim_add' is invalid — must match ^[a-zA-Z_][a-zA-Z0-9_-]{0,63}$ (start with letter/underscore, max 64 chars)
|
|
16
|
+
[2m2026-09-11T00:37:22.880194Z[0m [31mERROR[0m Skipping MCP tool with invalid name [3mtool_name[0m[2m=[0mmole__mole.claims_list [3mserver[0m[2m=[0mmole [3mreason[0m[2m=[0mtool name 'mole__mole.claims_list' is invalid — must match ^[a-zA-Z_][a-zA-Z0-9_-]{0,63}$ (start with letter/underscore, max 64 chars)
|
|
17
|
+
[2m2026-09-11T00:37:22.880215Z[0m [31mERROR[0m Skipping MCP tool with invalid name [3mtool_name[0m[2m=[0mmole__mole.connect_list [3mserver[0m[2m=[0mmole [3mreason[0m[2m=[0mtool name 'mole__mole.connect_list' is invalid — must match ^[a-zA-Z_][a-zA-Z0-9_-]{0,63}$ (start with letter/underscore, max 64 chars)
|
|
18
|
+
[2m2026-09-11T00:37:22.880237Z[0m [31mERROR[0m Skipping MCP tool with invalid name [3mtool_name[0m[2m=[0mmole__mole.dataset [3mserver[0m[2m=[0mmole [3mreason[0m[2m=[0mtool name 'mole__mole.dataset' is invalid — must match ^[a-zA-Z_][a-zA-Z0-9_-]{0,63}$ (start with letter/underscore, max 64 chars)
|
|
19
|
+
[2m2026-09-11T00:37:22.880264Z[0m [31mERROR[0m Skipping MCP tool with invalid name [3mtool_name[0m[2m=[0mmole__mole.edge_add [3mserver[0m[2m=[0mmole [3mreason[0m[2m=[0mtool name 'mole__mole.edge_add' is invalid — must match ^[a-zA-Z_][a-zA-Z0-9_-]{0,63}$ (start with letter/underscore, max 64 chars)
|
|
20
|
+
[2m2026-09-11T00:37:22.880280Z[0m [31mERROR[0m Skipping MCP tool with invalid name [3mtool_name[0m[2m=[0mmole__mole.fetch [3mserver[0m[2m=[0mmole [3mreason[0m[2m=[0mtool name 'mole__mole.fetch' is invalid — must match ^[a-zA-Z_][a-zA-Z0-9_-]{0,63}$ (start with letter/underscore, max 64 chars)
|
|
21
|
+
[2m2026-09-11T00:37:22.880298Z[0m [31mERROR[0m Skipping MCP tool with invalid name [3mtool_name[0m[2m=[0mmole__mole.pairs_candidates [3mserver[0m[2m=[0mmole [3mreason[0m[2m=[0mtool name 'mole__mole.pairs_candidates' is invalid — must match ^[a-zA-Z_][a-zA-Z0-9_-]{0,63}$ (start with letter/underscore, max 64 chars)
|
|
22
|
+
[2m2026-09-11T00:37:22.880319Z[0m [31mERROR[0m Skipping MCP tool with invalid name [3mtool_name[0m[2m=[0mmole__mole.rows_add [3mserver[0m[2m=[0mmole [3mreason[0m[2m=[0mtool name 'mole__mole.rows_add' is invalid — must match ^[a-zA-Z_][a-zA-Z0-9_-]{0,63}$ (start with letter/underscore, max 64 chars)
|
|
23
|
+
[2m2026-09-11T00:37:22.880339Z[0m [31mERROR[0m Skipping MCP tool with invalid name [3mtool_name[0m[2m=[0mmole__mole.search [3mserver[0m[2m=[0mmole [3mreason[0m[2m=[0mtool name 'mole__mole.search' is invalid — must match ^[a-zA-Z_][a-zA-Z0-9_-]{0,63}$ (start with letter/underscore, max 64 chars)
|
|
24
|
+
[2m2026-09-11T00:37:22.880354Z[0m [31mERROR[0m Skipping MCP tool with invalid name [3mtool_name[0m[2m=[0mmole__mole.session_close [3mserver[0m[2m=[0mmole [3mreason[0m[2m=[0mtool name 'mole__mole.session_close' is invalid — must match ^[a-zA-Z_][a-zA-Z0-9_-]{0,63}$ (start with letter/underscore, max 64 chars)
|
|
25
|
+
[2m2026-09-11T00:37:22.880412Z[0m [31mERROR[0m Skipping MCP tool with invalid name [3mtool_name[0m[2m=[0mmole__mole.session_open [3mserver[0m[2m=[0mmole [3mreason[0m[2m=[0mtool name 'mole__mole.session_open' is invalid — must match ^[a-zA-Z_][a-zA-Z0-9_-]{0,63}$ (start with letter/underscore, max 64 chars)
|
|
26
|
+
[2m2026-09-11T00:37:22.880437Z[0m [31mERROR[0m Skipping MCP tool with invalid name [3mtool_name[0m[2m=[0mmole__mole.verify_quote [3mserver[0m[2m=[0mmole [3mreason[0m[2m=[0mtool name 'mole__mole.verify_quote' is invalid — must match ^[a-zA-Z_][a-zA-Z0-9_-]{0,63}$ (start with letter/underscore, max 64 chars)
|
|
27
|
+
[2m2026-09-11T00:37:22.880460Z[0m [31mERROR[0m Skipping MCP tool with invalid name [3mtool_name[0m[2m=[0mmole__research.ask [3mserver[0m[2m=[0mmole [3mreason[0m[2m=[0mtool name 'mole__research.ask' is invalid — must match ^[a-zA-Z_][a-zA-Z0-9_-]{0,63}$ (start with letter/underscore, max 64 chars)
|
|
28
|
+
[2m2026-09-11T00:37:22.880482Z[0m [31mERROR[0m Skipping MCP tool with invalid name [3mtool_name[0m[2m=[0mmole__research.cancel [3mserver[0m[2m=[0mmole [3mreason[0m[2m=[0mtool name 'mole__research.cancel' is invalid — must match ^[a-zA-Z_][a-zA-Z0-9_-]{0,63}$ (start with letter/underscore, max 64 chars)
|
|
29
|
+
[2m2026-09-11T00:37:22.880502Z[0m [31mERROR[0m Skipping MCP tool with invalid name [3mtool_name[0m[2m=[0mmole__research.report [3mserver[0m[2m=[0mmole [3mreason[0m[2m=[0mtool name 'mole__research.report' is invalid — must match ^[a-zA-Z_][a-zA-Z0-9_-]{0,63}$ (start with letter/underscore, max 64 chars)
|
|
30
|
+
[2m2026-09-11T00:37:22.880519Z[0m [31mERROR[0m Skipping MCP tool with invalid name [3mtool_name[0m[2m=[0mmole__research.result [3mserver[0m[2m=[0mmole [3mreason[0m[2m=[0mtool name 'mole__research.result' is invalid — must match ^[a-zA-Z_][a-zA-Z0-9_-]{0,63}$ (start with letter/underscore, max 64 chars)
|
|
31
|
+
[2m2026-09-11T00:37:22.880541Z[0m [31mERROR[0m Skipping MCP tool with invalid name [3mtool_name[0m[2m=[0mmole__research.sessions.list [3mserver[0m[2m=[0mmole [3mreason[0m[2m=[0mtool name 'mole__research.sessions.list' is invalid — must match ^[a-zA-Z_][a-zA-Z0-9_-]{0,63}$ (start with letter/underscore, max 64 chars)
|
|
32
|
+
[2m2026-09-11T00:37:22.880557Z[0m [31mERROR[0m Skipping MCP tool with invalid name [3mtool_name[0m[2m=[0mmole__research.status [3mserver[0m[2m=[0mmole [3mreason[0m[2m=[0mtool name 'mole__research.status' is invalid — must match ^[a-zA-Z_][a-zA-Z0-9_-]{0,63}$ (start with letter/underscore, max 64 chars)
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"text": "Creating `hello-grok.txt` and `.baton/DONE`.",
|
|
3
|
+
"stopReason": "Cancelled",
|
|
4
|
+
"sessionId": "01a08de5-c64c-7a31-ac58-1c11c2dd7332",
|
|
5
|
+
"requestId": "fb815c5a-2e96-47c4-8bcc-30669f38e844",
|
|
6
|
+
"thought": "The user wants me to:\n\n1. Create a file named hello-grok.txt in the current directory containing exactly the word hi"
|
|
7
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"card_id": "card-20260911-0036-probe-grok",
|
|
3
|
+
"run": 1,
|
|
4
|
+
"adapter": "grok",
|
|
5
|
+
"mode": "acceptEdits",
|
|
6
|
+
"max_turns": null,
|
|
7
|
+
"resume": null,
|
|
8
|
+
"cwd": "~\\AppData\\Local\\Temp\\claude\\C--Projects\\49952fac-5ff4-486c-8395-9973cebdfdcb\\scratchpad\\toy-probe",
|
|
9
|
+
"status": "exited",
|
|
10
|
+
"supervisor_pid": 70732,
|
|
11
|
+
"agent_pid": 12580,
|
|
12
|
+
"started_at": "2026-09-11T00:36:48.183Z",
|
|
13
|
+
"outcome": null,
|
|
14
|
+
"updated_at": "2026-09-11T00:37:45.845Z",
|
|
15
|
+
"exit_code": 0,
|
|
16
|
+
"session_id": "01a08de5-c64c-7a31-ac58-1c11c2dd7332",
|
|
17
|
+
"ended_at": "2026-09-11T00:37:45.380Z"
|
|
18
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_comment": "The single source of truth for every dated, numbered claim Baton makes in public. scripts/check-claims.mjs asserts that each surface listed here states exactly these values, and --strict additionally compares the pinned CLI versions against what those CLIs currently publish. Re-verify on a real machine, then edit this file and every surface in the same commit.",
|
|
3
|
+
"verifiedOn": "2026-09-11",
|
|
4
|
+
"verifiedOnLong": "11 September 2026",
|
|
5
|
+
"tests": 473,
|
|
6
|
+
"clis": {
|
|
7
|
+
"claude": {
|
|
8
|
+
"label": "Claude Code",
|
|
9
|
+
"version": "2.1.268",
|
|
10
|
+
"npm": "@anthropic-ai/claude-code",
|
|
11
|
+
"probe": "claude --version"
|
|
12
|
+
},
|
|
13
|
+
"codex": {
|
|
14
|
+
"label": "codex-cli",
|
|
15
|
+
"version": "0.153.4",
|
|
16
|
+
"npm": "@openai/codex",
|
|
17
|
+
"probe": "codex --version"
|
|
18
|
+
},
|
|
19
|
+
"agy": {
|
|
20
|
+
"label": "agy",
|
|
21
|
+
"version": "1.2.0",
|
|
22
|
+
"npm": null,
|
|
23
|
+
"probe": "agy --version",
|
|
24
|
+
"note": "Antigravity CLI is a closed Go binary with no npm package, so drift is only visible from a machine that has it installed."
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"surfaces": [
|
|
28
|
+
"README.md",
|
|
29
|
+
"site/llms.txt",
|
|
30
|
+
"site/index.html",
|
|
31
|
+
"docs/cli-contracts.md",
|
|
32
|
+
"docs/adapters.md"
|
|
33
|
+
]
|
|
34
|
+
}
|