Commit Graph

341 Commits

Author SHA1 Message Date
Hunter B 3d503a0a24 docs: bring public surface and npm-deferred install copy 2026-06-08 08:01:18 -07:00
Hunter B 78ae354fa4 chore(release): merge v0.9.0-stewardship into v0.8.54
Includes Paulo's command parity and Gherkin E2E harnesses,
HUQIANTAO's concurrency/security fixes, LeoAlex0's runtime_prompt
slim, reidliu41's hotbar persistence, HarmonyOS scaffolding,
Whaleflow foundation crate, and all v0.9.0 stabilization work.
2026-06-08 06:54:09 -07:00
greyfreedom 17dbed13c7 feat(execpolicy): wire permissions.toml ask-rules into runtime
Harvested from PR #2885 by @greyfreedom. Wires ask-rules into the
app-server and core ExecPolicyEngine (previously inert). Removes the
original PR's NeedsApproval arm that incorrectly allow-listed the
working directory as a network host.

Co-Authored-By: greyfreedom <11493871+greyfreedom@users.noreply.github.com>
2026-06-07 10:49:36 -07:00
Hunter B 3d676c2509 chore(tui): harden exec harness signals 2026-06-06 22:55:23 -07:00
Hunter B 9b500a7b91 Prepare v0.9.0 release build 2026-06-06 19:39:02 -07:00
Hunter Bown 5bd2f6a99b feat(runtime-api): expose git status metadata for agent view (#2862) 2026-06-06 02:51:21 -07:00
Hunter Bown cc3cbc823c docs(release): record Linux startup evidence (#2861) 2026-06-06 02:45:11 -07:00
Hunter Bown 137d65c31a docs(release): record DeepSeek v4 live smoke (#2860) 2026-06-06 02:41:09 -07:00
Hunter Bown 7bd68279e7 docs(release): record macOS startup evidence (#2859) 2026-06-06 02:37:22 -07:00
Hunter Bown b2e1ba13df docs(release): mark asset verification as pre-npm gate (#2858) 2026-06-06 02:33:51 -07:00
Hunter Bown ab8e3a12ca docs(release): record v0.9 core gate evidence (#2857) 2026-06-06 02:32:29 -07:00
Hunter Bown 2561a54df0 docs(release): close v0.9 credit rollback gates (#2856) 2026-06-06 02:24:16 -07:00
Hunter Bown a5a6b0a2d0 docs(release): record slash picker v0.9 evidence 2026-06-06 02:14:02 -07:00
Hunter Bown e69ea4539a docs(release): resolve v0.9 UI acceptance cutline 2026-06-06 02:11:38 -07:00
Hunter Bown caa1d4a993 docs(release): mark deferred v0.9 acceptance gates 2026-06-06 02:06:47 -07:00
Hunter Bown 73c8318b1f test(whaleflow): replay dogfood workflow from recorded trace
Add recorded mock-trace replay coverage for workflows/rlm_cache_change.star and prove missing dogfood records produce ReplayDiverged instead of live fallback.\n\nVerification:\n- cargo test -p codewhale-whaleflow rlm_cache_change --locked\n- cargo fmt --all --check\n- git diff --check\n- cmp -s CHANGELOG.md crates/tui/CHANGELOG.md\n- ./scripts/release/check-versions.sh\n- ./scripts/release/check-ohos-deps.sh
2026-06-06 02:01:37 -07:00
Hunter Bown e60eeb8162 feat(config): add dormant harness profile resolver
Add a pure HarnessProfile resolver for provider/model routes while keeping runtime provider/model routing, prompts, tools, auth, context, and persisted config unchanged.\n\nVerification:\n- cargo test -p codewhale-config harness_profile --locked\n- cargo fmt --all --check\n- git diff --check\n- cmp -s CHANGELOG.md crates/tui/CHANGELOG.md\n- ./scripts/release/check-versions.sh\n- ./scripts/release/check-ohos-deps.sh
2026-06-06 01:58:17 -07:00
Hunter Bown cd9a044387 docs(release): fill v0.9 acceptance evidence 2026-06-06 01:47:25 -07:00
Hunter Bown e22a7da53f docs(harness): align v0.9 profile acceptance 2026-06-05 23:28:50 -07:00
Hunter Bown efbcc681ae docs(harness): define profile cutline (#2844) 2026-06-05 23:23:49 -07:00
Hunter Bown 2bb24d0c64 docs(release): add v0.9 acceptance matrix (#2843) 2026-06-05 23:20:24 -07:00
Hunter Bown a7052751e4 docs(whaleflow): define external memory cutline (#2842) 2026-06-05 23:18:34 -07:00
Hunter Bown 96b825b84e docs(runtime): document read-only VS Code Agent View APIs
docs(runtime): document read-only VS Code Agent View APIs
2026-06-05 22:51:54 -07:00
Hunter Bown 190e9f35e4 feat(config): add provider TLS skip verify
Harvests provider-scoped TLS skip-verify from #1893 by @wavezhang. Disabled by default, active-provider-only, doctor-reported, and keeps SSL_CERT_FILE as the preferred custom CA path.
2026-06-05 22:37:14 -07:00
Hunter B 38fd4b1e84 feat(whaleflow): add typed workflow foundation
Harvested from PR #2482 by @AdityaVG13, preserving the typed WhaleFlow config and deterministic planner direction without exposing the runtime workflow_run tool yet.

Co-authored-by: AdityaVG13 <44177453+AdityaVG13@users.noreply.github.com>
2026-06-05 19:06:54 -07:00
idling11 57e4a7b71a feat(hf): harvest Hugging Face MCP helpers
Add /hf and /huggingface command routing for Hugging Face MCP setup/status plus a concepts explainer for provider, MCP, and Hub workflows.

Document the settings-generated Hugging Face MCP configuration path and keep the slice offline: no Hub search command, no direct Hugging Face HTTP requests, and no custom URL encoding.

Refs #2709

Harvested from PR #2782 by @idling11
2026-06-05 09:35:19 -07:00
xyuai be37dbd34e feat(config): add Xiaomi MiMo token plan mode
Harvested from PR #2627 by @xyuai.

Refs #2621 reported by @springeye.
2026-06-05 09:04:45 -07:00
hongqitai 5926bf38a6 feat(tui): add Hugging Face env aliases
Harvested from PR #2780 by @hongqitai.
2026-06-05 08:44:29 -07:00
yusufgurdogan af8ff03618 feat(web_search): add Sofya search provider
Harvested from PR #2790 by @yusufgurdogan.
2026-06-05 08:29:02 -07:00
Hunter B e5fe46db4f feat(tui): expose stream chunk timeout config
Harvested from PR #2507 by @cyq1017.

Reported by @mserrano11 in #2365.

Co-authored-by: cyq1017 <61975706+cyq1017@users.noreply.github.com>
2026-06-04 21:22:15 -07:00
Hunter B b000096cd0 docs: drop internal v0.9 execution map 2026-06-04 21:01:49 -07:00
Hunter B 91215d5f4f feat(tui): harvest custom completion sound files
Add completion_sound = "file" with [notifications].sound_file for Windows custom WAV completion sounds without changing the global Windows sound scheme.

The Windows path uses PlaySoundW asynchronously with no default fallback. Non-Windows file mode warns and no-ops, missing paths warn once, and setting a valid path resets the missing-path warning latch so later misconfiguration is visible again.

Fixes #2484

Reported by @LHqweasd

Harvested from PR #2512 by @cyq1017

Co-authored-by: cyq1017 <61975706+cyq1017@users.noreply.github.com>
2026-06-04 19:56:51 -07:00
Hunter B 933637bb1c feat(search): harvest custom duckduckgo endpoint
Add optional [search].base_url support for DuckDuckGo-compatible private search endpoints, including a preferred CODEWHALE_SEARCH_BASE_URL env override and the legacy DEEPSEEK_SEARCH_BASE_URL alias.

Network policy now gates the configured endpoint host, custom endpoints do not fall back to public Bing, non-DuckDuckGo provider/base_url combinations and challenge pages return explicit errors, and custom endpoint results report the configured host as their source.

Fixes #2436

Reported by @Artenx

Harvested from PR #2510 by @cyq1017

Co-authored-by: cyq1017 <61975706+cyq1017@users.noreply.github.com>
2026-06-04 19:48:45 -07:00
Hunter B a5f27aae3a feat(benchmarks): default PinchBench to MiMo v2.5 Pro, add direct-mimo routing
PinchBench runner now defaults to openrouter/xiaomi/mimo-v2.5-pro instead
of deepseek/deepseek-chat. Adds --direct-mimo flag for routing through
Xiaomi's API directly (bypasses OpenRouter), with tp-/sk- key type
detection and endpoint mismatch warnings.

Harbor adapter gains --provider CLI flag for MiMo provider routing.

Known issues documented in docs/MIMO_BENCHMARK_ISSUES.md:
- PinchBench model validation requires OpenRouter prefix
- OPENROUTER_API_KEY needed even for some direct-provider paths
- Token Plan vs pay-as-you-go key/endpoint mismatch
- PinchBench runs through OpenClaw, not CodeWhale
2026-06-04 19:33:43 -07:00
Hunter B b329a532f5 feat(benchmarks): add SWE-bench, Terminal-Bench, and PinchBench integration
Benchmark harness for evaluating CodeWhale against three external
benchmarks:

- SWE-bench: batch driver wrapping existing codewhale swebench commands
- Terminal-Bench: Harbor adapter (BaseInstalledAgent) for container eval
- PinchBench: runner with auto-install for real-world agent tasks

Includes docs/BENCHMARKS.md umbrella doc with setup, usage, and
reproducibility checklist. Scripts record version/commit/timestamp
metadata for each run.

Branch: codex/v0.8.53-benchmarks (based on v0.8.53)
2026-06-04 19:22:06 -07:00
Hunter B 28d6b10769 docs(v0.9): record runtime and legacy harvest closures
Update the execution map after closing harvested or superseded PRs #2476, #2498, #2502, #2513, #2530, #2576, #2581, #2636, #2639, #2640, #2708, and #2730, and refresh the live PR count.
2026-06-04 19:08:20 -07:00
Hunter B 01e5c42bd8 docs(v0.9): record plan and tool harvest closures
Update the execution map after closing harvested or superseded PRs #2733, #2734, #2736, #2737, #2740, and #2741, and refresh the live PR count.
2026-06-04 19:04:26 -07:00
Hunter B 1f703bafb3 docs(v0.9): record recent harvest closures
Update the execution map after closing harvested/superseded PRs #2746, #2747, #2750, #2756, #2757, and #2760, and refresh the live PR count.
2026-06-04 19:01:37 -07:00
Hunter B 47577d59e9 fix(tui): #2760 correct sessions resume footer
Harvested from PR #2760 by @sximelon

Fixes #2758

Show the canonical 'codewhale resume <session-id>' subcommand in the sessions footer instead of the invalid dispatcher form, and add a parser/footer regression test tying the hint to the actual Resume command.

Verification: cargo fmt --all -- --check; git diff --check; ./scripts/release/check-versions.sh; cargo test -p codewhale-tui --bin codewhale-tui --locked sessions_footer_points_to_resume_subcommand -- --nocapture; cargo clippy -p codewhale-tui --bin codewhale-tui --locked -- -D warnings.

Co-authored-by: sximelon <15710511+sximelon@users.noreply.github.com>
2026-06-04 18:56:25 -07:00
Hunter B de86cc1860 fix(tui): install rustls provider before HTTP clients
Install the ring rustls provider through a shared TUI helper and route reqwest client construction through it so no-provider TLS builds do not panic in engine, runtime API, tool, MCP, config, and test paths.

Keep the skill-installer integration include compatible with a local helper, and pin prompt byte-stability tests to an isolated home/skills environment under the shared env lock.

Verification: cargo fmt --all -- --check; git diff --check; ./scripts/release/check-versions.sh; cargo clippy --workspace --all-features --locked -- -D warnings; cargo test --workspace --all-features --locked; focused skill_install, finance, goal-tool, and MCP reruns.
2026-06-04 18:50:20 -07:00
Hunter B 70adeeeae6 docs(v0.9): record #2746/#2747, #2750, #2756, #2757 harvests and #2742/#2751/#2755 dispositions
Log the new community-PR harvests in CHANGELOG.md and crates/tui/CHANGELOG.md
(MCP underscore server names, Xiaomi MiMo pricing, hydrated deferred-tool
render, Token Plan region docs) with contributor credit, and update
docs/V0_9_0_EXECUTION_MAP.md with evidence-backed dispositions for the
newly-reviewed PRs, including the deferred #2742 and forwarded #2751/#2755.
2026-06-04 18:28:40 -07:00
Hunter B 960bdc91c7 docs(providers): document Xiaomi MiMo Token Plan region endpoints
Clarify that xiaomi-mimo Token Plan keys (tp-...) default to the Singapore
endpoint https://token-plan-sgp.xiaomimimo.com/v1, that pay-as-you-go keys use
https://api.xiaomimimo.com/v1, and that China-region Token Plan accounts must
set base_url = https://token-plan-cn.xiaomimimo.com/v1 explicitly. Also note
that a generic [vision_model] OpenAI-compatible block does not auto-select MiMo
endpoints. Matches the branch resolve_xiaomi_mimo_base_url behavior.

Harvested from PR #2756 by @xyuai. Fixes #2735.

Co-authored-by: xyuai <281015099+xyuai@users.noreply.github.com>
2026-06-04 18:21:49 -07:00
Hunter B 56f8044cf3 feat(tui): show focused approval details
Harvested the narrow approval-detail and shell-preview slice from #1991/#2269 by @tdccccc. Approval cards now show prominent command, dir, file, path, or target rows before falling back to raw params, and shell approvals preserve long command tails while splitting common shell chains for review.

The maintained path keeps the existing #2381 intent-summary block visible and does not take the broader diff-preview/pager rewrite from #2269. Live shell companion tools are classified as shell so their approval cards use the same review posture.

Co-authored-by: tdccccc <79492752+tdccccc@users.noreply.github.com>
2026-06-04 00:17:39 -07:00
Hunter B 0d66ef34d1 feat(hooks): add turn_end observer hook
Harvested the narrow Rust/docs slice of PR #2578 by @AresNing for #1364. The event uses the maintained structured observer path: JSON stdin, stdout ignored, warn-only failures, and no ability to block or mutate the turn.

The hook fires after post-turn app state, usage totals, cost, notification, receipt, and queue-recovery state are updated, before queued follow-up dispatch. Docs, RFC notes, /hooks discovery, and v0.9 tracking now describe the observer-only contract.

Co-authored-by: AresNing <49557311+AresNing@users.noreply.github.com>
2026-06-04 00:09:01 -07:00
Hunter B 586640a437 feat(config): add typed harness posture profiles
Harvested from PR #2741 by @idling11 for #2693, with review fixes folded in: typed compaction/tool/safety enums, no silent unknown-kind fallback, unknown profile keys rejected, and whole-struct equality for future reload/runtime checks.

Co-authored-by: idling11 <8055620+idling11@users.noreply.github.com>
2026-06-04 00:00:22 -07:00
Hunter B 13cabac077 docs(config): clarify provider path suffix support
Records that #2506/#2508 are superseded by the safer #2558 path_suffix implementation, credits the original #1874 report and follow-up PR review trail, and documents that suffix overrides only affect chat completions while model and beta paths keep built-in routing.
2026-06-03 23:56:40 -07:00
Hunter B e18f072a5a perf(context): cache project context with content signatures
Harvested from PR #2636 by @HUQIANTAO with widened cache invalidation for constitution files, generated context, trust state, canonical paths, and same-length overwrites.

Co-authored-by: HUQIANTAO <58421104+HUQIANTAO@users.noreply.github.com>
2026-06-03 23:49:08 -07:00
Hunter B 6a7063c912 ci(ohos): guard unsupported target dependencies 2026-06-03 23:41:21 -07:00
Hunter B 8d9cd44078 fix(tui): make queued follow-up edits recoverable 2026-06-03 23:36:42 -07:00
Hunter B 5d006a901e docs: record superseded transcript collapse PR 2026-06-03 23:32:29 -07:00