Changelog
What changed, newest first.
Each line names the pull request that carried it, so a claim here can be checked against the repository. The list starts where the beta does.
Changes
The server says what to call next
Every answer carries the instructions for using it and the next calls worth making, and the usage ledger now records which query loaded which note, with the session that asked.
A miss suggests the note you meant
A query that matches nothing comes back with the nearest note names instead of an empty answer, so a near miss does not read as "no such rule".
The evaluation harness lives in the repository
The scenarios, the arms and the scoring that produced the figures on the evidence page are in the engine repository, so a run can be repeated rather than quoted.
One command on a fresh machine
cortex setup installs the engine, creates a starter vault, registers the MCP server with the agents it finds and then calls the vault to prove it answers. Proven on a clean container and a fresh virtual machine.
The benchmark runs more than one model
The evaluation harness takes several models and several arms in one run, so the with-and-without comparison is produced by a command rather than assembled by hand afterwards.
Each runtime boots from the same rule
The load rule is written once as a note and rendered into each agent’s entry file, so Claude Code, Codex and Hermes read the same instruction instead of three copies that drift.
UNCOVERED is a real answer
When no note owns the moment an agent is in, the answer says so and names the gap, instead of returning the closest note as though it governed.
This page, with its figures pinned to their source
Each number here is tied to the line of the evaluation it came from, and a gate fails the build if a page shows a figure that is not one of them.