item 8d: REASONING_V3, the standing note — a policy worth swapping to - #26
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
8c gave the agent a door. v1 and v2 are demonstrations — one changes nothing, the other prefixes a marker so a swap is visible — so "swap your reasoning policy" was an offer with no answer to "to what?". v3's claim is deliberately narrow and actually true: the transcript is trimmed at KEEP_MESSAGES and is per-conversation, and a cartridge's kv is neither, so v3 gives the agent one line of memory that outlives both. - answer phase: the first CARRY: in the answer, to the end of THAT line, becomes the standing note. no marker, no change; a bare CARRY: clears it; capped at STANDING_MAX, because uncapped it would grow every later prompt for as long as the policy ran. - prompt phase: the note is prepended and a protocol line is appended. the module cannot edit the system prompt, so it teaches its own contract in the only channel it has — the prompt it is already shaping. it is the first reference module that makes the language work rather than demonstrate it: store_get and the packed-i64 unpack path, a prompt assembled from three sources, and a byte search. rustlite cannot be handed a rust constant, so CARRY_MARKER / STANDING_KEY / STANDING_MAX / STANDING_PROTOCOL are mirrors of literals inside the module and an eval pins them together. 7 new evals, a "load v3" button, and the swap_cartridge description names it. the honest limit is in plan section 12 rather than left implied: v3 is verified to DO what it says, not to HELP — nothing here can yet judge whether a shaped prompt was better, which is what item 9's corpus capture is for. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
compusophy
force-pushed
the
agent/reasoning-v3-standing-note
branch
from
August 26, 2026 21:01
f1ce076 to
6ce70dc
Compare
Owner
Author
|
Live on the preview of The probe comes back with the protocol line appended and no standing note, which is exactly right for a fresh store — so the candidate really ran both phases before it was installed. Also worth noting: this run produced no |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
#25 gave the agent a door. v1 and v2 are demonstrations — one changes nothing, the other prefixes a visible marker so a swap is observable — so "swap your reasoning policy" was an offer with no answer to "to what?".
what v3 claims, and why it is true
The transcript is trimmed at
KEEP_MESSAGESand is per-conversation. A cartridge's kv is neither. So v3 gives the agent one line of memory that outlives both — deliberately the smallest thing that is genuinely not available otherwise.CARRY:in the answer, to the end of that line, becomes the standing note. No marker, no change. A bareCARRY:clears it. Capped atSTANDING_MAX(400) — uncapped, the note would grow every later prompt for as long as the policy ran.It is also the first reference module that makes the language work rather than demonstrate it —
store_getand the packed-i64 unpack path, a prompt assembled from three sources, and a byte search (find). Items 5 and 7 earning their keep.the honest limit, in the plan rather than implied
v3 is verified to do what it says, not to help. Nothing in this substrate can yet judge whether a shaped prompt was better than the one it replaced — that is what item 9's corpus capture is for, and it is now the thing gating every further claim about policy quality.
docs/CARTRIDGE_PLAN.md§12 says so in those words.drift guard
rustlite cannot be handed a Rust constant, so
CARRY_MARKER,STANDING_KEY,STANDING_MAXandSTANDING_PROTOCOLare mirrors of literals inside the module. An eval pins them to the source they describe, because nothing else would.evidence
7 new evals (23 in
tests/cognitive_wiring.rsnow): the protocol line appended when nothing stands; a marker taking its line and only its line; no marker leaving the note alone; a bare marker clearing it; the cap; the note surviving a simulated reload; and v3 swapping in over v1 with the rehearsal passing and its probe coming back plain.bash ci/run_tests.sh→ unit tests + 20 suites + clippy;cargo check --lib --bins --target wasm32-unknown-unknownclean.smoke-previewwill be red for the usual reason — the preview is behind Vercel Deployment Protection and the run reportsEVIDENT-CAUSE FAILURE … the app was never served. Still waiting on the owner-onlyVERCEL_AUTOMATION_BYPASS_SECRET.process note
The module was prototyped in a throwaway
tests/v3_probe.rsand iterated there — it caught two real bugs (a line-end scan that reused its loop variable to stop and so threw the position away, and an over-greedy carry) before any of it became a crate constant. The probe is deleted in the same commit.🤖 Generated with Claude Code