mirror of
https://github.com/Hmbown/DeepSeek-TUI.git
synced 2026-09-03 06:50:13 +08:00
* computer: add product-owned codewhale-cloud-agent Daytona snapshot definition Pins the released v0.9.11 Linux x64 engine (commit96d13a0bc3, sha256 c02969556e51e138afa3fe9c97a1359878cd3d1986b1ce1f5fa96c93c6909416) into a debian:bookworm-slim Computer image with the agent toolchain (git, node 22, python3, ripgrep, build-essential), non-root agent user, and /workspace prepared for the cloud dispatcher (PRD 4.5). Built and probed on Daytona as snapshot codewhale-cloud-agent (4 CPU / 8 GB / 10 GB). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014aDEyM2a4pPZ9qqMDrP5YX Signed-off-by: CodeWhale Bot <bot@codewhale.net> * exec: honour dispatcher-forwarded --provider/--model on --resume/--continue The `codewhale` dispatcher rejects `--provider`/`--model` after `exec` and forwards the top-level flags as CODEWHALE_PROVIDER / CODEWHALE_MODEL. `resolve_exec_resume_route` only looked at the exec-level flags, so `codewhale --provider modelstudio-token-plan --model qwen3.8-flash exec --continue ...` silently restored the saved route (observed in the Daytona cloud-agent e2e on 2026-08-30: the resumed turn ran on deepseek-v4-pro). Fold the launch overrides into the explicit route signals for resume; a fresh session already treated them as explicit. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014aDEyM2a4pPZ9qqMDrP5YX Signed-off-by: CodeWhale Bot <bot@codewhale.net> * subagent: scope session-name reservation to the live session A completed worker hydrated from a previous session's workspace ledger is invisible to status/peek/followup (`Agent not found in the active session`), yet spawn still refused its name with "already in use by agent_id ... (status: completed)". A second `codewhale exec` in the same workspace could not spawn worker-a/worker-b again and burned six turns recovering (Daytona cloud-agent e2e, 2026-08-30). Skip prior-session agents in the collision check, matching the other model-facing actions. The existing duplicate-name test now stamps the manager's own boot id so it keeps covering the live-session case. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014aDEyM2a4pPZ9qqMDrP5YX Signed-off-by: CodeWhale Bot <bot@codewhale.net> * computer: disclose Daytona create-time env persistence; require post-create key injection Signed-off-by: CodeWhale Bot <bot@codewhale.net> * computer: align snapshot docs and tests with the post-create credential contract - Dockerfile/README: Daytona create-time env is server-visible; provider secrets must never be injected at create time. Post-create delivery over an execution channel (stdin, never argv) into a 0600 file, removed at teardown, is the only documented path. The provider env table is reframed as reference for a future supported bridge, and api_key_env is correctly described as holding an env-var name, not a file path. - Image/probe receipts re-labeled as manual image evidence, not launch proof; the snapshot remains an image definition, not a wired dispatcher. - tui: test-only strengthening — exec_resume route override covered end-to-end through Config::load with CODEWHALE_PROVIDER/CODEWHALE_MODEL; session-name reservation test now hard-expects same-name respawn. Local proof (RUST_MIN_STACK=33554432, --locked): subagent 676/676, exec_resume 4/4, session_name 7/7; cargo fmt --check clean. Signed-off-by: CodeWhale Bot <bot@codewhale.net> * fix(tui): release Runtime Chat owner lock before same-process reopen Safety-gate hermetic tests failed on failed_state_writes_never_become_in_memory_authority_and_exact_retry_reopens with WouldBlock after drop-then-reopen of the same account session (#5735). Unlock on Drop, and retry only WouldBlock, so a just-closed fd is not reported as another owner. A lock that stays held is still ownership. Local proof (hermetic HOME, RUST_MIN_STACK=8388608, --locked): runtime_chat_relay 16/16; Safety-gate tui filter 344/344; execpolicy 108/108 plus authorization_order 1/1; PR exec_resume/session-name 4/4. Signed-off-by: CodeWhale Bot <bot@codewhale.net> * docs: record Pod public-roster surface in the unreleased changelog Feature commit84f42aefc0(#5776) landed on main without a durable release-note receipt, so Version drift failed after merging origin/main into this branch. The gate requires #5776 in CHANGELOG.md. Signed-off-by: CodeWhale Bot <bot@codewhale.net> --------- Signed-off-by: CodeWhale Bot <bot@codewhale.net> Co-authored-by: CodeWhale Bot <bot@codewhale.net> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>