kaitranntt
fb3deeff38
fix(delegation): handle undefined totalCost in timeout error formatting
...
Add defensive checks in result-formatter, headless-executor, and session-manager
to prevent TypeError when delegated sessions timeout without emitting a result.
Includes 4 comprehensive unit tests for undefined/null totalCost scenarios.
Fixes formatting error that prevented timeout messages from displaying.
2025-11-16 06:40:31 -05:00
Kai (Tam Nhu) Tran and GitHub
4df5a7d357
feat!: delegation system overhaul and .claude/ shipping (v4.1.0) ( #8 )
...
## 🚀 Release v4.1.0 - Major Update
**Breaking changes from v3.5.0**. This release includes the complete v4.0.0 delegation overhaul plus v4.1.0 architecture improvements.
---
## 🎯 v4.0.0: Delegation System Overhaul
**Complete rewrite of the delegation infrastructure with enhanced decision-making and streaming support.**
### New Delegation Features
**Stream-JSON Communication Protocol:**
- Real-time token streaming with `{type: "content", data: "..."}` format
- Progress indicators during delegation execution
- Clean separation: stdout for data, stderr for errors
- Handles tool calls, thinking blocks, and text content
**Enhanced Decision Framework:**
- `/ccs:glm` and `/ccs:kimi` slash commands with auto-enhancement
- `[AUTO ENHANCE]` prompts for better model understanding
- Context-aware task delegation with clear boundaries
- Continuation support: `/ccs:glm:continue` and `/ccs:kimi:continue`
**Robust Error Handling:**
- Graceful degradation when profiles unconfigured
- Clear error messages with actionable fixes
- Signal handling (SIGINT/SIGTERM) for clean child process termination
- Session state recovery on interruption
**Performance & Reliability:**
- Headless mode (`-p` flag) for background execution
- Slash command detection and auto-routing
- Validation system with `DelegationValidator`
- Profile readiness checks in `ccs --version`
### Delegation Components
**New Files:**
- `bin/delegation/delegation-handler.js` - Core delegation orchestrator
- `bin/delegation/stream-processor.js` - Real-time output handling
- `bin/utils/delegation-validator.js` - Profile validation
- `.claude/commands/ccs/*.md` - Slash command definitions
- `.claude/skills/ccs-delegation/` - AI decision framework
- `.claude/agents/ccs-delegator.md` - Proactive delegation agent
**Documentation:**
- Complete delegation workflows with mermaid diagrams
- Troubleshooting guides for common issues
- Headless execution patterns
---
## ✨ v4.1.0: Selective Symlinking Architecture
**Single source of truth for CCS items with automatic propagation.**
### New Architecture
**Ship .claude/ Directory:**
- CCS items now ship with npm/sh/ps1 packages
- Selective item-level symlinks: `~/.ccs/.claude/` → `~/.claude/`
- Auto-propagation on `npm update` - zero manual sync
- Backward compatible with existing `~/.ccs/shared/` mechanism
**Symlink Chain:**
```
~/.ccs/.claude/ (source)
↓ selective symlinks
~/.claude/ (CCS items installed here)
↑ symlinked by
~/.ccs/shared/
↑ symlinked by
profiles (work, personal, team)
```
### New Commands
**Maintenance Tools:**
- `ccs update` - Re-install CCS symlinks to ~/.claude/
- `ccs doctor` - Added Check 9: CCS symlinks health verification
**Safe Installation:**
- Automatic conflict backup before symlinking
- Idempotent operations (safe to run multiple times)
- Health monitoring and recovery
### New Components
- `bin/utils/claude-symlink-manager.js` - Manages selective symlinks
- Updated all 3 installers (npm postinstall, install.sh, install.ps1)
- Enhanced `ccs doctor` with symlink health checks
---
## 💥 Breaking Changes
**From v3.5.0 → v4.x:**
1. **Delegation commands moved**:
- Old: User manually created in `~/.claude/commands/`
- New: Auto-shipped in `~/.ccs/.claude/`, symlinked to `~/.claude/commands/ccs/`
2. **Slash command format**:
- New: `/ccs:glm`, `/ccs:kimi`, `/ccs:glm:continue`
- Old custom commands may need migration
3. **Profile validation**:
- Placeholders (`YOUR_API_KEY_HERE`) now detected and marked invalid
- Must configure real API keys for delegation to work
4. **Stream output format**:
- Headless mode (`-p`) now uses stream-JSON protocol
- Old text output replaced with structured `{type, data}` format
2025-11-16 06:31:55 -05:00
kaitranntt
844baa997a
chore: update to v3.4.6 with reasoning enforcer and GLMT improvements
2025-11-12 00:19:17 -05:00
kaitranntt
66e25b4cc9
refactor(glmt): remove deprecated environment variables
...
Remove references to deprecated CCS_GLMT_FORCE_ENGLISH, CCS_GLMT_THINKING_BUDGET, and CCS_GLMT_STREAMING environment variables that were removed in v3.4.3.
Changes:
- README.md: Update GLMT environment variable documentation to reflect current intelligent control system
- tests/unit/glmt/locale-enforcer.test.js: Remove outdated test scenario for removed environment variable
- docs/glmt-controls.md: Rewrite documentation to describe new automatic control mechanisms
The GLMT component now uses intelligent, automatic controls instead of manual environment variable configuration.
2025-11-11 22:10:56 -05:00
kaitranntt
513e5b693f
fix(glmt): resolve thinking block signature timing race
...
- guard against empty content in _createSignatureDeltaEvent()
- consolidate debug flags: CCS_DEBUG_LOG, CCS_GLMT_DEBUG → CCS_DEBUG
- add 6 regression tests for signature race condition
- update docs with simplified debug flag usage
2025-11-11 21:47:41 -05:00
kaitranntt
d3e6be171f
refactor(glmt)!: simplify with keyword-based thinking control (v3.4.3)
...
YAGNI/KISS/DRY refactor removing 926 LOC of unused complexity:
- Replace budget-calculator + task-classifier with 40 LOC keyword detection
- Add 4-tier thinking: think < think hard < think harder < ultrathink
- Remove env vars: CCS_GLMT_THINKING_BUDGET, CCS_GLMT_STREAMING, CCS_GLMT_FORCE_ENGLISH
- Add streaming auto-fallback on error
- Rename CCS_DEBUG_LOG → CCS_DEBUG (backward compatible)
- Fix ultrathink effort: high → max
- Fix GLMT proxy path after restructure
Test coverage: 27 → 35 tests, all passing
Net change: +251, -1177 lines (-926 LOC, 78% reduction)
BREAKING CHANGE: Removed CCS_GLMT_THINKING_BUDGET, CCS_GLMT_STREAMING, CCS_GLMT_FORCE_ENGLISH env vars
2025-11-11 18:14:05 -05:00
kaitranntt
5fae92ac07
feat(glmt): add streaming with real-time thinking blocks
...
- reorganize bin/ into auth/, glmt/, management/, utils/
- add budget calculator and locale enforcer
- enhance test coverage with unit/integration separation
2025-11-11 15:39:00 -05:00
kaitranntt
45f80fd807
fix: properly organize shared test resources
...
- Move fixtures/ and unit/ to shared/ directory where they belong
- These test resources are used by both npm and native installations
- Update package.json test scripts to use new paths
- Fix relative import path in helpers.test.js
- All 46 npm-based tests now passing (7 unit + 5 integration + 34 npm)
Final test structure:
- native/ - Native installation tests only
- npm/ - npm package tests only
- shared/ - Shared utilities, fixtures, and unit tests
- integration/- Cross-installation integration tests
- edge-cases.sh/.ps1 - Master orchestrators
2025-11-05 11:16:16 -05:00
kaitranntt
c17e3e8e3b
feat(ccs): complete PowerShell 7+ fixes and Node.js standalone refactor
...
- Fix PowerShell 7 syntax errors (ampersand, pipe chars, regex patterns)
- Refactor bin/ccs.js to standalone Node.js implementation
- Add modular architecture (helpers, claude-detector, config-manager)
- Create comprehensive test suite with 95% coverage
- Add npm publishing workflow and documentation
- Enhance cross-platform compatibility and error handling
- Achieve 60% performance improvement over shell spawning
Breaking Change: Node.js npm package no longer spawns shell processes
2025-11-04 21:26:13 -05:00