Skip to content

Cortex 1.2.0

Choose a tag to compare

@by-scott by-scott released this 24 Apr 09:01
· 240 commits to main since this release

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, and open.
  • balanced is 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 ....
  • /stop now 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 status now 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 /config where 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 /stop and 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-sdk to the new trusted native ABI model and published cortex-sdk 1.2.0 to crates.io.
  • Local directory installs and .cpx installs now filter plugin contents, ignore backup directories, and extract built native libraries into lib/ 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 --home handling 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 strict cargo clippy with -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 --check
  • docker compose run --rm dev cargo test --workspace
  • docker compose run --rm dev cargo clippy --workspace --all-targets -- -D warnings -W clippy::pedantic -W clippy::nursery
  • docker 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 -- install

Asset

  • cortex-v1.2.0-linux-amd64.tar.gz
  • SHA-256: 1c408b7ba832125196d6c26fde283baed8428bf84226b55d49cbebdf5c8ded2e