YeonGyu-Kim
0d8fd51a6c
feat: b5-stdin-pipe — batch 5 upstream parity
2026-04-07 14:51:28 +09:00
YeonGyu-Kim
5bcbc86a2b
feat: b5-slash-help — batch 5 upstream parity
2026-04-07 14:51:27 +09:00
YeonGyu-Kim
d509f16b5a
feat: b5-skip-perms-flag — batch 5 upstream parity
2026-04-07 14:51:27 +09:00
YeonGyu-Kim
d089d1a9cc
feat: b5-retry-backoff — batch 5 upstream parity
2026-04-07 14:51:27 +09:00
YeonGyu-Kim
6a6c5acb02
feat: b5-reasoning-guard — batch 5 upstream parity
2026-04-07 14:51:27 +09:00
YeonGyu-Kim
9105e0c656
feat: b5-openrouter-fix — batch 5 upstream parity
2026-04-07 14:51:26 +09:00
YeonGyu-Kim
b8f76442e2
feat: b5-multi-provider — batch 5 upstream parity
2026-04-07 14:51:26 +09:00
YeonGyu-Kim
b216f9ce05
feat: b5-max-token-plugin — batch 5 upstream parity
2026-04-07 14:51:26 +09:00
YeonGyu-Kim
4be4b46bd9
feat: b5-git-aware — batch 5 upstream parity
2026-04-07 14:51:26 +09:00
YeonGyu-Kim
506ff55e53
feat: b5-doctor-cmd — batch 5 upstream parity
2026-04-07 14:51:26 +09:00
YeonGyu-Kim
65f4c3ad82
feat: b5-cost-tracker — batch 5 upstream parity
2026-04-07 14:51:25 +09:00
YeonGyu-Kim
700534de41
feat: b5-context-compress — batch 5 upstream parity
2026-04-07 14:51:25 +09:00
YeonGyu-Kim
861edfc1dc
fix(runtime): document phantom completion root cause + add workspace_root to session ( #41 )
...
Global session store causes cross-worktree confusion in parallel lanes.
Added workspace_root field to session metadata and documented root cause
in ROADMAP.md.
2026-04-07 14:22:41 +09:00
YeonGyu-Kim
f982f24926
fix(api): Windows env hint + .env file loading fallback
...
When API key missing on Windows, hint about setx. Load .env from CWD
as fallback with simple key=value parser.
2026-04-07 14:22:41 +09:00
YeonGyu-Kim
8d866073c5
feat(cli): show active model and provider in startup banner
...
Prints 'Connected: <model> via <provider>' before REPL prompt.
2026-04-07 14:22:26 +09:00
YeonGyu-Kim
4251c85855
fix(cli): add section headers to OMC output for agent type grouping
...
voloshko: flat wall of text. Now groups output with section separators
by agent type (Explore, Implementation, Verification).
2026-04-07 14:22:06 +09:00
YeonGyu-Kim
2a642871ad
fix(api): enrich JSON parse errors with response body, provider, and model
...
Raw 'json_error: no field X' now includes truncated response body,
provider name, and model ID for debugging context.
2026-04-07 14:22:05 +09:00
YeonGyu-Kim
cd83c0ff68
fix(cli): detect OPENAI_BASE_URL during claw login and emit clear error
...
OAuth 401 was confusing. Now detects custom base URL and suggests
ANTHROPIC_API_KEY instead of OAuth login.
2026-04-07 14:22:05 +09:00
YeonGyu-Kim
ce360e0ff3
fix(api): strip anthropic beta fields from non-beta requests
...
mikejiang: 'betas: Extra inputs are not permitted' 400 error.
Only include beta headers when request targets beta endpoint.
2026-04-07 14:22:05 +09:00
YeonGyu-Kim
c980c3c01e
docs: add local model quickstart section to USAGE.md
...
- Anthropic-compat (ANTHROPIC_BASE_URL + ANTHROPIC_AUTH_TOKEN)
- OpenAI-compat (OPENAI_BASE_URL + OPENAI_API_KEY)
- ollama example with concrete curl
- OpenRouter example with model selection
Addresses community requests for local model setup guidance.
2026-04-07 13:44:22 +09:00
YeonGyu-Kim
ce22d8fb4f
fix(api): add serde(default) to all usage/token parse paths in SSE stream
...
Sterling reported 'json_error: no field input/input_tokens' still firing
despite existing serde(default) in types.rs. Root cause: SSE streaming
path had a separate deserialization site that didn't use the same defaults.
- Add serde(default) to sse.rs UsageEvent deserialization
- Add serde(default) to types.rs Usage struct fields (input_tokens, output_tokens)
- Add regression test with empty-usage JSON response in streaming context
2026-04-07 13:44:22 +09:00
YeonGyu-Kim
93d98ab33f
fix: suppress WIP dead_code/clippy warnings in rusty-claude-cli
...
CLI binary has functions from multiple parity branches that aren't fully
wired up yet. Allow dead_code and related clippy lints at crate level
until the wiring is complete.
2026-04-02 18:38:47 +09:00
YeonGyu-Kim
6e642a002d
Merge branch 'dori/commands-parity' into main
2026-04-02 18:37:00 +09:00
YeonGyu-Kim
b92bd88cc8
Merge branch 'dori/tools-parity'
2026-04-02 18:36:41 +09:00
YeonGyu-Kim
ef48b7e515
Merge branch 'dori/hooks-parity' into main
2026-04-02 18:36:37 +09:00
YeonGyu-Kim
12bf23b440
Merge branch 'dori/mcp-parity'
2026-04-02 18:35:38 +09:00
YeonGyu-Kim
d88144d4a5
feat(commands): slash-command validation, help formatting, CLI wiring
...
- Add centralized validate_slash_command_input for all slash commands
- Rich error messages and per-command help detail
- Wire validation into CLI entrypoints in main.rs
- Consistent /agents and /skills usage surface
- Verified: cargo test -p commands 22 passed, integration test passed, clippy clean
2026-04-02 18:24:47 +09:00
YeonGyu-Kim
73187de6ea
feat(tools): error propagation, REPL timeout, edge-case validation
...
- Replace NotebookEdit expect() with Result-based error propagation
- Add 5-minute guard to Sleep duration
- Reject empty StructuredOutput payloads
- Enforce timeout_ms in REPL via spawn+try_wait+kill
- Add edge-case tests: excessive/zero sleep, empty output, REPL timeout
- Verified: cargo test -p tools 35 passed, clippy clean
2026-04-02 18:24:39 +09:00
YeonGyu-Kim
3b18ce9f3f
feat(mcp): add toolCallTimeoutMs, timeout/reconnect/error handling
...
- Add toolCallTimeoutMs to stdio MCP config with 60s default
- tools/call runs under timeout with dedicated Timeout error
- Handle malformed JSON/broken protocol as InvalidResponse
- Reset/reconnect stdio state on child exit or transport drop
- Add tests: slow timeout, invalid JSON response, stdio reconnect
- Verified: cargo test -p runtime 113 passed, clippy clean
2026-04-02 18:24:30 +09:00
YeonGyu-Kim
f2dd6521ed
feat(hooks): add PostToolUseFailure propagation, validation, and tests
...
- Hook runner propagates execution failures as real errors, not soft warnings
- Conversation converts failed pre/post hooks into error tool results
- Plugins fully support PostToolUseFailure: aggregation, resolution, validation, execution
- Add ordering + short-circuit tests for normal and failure hook chains
- Add missing PostToolUseFailure manifest path rejection test
- Verified: cargo clippy --all-targets -- -D warnings passes, cargo test 94 passed
2026-04-02 18:24:12 +09:00
YeonGyu-Kim
29530f9210
Merge remote-tracking branch 'origin/dori/plugins-parity'
2026-04-02 18:16:07 +09:00
YeonGyu-Kim
c9ff4dd826
Merge remote-tracking branch 'origin/dori/hooks-parity'
2026-04-02 18:16:07 +09:00
YeonGyu-Kim
97be23dd69
feat(hooks): add hook error propagation and execution ordering tests
...
- Add proper error types for hook failures
- Improve hook execution ordering guarantees
- Add tests for hook execution flow and error handling
- 109 runtime tests pass, clippy clean
2026-04-02 18:16:00 +09:00
YeonGyu-Kim
46853a17df
feat(plugins): add plugin loading error handling and manifest validation
...
- Add structured error types for plugin loading failures
- Add manifest field validation
- Improve plugin API surface with consistent error patterns
- 31 plugins tests pass, clippy clean
2026-04-02 18:15:37 +09:00
YeonGyu-Kim
485b25a6b4
fix: resolve merge conflicts between commands-parity and stub-commands branches
...
- Fix Commit/DebugToolCall variant mismatch (unit variants, not struct)
- Apply cargo fmt
2026-04-02 18:14:09 +09:00
YeonGyu-Kim
cad4dc3a51
Merge remote-tracking branch 'origin/dori/integration-tests'
2026-04-02 18:12:34 +09:00
YeonGyu-Kim
ece246b7f9
Merge remote-tracking branch 'origin/dori/stub-commands'
...
# Conflicts:
# rust/crates/commands/src/lib.rs
2026-04-02 18:12:34 +09:00
YeonGyu-Kim
23c8b42175
Merge remote-tracking branch 'origin/dori/commands-parity'
2026-04-02 18:12:10 +09:00
YeonGyu-Kim
cb72eb1bf8
Merge remote-tracking branch 'origin/dori/tools-parity'
2026-04-02 18:12:10 +09:00
YeonGyu-Kim
65064c01db
test(cli): expand integration tests for CLI args, config, and slash command dispatch
...
- Add 8 new integration tests for resume slash commands
- Test CLI arg parsing, slash command matching, config defaults
- All 102 tests pass (94 unit + 4 + 4 integration), clippy clean
2026-04-02 18:11:25 +09:00
YeonGyu-Kim
6c5ee95fa2
feat(cli): implement stub slash commands with proper scaffolding
...
- Add implementations for Bughunter, Commit, Pr, Issue, Ultraplan, Teleport, DebugToolCall
- Add helper functions for git operations, file handling, and progress reporting
- Refactor command dispatch for cleaner match arms
- 96 CLI tests pass + 1 integration test pass
2026-04-02 18:10:32 +09:00
YeonGyu-Kim
54fa43307c
feat(runtime): add tests and improve error handling across runtime crate
...
- Add 20 new tests for conversation, session, and SSE modules
- Improve error paths in conversation.rs and session.rs
- Add SSE event parsing tests
- 126 runtime tests pass, clippy clean, fmt clean
2026-04-02 18:10:12 +09:00
YeonGyu-Kim
731ba9843b
feat(commands): add slash command argument validation with clear error messages
...
- Add SlashCommandParseError type for structured parse failures
- Validate arguments for all arg-taking commands (permissions, config, session, plugin, agents, skills, teleport, resume)
- No-arg commands now reject unexpected arguments
- Error messages include help text with usage/summary/category
- 21 commands tests pass, clippy clean
2026-04-02 18:09:48 +09:00
YeonGyu-Kim
f5fa3e26c8
refactor(tools): replace panic paths with proper error handling
...
- Convert permission_mode_from_plugin panic to Result-based error
- Add input validation for tool dispatch edge cases
- Propagate signature changes to main.rs caller
- 29 tools tests pass, clippy clean
2026-04-02 18:04:55 +09:00
YeonGyu-Kim
f49b39f469
refactor(runtime): replace unwrap panics with proper error propagation in session.rs
...
- Convert serde_json::to_string().unwrap() to Result-based error handling
- Add SessionError variants for serialization failures
- All 106 runtime tests pass
2026-04-02 18:02:40 +09:00
YeonGyu-Kim
6e4b0123a6
fix: resolve clippy warnings, apply cargo fmt, skip env-dependent test
...
- Replace .into_iter() with .iter() on slice reference
- Use String::from() to avoid assigning_clones false positive
- Mark startup_banner test as #[ignore] (requires ANTHROPIC_API_KEY)
- Apply cargo fmt to all Rust sources
2026-04-02 17:52:31 +09:00
YeonGyu-Kim and Sisyphus
765635b312
chore: clean up post-merge compiler warnings
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-02 14:00:07 +09:00
YeonGyu-Kim and Sisyphus
de228ee5a6
fix: forward prompt cache events through clients
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-02 11:38:24 +09:00
YeonGyu-Kim
0bd0914347
fix: stabilize merge fallout test fixtures
2026-04-02 11:31:53 +09:00
YeonGyu-Kim
12c364da34
fix: align session tests with jsonl persistence
2026-04-02 11:31:53 +09:00
YeonGyu-Kim
ffb133851e
fix: cover merged prompt cache behavior
2026-04-02 11:31:53 +09:00
YeonGyu-Kim
de589d47a5
fix: restore anthropic request profile integration
2026-04-02 11:31:53 +09:00
YeonGyu-Kim
8476d713a8
Merge remote-tracking branch 'origin/rcc/cache-tracking' into integration/dori-cleanroom
2026-04-02 11:17:13 +09:00
YeonGyu-Kim
416c8e89b9
fix: restore telemetry merge build compatibility
2026-04-02 11:16:56 +09:00
YeonGyu-Kim
164bd518a1
Merge remote-tracking branch 'origin/rcc/telemetry' into integration/dori-cleanroom
2026-04-02 11:13:56 +09:00
YeonGyu-Kim
2c51b17207
Merge remote-tracking branch 'origin/rcc/parity-fix' into integration/dori-cleanroom
...
# Conflicts:
# rust/crates/api/src/lib.rs
2026-04-02 11:11:42 +09:00
YeonGyu-Kim
9ce259451c
Merge remote-tracking branch 'origin/rcc/jsonl-session' into integration/dori-cleanroom
...
# Conflicts:
# rust/crates/commands/src/lib.rs
# rust/crates/runtime/src/lib.rs
# rust/crates/rusty-claude-cli/src/main.rs
2026-04-02 11:10:48 +09:00
YeonGyu-Kim
9e06ea58f0
Merge remote-tracking branch 'origin/rcc/hook-pipeline' into integration/dori-cleanroom
...
# Conflicts:
# rust/crates/runtime/src/config.rs
# rust/crates/runtime/src/conversation.rs
# rust/crates/runtime/src/hooks.rs
# rust/crates/runtime/src/lib.rs
# rust/crates/rusty-claude-cli/src/main.rs
# rust/crates/rusty-claude-cli/src/render.rs
2026-04-02 11:05:03 +09:00
YeonGyu-Kim
32f482e79a
Merge remote-tracking branch 'origin/rcc/ant-tools' into integration/dori-cleanroom
...
# Conflicts:
# rust/crates/commands/src/lib.rs
# rust/crates/runtime/src/conversation.rs
# rust/crates/rusty-claude-cli/src/main.rs
2026-04-02 10:56:41 +09:00
YeonGyu-Kim
3790c5319a
fix: adjust post-merge Rust CLI tests
2026-04-02 10:46:51 +09:00
YeonGyu-Kim
522c1ff7fb
Merge remote-tracking branch 'origin/rcc/grok' into integration/dori-cleanroom
...
# Conflicts:
# rust/Cargo.lock
# rust/README.md
# rust/crates/api/src/lib.rs
# rust/crates/api/src/providers/anthropic.rs
# rust/crates/api/tests/client_integration.rs
# rust/crates/runtime/src/config.rs
# rust/crates/runtime/src/conversation.rs
# rust/crates/runtime/src/lib.rs
# rust/crates/runtime/src/prompt.rs
# rust/crates/rusty-claude-cli/src/init.rs
# rust/crates/rusty-claude-cli/src/main.rs
# rust/crates/rusty-claude-cli/src/render.rs
# rust/crates/tools/Cargo.toml
# rust/crates/tools/src/lib.rs
2026-04-02 10:45:15 +09:00
YeonGyu-Kim
3eff3c4f51
fix: resolve post-sandbox merge import duplication
2026-04-02 10:43:04 +09:00
YeonGyu-Kim
1d4c8a8f50
Merge remote-tracking branch 'origin/rcc/sandbox' into integration/dori-cleanroom
...
# Conflicts:
# rust/crates/commands/src/lib.rs
# rust/crates/runtime/src/config.rs
# rust/crates/runtime/src/lib.rs
# rust/crates/rusty-claude-cli/src/main.rs
2026-04-02 10:42:15 +09:00
YeonGyu-Kim
3bca74d446
Merge remote-tracking branch 'origin/rcc/git' into integration/dori-cleanroom
...
# Conflicts:
# rust/crates/runtime/src/prompt.rs
# rust/crates/rusty-claude-cli/src/main.rs
2026-04-02 10:38:55 +09:00
YeonGyu-Kim
ac3bc539dd
Merge remote-tracking branch 'origin/rcc/cost' into integration/dori-cleanroom
...
# Conflicts:
# .gitignore
# rust/Cargo.lock
# rust/Cargo.toml
# rust/README.md
# rust/crates/api/Cargo.toml
# rust/crates/api/src/client.rs
# rust/crates/api/src/error.rs
# rust/crates/api/src/lib.rs
# rust/crates/api/src/sse.rs
# rust/crates/api/src/types.rs
# rust/crates/api/tests/client_integration.rs
# rust/crates/commands/Cargo.toml
# rust/crates/commands/src/lib.rs
# rust/crates/compat-harness/src/lib.rs
# rust/crates/runtime/Cargo.toml
# rust/crates/runtime/src/bash.rs
# rust/crates/runtime/src/compact.rs
# rust/crates/runtime/src/config.rs
# rust/crates/runtime/src/conversation.rs
# rust/crates/runtime/src/lib.rs
# rust/crates/runtime/src/mcp.rs
# rust/crates/runtime/src/mcp_client.rs
# rust/crates/runtime/src/oauth.rs
# rust/crates/runtime/src/permissions.rs
# rust/crates/runtime/src/prompt.rs
# rust/crates/rusty-claude-cli/Cargo.toml
# rust/crates/rusty-claude-cli/src/app.rs
# rust/crates/rusty-claude-cli/src/args.rs
# rust/crates/rusty-claude-cli/src/input.rs
# rust/crates/rusty-claude-cli/src/main.rs
# rust/crates/rusty-claude-cli/src/render.rs
# rust/crates/tools/Cargo.toml
# rust/crates/tools/src/lib.rs
2026-04-02 10:36:30 +09:00
YeonGyu-Kim
2929759ded
Merge remote-tracking branch 'origin/rcc/plugins' into integration/dori-cleanroom
...
# Conflicts:
# rust/crates/commands/src/lib.rs
# rust/crates/claw-cli/src/main.rs
2026-04-01 19:13:53 +09:00
YeonGyu-Kim
543b7725ee
fix: add env_lock guard to git discovery tests
2026-04-01 19:02:12 +09:00
YeonGyu-Kim
c849c0672f
fix: resolve all post-merge compile errors
...
- Fix unresolved imports (auto_compaction, AutoCompactionEvent)
- Add Thinking/RedactedThinking match arms
- Fix workspace.dependencies serde_json
- Fix enum exhaustiveness in OutputContentBlock matches
- cargo check --workspace passes
2026-04-01 18:59:55 +09:00
YeonGyu-Kim
6f1ff24cea
fix: update prompt tests for post-plugins-merge format
2026-04-01 18:52:23 +09:00
YeonGyu-Kim and Sisyphus
c2e41ba205
fix: post-plugins-merge cleanroom fixes and workspace deps
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-01 18:48:39 +09:00
YeonGyu-Kim
6e8bd15154
Merge remote-tracking branch 'origin/rcc/plugins' into integration/dori-cleanroom
...
# Conflicts:
# rust/Cargo.lock
# rust/README.md
# rust/crates/api/src/client.rs
# rust/crates/api/src/lib.rs
# rust/crates/api/src/sse.rs
# rust/crates/api/src/types.rs
# rust/crates/api/tests/client_integration.rs
# rust/crates/commands/Cargo.toml
# rust/crates/commands/src/lib.rs
# rust/crates/compat-harness/src/lib.rs
# rust/crates/runtime/Cargo.toml
# rust/crates/runtime/src/bootstrap.rs
# rust/crates/runtime/src/compact.rs
# rust/crates/runtime/src/config.rs
# rust/crates/runtime/src/conversation.rs
# rust/crates/runtime/src/hooks.rs
# rust/crates/runtime/src/lib.rs
# rust/crates/runtime/src/mcp.rs
# rust/crates/runtime/src/mcp_client.rs
# rust/crates/runtime/src/oauth.rs
# rust/crates/runtime/src/permissions.rs
# rust/crates/runtime/src/prompt.rs
# rust/crates/claw-cli/Cargo.toml
# rust/crates/claw-cli/src/args.rs
# rust/crates/claw-cli/src/init.rs
# rust/crates/claw-cli/src/main.rs
# rust/crates/claw-cli/src/render.rs
# rust/crates/tools/Cargo.toml
# rust/crates/tools/src/lib.rs
2026-04-01 18:37:04 +09:00
YeonGyu-Kim
d7d20c66a6
docs: update README with Claw Code branding and feature parity
...
- Claw Code -> Claw Code branding
- CLI command refs: claw -> claw
- Feature highlights: 43 tools, JSONL sessions, prompt cache tracking, telemetry matching
- Star history chart and badges
- 11MB release binary positioning
- Config docs aligned to .claw.json
2026-04-01 18:34:24 +09:00
YeonGyu-Kim
df6230d42e
cleanroom: apply clean-room scrub on latest codebase
...
- Remove all claw/anthropic references from .rs files
- Rename: AnthropicClient->ApiHttpClient, ClawAiProxy->ManagedProxy
- Keep api.anthropic.com (actual endpoint) and model names (claw-opus etc)
- Keep wire-protocol headers (anthropic-version, User-Agent)
- cargo check passes on full 134-commit codebase
2026-04-01 18:20:34 +09:00