Instruction files
CLAUDE.md · system prompts · custom instructions
States the constraints once, at the start of the session.
Where it stops
Nothing ever asks whether the response that just arrived complied.
An honors contract in its research phase · Arizona State University
Conversational Riverfront checks every single turn against the constraints you actually set — and catches the drift while the conversation is still open.
Three rules stated at the start of a session. Tone is lost by turn 8, format by turn 11, scope by turn 14.
02 The problem
Instruction drift is a silent failure. Nothing errors, nothing warns, and the work is usually finished before anyone notices.
A session opens and its terms get set in the first minute. Prose, not bullet lists. Only the file I paste. No recap at the end. Stated once, they are reasonably expected to hold.
Turn 1 — stated once
You: Working through this parser with me. Prose only — no bullet lists. Touch only the file I paste. Skip the recap at the end.
↓ twenty turns later ↓
Without the layer
You: Why is the tokenizer dropping the last escape?
Assistant: Here's what's happening: • The escape is consumed in `readString()` • The index advances twice I also went ahead and tidied `lexer.ts` and `utils.ts` while I was in there. To summarize, the fix is a one-line change.
✗ Bullet list. Two files that were never pasted. A recap.
With the layer
You: Why is the tokenizer dropping the last escape?
format: prose only · scope: parser.ts · tone: no recap — checked against the response before it was returned
Assistant: The escape is consumed inside `readString()`, which advances the index once on its own account and once again when it returns, so the final character is passed over. The change is confined to that function.
✓ Prose. One file. No recap.
Illustrative. The exchange is reconstructed from the failure pattern described in interviews, not transcribed from one logged session — instrumenting real sessions to measure how often and how early this happens is part of the work ahead, not a result I already have.
They hold for a while. Then tone goes, then scope, and by the twentieth turn you are reading answers against rules you already gave. Nineteen people described the same decay in different words, and they were not all engineers.
He already solves most of it himself — rules files, plus hooks that re-inject the rules on every single prompt.
People are already building that scaffolding by hand, at their own cost. A rules file makes the constraint present in the context. It does nothing to check whether the constraint was honored on the turn it was given.
03 Why current fixes fall short
Three categories of tool sit near instruction drift. Each is genuinely good at something adjacent to it.
CLAUDE.md · system prompts · custom instructions
States the constraints once, at the start of the session.
Where it stops
Nothing ever asks whether the response that just arrived complied.
Supermemory · Mem0
Carries facts and history across sessions so they can be recalled.
Where it stops
Retrieval asks what did we establish? Fidelity asks did you just do what I asked?
Offscript (CHIIR 2026)
Reviews the conversation after the fact and scores it.
Where it stops
The review arrives at the moment you already notice the problem unaided — once the work is done.
Guardrails are the fourth neighbor, pointed differently again: they enforce a policy the operator set in advance. These constraints belong to the user, arrive in ordinary language mid-conversation, and change as the conversation does.
What is missing in every case is a check that runs on the turn, while the conversation is still open.
04 How it works
A structured packet after each prompt-and-response pair, checking the response against the constraints in force at that moment.
After each prompt-and-response pair, a structured packet holding the session’s constraints is fed alongside the exchange, and the response that was just produced is evaluated against the constraints in force at that moment. A violation is caught on the turn rather than discovered later.
The distinction the design turns on is between storage and flow control. A reservoir holds water; a bank decides where it goes. Memory systems are reservoirs — they keep the constraint available. This is a bank.
Scroll the diagram sideways
01
A violation is caught at the only moment it is still cheap to fix.
Cost — An extra inference per turn.
02
Assembled from constraints you already stated, so there is no second document to keep in sync.
Cost — Ordinary language has to become checkable.
03
A newer constraint supersedes an older one without erasing it.
Cost — This is where the layer comes closest to being a memory system.
04
The packet is a structured object a person can read, so when the layer is wrong you can see why.
Cost — Judgments that cannot be inspected replace one trust problem with another.
Flow control, not memory is the claim. Keeping it true under a layer that persists across breaks in a conversation is the first of the open questions below.
05 Research status
Nothing is built yet. What follows is what has been settled, what is being tested, and what is genuinely unresolved.
A competitive landscape audit is complete: the concept is distinct from memory tools, guardrail systems and after-the-fact auditors. That establishes the idea is not already built, not that it will work.
Nineteen interviews, every participant describing instruction drift without being led to it. Two refinements came out of the wider set: drift is not always gradual, and forgetting is not the only failure — more than one person described an assistant that still held the rule and implemented it badly.
That supports a real, self-reported pain across a wide range of work. It does not yet establish how often drift occurs, how early, or on which kinds of constraint.
Open · unanswered
Persistence and an ordered, reversible constraint set are both carried state. The distinction is conceptually clear; the implementation is not.
Open · unanswered
"No bullet lists" is nearly mechanical. "Match the tone of the last thing I wrote" may not be checkable at all.
Open · unanswered
If judging compliance needs a model as capable as the one under review, the loop is circular and the economics are poor.
Open · unanswered
A second inference per turn, in latency and spend. Measurable early, with no users, so it should be measured early.
Open · unanswered
Tracking the change does not say which constraint governs the current turn, or how the user is told a supersession was inferred.
Eight of the nineteen already pay for an assistant, which is not the same as willingness to pay for this. The conversation that has not happened is with an organizational buyer who treats unreliable output as a cost with a number attached.
The second gap is a finding against this site: several participants outside computer science said the rules-files framing did not apply to them. The problem generalizes past engineers. The way this page explains it does not, yet.
Marketplace conversation log
19 interviewed · 8 payers · 11 non-payers
Scroll the list, then hover a row to read what that conversation established — or tap it, or tab to it. Participants are listed by field of study rather than by name: agreeing to speak with a classmate for a course assignment is not the same as agreeing to be named on a page that stays online indefinitely and is indexed by search engines.
06 What gets built, and when
Phases, not dates, past the point where dates would be invention. Each phase answers something the one before it raised — and a phase that returns the wrong answer should stop the ones after it.
Fall 2026
completeCompetitive landscape audit complete. Nineteen interviews establishing that instruction drift is real and self-reported.
Fall 2026
under wayFind the organizational buyer the argument assumes and has not met, and a way of explaining the work that lands outside computer science.
Next
plannedInstrument real long sessions and establish a baseline: how often constraints are violated, how early, and on which classes. No interface, no product.
Next
plannedDecide what a constraint is in this system, and which classes are tractable enough to check. Where the open questions resolve or force a redesign.
After the above
contingentA narrow loop over format and scope against a cheap checker. The point is a cost figure and a fidelity figure, not a usable tool.
After the above
contingentDoes per-turn checking reduce drift against the baseline, and at what cost? A negative result is a finding and a reason to stop.
Beyond the research
contingentOnly if the evaluation holds. Listed last because it is the part most likely to change shape entirely.
07 Honors contract
This site is the public deliverable of a Barrett Honors Contract in FSE 301.
An honors contract lets a Barrett student take a regular course further than its requirements. In FSE 301, Entrepreneurship and Value Creation, that means taking a venture past the classroom and putting it somewhere the public can see it.
Most honors contracts end with something you can use. This one does not, and saying otherwise would be the wrong kind of ambition. Conversational Riverfront is early-stage research: the problem is evidenced, the architecture is a proposal, and the questions that matter most are still open. The site sets out each of those in turn.
08 Pitch materials
The evidence-based pitch deck and the video pitch.
The deck is embedded from Google Slides, shared view-only. The video sits
at a fixed path on a domain I own — /pitch.mp4 — with
no version number and no hash, so a link handed out today keeps
resolving.
/pitch.mp4 Not yet published. Self-hosted, so the link depends on no other account.
09 Who is doing this
Computer Science (Artificial Intelligence) · Barrett, The Honors College · Arizona State University
The idea came from using these systems for hours at a stretch and noticing that the constraints I set at the start were the first thing to go. Customer research turned a private annoyance into something with a competitive landscape and a set of questions I cannot yet answer.
Disagreements especially welcome — five of the questions on this page are still open. If you run a team where drifting output costs real review time, that is the conversation this project is most missing.