Repository navigation
Cortex 1.2.0
What 1.2.0 Delivers
Cortex 1.2.0 is a broad runtime and operator-control release. It tightens plugin boundaries, makes permission handling a first-class runtime policy, improves channel-side control flows, and brings the public install and release path in line with the current daemon model.
Runtime and Operator Control
- Added explicit permission modes:
strict,balanced, andopen. balancedis now the default mode when no install-time override is provided.- Added install-time and runtime permission control through
--permission-level,CORTEX_PERMISSION_LEVEL,cortex permission ..., and/permission .... /stopnow resolves against the active actor session, interrupts the running turn, and clears pending confirmations for that turn.- Waiting for confirmation no longer auto-times out.
cortex statusnow reports permission mode and token usage at three levels: daemon lifetime, last turn, and last LLM call.
Channel and Interaction
- Telegram and QQ now favor card-style interaction for
/help,/status,/permission,/session, and/configwhere the platform supports it. - Permission, session, config, and status flows now refresh the current card instead of continually spawning new administrative messages.
- Session listing and session switching now respect actor visibility instead of leaking sessions through the generic command path.
- Telegram message handling no longer serializes follow-up control messages behind a long-running turn, so
/stopand later messages can arrive while a turn is active. - QQ reply routing was hardened so direct replies attach more reliably to the source message, and QQ control replies now fall back to active sends when reply-target delivery fails.
- Browser, plugin, and channel subscribe/unsubscribe changes hot-apply without requiring a daemon restart in normal user-service operation.
Session Ownership and Cross-Client Continuity
- Session, task, audit, and memory visibility remain scoped by canonical actor ownership.
- Actor alias and transport bindings now hot-reload into the running daemon.
- Paired channel users no longer allocate a session at approval time.
- After pairing, the first real message from that client reuses an existing visible session for the same canonical actor when one already exists; otherwise Cortex creates a new session then.
- Channel subscriptions now follow the paired client active session instead of mirroring unrelated sessions owned by the same canonical actor.
Plugin Runtime and SDK
- Replaced the old Rust trait-object loading path with the stable trusted native ABI based on
cortex_plugin_init. - Kept process JSON plugins as the stable cross-process boundary.
- Updated
cortex-sdkto the new trusted native ABI model and publishedcortex-sdk 1.2.0to crates.io. - Local directory installs and
.cpxinstalls now filter plugin contents, ignore backup directories, and extract built native libraries intolib/when needed. - Plugin enable and disable flows now hot-apply tool visibility; trusted in-process code still requires restart only when new code must be loaded.
Risk, Replay, and Runtime Context
- Tightened default handling for unknown tools and trust boundaries.
- Fixed replay side-effect substitution so deterministic replay closes more of the intended loop.
- Added a dedicated runtime policy section to prompt assembly so live permission state is injected as runtime context rather than baked into static prompt files.
Install, Service, and Packaging
- Fixed
--homehandling across plugin and browser management flows. - Install, start, and restart paths now wait for daemon readiness before returning.
- Fixed self-linked user launcher creation in local installs.
- Updated the installer to support the standard release tarball layout.
- Verified the public install path and the redeploy script against the rebuilt 1.2.0 release asset.
Testing and Documentation
- Rebuilt and tightened the workspace test layout around crate-level contracts and integration tests.
- Kept the workspace clean under
cargo fmt,cargo test --workspace, and strictcargo clippywith-D warnings -W clippy::pedantic -W clippy::nursery. - Reworked the README, quickstart, usage, ops, config, maturity, executive, plugin, SDK, and changelog documentation in English and Chinese so the published docs match the runtime as shipped.
Validation
cargo fmt --checkdocker compose run --rm dev cargo test --workspacedocker compose run --rm dev cargo clippy --workspace --all-targets -- -D warnings -W clippy::pedantic -W clippy::nurserydocker compose run --rm dev cargo build --release -p cortex-app -p cortex-runtime
Install
curl -fsSL https://raw.githubusercontent.com/by-scott/cortex/main/scripts/cortex.sh | bash -s -- installAsset
cortex-v1.2.0-linux-amd64.tar.gz- SHA-256:
1c408b7ba832125196d6c26fde283baed8428bf84226b55d49cbebdf5c8ded2e