Skip to content

docs(adapters): surface ROUTER Q4-vs-Q5 preference tie-break in snippets - #2

Open
fe0603 wants to merge 1 commit into
DECK6:mainfrom
fe0603:adapter-preference-tiebreak
Open

fe0603 wants to merge 1 commit into
DECK6:mainfrom
fe0603:adapter-preference-tiebreak

Conversation

@fe0603

@fe0603 fe0603 commented Aug 25, 2026

Copy link
Copy Markdown

Problem

The thin adapter snippets (codex / claude-code / custom) list 30-context and 40-memory as separate one-liners but omit the ROUTER Preference vs memory tie-break that already exists in 99-system/ROUTER.md:

the full note lives in 30-context/users/; only the per-session essentials become a 40-memory/ pointer

A harness that reads only the installed snippet (not the full ROUTER tree) can therefore route a user-preference body into 40-memory/ — which violates the "40-memory holds pointers only" invariant.

Evidence

While running an adapter-compliance test on a real instance, a Codex session driven only by the ~/.codex/AGENTS.md snippet was asked where to store a user preference. It answered 40-memory/ (the preference body), missing 30-context/. After adding one line to the snippet, a re-test routed it correctly to 30-context/ with a 40-memory/ pointer.

Change

One line added to each of the three adapter snippets, after the ROUTER bullet:

Preferences/interpretations about a specific user/org/project are a body in 30-context/ (ROUTER Q4). 40-memory/ holds only a one-line pointer, never the full note (Q4-vs-Q5 tie-break: memory is pointers only)

  • No change to core rules — the tie-break already lives in 99-system/ROUTER.md. This only surfaces it at the point of use (the installed snippet).
  • Docs-only, 3 files, +3 lines.

🤖 Generated with Claude Code

The thin adapter snippets list `30-context` and `40-memory` as separate
one-liners but omit the ROUTER "Preference vs memory" tie-break
(99-system/ROUTER.md), so a harness reading only the snippet can route a
user preference *body* into 40-memory instead of 30-context.

Observed in an adapter-compliance test: a Codex session (snippet-only)
misrouted a user preference to 40-memory. Adding one line to each snippet
(codex, claude-code, custom) makes the existing ROUTER rule visible at the
point of use. No behavior change to the core; snippet clarification only.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant