You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Ship Cortex v0.9.0 by 2026-09-30 as a tool our own team runs every day alongside their
coding agent. This is an internal release: the bar is stability and daily usability, not
market positioning.
Our current product priority is observability — token usage, cost, latency, and what the
agent actually sent. Cost reduction (tool-definition pruning) ships and stays supported, but
the release is judged on whether the numbers Cortex shows are correct, complete, and still
there tomorrow.
Exit bar
The release ships when all five hold:
Install works cold.curl | sh → abctl observe → claude succeeds from a clean
machine on macOS arm64, macOS amd64, Linux amd64, Linux arm64. macOS is the primary
workstation target — the others must work, but macOS is what most of the team runs.
Cortex is invisible to everything else. With the service running and the CA trusted, git, gh, ssh, curl and ordinary shell scripts behave exactly as they do without it.
The numbers are right and they persist. A full session shows correct token counts
(input / cache-read / cache-write / output), cost, and latency; the data survives abctl service restart.
A new user can self-serve. Someone who has not used Cortex before installs it on a stock
macOS workstation following the docs alone — no tribal knowledge, nobody to ask — and can
then say what Cortex is for, what the numbers mean, and why it is worth leaving running. The
install is easy to follow, not merely possible. Documentation covers installing, using it
day to day, interpreting the results, and the value the tool brings. Verified by at least one
person outside the team who has not installed it before.
Non-goals
Tracked separately, deliberately out of this release:
Kubernetes-mode feature work: the sidecar / SPIRE / Keycloak paths keep working, they are
just not where the release effort goes
Release mechanics
Binaries jump from the v0.7.0-alpha.N series straight to v0.9.0 — there is no v0.8.0
binary. Every prior release was a GitHub pre-release; v0.9.0 is the first marked as a normal
release, which is also what makes install.sh pick it up by default.
Confirm release-binaries.yaml publishes v0.9.0 as non-prerelease / latest
Confirm install.sh with no --ref resolves to v0.9.0
#949 is owned by @galmasi, #950 by @huang195, #953 and #955 by @esnible. The
session-identity schema needs agreeing in week one, not discovering in week three.
@esnible holds 10 of the 24 P0 items, spanning agent integrations and TUI stabilization —
two workstreams that do not interleave. The heaviest load in the plan.
Refactor: Separate proxy data-planes from a shared proxy shim layer #682 landing late. A proxy data-plane refactor merged in the final week is the single
biggest threat to the exit bar. Hard cutoff 2026-09-19; if it has not merged by then it
leaves the release. Its title is also stale — the shim-layer approach was rejected in favour
of in-process policy plus a thin interception front, so it needs rescoping either way.
All 7 remaining unowned issues are P1, so nothing unowned gates the release.
Goal
Ship Cortex v0.9.0 by 2026-09-30 as a tool our own team runs every day alongside their
coding agent. This is an internal release: the bar is stability and daily usability, not
market positioning.
Our current product priority is observability — token usage, cost, latency, and what the
agent actually sent. Cost reduction (tool-definition pruning) ships and stays supported, but
the release is judged on whether the numbers Cortex shows are correct, complete, and still
there tomorrow.
Exit bar
The release ships when all five hold:
curl | sh→abctl observe→claudesucceeds from a cleanmachine on macOS arm64, macOS amd64, Linux amd64, Linux arm64. macOS is the primary
workstation target — the others must work, but macOS is what most of the team runs.
git,gh,ssh,curland ordinary shell scripts behave exactly as they do without it.(input / cache-read / cache-write / output), cost, and latency; the data survives
abctl service restart.macOS workstation following the docs alone — no tribal knowledge, nobody to ask — and can
then say what Cortex is for, what the numbers mean, and why it is worth leaving running. The
install is easy to follow, not merely possible. Documentation covers installing, using it
day to day, interpreting the results, and the value the tool brings. Verified by at least one
person outside the team who has not installed it before.
Non-goals
Tracked separately, deliberately out of this release:
the laptop tool. Local session differentiation is feature: differentiate concurrent coding-agent sessions in abctl #949
just not where the release effort goes
Release mechanics
Binaries jump from the
v0.7.0-alpha.Nseries straight tov0.9.0— there is no v0.8.0binary. Every prior release was a GitHub pre-release; v0.9.0 is the first marked as a normal
release, which is also what makes
install.shpick it up by default.release-binaries.yamlpublishesv0.9.0as non-prerelease / latestinstall.shwith no--refresolves tov0.9.0Owners
Release-blocking — P0 (27)
Agent support
Install & service lifecycle
Not breaking the rest of the machine
Session differentiation
Observability
Persistence & configuration
Unattended operation
TUI stabilization
Bugs
Release testing
Docs
and the value case
Stretch — P1 (13)
reference only: Refactor: Separate proxy data-planes from a shared proxy shim layer #682 is a native sub-issue of #2244
epic: Cortex Phase 1, and GitHuballows one parent)
maketargets for building abctl and authbridge-proxy #914maketargets for building abctl and authbridge-proxy/(filter) functiony(yank) screen clearing, simplify accessing yanked files #868 Slow downy(yank) screen clearingabctl execsubcommand #913abctl exec— verify and close, appears already implementedCritical paths
Two dependency chains, both spanning more than one owner. Neither parallelizes.
#949is owned by @galmasi,#950by @huang195,#953and#955by @esnible. Thesession-identity schema needs agreeing in week one, not discovering in week three.
Risks
feature: agent integration contract — reusable detection, settings patching, and revert #939/feature: OpenCode support — detection, settings, parsed events, token and cost accounting #941/feature: Bob support — detection, settings, parsed events, token and cost accounting #943, feature: per-session and per-model token and cost aggregation #950/feature: latency metrics — time to first token, total response time, session percentiles #951/feature: metrics view in the abctl TUI #953, feature: verified macOS install and launchd service lifecycle #944/feature: verified Linux install and systemd service lifecycle #945 and feature: differentiate concurrent coding-agent sessions in abctl #949 are not.
cannot be finished before feature: per-session and per-model token and cost aggregation #950/feature: latency metrics — time to first token, total response time, session percentiles #951/feature: attribute tool-pruning savings — tokens and cost saved #952 do, and the outside-reader verification cannot start
before docs: explain what Cortex shows and why it is worth running — interpreting the metrics and the value case #963. Whoever is going to read the docs cold should be lined up in advance, or the
criterion becomes a rubber stamp in the final days.
two workstreams that do not interleave. The heaviest load in the plan.
biggest threat to the exit bar. Hard cutoff 2026-09-19; if it has not merged by then it
leaves the release. Its title is also stale — the shim-layer approach was rejected in favour
of in-process policy plus a thin interception front, so it needs rescoping either way.
Open questions
maketargets for building abctl and authbridge-proxy #914, feature: abctl: explanation of / (filter) function #867, feature: abctl: slow downy(yank) screen clearing, simplify accessing yanked files #868, feature: Help Context Guru end users understand what Context Guru does for them #844 (all P1)v0.9.0publishes as non-prerelease soinstall.shdefaults to it