O0-CRP-037 · Cross-Architecture Perspective Distillation — Scientific Record
**Semantic name:** SIM-CRP-003c · Cross-Architecture Compression (Nearest-Neighbor Memory Observer)
**Record class:** SIMULATION
**Program:** Contact and Revelation (CRP-001)
**Non-drift question:** PERSPECTIVE
**Version:** 1.0.0
**Date:** 2026-07-30
**Status:** PARTIAL_MEMORY_SIGNAL (preregistered verdict)
**Preregistration:** [preregistration.md](preregistration.md) (frozen v1.0.0, 2026-07-30)
---
Claim-status banner
CLAIM STATUS : PARTIAL_MEMORY_SIGNAL (preregistered)
EVIDENCE TYPE : COMPUTATIONAL SIMULATION · Nearest-Neighbor Memory Observers
PHYSICAL VALID : NONE
INDEPENDENT REP: THIS IS CROSS-ARCHITECTURE REPLICATION OF CRP-035 v1.2 F2
SUPPORTED:
- NNMO exhibits an immediate compression cliff: BC_TV drops from 1.000 (N0
full memory) to 0.459 (N1 10 centroids), a loss of 0.541.
- The N1..N4 plateau (BC_TV = 0.43-0.46) indicates that whatever behavior
survives compression is preserved with essentially the same fidelity at
4 to 10 retained memory items — the FIRST compression is the costly one.
- Even minimal memory retention (N4: one argmax-reward action) lifts
behavior modestly above the random-parameter baseline (gap 0.136 TV,
0.146 AM), showing that some identity signal survives 200-to-1 memory
compression.
- CROSS-ARCHITECTURE FINDING: CRP-035 v1.2 F2 (high-capacity component
carries identity) generalizes across architectures, but the DEGREE of
compression tolerance is highly architecture-dependent. Parameterized
observers (CRP-035) preserve BC_TV = 0.892 at L4 compression;
memory-based observers (CRP-037) drop to BC_TV = 0.459 at analogous
N1 compression, despite N1 retaining MORE numeric information (~100
numbers vs 32 for L4).
NOT ESTABLISHED:
- Any preregistered "clean cliff to random" behavior — N4 remains above
random baseline by ~0.14 TV.
- That memory-based observers universally require exact-memory retention;
followups with different memory clustering (CRP-037-R1) will characterize
the cliff shape.
- Any generalization to observer architectures other than linear-bandit
parameter or nearest-neighbor memory. A Bayesian PP observer test is
registered as CRP-037-R2.
- Any philosophical claim about identity or perspective.
---
Abstract
Preregistered cross-architecture replication of CRP-035 v1.2's F2 finding
(weights carry identity in a linear-bandit observer). Instead of a
parameterized observer whose decision rule uses learned parameters, this
study uses a Nearest-Neighbor Memory Observer (NNMO) whose decision rule
uses stored `(context, action, reward)` triples DIRECTLY: at each context,
the observer kernel-weights the k nearest stored contexts, votes by action,
and applies softmax with a per-observer temperature.
Six compression levels (N0..N5) progressively summarize the memory: full
memory → 10 k-means centroids → 4 per-action centroids → per-action mean
reward vector → single argmax-reward action → empty memory. NNMO has no
learned parameters other than memory, so this compression pipeline directly
probes what happens when the observer's ONLY identity carrier is
progressively summarized.
Confirmatory n = 30, 200 held-out contexts, adversarial random-parameter
and cross-observer baselines. Runtime: 1629 s.
Key findings:
- Full-memory BC = 1.000 (identity gate passes).
- N1 (10 k-means centroids, ~100 retained numbers): BC_TV = 0.459 vs
random 0.298 (gap 0.161). **A single compression step already drops BC
to less than half its starting value.**
- N1..N4 plateau at BC_TV ≈ 0.43-0.46 with random-baseline gaps of
0.14-0.17. The compression is essentially binary in this architecture:
either you keep all of memory, or the fine-grained behavioral fidelity
is lost.
- N5 (empty memory): BC_TV = 0.349, exactly the random baseline.
- CROSS-ARCHITECTURE: at analogous "keep the high-capacity component"
compression, parameterized observers (CRP-035 L4) preserve BC_TV = 0.892
while memory-based observers (CRP-037 N1) preserve only 0.459 — a
0.43 gap despite N1 retaining more numeric information.
Verdict: **PARTIAL_MEMORY_SIGNAL** (preregistered). Full memory is required
for high behavioral fidelity in NNMO, but modest signal survives extreme
compression down to a single action.
1. Historical and conceptual background
CRP-035 v1.2 found that in a linear-bandit observer, the per-action weight
matrix `W ∈ R^{d×K}` carries essentially all identity-relevant behavioral
signal: L4 compression (W preserved, preferences discarded) gave
BC_TV = 0.892 vs random 0.282.
This finding is architecture-dependent by construction: linear-bandit
observers have identity in their weight parameters because that is where
learning is stored. A memory-based observer whose decision rule uses stored
experience directly could have a very different compression profile.
CRP-037 tests this: same environment class, same measurement pipeline,
GENUINELY different observer architecture.
2. Source-claim audit
No new philosophical source claim. CRP-037 is a mechanistic sub-question
of CRP-035's PERSPECTIVE branch.
3. Research question
For an observer whose decision rule uses stored `(context, action, reward)`
triples directly via nearest-neighbor kernel voting, at what level of
memory compression does behavior collapse to a random baseline?
4. Operational definitions
Inherited from CRP-035 v1.1/v1.2 §3 (BC_TV, BC_AM, SR, VP, PS).
5. Formal model
**Nearest-Neighbor Memory Observer (NNMO).** State
$\theta = (M, k, \sigma, \tau, \text{id})$ where:
- $M$: FIFO memory of up to 200 `(x, a, r)` triples
- $k \in \{3, 5, 7, 10\}$: number of neighbors used per decision
- $\sigma \in [0.5, 2.0]$: kernel bandwidth
- $\tau \in [0.15, 0.5]$: softmax temperature
- id: stable identifier
Decision rule: for context $x$, find $k$ nearest neighbors from $M$ by
Euclidean distance, kernel-weight them by $w_i = \exp(-d_i^2 / 2\sigma^2)$,
compute per-action $\hat{Q}(a) = \sum_{i \in kNN, a_i=a} w_i r_i / \sum_{i \in kNN, a_i=a} w_i$,
and apply $\pi(a | x) = \text{softmax}(\hat{Q} / \tau)$.
No parameters other than memory are updated during training. `k`, `\sigma`,
`\tau` are per-observer constants sampled at instantiation.
Training environment: identical to CRP-035 v1.2 (linear-Gaussian rewards
per action). 200 training episodes populate memory.
6. Methods
Confirmatory sample: **n=30 observers**, seeds 18000..18029. Environment
seeds 18500..18529. Eval context seed 19000 (N=200 contexts). Probe seed
19500 (N=500 probes). VP env seeds 20000..20049 (N=50 envs × 20 episodes).
Compression pipeline (six levels): full memory → 10 k-means centroids →
4 per-action centroids → per-action mean rewards → argmax(reward) →
identifier only.
Random-parameter baseline at each level uses NNMOs with randomly-drawn
memories of matching size.
7. Results
| Level | Retained | BC_TV | BC_AM | BC_cos | SR | VP | PS | BC_TV_random | BC_AM_random | BC_TV_cross | BC_AM_cross |
|---|---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---:|
| **N0** | Full memory (~200 triples) | **1.000** | **1.000** | 1.000 | 1.000 | 1.000 | 1.000 | 0.297 | 0.238 | 0.270 | 0.248 |
| **N1** | 10 k-means centroids | 0.459 | 0.434 | 0.525 | 0.067 | 0.545 | 0.330 | 0.298 | 0.250 | 0.275 | 0.246 |
| N2 | 4 per-action centroids | 0.445 | 0.414 | 0.538 | 0.133 | 0.212 | 0.261 | 0.299 | 0.260 | 0.294 | 0.247 |
| N3 | per-action mean r | 0.445 | 0.414 | 0.538 | 0.133 | 0.207 | 0.261 | 0.270 | 0.234 | 0.294 | 0.247 |
| N4 | argmax(reward) — 1 action | 0.430 | 0.414 | 0.478 | 0.133 | 0.240 | 0.186 | 0.294 | 0.268 | 0.276 | 0.247 |
| N5 | identifier only | 0.349 | 0.268 | 0.565 | 0.033 | 0.008 | 0.000 | 0.349 | 0.268 | 0.349 | 0.268 |
Random gaps at each level:
| Level | BC_TV - random | BC_AM - random | Interpretation |
|---|---:|---:|---|
| N0 | 0.703 | 0.762 | Full identity signal |
| N1 | 0.161 | 0.184 | Modest signal above random |
| N2 | 0.146 | 0.154 | Modest signal above random |
| N3 | 0.175 | 0.181 | Modest signal above random |
| N4 | 0.136 | 0.146 | Modest signal above random |
| N5 | 0.000 | 0.000 | Random baseline (by construction) |
7.1 Preregistered verdict application
Applied verdict rules from preregistration §8 in order:
1. **MEASUREMENT_FAILURE** — BC_TV(N0) = BC_AM(N0) = 1.000 · PASS.
2. **METRIC_SATURATION** — BC_TV_cross(N0) = 0.270, BC_AM_cross(N0) = 0.248 · PASS.
3. **MEMORY_CARRIES_IDENTITY_IN_NNMO** — H1: BC(N0) >= 0.95 ✓ AND
BC(N4) - BC_random(N4) < 0.10. **FAILS** — gap is 0.136 TV, 0.146 AM
(both > 0.10). Rule does not fire.
4. **PARTIAL_MEMORY_SIGNAL** — BC(N4) - BC_random(N4) >= 0.10 on either
metric. **FIRES** — gaps of 0.136 TV and 0.146 AM.
5. Rule 3 fires before rule 5, so no COMPRESSION_CLIFF verdict.
**Preregistered verdict: PARTIAL_MEMORY_SIGNAL.**
7.2 Cross-architecture comparison
Direct comparison of "keep the high-capacity component" compression across
two observer architectures:
| Observer | Level | Description | Retained numbers | BC_TV | BC_TV_random | Gap |
|---|---|---|---:|---:|---:|---:|
| CRP-035 v1.2 linear-bandit | L4 | W matrix + τ | 32 (+ τ) | **0.892** | 0.282 | **0.610** |
| CRP-037 NNMO | N1 | 10 k-means centroids | ~100 (+ k, σ, τ) | **0.459** | 0.298 | **0.161** |
Despite N1 retaining MORE numeric information than L4, it preserves MUCH
LESS behavior. The identity carrier is not just "high-capacity component"
— it is "high-capacity component that IS the decision rule."
In CRP-035, W is directly used to compute Q values via a compact linear
function; it captures the full learned policy in 32 numbers. In CRP-037,
memory is used via nearest-neighbor interpolation over stored triples;
compressing memory to 10 centroids destroys the interpolation ability
even though the centroids themselves preserve gross action structure.
7.3 Additional observations
- **Plateau at N1..N4.** BC_TV stays in [0.43, 0.46] across all
intermediate compression levels. Once the first compression step is
taken, further compression loses little. This is different from CRP-035
v1.2 where BC declined smoothly from L4 (0.892) through L5 (0.458) to
L6 (0.326). NNMO's compression is essentially step-shaped.
- **VP breakdown at N2 and N3.** Value preservation drops sharply from
N1 (0.545) to N2/N3 (0.21). Even though BC_TV plateaus, VP breaks.
This is because per-action means (N2, N3) don't discriminate reward
magnitudes well across actions, so the compressed observer picks
reasonable actions less often over long horizons.
- **SR spike at N2/N3.** Self-recognition is HIGHER at N2/N3 (0.13) than
at N1 (0.07). This is likely because forced per-action centroids
(N2 always has one centroid per action) produce fingerprints that are
more distinguishable across observers than the noisier N1 centroids.
Documented but not the primary finding.
8. Uncertainty
Per-observer means with SEMs in `results/summary_confirmatory.json`. All
random-gap effects are >0.14 TV / >0.14 AM with SEM around 0.02.
9. Limitations
- Single memory-based observer architecture. Other memory-based schemes
(episodic memory + LTM, dynamic prototypes, replay buffers) may compress
differently.
- Single environment class (linear-Gaussian rewards) — same as CRP-035.
- N1's compression uses simple k-means; smarter compression schemes
(learned prototypes, sketch data structures) may preserve more behavior.
- The cross-architecture finding depends on the specific NNMO decision
rule; a different kernel (e.g. RBF over context+action) might preserve
more information under compression.
10. Alternative interpretations
- **N1 loses more than L4 because it loses interpolation ability, not
because it has less "identity."** A single centroid represents many
contexts; compressing 200 items to 10 discards the fine-grained action
boundaries in context space. In CRP-035, W preserves those boundaries
by construction (linear function).
- **N1 could preserve more with better clustering.** If k-means were
replaced with a learned prototype-selection method, N1 might approach
L4's fidelity. This would move the story from "memory-based observers
cliff" to "compression quality matters."
- **The N0-to-N1 cliff might depend on training regime.** 200 episodes of
training produces a specific memory distribution; longer training would
produce more redundant memory and might compress better.
11. Replication procedure
cd research/studies/O0-CRP-037/src
python run_study.py --phase exploratory # ~30 s
python run_study.py --phase confirmatory # ~30 min
python summarize.py confirmatory
12. Code and data manifest
- `preregistration.md` (v1.0.0)
- `src/nnmo.py` — NNMO observer implementation
- `src/nn_compressors.py` — 6 compression operators
- `src/run_study.py` — driver
- `src/summarize.py` — result-table printer
- `results/summary_exploratory.json`
- `results/summary_confirmatory.json`
13. Relationship to the philosophical archive
**Conceptual provenance is not empirical support.** CRP-037 tests a
mechanistic sub-question. Its indirect contribution: it establishes that
"identity carriers" are architecture-dependent. The philosophical claim
"perspective survives distillation" cannot be evaluated by any single
observer architecture; each architecture answers only "identity survives
under THESE compression rules for THIS decision procedure."
14. Registered follow-ups
- **O0-CRP-037-R1** — Vary `k_c` in {3, 5, 10, 20, 50} to characterize
the compression cliff shape.
- **O0-CRP-037-R2** — Third architecture: Bayesian PP observer.
- **O0-CRP-037-R3** — Adversarial memory contamination: replace some
triples with random noise; measure BC vs contamination rate.
15. References
- CRP-035 v1.2, CRP-036 v1.0.
- Sutton & Barto, 2018 (contextual bandit background).
- MacQueen, 1967 (k-means).
- Cover & Hart, 1967 (nearest-neighbor classification).
16. Revision history
| Version | Date | Change |
|---|---|---|
| 1.0.0 | 2026-07-30 | Preregistration frozen and code drafted. Exploratory (n=6) and confirmatory (n=30) executed. Verdict: PARTIAL_MEMORY_SIGNAL. Cross-architecture comparison to CRP-035 v1.2 L4 documented. |