Skip to content

v1.12.0

Choose a tag to compare

@oren198 oren198 released this 19 Sep 21:05
· 54 commits to main since this release
020fd46

Strata 1.12.0 is the Strata MVP. A Claude Code session and a Codex session bound to the same scope share judged memory.

What's in it

  • Session identity + harness (M1): each MCP connection's session is recorded with its harness (claude-code / codex), from the client's own initialize handshake. Verified live on codex-cli 0.153.4 (two concurrent sessions, distinct ids).
  • Write-back rate as an engine metric (M2): strata stats writeback [--since] [--json] [--export]. Sessions are recorded at connect, so silent sessions count. Per-harness and overall rows show the raw counts, an accepted column, and accounted for (contributed + closed out).
  • Close-out without hooks (M3, M3b, M3c): ended_at on disconnect with an idle window; rollover on a reused session id; a nudge from the first read that names both exits. Strict Stop hook on by default (--no-strict to opt out), blocking at most twice, never looping. Fixed: the Claude Code Stop hook runs under a surviving /bin/sh -c, so the hook now walks its ancestors to find its session. mcp pinned >=1.28,<1.30 (#206).
  • Binding fix: a scope named via STRATA_AGENT_SCOPE with an empty skill now takes its default_skill. Before this, every multi-scope fleet refused to bind.
  • Quickstart (M6): one path for both harnesses; strata doctor checks that the strata on PATH is the install that registered the hooks (#207); the first-run traps that leave a session memory-blind, in bold; "What the demo shows"; "Out of the MVP".

Evidence

strata-evals results/m4-cross-harness-2026-09-19.md: live cross-harness transfer PASSED both ways (judge qwen/qwen3-235b-a22b-2507 via OpenRouter). The operator rehearsal on 017a629 passed transfer both ways.

Known limits (stated in the README)

  • The judge admitted 2 of 72 hard adversarial items in the demo eval (#209); a fix that regressed elsewhere was not merged.
  • In the operator rehearsal the judge admitted an irrelevant office note from Codex as context; filtering that kind of junk relies on the agent today (#210).
  • Nothing is claimed about the default Claude judge; it wasn't measured.

1.11.0 was never published to PyPI; 1.12.0 is the first PyPI release since 1.10.5 and includes 1.11.0.

The evidence file lives in the strata-evals repository, which is not public yet.
Release PR: #211

Full Changelog: v1.11.0...v1.12.0