# Experiment log — WP-AI-0001 | Date (UTC) | Run / action | Status | Evidence | Notes | |---|---|---|---|---| | 2026-11-09 | Environment audit (laptop + 11 cluster nodes) | completed | `docs/ENVIRONMENT_AUDIT.json` | M4M36 unreachable; mlx_lm only on M3U96a/b + laptop | | 2026-11-09 | Literature verification (40 arXiv records) | completed | `literature/arxiv_verified_2026-11-09.txt`, `literature/references_verified.bib` | abstracts read for 9 closest works | | 2026-11-09 | Single-token OPSEQ learnability probe (4 layers, d=128, 4 000 steps) | failed (dev ≈ 0.13; length ≤ 3 subset: train loss → 0, dev 0.24) | console only, not archived | led to D2 (scratchpad) | | 2026-11-09 | Scratchpad OPSEQ learnability probe (3 000 steps) | completed | console only | dev 1.0 by step 500; held-out compositions 1.0; length OOD 0.086 | | 2026-11-09 | `pilot_tier0_opseq_quick_d5339bcad6b3` (CPU smoke, 2 seeds, 200 steps) | completed | `experiments/summaries/pilot_tier0_opseq_quick_d5339bcad6b3/` | pipeline end-to-end; models untrained by design | | 2026-11-09 | `pilot_tier0_opseq_451ef5087182` (MPS, 3 seeds × 2 roles, 3 000 steps, 0.80 M params) | **completed** (276 s) | `experiments/summaries/pilot_tier0_opseq_451ef5087182/{results.json,SUMMARY.md}`, manifest, 4 figures | see §Pilot results below | ## Pilot results — `pilot_tier0_opseq_451ef5087182` (exploratory; 2026-11-09) **Gate B (gap).** Final-answer exact match, mean over 3 seeds (sd): donor 1.000 (0.000) vs recipient 0.092 (0.053) on `target_iid` (majority-class chance 0.105); both 1.000 on `control_iid`; `comp_heldout` 1.000 vs 0.450 (held-out pairs often contain Ω); `len_ood` 0.086 vs 0.091 (both fail: absolute positions beyond training length). Ω-step accuracy on `target_iid`: donor 1.000, recipient 0.062. Paired gap on identical items, seed 0: +0.847 [+0.825, +0.870] (cluster bootstrap over programs, 2 000 draws). Recipient trace accuracy on `target_iid`: 0.110 / 0.024 / 0.013 (seeds 0/1/2). **Gate C (hooks).** For all 6 trained models: repeat-run bitwise equality, capture-all bitwise identity, disabled-modifying-hook bitwise identity = True; enabled zero hook changes output = True (256 items). **RQ1 (localization, within donor, n = 490 clean/corrupt pairs, read position r1 → predicts r2).** Clean 1.000, sham (corrupted run scored on clean answer) 0.000 in all seeds. Restored-answer rate when patching clean into corrupt (mean of 3 seeds): `resid_post` = 1.00 at the read position r1 at every layer L0–L3 and 0.00 at every other position (including the Ω token position); `attn_out` = 1.00 at (L0, r1) only; `mlp_out` at r1: L0 1.00, L1 0.90, L2 0.83, L3 0.17. Zero-ablation accuracy at r1: `resid_post` 0.04–0.09, `attn_out` L0 0.13 (L1–L3 1.00), `mlp_out` L0 0.21, L1 0.97. Head patching at r1: L0 h0 0.62, h1 0.16, h2 0.04, others 0.00; head patching at the Ω token: 0.00 everywhere. Repeat max |Δ| = 0.0000 for all sweeps; across-seed Pearson of flip heatmaps: resid_post 1.000, attn_out 1.000, mlp_out 0.964 (min pair). **Reading (observed → interpretation).** Observed: the Ω computation is executed entirely at the read position: layer-0 attention (mostly head 0) moves the operator identity from the Ω token to r1, and layer-0–2 MLPs at r1 compute the value map. Patching the Ω token position itself restores nothing because layer-0 attention reads the *embedding* (hook `resid_pre.0`/`embed`, not swept) and no later attention re-reads it. Interpretation (not yet tested): the candidate organ for an activation graft is the residual stream at r1 after L0 (or the L0 attention output at r1); its *content* is the (operator, value) pair, so a transplant must convey the Ω-specific part of that content. Go/no-go for Sprint 3: all three criteria of EXPERIMENT_PLAN §4 are met. **Pilot variability for power (PREREGISTRATION §5).** Seed sd of recipient target accuracy 0.053; cluster bootstrap half-width of the paired gap ≈ 0.022 with 1 000 items / ≈ 900 programs. | 2026-11-09 | Model matrix `artifacts/models/matrix_v1` (17 toy models: donor/recipient/unrelated × 3 seeds, w96 ×2, L6 ×2, stride-2 donor/recipient ×2) | completed | `artifacts/models/matrix_v1/index.json` | ≈ 45 s each on MPS; all dev accuracies 1.000 | | 2026-11-09 | `graft_tier0_quick_7d4278be3e5a` (CPU, 1 seed, n = 300) | completed (55 s) | `experiments/summaries/graft_tier0_quick_7d4278be3e5a/` | pipeline check; revealed the map-suppression effect (D7) | | 2026-11-09 | `graft_tier0_f50a28ca1bf7` (MPS, 9 pairs, n = 1 000, protocol v1) | completed (140 s) | `experiments/summaries/graft_tier0_f50a28ca1bf7/` | exploratory; see §Transplant results v1 | | 2026-11-09 | `eval_persistent` on `graft_tier0_f50a28ca1bf7` (fresh process, seed base 70 000) | completed | `experiments/summaries/graft_tier0_f50a28ca1bf7/persistent/fresh_process_eval.json` | saved ridge adapter: target 0.143 vs base 0.118 (no acquisition); control 1.000 | | 2026-11-09 | `tier1_taskvector_quick_b89f92479155` (MLX, qwen3b→qwen1.5b, 12 queries/task) | completed (150 s) | `experiments/summaries/tier1_taskvector_quick_b89f92479155/` | within-model vectors: antonym 0.75 (L16), capital 1.00 (L20) in Qwen2.5-1.5B; cross-model ≤ 0.25 = unrelated-task control; led to D9 | ## Transplant results v1 — `graft_tier0_f50a28ca1bf7` (exploratory; superseded by the v2 protocol run) Target-stratum accuracy, mean over pairs (same-init n = 3 / different-init n = 6), control in parentheses: activation graft identity 0.873 (0.99) / 0.101 (0.10); Procrustes on Ω rows 0.785 (0.985) / 0.697 (0.943); **Procrustes on task-free rows 0.993 (0.996) / 0.956 (0.989)**; ridge on task-free rows 0.814 (1.0) / 0.795 (1.0); ridge on Ω rows 0.170 / 0.175; CCA 0.08 / 0.089; sham map 0.10 (0.085); norm-matched random 0.089 (0.097); shuffled token 0.10 (0.10); shuffled layer 0.187 (1.0); unrelated-skill donor 0.076 (1.0); steering α ≤ 4: ≤ 0.082; subspace k ≤ 128 (ridge reference): ≤ 0.172; adapter graft 0.095; supervised adapter 1.0; distillation 1.0; weight grafts: L0 MLP 0.262 (0.962), L0 block 0.642 (0.726), L0–L2 blocks + Ω embedding 0.774 (0.749), shuffled layer 0.083 (0.089), unrelated donor 0.094 (0.933). Recipient baselines 0.111 / 0.047 / 0.067 (chance ≈ 0.10). Mismatch (Procrustes on Ω rows): width 128→96 0.638 (0.981); depth 4→6 L1→L1 0.988 (1.0), L0→L0 0.358 (0.75). Stride-2 (ridge): L3 0.604 (0.993). Mechanism: donor attn_out.0 ablated at read positions 0.086 (0.102); rescue from intact donor_s1 1.000 (1.0); sham rescue 0.112; reverse graft recipient→donor 0.965 (1.0). Rule-vs-cache (ridge fitted on Ω inputs {0..5}): seen 0.472, unseen 0.740 (consistent with suppression of seen rows); adapter: seen 0.259, unseen 0.0. Dose (ridge): monotone to 0.34 at α = 1.5, control collapses at α = 2. Layer grid (ridge): 0.25–0.42, best at recipient L3. | 2026-11-09 | `graft_tier0_30e3644aa801` (MPS, protocol v2: task-free Procrustes reference map) | completed (176 s) | `experiments/summaries/graft_tier0_30e3644aa801/` | exploratory; see §Transplant results v2 | | 2026-11-09 | `eval_persistent` on `graft_tier0_30e3644aa801` (fresh process, seed base 70 000) | completed | `.../persistent/fresh_process_eval.json` | saved donor-free adapter: target 0.414 (Ω-step 0.455) vs base 0.140; control 0.981 | ## Transplant results v2 — `graft_tier0_30e3644aa801` (exploratory; basis of the v1.0 freeze) Same as v1 for the activation-graft families and controls (identical numbers: same models, same splits). With the task-free Procrustes reference map: subspace grafts k = 1/2/4/8/16/32 → 0.230/0.296/0.650/**0.936**/ 0.970/0.983 (random subspace of equal k: 0.076/0.079/0.088/0.085/0.127/0.173; control 1.0 throughout); adapter graft (donor-free) 0.581 (control 0.998); steering α ≤ 4 ≤ 0.096; layer grid: donor L1–L3 → any recipient layer 1.00, L0→L0 0.98, L0→L1–3 0.75–0.82; dose: 0.44 (α 0.5), 0.90 (0.75), **0.98 (1.0)**, 0.92 (1.25), 0.75 (1.5), 0.39 (2.0; control 0.36); mismatch with task-free Procrustes: width 96 L0→L0 0.886, **L1→L1 1.000**; depth 6 L0→L0 0.765, **L1→L1 1.000**, L1→L2 1.000, L2→L2 1.000 (sham 0.07–0.12 with control destroyed); stride-2: L0 0.370, L1 0.747, **L2 1.000, L3 1.000** (ridge: 0.13–0.60); rule-vs-cache: Procrustes fitted on seen Ω inputs → seen 0.966 / unseen 0.831 (ratio 0.86); donor-free adapter → seen 0.765 / unseen 0.000 (cache); mechanism unchanged (ablation 0.086 → rescue 1.000, sham 0.115; reverse 0.965). | 2026-11-09 | `graft_tier0_confirmatory_0c2257f6803e` (MPS, PREREGISTRATION v1.0, seed base 90 000) | **completed** | `experiments/summaries/graft_tier0_confirmatory_0c2257f6803e/{results.json,CONFIRMATORY.md,confirmatory.json}` | primary: 9/9 pairs lower bound > SESOI, mean Δ_T^adj 0.875 (sd 0.042, min 0.776) → H2 SUPPORTED; H4 NOT SUPPORTED (one pair control 0.946 < 0.95; others ≥ 0.985); Holm: subspace k8 vs random +0.850, adapter vs base +0.472, weight L0 block vs shuffled +0.556 (retention 0.720), all rejected at Holm; H5 seen 0.941 / unseen 0.768 (ratio 0.816 ≥ 0.8) SUPPORTED; adapter cache 0.702 / 0.000 | | 2026-11-09 | `eval_persistent` on the confirmatory run (fresh process, seed base 95 000) | completed | `.../persistent/fresh_process_eval.json` | saved adapter: target 0.344 [0.317, 0.372] vs base 0.115; control 0.979 | | 2026-11-09 | `tier1_taskvector_e105e3d91386` (MLX laptop, dev split, 4 pairs, k = 8, 10 vector sets) | completed (1 649 s) | `experiments/summaries/tier1_taskvector_e105e3d91386/results.json` | within-model sufficiency: antonym 0.84–0.88 (L14–L25), capital 0.82–1.00 (L14–L25), addthree only in Llama (0.80, L14), morph none; cross-model best (dev): antonym 0.66–0.81 in all 4 pairs vs best null control 0.38–0.56; capital 0.73 (1.5B→3B, Procrustes L28), 0.50 (Llama→Qwen3B, CCA L18), 0.18 (3B→1.5B), 0.05 (3B→Llama); shuffled-query donor state transfers antonym as well as the matched query (→ amendment A1, D12) | | 2026-11-09 | `tier1_taskvector_eb5d091bf5ed` (MLX on M3U96b, Tier 2: Qwen2.5-7B ↔ Qwen2.5-3B, Qwen2.5-7B → Llama-3.2-3B, dev split) | completed (2 528 s) | `experiments/summaries/tier1_taskvector_eb5d091bf5ed/results.json` (pulled from the node) | Qwen-7B within-model: antonym 0.91 (L16), capital 1.00 (L11), morph 0.03, add-three 0.00; dev transfer: antonym 0.84 both Qwen directions (controls 0.53/0.59), capital 0.91 (3B→7B; unrelated-task control 0.77) / 0.14 (7B→3B); 7B→Llama antonym 0.38 vs control 0.34 (no transfer) | | 2026-11-09 | `tier1_taskvector_confirmatory_82a78041c0ce` | **invalidated** | manifest | re-localized on confirmatory queries (A2/D13); no number used | | 2026-11-09 | `tier1_taskvector_confirmatory_625c54bd186f` (laptop, confirmatory split, dev-frozen localization) | completed | `experiments/summaries/tier1_taskvector_confirmatory_625c54bd186f/{results.json,TIER1_CONFIRMATORY.md}` | H6 per pair (frozen rule, amended controls): Qwen3B→1.5B not supported (antonym +0.16 [0.00, 0.34], capital +0.09); 1.5B→3B partial (capital +0.36 [0.14, 0.59] ✔, antonym +0.28 [0.09, 0.47]); Llama→Qwen3B partial (antonym +0.50 [0.31, 0.69] ✔, capital +0.18 [0.05, 0.36]); Qwen3B→Llama not supported (antonym +0.25 [0.09, 0.41], capital −0.05); add-three/morph not eligible or 0 |