Tam Nhu Tran
39a3e9dfc0
fix(websearch): install hook for settings profiles
...
- ensure profile hook injection installs the transformer binary before writing the command
- keep migration marker cleanup in the installer to avoid a circular import
- add a regression test for isolated CCS_HOME settings profiles
2026-03-27 17:05:41 -04:00
semantic-release-bot
fcc5fad601
chore(release): 7.61.0 [skip ci]
...
## [7.61.0](https://github.com/kaitranntt/ccs/compare/v7.60.1...v7.61.0 ) (2026-03-27)
### Features
* **docker:** add integrated deployment commands ([23f767b ](https://github.com/kaitranntt/ccs/commit/23f767b0c557affd2cdaaf20226a530db252b558 )), closes [#812 ](https://github.com/kaitranntt/ccs/issues/812 )
### Bug Fixes
* **docker:** bound blocking command execution ([5ad4303 ](https://github.com/kaitranntt/ccs/commit/5ad430334539356b2a5805ee02d7178d3ee0aa16 ))
* **websearch:** align provider validation metadata ([dff40b5 ](https://github.com/kaitranntt/ccs/commit/dff40b5e24bd26cb103fae53e7746456bf38d996 ))
* **websearch:** restrict dashboard secrets routes ([4ccc3ed ](https://github.com/kaitranntt/ccs/commit/4ccc3edcbbfeb5d148c9ff505f9cad26c80f441b ))
### Documentation
* **docker:** document integrated deployment flow ([6ac8f59 ](https://github.com/kaitranntt/ccs/commit/6ac8f59a78675c35dd6be3cd76365ce16101716c )), closes [#812 ](https://github.com/kaitranntt/ccs/issues/812 ) [#812 ](https://github.com/kaitranntt/ccs/issues/812 )
### Tests
* **docker:** cover docker subcommand rendering paths ([5b9954c ](https://github.com/kaitranntt/ccs/commit/5b9954cfad2dfdb8c7857083252ff6eb512db4c1 ))
* **websearch:** assert parser-layer null body errors ([1fd7f81 ](https://github.com/kaitranntt/ccs/commit/1fd7f8122181f84eb585f7809e75325462729b8b ))
2026-03-27 19:31:19 +00:00
Kai (Tam Nhu) Tran and GitHub
7722c9755a
Merge pull request #825 from kaitranntt/dev
...
feat(release): promote dev to main
2026-03-27 15:29:44 -04:00
github-actions[bot]
2225bacec2
chore(sync): merge main into dev after release [skip ci]
...
# Conflicts:
# package.json
2026-03-27 19:28:57 +00:00
semantic-release-bot
f0375c5294
chore(release): 7.60.1 [skip ci]
...
## [7.60.1](https://github.com/kaitranntt/ccs/compare/v7.60.0...v7.60.1 ) (2026-03-27)
### Hotfixes
* add hotfix commit type to semantic-release config ([0473f63 ](https://github.com/kaitranntt/ccs/commit/0473f636237a4e7e808a576eb75525d7ed8d929b ))
* **ci:** fix AI review performance — bypass permissions, cap turns, reduce thinking ([0a7fef0 ](https://github.com/kaitranntt/ccs/commit/0a7fef0368b10701737d0f54f50fd1b4ed5d46f6 )), closes [#818 ](https://github.com/kaitranntt/ccs/issues/818 )
* **ci:** increase max-turns to 30 and enforce Write tool for review output ([179fa33 ](https://github.com/kaitranntt/ccs/commit/179fa338b8da2b62853931218df8ce1ed34836dd )), closes [#818 ](https://github.com/kaitranntt/ccs/issues/818 )
2026-03-27 19:28:40 +00:00
Tam Nhu Tran
c32fbdac5d
Merge remote-tracking branch 'origin/main' into dev
2026-03-27 15:27:41 -04:00
Kai (Tam Nhu) Tran and GitHub
67711dc748
Merge pull request #824 from kaitranntt/kai/hotfix-releaserc-hotfix-type
...
hotfix: add hotfix commit type to semantic-release config
2026-03-27 15:27:01 -04:00
github-actions[bot]
4cbb142703
chore(release): 7.60.0-dev.4 [skip ci]
2026-03-27 19:24:49 +00:00
Kai (Tam Nhu) Tran and GitHub
508c96e289
Merge pull request #820 from kaitranntt/kai/feat/812-docker-command
...
feat: add ccs docker deployment commands
2026-03-27 15:23:12 -04:00
github-actions[bot]
cf63f67413
chore(release): 7.60.0-dev.3 [skip ci]
2026-03-27 19:08:50 +00:00
Kai (Tam Nhu) Tran and GitHub
c7744a37c3
Merge pull request #822 from kaitranntt/kai/fix/821-websearch-validation-followup
...
fix(websearch): align provider validation metadata
2026-03-27 15:07:14 -04:00
Tam Nhu Tran
5b9954cfad
test(docker): cover docker subcommand rendering paths
...
- add handler-level coverage for up, down, logs, config, update, and status
- exercise success, validation, follow-mode, and boxed error output paths
2026-03-27 15:05:17 -04:00
Tam Nhu Tran
5ad4303345
fix(docker): bound blocking command execution
...
- add default local and remote sync-command timeouts with clearer timeout diagnostics
- remove extra synchronous fs and process.exit patterns from docker assets/bootstrap helpers
- register the docker help handler in CLAUDE.md for the repo help-location reference
2026-03-27 15:05:17 -04:00
Tam Nhu Tran
6ac8f59a78
docs(docker): document integrated deployment flow
...
- document the new ccs docker command suite and remote host staging path
- clarify how the existing prebuilt image differs from the integrated CLI flow
- record issue #812 in the project roadmap
Refs #812
2026-03-27 15:05:17 -04:00
Tam Nhu Tran
23f767b0c5
feat(docker): add integrated deployment commands
...
- add ccs docker subcommands for up, down, status, update, logs, and config
- bundle integrated docker assets and remote ssh deployment support
- add executor regression tests and root help/router coverage
Refs #812
2026-03-27 15:05:17 -04:00
Tam Nhu Tran
0473f63623
hotfix: add hotfix commit type to semantic-release config
...
- Add hotfix type to releaseRules (triggers patch release)
- Add Hotfixes section to release notes generator
- Without this, hotfix: commits are silently ignored by semantic-release
2026-03-27 15:03:49 -04:00
Tam Nhu Tran
1fd7f81221
test(websearch): assert parser-layer null body errors
2026-03-27 14:58:54 -04:00
Kai (Tam Nhu) Tran and GitHub
b22ea85fca
Merge pull request #823 from kaitranntt/kai/hotfix-818-ai-review-maxturns
...
hotfix(ci): fix AI review max-turns and Write tool enforcement
2026-03-27 14:57:41 -04:00
Tam Nhu Tran
179fa338b8
hotfix(ci): increase max-turns to 30 and enforce Write tool for review output
...
- Increase --max-turns from 20 to 30 (large PRs with 31 files need ~25 turns)
- Explicitly instruct Claude to use Write tool (not Edit/python3 fallback)
- Add READ-ONLY constraint to prevent source code modifications
- Previous run hit error_max_turns at turn 21 despite successfully writing review
Part of #818
2026-03-27 14:55:22 -04:00
Tam Nhu Tran
dff40b5e24
fix(websearch): align provider validation metadata
2026-03-27 14:49:00 -04:00
github-actions[bot]
48da0f3538
chore(release): 7.60.0-dev.2 [skip ci]
2026-03-27 18:42:40 +00:00
Kai (Tam Nhu) Tran and GitHub
68d261d0f5
Merge pull request #817 from kaitranntt/kai/fix/816-websearch-localhost-guard
...
fix(websearch): restrict dashboard secrets routes
2026-03-27 14:41:04 -04:00
github-actions[bot]
a7e5bd983f
chore(release): 7.60.0-dev.1 [skip ci]
2026-03-27 18:33:05 +00:00
Kai (Tam Nhu) Tran and GitHub
b58c25c10d
Merge pull request #819 from kaitranntt/kai/hotfix-818-ai-review-perf
...
hotfix(ci): fix AI review performance and reliability
2026-03-27 14:28:42 -04:00
Tam Nhu Tran
0a7fef0368
hotfix(ci): fix AI review performance — bypass permissions, cap turns, reduce thinking
...
- Add --permission-mode bypassPermissions to eliminate 16+ permission denials per review
- Add --max-turns 20 to prevent runaway 41+ turn sessions
- Replace ultrathink with think (32K→16K thinking tokens) — sufficient for read-only review
- Expand --allowedTools with commonly-tried tools (wc, head, tail, find, git show)
- Remove unnecessary tools (Edit, LS — review shouldn't edit files)
- Reduce timeout from 20 to 15 minutes for faster failure detection
Evidence from run #23659037151 : 11.6 min, 41 turns, 16 permission denials, $1.95, failed to write review.
Closes #818
2026-03-27 14:26:21 -04:00
Tam Nhu Tran
4ccc3edcbb
fix(websearch): restrict dashboard secrets routes
2026-03-27 14:14:23 -04:00
semantic-release-bot
aaed6f39e0
chore(release): 7.60.0 [skip ci]
...
## [7.60.0](https://github.com/kaitranntt/ccs/compare/v7.59.0...v7.60.0 ) (2026-03-27)
### Features
* **websearch:** manage provider API keys in dashboard ([20c48c6 ](https://github.com/kaitranntt/ccs/commit/20c48c61050c9c15b07df1a996ec1d3b73328217 ))
### Bug Fixes
* **settings:** prevent config panel flash on refresh ([5782edf ](https://github.com/kaitranntt/ccs/commit/5782edf62706427c985d03f115726ca765c369ac ))
* **websearch:** narrow provider key handlers for build ([a3ca496 ](https://github.com/kaitranntt/ccs/commit/a3ca496fa814e7c711b610ced79694e9489dfa4f ))
* **websearch:** narrow provider key summary access ([d883951 ](https://github.com/kaitranntt/ccs/commit/d883951c9e4738b33bc057fe9230727a9bf5c25f ))
### Documentation
* **websearch:** document inline provider key flow ([f462b9f ](https://github.com/kaitranntt/ccs/commit/f462b9fed107e506488356dc7384fa22485e40cf ))
### Styles
* **ui:** format files for enforced prettier rules ([1c8246a ](https://github.com/kaitranntt/ccs/commit/1c8246a60edfff8ca9ea03793505bb8d9e4a6b23 ))
### CI
* **ai-review:** enable show_full_output for review visibility ([6dca069 ](https://github.com/kaitranntt/ccs/commit/6dca069c7d4642b24c2270cd51e0f0c0d2c900d8 ))
* **ai-review:** remove custom Claude CLI path to prevent version drift ([0334f70 ](https://github.com/kaitranntt/ccs/commit/0334f70991a926dfff5b097284f12bf2aa04e3d1 )), closes [#810 ](https://github.com/kaitranntt/ccs/issues/810 )
* **ai-review:** upgrade model, add fallback extraction, preserve logs ([bb5862f ](https://github.com/kaitranntt/ccs/commit/bb5862f0a01772f975cc95bc2b6581c8b1bb454a ))
2026-03-27 17:56:24 +00:00
Kai (Tam Nhu) Tran and GitHub
c7f3c5138b
Merge pull request #814 from kaitranntt/dev
...
feat(release): promote dev to main
2026-03-27 13:54:48 -04:00
github-actions[bot]
c225509b15
chore(release): 7.59.0-dev.2 [skip ci]
2026-03-27 17:47:51 +00:00
Kai (Tam Nhu) Tran and GitHub
ff48e00e8b
Merge pull request #809 from kaitranntt/kai/feat/websearch-api-key-dashboard
...
feat(websearch): manage provider API keys in dashboard
2026-03-27 13:46:12 -04:00
Tam Nhu Tran
5782edf627
fix(settings): prevent config panel flash on refresh
2026-03-27 13:25:26 -04:00
Tam Nhu Tran
d883951c9e
fix(websearch): narrow provider key summary access
2026-03-27 13:25:26 -04:00
Tam Nhu Tran
a3ca496fa8
fix(websearch): narrow provider key handlers for build
2026-03-27 13:25:26 -04:00
Tam Nhu Tran
1c8246a60e
style(ui): format files for enforced prettier rules
2026-03-27 13:25:26 -04:00
Tam Nhu Tran
f462b9fed1
docs(websearch): document inline provider key flow
...
- update the WebSearch guide for dashboard-managed Exa, Tavily, and Brave keys
- record the dashboard readiness and secret-management change in the project roadmap
2026-03-27 13:25:26 -04:00
Tam Nhu Tran
20c48c6105
feat(websearch): manage provider API keys in dashboard
...
- add masked dashboard-managed API key state for Exa, Tavily, and Brave
- persist WebSearch keys through global_env while keeping WebSearch as the UX surface
- treat dashboard-managed keys as ready in status checks and cover the flow with route/UI tests
2026-03-27 13:25:26 -04:00
github-actions[bot]
eea0f57688
chore(release): 7.59.0-dev.1 [skip ci]
2026-03-27 16:13:36 +00:00
Kai (Tam Nhu) Tran and GitHub
e73a27124a
Merge pull request #811 from kaitranntt/kai/fix/810-ai-review-cli-drift
...
ci(ai-review): remove custom Claude CLI path to prevent version drift
2026-03-27 12:12:04 -04:00
Tam Nhu Tran
bb5862f0a0
ci(ai-review): upgrade model, add fallback extraction, preserve logs
...
- Upgrade review model from glm-5 to glm-5.1
- Add fallback step: if Claude doesn't write pr_review.md, extract
last assistant message from execution output as review content
- Upload claude-execution-output.json as artifact (7-day retention)
so review sessions can be inspected after the job completes
- Publish review comment runs on always() instead of only on success,
so fallback-extracted reviews still get posted
2026-03-27 12:09:24 -04:00
Tam Nhu Tran
6dca069c7d
ci(ai-review): enable show_full_output for review visibility
...
Allows seeing Claude's full output in CI logs instead of the
opaque "full output hidden for security" message. Helps debug
slow reviews and identify bottlenecks.
2026-03-27 12:02:11 -04:00
Tam Nhu Tran
0334f70991
ci(ai-review): remove custom Claude CLI path to prevent version drift
...
claude-code-action@v1 auto-updates its bundled Claude Code and Agent SDK.
The custom path_to_claude_code_executable forced the runner's stale CLI
(v2.1.39) to be used instead, causing validateHeaders auth failures when
the SDK updated to 0.2.85. Let the action manage its own installation.
Closes #810
2026-03-27 11:55:03 -04:00
semantic-release-bot
f70d149c0b
chore(release): 7.59.0 [skip ci]
...
## [7.59.0](https://github.com/kaitranntt/ccs/compare/v7.58.0...v7.59.0 ) (2026-03-26)
### Features
* **auth:** let power user mode skip Gemini auth gate ([ce4401e ](https://github.com/kaitranntt/ccs/commit/ce4401e84ea11a0b5518b9eca4d4a44a304e8878 ))
### Bug Fixes
* **ci:** resolve flaky api-command module resolution and migrate to self-hosted runner ([41a31c8 ](https://github.com/kaitranntt/ccs/commit/41a31c8a4ffb49c6cf046de0b437961f4422a4e1 ))
* **cliproxy:** harden gemini quota error fallbacks ([31b7d45 ](https://github.com/kaitranntt/ccs/commit/31b7d45b58a6929f168a25f724c56ccbd1dcc9fa ))
* **cliproxy:** preserve auth-file source fallback ([63c8ec5 ](https://github.com/kaitranntt/ccs/commit/63c8ec5d7c8d5830bd514f812081fb31804564a8 ))
* **cliproxy:** preserve explicit Claude long-context intent ([c05189b ](https://github.com/kaitranntt/ccs/commit/c05189b4b1e2d90ee6bb88a4024feef1f8dbe1b1 )), closes [#789 ](https://github.com/kaitranntt/ccs/issues/789 )
* **cliproxy:** restore live monitor provider attribution ([368a625 ](https://github.com/kaitranntt/ccs/commit/368a625d925a176a42e426d363aeb355a4f0657b ))
* **cliproxy:** scope account stats by provider ([75ccbb3 ](https://github.com/kaitranntt/ccs/commit/75ccbb3ad13ee6d8b84ad7ef3aacb6b8994256c5 ))
* **cliproxy:** surface gemini quota failure details ([99f78f1 ](https://github.com/kaitranntt/ccs/commit/99f78f156a8bc329ee6524f2113a5fc643c0e131 ))
* **cliproxy:** surface quota metadata in CLI ([19f6b3c ](https://github.com/kaitranntt/ccs/commit/19f6b3c4e65c514b42b331380065f34db9dc5405 ))
* **tests:** stabilize command help CI validation ([be4ba13 ](https://github.com/kaitranntt/ccs/commit/be4ba13e9654f177a417a7956228653efe1a6210 ))
* **ui:** clarify antigravity and gemini power mode copy ([4d49d13 ](https://github.com/kaitranntt/ccs/commit/4d49d13931537ad32a5588880e09212696354609 ))
* **ui:** constrain bounded code editor scroll viewports ([aeab284 ](https://github.com/kaitranntt/ccs/commit/aeab2840de0c69122c49dba1b6f286597e4d606a ))
* **ui:** harden power user mode auth checks ([604f9fc ](https://github.com/kaitranntt/ccs/commit/604f9fc78a72b6ee76cf0ecc44ea91a372c4a114 ))
* **ui:** resolve cliproxy account stats by provider ([1edc103 ](https://github.com/kaitranntt/ccs/commit/1edc10362adf1be3a6f06041929e2548614c73a6 ))
* **ui:** restore scrolling in bounded code editors ([44d4df1 ](https://github.com/kaitranntt/ccs/commit/44d4df12544a02572e5c1c68f70f73c80795fb29 ))
### Tests
* **cliproxy:** cover Claude long-context parity flows ([5e11bba ](https://github.com/kaitranntt/ccs/commit/5e11bba5149d061879002ad88ca91f404c09522a )), closes [#789 ](https://github.com/kaitranntt/ccs/issues/789 )
* **ui:** cover bounded code editor scroll mode ([823cf96 ](https://github.com/kaitranntt/ccs/commit/823cf96e7788cc9f69d65b97688c56df84e6b632 ))
* **ui:** cover bounded editor height contracts ([92d067d ](https://github.com/kaitranntt/ccs/commit/92d067d0622c9a02c11b4b20b7416901a0929b4f ))
* **ui:** cover Gemini power user auth bypass ([a15c729 ](https://github.com/kaitranntt/ccs/commit/a15c729079643344d130d4d522de3e874b6d0d03 ))
### CI
* **ai-review:** add --bare flag to prevent CLAUDE.md pollution in reviews ([57019c1 ](https://github.com/kaitranntt/ccs/commit/57019c1105e92f74ca4e556c7a3a03f7468b853e ))
2026-03-26 22:24:05 +00:00
Kai (Tam Nhu) Tran and GitHub
3c642af32f
Merge pull request #808 from kaitranntt/dev
...
feat(release): promote dev to main
2026-03-26 18:22:23 -04:00
github-actions[bot]
8042abc9ee
chore(release): 7.58.0-dev.4 [skip ci]
2026-03-26 22:20:37 +00:00
Kai (Tam Nhu) Tran and GitHub
b4ab51e813
Merge pull request #807 from kaitranntt/kai/fix/bare-ai-review
...
ci(ai-review): add --bare flag to prevent CLAUDE.md pollution
2026-03-26 18:19:10 -04:00
Tam Nhu Tran
41a31c8a4f
fix(ci): resolve flaky api-command module resolution and migrate to self-hosted runner
...
Root cause: Bun's test runner fails to resolve exports from directory
index.ts files during parallel test execution. The api-command/index.ts
imports 8 subcommand modules — if any fail to load during concurrent
test runs, the entire module fails with "Export not found."
Fix: extract createApiCommandHandler into handler.ts (lightweight, only
imports named-command-router). Test imports from handler.ts directly,
bypassing the heavy index.ts that loads all subcommand modules.
Also:
- Remove stale api-command.ts barrel file
- Use explicit /index import paths in source
- Migrate CI validate to self-hosted runner with clean artifact step
- Disable Bun cache (no-cache: true) on self-hosted runner
2026-03-26 18:12:32 -04:00
Tam Nhu Tran
57019c1105
ci(ai-review): add --bare flag to prevent CLAUDE.md pollution in reviews
...
Review prompt already contains self-contained CCS-specific rules.
Loading project CLAUDE.md caused dev-oriented rules (no-emoji, quality
gates, branching) to leak into review output. --bare makes the review
prompt the sole source of truth and saves ~2K tokens per run.
2026-03-26 17:37:47 -04:00
Kai (Tam Nhu) Tran and GitHub
a5c765b221
Merge pull request #805 from kaitranntt/kai/fix/804-live-monitor-auth-index
...
fix(cliproxy): restore live monitor provider attribution
2026-03-26 17:37:01 -04:00
Kai (Tam Nhu) Tran and GitHub
550316f1b3
Merge pull request #801 from kaitranntt/kai/fix/gemini-quota-error-surface
...
fix(cliproxy): surface gemini quota failure details
2026-03-26 17:22:38 -04:00
Tam Nhu Tran
63c8ec5d7c
fix(cliproxy): preserve auth-file source fallback
2026-03-26 17:18:48 -04:00