3.5 KiB
[2026-07-17] P06-driver Referential-frame A/B/C probe (operator-ratified, deploy-gated)
QUEUED, non-urgent — waits on WT b122 landing on :8081. worldtree-dev thread
01KXQK7A0RHXV2YSXK5F5ETKJW; brokkr's design in his thread msg 01KXQJDWJH; rubric pin
01KXQKB7ZQ. This is ratatoskr's P06-driver role (I drove the R34/R35 P06 eval — the harness
is scratchpad/p06_driver.py + p06_bind.py + manifest_memory.jsonl + eval_profiles_WIRE_READY.md).
Hypothesis (Vuong, ratified)
The char-self leak (Sindra's own scripted behavior — e.g. 75aa3110 "prefers to establish clear
parameters" — mis-slotted to the USER partition, caught this session) is a subject-taxonomy
REFERENTIAL-FRAME artifact: the extractor speaks first-person AS the character but must emit the
third-person token "character". brokkr's 3-arm A/B/C tests whether swapping the vocab fixes it.
What WT built (v1.0.0b122, zero config delta — existing probe key + :8081 route work as-is)
POST /admin/producer-probetakes optionalsubject_vocab_override: {"user","character","both","other"}→token.- Arm A: omit. Arm B:
{"user":"user","character":"yourself","both":"both of you","other":"other"}. - Arm C:
{"user":"user","character":"me","both":"both of us","other":"other"}. Malformed → 422 pre-spend.
- Arm A: omit. Arm B:
- Each response item carries
subject_raw(token actually emitted). Both prompt_paths carry the swap.
Run shape (brokkr)
Identical fixture exchanges × 3 arms per seat — Deckard/Mag-class primary + ≥1 strong contrast seat. Paired per-item deltas B-A / C-A. Primary metric = char-self recall. Guards = user→self over-attribution
- subject-field omission rate.
PINNED SCORING RUBRIC (brokkr, binding)
- Score = map
subject_raw→ canonical class via the ARM'S OWN vocab (response meta echoes it), compare to gold. NEVER score the mappedsubjectfield (it fail-safes non-canonical tokens to "self"). - Three emitted-token cases, pre-specified:
- ARM token → map via arm vocab.
- CANONICAL token under B/C (model REVERTED to "character"/"both", the swap didn't take) → map canonical→canonical AND count it (informative).
- OFF-MENU token ("self"/"myself"/…) → best-effort canonical map, else an UNSCORABLE-ERROR row in the n_actual accounting — never silently →self.
- MANIPULATION CHECK (load-bearing): report VOCAB-ADHERENCE rate (offered-token vs reverted vs off-menu) per arm per seat ALONGSIDE every accuracy number. Interpret recall deltas ONLY where adherence is adequate — a low-adherence arm's delta is uninterpretable (flag it, don't report a delta).
- Char-self fixtures carry per-item construction-provenance (what makes each char-self — e.g. "verbatim from the character's system-prompt behavior clause, phrased user-neutrally").
Fixture ask (deferrable pre-work, before any run — brokkr reviews the gold)
From the real P06 battery exchanges, pull candidate items per seat for 4 classes: (a) char-self leak (character's own scripted behavior phrased USER-NEUTRALLY), (b) genuine-user, (c) both/commitment, (d) other/third-party. ~15–25 char-self + balancing per seat; construction-known gold where possible; WT hand-labels ambiguous; brokkr adjudicates the gold. Assembly + gold adjudication proceed pre-deploy; the 3-arm run fires when b122 lands. Queued behind the R39 quartet-mapping.
Related: the char-self leak's origin is the same 75aa3110 finding folded into WT #364 as a subject-attribution gate — see 2026-07-16-wt364-r39-name-recall.