27 Commits

Author SHA1 Message Date
Hunter Bown
73cd21796c brand: propagate the whale tile mark beyond web (#5738)
The website already carries the new Codewhale mark (PR #5734:
web/app/icon.svg and its raster derivatives). Bring the remaining
in-repo brand surfaces onto the same source so they match in style.

- crates/tui/src/runtime_web/codewhale-192.png: regenerated from the
  canonical web/public/icon-512.png at 192x192 (RGBA). Served at
  /assets/codewhale-192.png by runtime_api and used by the runtime web
  client's brand mark and empty-state mark; no manifest lists sizes.
- extensions/vscode/media/codewhale.svg: the activity-bar view-container
  icon. VS Code renders it as an alpha mask in the theme foreground, so
  this is the traced whale silhouette only (same path as web/app/icon.svg,
  viewBox cropped square around the whale). No defs, script, or
  foreignObject.
- extensions/vscode/media/icon.png + package.json "icon": the marketplace
  listing icon (256x256 RGBA, resized from web/public/icon-512.png). The
  extension previously declared no marketplace icon.
- crates/tui/src/integrations/dsh/brand.js: the DSH brand lockup's inline
  SVG was still the retired Signal Current mark; it now carries the tile
  gradient and whale path from web/app/icon.svg. The dsh tests that
  pinned the old paths and the 24px svg rule follow the new mark.

Signed-off-by: CodeWhale Bot <hmbown@gmail.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: CodeWhale Bot <bot@codewhale.net>
2026-09-01 01:00:18 -07:00
CodeWhale Bot
959dbe4382 fix(release): promote tested v0.9.11 nonbenchmark candidate
Promotes the fully gated non-benchmark candidate while preserving the benchmark tree exactly from the prior release-PR head.

Signed-off-by: CodeWhale Bot <bot@codewhale.net>
2026-08-22 04:16:55 -07:00
CodeWhale Bot
277cf21e7f release: assemble v0.9.11 non-benchmark candidate 2026-08-21 17:30:56 -07:00
Codewhale
610d3091c0 release: bump workspace to 0.9.10 (candidate)
Version surfaces moved together: workspace Cargo.toml, all 21 crate
dependency pins, Cargo.lock (workspace crates only — zero external changes),
CHANGELOG slice with the 0.9.10 section and compare link, crates/tui
CHANGELOG sync, web facts (derive-facts), npm/codewhale, npm/runtime-sdk,
extensions/vscode, and the remote-smoke default tag.

check-versions.sh: 0 errors. This is the candidate label only — no tag, no
package publication, no release creation.
2026-08-18 19:22:36 -07:00
CodeWhale Bot
46439f3604 release: bump every version-bearing file to 0.9.9 (prepare-release.sh)
check-versions.sh: workspace=0.9.9, npm=0.9.9, lockfile in sync.
2026-08-17 02:23:50 -07:00
CodeWhale Bot
2acbd5376b chore(release): complete the v0.9.8 version surface
Internal path-dependency versions, package locks, the tui CHANGELOG
slice and its root compare link, provider label facts for Google and
Antigravity, and the remote-smoke default tag. scripts/release/check-
versions.sh --require-dated-release passes locally.
2026-08-14 08:24:36 -07:00
CodeWhale Bot
3f3cbafe82 chore(release): bump npm and vscode extension versions for v0.9.8
The release gate caught npm/codewhale, npm/runtime-sdk, and the vscode
extension still on 0.9.7 (and codewhaleBinaryVersion, which resolves
which release assets the wrapper downloads). All now 0.9.8.
2026-08-14 08:21:23 -07:00
CodeWhale Bot
9fcc75d70b chore(release): prepare v0.9.7
Release prep for v0.9.7:
- Bump the workspace, per-crate pins, npm wrapper, and lockfile to 0.9.7.
- Finalize the [0.9.7] CHANGELOG entry: Grok 4.6 as the ordinary catalog
  default, OrcaRouter as a named provider, the session snapshot/recovery
  split, canonical message copy, and the RUSTSEC-2026-0253 lru/ratatui-core
  fix. All factual claims in the entry were checked against the code.
- Document the known parallel-load flake
  exec_persistent_service::failed_exec_kills_pending_service_and_exits_nonzero
  ("service pid file never appeared"); it passes in isolation and is
  unrelated to any v0.9.7 change.
- Regenerate the TUI changelog slice and web/lib/facts.generated.ts.

Gates run on this tree: cargo fmt/check/clippy clean; the full workspace
suite completed with --no-fail-fast and exactly one failure (the documented
flake, passing in isolation); publish-crates.sh dry-run and the npm wrapper
smoke passed; the release binary reports 0.9.7 and `codewhale model resolve
grok` resolves grok-4.6 on provider xai.

Release preparation assisted by CodeWhale, following docs/RELEASE_CHECKLIST.md.
2026-08-12 21:16:03 -07:00
CodeWhale Bot
be5c8f8bfd chore(release): prepare 0.9.6
Bump the workspace, every published crate, the npm CLI package and its
codewhaleBinaryVersion, the runtime SDK, and the VS Code extension to 0.9.6 —
the four version sources the release workflow cross-checks before it will
tag.

The changelog entry describes v0.9.6 as what it is: a subtractive release.
The guards that interrupted live work, the per-mode prompt doctrine, and the
deterministic second compaction system are gone; a truncated provider
response can no longer be recorded as a finished answer. Most of these were
found by running v0.9.5 against Terminal-Bench 2.1 beside Pi 0.8.41 on the
same model, effort, endpoint, and task digests, then reading the trials
Codewhale lost — so the entry names those trials rather than describing the
fixes in the abstract.

Mistral AI ships in this release; Xavier Pestel (@xavierpestel-ai) is
credited in the contributors section for #5295.
2026-08-09 01:02:51 -07:00
CodeWhale Bot
dd84af2297 chore(release): prepare 0.9.5 candidate
Bump every tagged package and internal dependency pin to 0.9.5, refresh Cargo and npm lock records, regenerate the packaged changelog and web facts, and record the user-visible candidate contract. The changelog deliberately remains marked Unreleased candidate until the rebuilt binary is dogfooded and publication is explicitly approved.
2026-08-07 21:47:47 -07:00
CodeWhale Bot
9e2c929bf1 fix(audit): bump js-yaml in extensions/vscode (GHSA-5p4m-2wfm-xmqj) 2026-08-06 18:34:34 -07:00
CodeWhale Bot
4ac9bc61d3 fix(vscode): use the Signal Current mark, not a one-off whale
The extension shipped its own slate/sky whale that existed nowhere else in
the product. The canonical mark is Signal Current — `web/app/icon.svg` and
the WHALE_BODY / WHALE_CURRENT constants in `web/components/whale.tsx`,
described there as "from the managed Codewhale product contract."

Replaced with the canonical paths (verified byte-identical to icon.svg) on
the product color tokens: signal gold #F6C453 and current cyan #48D7FF.
A comment names the two other copies so the next person keeps all three in
step rather than inventing a fourth.
2026-08-06 17:18:52 -07:00
CodeWhale Bot
411ec84739 fix(vscode): stop reporting Connected to a runtime that will reject every call
`/health` and `/v1/runtime/info` are intentionally unauthenticated, so a
token-protected runtime answers both with 200. The extension read that as
success and showed "Connected" — then every `/v1/*` fetch failed with 401
and the view sat there empty with no explanation.

The info body already carries the real signal (`auth_required`, see
crates/tui/src/runtime_api.rs). Read it: no token plus `auth_required`
now reports auth-required and names the setting that fixes it.

Audited the rest and found it sound: all six contributed commands are
registered and implemented, activationEvents match, `serve --http --host
--port --auth-token` all exist in the real CLI, the default port matches,
the docs URL target exists, timeouts degrade to an honest offline state,
and the webview CSP/nonce/escaping hold.

Verified by Kimi K3 against a live runtime rather than a passing compile:
no token -> auth-required; with token -> connected, version 0.9.4; nothing
listening -> offline; threads parse with keys matching the TS interface.
`vsce package` produces a clean 12-file vsix, rebuilt here to confirm.

Not verified anywhere: rendering inside a real VS Code host. The data
paths and command wiring are exercised, but webview layout and status-bar
placement need `code --install-extension` on a machine with the CLI.
2026-08-06 16:19:49 -07:00
CodeWhale Bot
fda98649fb fix(deps): bump undici 7.28.0->7.29.0 (override), fast-uri 3.1.4->3.1.5, brace-expansion to fixed lines — clears 23 Dependabot alerts 2026-08-06 01:04:38 -07:00
Hmbown
314f1b0482 chore(release): align published version strings with workspace 0.9.4
extensions/vscode was 0.8.53, npm/runtime-sdk 0.8.60, and the
verifiers README claimed v0.9.1 while the workspace is 0.9.4. All
three now read 0.9.4. The release.yml version gate previously checked
only workspace + npm/codewhale, which is how the drift survived
release prep; it now also requires runtime-sdk and vscode package
versions to match the tag.

Evidence: cross-surface-tech-debt-audit-2026-08-03.md TL;DR 'Stale
version strings'; §11.3 version-sweep row.
Gate: node -p require(...).version -> 0.9.4 for both packages.
2026-08-02 20:59:24 -07:00
Hunter B
0dfe9170a1 chore(deps): patch npm lockfiles for Dependabot alerts
Apply `npm audit fix --package-lock-only` across npm workspaces to
resolve the 17 open Dependabot alerts (7 high, 10 moderate) on the
v0.9.1 merged tree:

- integrations/feishu-bridge: protobufjs 7.6.4 → 7.6.5
- extensions/vscode: brace-expansion 5.0.6 → 5.0.7, js-yaml 4.2.0 → 4.3.0,
  fast-uri 3.1.2 → 3.1.4, linkify-it 5.0.1 → 5.0.2
- web: brace-expansion/js-yaml and other transitive dev deps updated to
  patched versions; build, lint, tests, and `check:facts` still pass
- root package-lock: refreshed transitive lockfile metadata

Remaining npm audit findings:
- sharp <0.35.0 (via miniflare/next/wrangler) in web and root: no
  non-breaking patch available; miniflare pins sharp 0.34.5. Website is
  not deployed for v0.9.1, so exposure is build-time only.
- axios in feishu-bridge lockfile is already resolved to 1.18.1; the
  Dependabot alerts appear stale against the current lockfile.

All affected workspace checks pass:
- integrations/feishu-bridge: `npm run check && npm run test` — 19 passed
- extensions/vscode: `npm run check` — compiles
- web: `npm run prebuild && npm run check:facts && npm test && npm run lint
  && npm run build` — green

Refs #4713

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-07-22 17:48:52 -07:00
Hunter B
29d3f0c321 release: prepare Codewhale v0.9.0
Integrate the underwater TUI, message-first Operate, Fleet and Workflow reliability, expanded model/provider catalog, exact custom-route restoration, docs-first site, localization, packaging, and release metadata for the v0.9.0 candidate.

Harden endpoint-bound credential provenance, approval and goal UX, Fleet attempt fencing and crash recovery, large-workspace mention discovery, Kimi budgeting, and release asset/version gates. Include the stopship Fleet and Workflow fixtures used by release dogfood.

Verified with workspace fmt/check/clippy/tests on Rust 1.88, release-script and npm suites, 18-crate publish dry run, production web build, Docker build check, secret scan, dependency audit, and protected-state hash validation.
2026-07-15 23:44:37 -07:00
Hunter B
3dfd7e8efd fix(deps): refresh web tooling security locks
Bump Wrangler in the root and web package manifests so Miniflare resolves patched Undici, update the VS Code extension lockfile's transitive Undici, and refresh the web DOMPurify lock entry. Verified npm audit is clean in root, web, and extensions/vscode.
2026-06-21 15:21:33 -07:00
CodeWhale Agent
bc673db721 chore: clean generated artifacts and toolchain hygiene 2026-06-16 16:27:18 -07:00
dependabot[bot]
0a4ace0a74 chore(deps): bump the npm_and_yarn group across 2 directories with 2 updates
Bumps the npm_and_yarn group with 1 update in the /extensions/vscode directory: [form-data](https://github.com/form-data/form-data).
Bumps the npm_and_yarn group with 2 updates in the /integrations/feishu-bridge directory: [form-data](https://github.com/form-data/form-data) and [ws](https://github.com/websockets/ws).


Updates `form-data` from 4.0.5 to 4.0.6
- [Release notes](https://github.com/form-data/form-data/releases)
- [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md)
- [Commits](https://github.com/form-data/form-data/compare/v4.0.5...v4.0.6)

Updates `form-data` from 4.0.5 to 4.0.6
- [Release notes](https://github.com/form-data/form-data/releases)
- [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md)
- [Commits](https://github.com/form-data/form-data/compare/v4.0.5...v4.0.6)

Updates `ws` from 8.20.1 to 8.21.0
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/8.20.1...8.21.0)

---
updated-dependencies:
- dependency-name: form-data
  dependency-version: 4.0.6
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: form-data
  dependency-version: 4.0.6
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: ws
  dependency-version: 8.21.0
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-15 20:46:35 +00:00
Hunter B
ce17f06db5 feat(vscode): show thread git metadata 2026-06-06 10:50:48 -07:00
Hunter Bown
23a188e8fd fix(vscode): keep agent view metadata on snapshot errors 2026-06-06 01:49:32 -07:00
Hunter Bown
50b773f1de feat(vscode): auto-refresh read-only agent view (#2832) 2026-06-05 22:21:06 -07:00
Hunter Bown
293643e279 feat(vscode): show runtime restore points (#2828) 2026-06-05 22:03:51 -07:00
Hunter Bown
1bacaf763e feat(runtime-api): expose thread branch metadata
Add read-only workspace and branch metadata to runtime thread summaries so VS Code Agent View can show when a thread lane is on another branch. Non-git workspaces return null branch metadata instead of failing.

Refs #2580, #2721.
Credits the existing branch-visibility trail from #1217/#2341 in the changelog.
2026-06-05 21:39:46 -07:00
Hunter B
ab299865dd feat(vscode): add read-only agent view preview 2026-06-05 19:35:08 -07:00
Hunter B
bed43e79b5 feat(vscode): add local runtime extension scaffold
Harvests the safe Phase 0 VS Code lane from PR #1022 and the Agent View request in #2580 while keeping chat webviews, inline edits, Agent View, and retry/undo runtime endpoints out of this slice.

Credits @lbcheng888 for the earlier extension scaffold and @AiurArtanis plus the v0.9 GUI/VS Code reporters for the request trail.
2026-06-05 19:13:37 -07:00