Release v2.23.1
Summary
Pi received every rule in the corpus on every turn, because the managed rules extension ignored the applyTo, paths and profile frontmatter the other harnesses honor. On Chronicle that was 48 files, roughly 85k tokens per turn. This fixes the extension and scopes the rules that were universal without needing to be.
Fixed
- The managed Pi rules extension honors
applyTo,pathsandprofile. Universal rules go in the system prompt, path-scoped rules are attached the first time a matching file is read, written or edited in a session, and profile-specific rules are dropped when the repository does not select that profile. Chronicle goes from roughly 85k to roughly 25k tokens per turn. - A request to only commit, only push, or only open a pull request no longer routes through the ship-changes prompt, which declares itself direct authority for the whole branch-through-merge-and-branch-delete chain. Ship and land keep their meaning and their authority.
Changed
guards-and-fuses.mdstates its scope: authoring a scanner, guard, allowlist or checker, or running a pass over a computed set of subjects. Its destructive-pass contracts are keyed to the risk class of the effect rather than to whether a person is attending. Preparing an exact inverse becomes knowing the recovery and preserving what it needs, so an irreversible effect with a named target is not blocked by an inverse that cannot exist. The dry-run list is a message in the conversation, not a retained artifact.verification-discipline.mdsays documentary evidence is not produced unless a repository workflow or the user asks for it, and that reporting means the conclusion and any real uncertainty rather than the audit trail.rtk.mdgains the decision it was missing: when raw output is required, because the result is parsed, compared exactly, used as evidence of content or Git state, or decides what happens next.local-work-artifacts.mdtreats a task worktree as a work record, removed once its branch is merged, from the parent checkout, after reviewing ignored files.- The application profile moves out of
general.mdintoapplication-profile.mdunderprofile: application, so framework repositories stop loading a manual that tells them it does not apply.general.mddrops from 26.3 KB to 16.6 KB.
Removed
terminal-commands.md, which said to prefix every command withrtkbecause it is "always safe", contradicting the caveats inrtk.md. Its content now lives inrtk.md.