CCCC v0.4.31 Release Notes
v0.4.31 is a reliability and operator-experience release for terminal runtimes, actor configuration, Web chat history, and ledger-backed message access.
The focus of this release is recovery and continuity. Terminal actors behave more predictably during concurrent start and stop operations, useful diagnostics remain available after a process exits, damaged derived indexes rebuild from the append-only ledger, and users can manage actor environment variables without relying on write-only command text.
Terminal Sessions Are More Predictable
PTY actor lifecycle operations are now coordinated across individual actors, working groups, and global shutdowns. Concurrent starts for the same actor no longer construct duplicate sessions, stop operations wait for in-progress construction when necessary, and group-level stops do not unnecessarily block unrelated groups.
Shutdown and fast-exit handling also retain more useful evidence. CCCC drains final terminal output before closing a session and keeps a bounded snapshot of the most recent output, cursor range, and exit status. Terminal tail and history diagnostics therefore remain available after an actor has stopped or exited instead of immediately degrading to "actor not running."
These improvements apply to both POSIX PTYs and Windows ConPTY. In particular, short-lived Windows commands are less likely to lose their final output while the process and reader thread finish at nearly the same time.
Terminal diagnostics remain scoped to output captured from that actor's PTY session. CCCC does not substitute shared runtime log files that cannot be attributed safely to one actor session.
Runtime Defaults and Codex State Are More Accurate
Codex PTY actors now choose their runtime-state source from the command they actually run. Commands that use Codex profiles, provider configuration, OSS mode, or local-provider flags stay terminal-derived because a separate app-server process may not represent those options faithfully.
This makes running, exited, and resumability information more trustworthy for customized Codex actors while preserving app-server-backed state for standard Codex PTY launches where it remains representative.
Default launches for Grok Build and OpenCode now include their autonomous execution flags:
- Grok Build uses
--always-approve. - OpenCode uses
--auto.
Users who want a different approval policy can continue to override the actor command or use a runtime profile with explicit arguments.
Actor Environment Variables Are Safer to Manage
The actor configuration modal now provides a dedicated Environment variables tab instead of treating private environment changes as undifferentiated command text.
Users can see configured variable names with masked values, stage individual additions, updates, or removals, paste multiple variables in common shell formats, undo pending changes, and explicitly clear all variables. Values remain write-only: CCCC shows that a value exists without exposing the stored secret.
Pending changes are applied only when the actor configuration is saved. Unfinished add, update, and batch-paste drafts remain intact when switching between Environment variables, Capabilities, and Runtime profile tools during the same edit session.
The destructive path is also stricter. Clear all is unavailable when configured-key metadata failed to load or when there are no known variables, preventing an incomplete view from becoming an accidental deletion request. Reopening an edit session or changing actors refreshes the configured key list without allowing stale responses to overwrite newer state.
Ledger Search and Lookup Recover from Damaged Indexes
CCCC's append-only group ledger remains the source of truth; its SQLite index is derived and replaceable. In v0.4.31, indexed reads now recover consistently when that derived database is corrupt or no longer recognized as a SQLite database.
Recovery covers both catch-up and the actual query that encountered the damaged page. Search, direct event lookup, batch lookup, acknowledgement lookup, reply lookup, and status queries all use the same recovery boundary: close the failed connection, rebuild the index under the existing index lock, and retry the query once.
Only explicit SQLITE_CORRUPT and SQLITE_NOTADB failures trigger deletion and rebuild. Lock contention, permission failures, and unrelated SQL errors are still surfaced rather than being misclassified as disposable-index corruption.
No group-ledger migration is required. If rebuilding is needed, CCCC reconstructs the index from the canonical JSONL ledger and its retained segments.
Long Web Chat Histories Hold Their Position Better
Loading older messages at the top of a long conversation now preserves the visible message anchor more reliably, including while virtualized rows are measured again after the prepend.
The history loader coordinates its top trigger, follow mode, anchor capture, fallback offset compensation, and follow-up animation-frame corrections. This reduces repeated history requests, visible jumps, and unexpected returns to the bottom while the user is reading older messages.
Mention suggestions also prioritize concrete actor names before broad recipient tokens such as team-wide targets, making direct recipients easier to find when typing @.
Documentation and Branding Are Easier to Navigate
The documentation site now has clearer top-level navigation, dedicated Runtime and Group Bridge guides, a standards index, and a release hub that discovers versioned release notes automatically.
Runtime documentation includes the supported runtime catalog, default commands, approval behavior, runner modes, profile guidance, and custom-runtime fallback. Group Bridge documentation gives operators a more direct explanation of trust, access levels, pairing, delivery, and remote collaboration boundaries.
CCCC's logo, favicon, README imagery, and overview screenshot have also been refreshed for a more consistent project identity across the Web UI, repository, and documentation.
Upgrade Notes
- No group-data migration is required.
- Existing explicit actor commands and runtime profiles remain authoritative.
- Grok Build and OpenCode actors that rely on default commands will use the new autonomous flags on their next launch.
- Stored private environment values remain write-only and are not revealed by the new management UI.
- A damaged derived ledger index may be rebuilt automatically on the first affected read.
Validation
This release expands backend and frontend coverage for PTY lifecycle concurrency, session-exit snapshots, Windows output draining, terminal history diagnostics, Codex state-source inference, runtime command defaults, ledger-index corruption recovery, actor environment-variable workflows, Web history prepend compensation, and mention ordering.
Why Upgrade
Upgrade to v0.4.31 if you run long-lived PTY actors, operate CCCC on Windows, customize Codex through profiles or provider flags, manage actor credentials from the Web UI, rely on long chat histories, or want damaged derived indexes to recover without manual cleanup.