# Evidence Ledger: Tiny Consciousness Lab

Audit date: 2026-07-18
Audited source: repository working tree
Git baseline: `main` at `55156081d29a1843ae796ae83fabaa4fcc20cbe8`
Scope: README, relevant experiment code, stored JSON metrics, checkpoints, plots, and Unity telemetry present locally. No GitHub state was used.

## Status vocabulary

- **Demonstrated**: the local repository contains executable code and a result artifact that directly measures the claim.
- **Demonstrated with material qualification**: the measurement exists, but design, provenance, external dependencies, or replication limits materially narrow the inference.
- **Hypothesis**: an interpretation consistent with results but not isolated by the current experiments.
- **Planned**: proposed work without a completed result artifact.
- **Unsupported**: not established by the audited evidence and should not appear as a paper conclusion.

This is an artifact audit, not a full independent replication. Stored metrics were parsed and cross-checked against current code and README summaries. Full training runs were not repeated. Several relevant files are untracked or modified relative to the Git baseline, so the local snapshot—not the commit—is the evidence source.

## Claim ledger

| ID | Claim | Status | Direct evidence | Audit judgment and boundary |
|---|---|---|---|---|
| E1 | A recurrent controller can preserve grounded outcome information beyond an eight-frame feedforward context window in a delayed hidden-preference task. | **Demonstrated** | `delayed_preference_benchmark.py`; `outputs/delayed_preference_benchmark_metrics.json` | Five training seeds. At delay 28, recurrent+outcome accuracy was 0.820 ± 0.158 across seeds; feedforward+outcome was 0.499 ± 0.006. Plain recurrent and plain feedforward controls were at chance. This supports memory for a task-specific outcome signal, not general recurrent superiority. |
| E2 | The long-delay behavior causally depends on both recurrent state and the correctly signed grounded outcome channel. | **Demonstrated** | Same as E1; stored ablations | At delay 28, normal recurrent+outcome accuracy was 0.820; hidden reset 0.500; outcome zeroing 0.500; outcome shuffling 0.500; sign flip 0.180. The assay labels this outcome input “valence”; operationally it is a signed reward/outcome pulse. |
| E3 | The older matched navigation benchmark establishes recurrent or valence superiority. | **Unsupported** | `recurrent_valence_benchmark.py`; `outputs/recurrent_valence_benchmark_metrics.json` | One training seed and mixed outcomes. Several conditions perform poorly, and the stored standard deviations are zero because there is one seed. Use as a negative or exploratory result, not a headline claim. |
| E4 | Reward-trained policies can reach a rotated U-detour withheld from training without an explicit approach-food rule. | **Demonstrated with material qualification** | `emergent_foraging_lab.py`; `outputs/emergent_foraging_metrics.json` | Recurrent reward and curiosity policies each reached 0.675 success in the withheld U-detour evaluation; no-reward recurrent control reached 0.0. A feedforward reward control also reached 0.675, so recurrence is not necessary for success in this particular assay. The result is one training seed. |
| E5 | Temporal continuity is causally necessary for the recurrent policies’ U-detour behavior in the foundational assay. | **Demonstrated** | Same as E4 | Resetting recurrent state every movement reduced recurrent reward and recurrent curiosity success from 0.675 to 0.0 while leaving weights and current observations intact. This is a clean intervention on temporal state in that policy class. |
| E6 | Recurrent hidden state contains information about trap context beyond the current observation. | **Demonstrated as decodability, not mechanism** | Same as E4 | Linear probes reached 0.932–0.996 hidden-state accuracy versus 0.843–0.926 from observations and about 0.48–0.52 for shuffled labels. Decodability does not establish that the policy uses a single portable trap representation. |
| E7 | The upgraded continuous-ray recurrent policy transfers across strictly withheld C-shape and zigzag topology families. | **Demonstrated with material qualification** | `upgraded_foraging_pipeline.py`; `outputs/upgraded_foraging_pipeline_metrics.json`; five checkpoints | Five seeds, 80 withheld episodes per seed. Mean success 0.9825, seed range 0.95–1.00, zero simulator collisions under a body-clearance action mask. No-reward controls averaged 0.01. The mask contributes directly to zero collisions. |
| E8 | The upgraded transfer is memory dependent. | **Demonstrated, family-specific** | Same as E7 | Aggregate memory reset success was 0.515, but the critical zigzag family fell from 0.98 to 0.235 (74.5-point drop), while C-shape remained 0.795. The correct claim is family-specific memory dependence, not universal collapse under reset. |
| E9 | A compressed workspace packet can be reportable, reused across obstruction types, and causally alter control. | **Demonstrated in an engineered toy system** | `workspace_lift_lab.py`; `outputs/workspace_lift_metrics.json` | Forty seeded replicates per condition. Global-workspace escape took 11.5/11.0/11.3 steps for tree/rock/mushroom pockets versus 20.8/22.2/19.4 for private modules. Forced packet injection saved 66.8 tree-pocket steps versus reflex, but also produced a false-alarm misreport. The packet and routing rules are designed, not learned. |
| E10 | Conditional workspace routing can retain high rule-shift accuracy with less coupling than an always-on workspace. | **Demonstrated in a single seeded synthetic sequence** | `conditional_workspace_lab.py`; `outputs/conditional_workspace_metrics.json` | Hard-threshold routing reached 0.953 late accuracy with mean coupling 0.067 and efficiency 0.891; always-on reached 0.976 with coupling 1.0 and efficiency 0.763. The efficiency score is hand-defined, and only one generated sequence is stored. |
| E11 | A fast hierarchical master slightly outperforms a monolithic workspace on the repository’s rule-shift score. | **Demonstrated but hypothesis-generating** | `hierarchical_workspace_lab.py`; `outputs/hierarchical_workspace_metrics.json` | Early accuracy 0.714 vs 0.686, recovery 15 vs 16 steps, efficiency 0.858 vs 0.851. The differences are small, single-seed, and dependent on engineered routing and cost terms. |
| E12 | The Python-trained policy and calibrated predictive heads execute a Unity controller through the UDP bridge. | **Demonstrated with terrain-project limitation** | `embodied_unity_loop.py`; `unity/TrapCourseLab`; `outputs/unity_shadow/*.jsonl`; `outputs/unity_mpc_visibility_gated_course_analysis.json` | This is Python-to-Unity cross-runtime deployment, not sim-to-real transfer. A minimal primitive course project is included; the third-party terrain scene used in exploratory runs remains external. |
| E13 | The recorded visibility-gated recurrent/MPC Unity run completed two six-course cycles. | **Demonstrated with selection and sample-size qualifications** | `outputs/unity_shadow/shadow_20260713_130039.jsonl`; course analysis JSON | Twelve completed episodes produced 12/12 success, mean 29.74 s, no timeouts, no reported stuck frames, learned-control fraction 1.0. The file also contains two incomplete/aborted episodes excluded from `completed_episodes`; 12/12 therefore describes completed course episodes, not every episode record. With n=12, uncertainty remains wide. |
| E14 | Visibility gating improved Unity performance relative to full-time MPC. | **Demonstrated as a sequential live comparison, not a randomized trial** | README’s analysis of local Unity logs; course artifacts | The repository reports 8/13 for full-time MPC and 12/12 for visibility-gated control. The comparison is not paired or randomized, and controller/code state may differ chronologically. It supports an engineering decision, not a precise causal effect size. |
| E15 | Calibrating only predictive heads improves held-out Unity transition prediction. | **Demonstrated** | `unity_mpc_calibration_lab.py`; `outputs/unity_mpc_calibration_metrics.json` | Chronological split of 4,879 transitions; 731 test transitions. MAE fell from 0.1267 to 0.0739 (41.7%). Frames are temporally correlated and come from one 25.6-minute recording; the effective sample size is lower than 731 independent draws. |
| E16 | Calibrated fixed MPC improves aggregate Python continuous-course metrics over the raw GRU. | **Demonstrated without paired significance test** | `outputs/unity_mpc_selected_evaluation.json`; `outputs/unity_posttraining_metrics.json` | On 108 matched courses, selected MPC success was 0.9537 versus raw baseline 0.9074; mean steps 86.3 vs 102.8; path length 38.0 vs 45.2; zero collisions under the same safety mask. Per-episode paired outcomes are not stored in these summaries, so statistical significance cannot be audited. |
| E17 | Adaptive stochastic MPC preserves fixed-MPC success while reducing steps and planning time in the Python course simulator. | **Demonstrated provisionally** | `adaptive_stochastic_mpc_lab.py`; `outputs/adaptive_stochastic_mpc_metrics.json` | Thirty-six episodes per condition. Fixed and adaptive stochastic MPC both reached 35/36 success; adaptive used 82.4 mean steps vs 88.1 and 8.34 s evaluation time vs 24.27 s. This is a small benchmark; timing is not a controlled systems benchmark. The recorded 12/12 Unity run predates this artifact, so live Unity validation remains planned. |
| E18 | Hunger-adaptive sensing improves the adaptive stochastic controller. | **Not demonstrated** | Same as E17 | Hunger-adaptive and non-adaptive sensing had the same 35/36 success and nearly identical steps. The sensor-radius intervention was exercised, but no benefit is established. |
| E19 | Noise and promotion-threshold sweeps produce a robustness phase transition in the synthetic survival task. | **Demonstrated in the defined simulator** | `altered_state_robustness_lab.py`; `outputs/altered_state_robustness_metrics.json` | Sixteen cells, 80 replicates each, 220-step horizon. Survival declines sharply at jointly high noise and excitability; e.g., noise 0.35/calcium 1.0 gives 0.6375 survival, while 0.70/0.75 and 1.0/1.0 give 0.0. “Noise,” “calcium,” “delusion,” and “revelation” are computational labels, not biological or clinical models. |
| E20 | Grounding governors improve survival under the hardest synthetic perturbation. | **Demonstrated in the defined simulator** | `altered_state_stabilizer_lab.py`; `outputs/altered_state_stabilizer_metrics.json` | At noise=1/calcium=1 over 100 replicates, baseline survival was 0.00; sensory focus 0.94; next-generation stack 0.74; predictive clamp 0.37; earlier full stack 0.21. Sensory focus retained a high false-promotion ratio (0.585), while the next-generation stack reduced it to zero. These are engineered policies with no out-of-distribution validation. |
| E21 | The repository demonstrates phenomenal consciousness, subjective experience, sentience, AGI, or biological equivalence. | **Unsupported** | No valid phenomenal measure in repository | The experiments evaluate functional access and control motifs in toy tasks. They neither identify subjective experience nor establish open-ended general intelligence. |
| E22 | Recurrent re-anchoring corrects the reproduced critical-hunger terrain failure at the implicated location. | **Demonstrated as a targeted engineering diagnostic** | `embodied_unity_loop.py`; `outputs/unity_critical_hunger_reanchoring_metrics.json` | Three sequential 180-s runs at x=312.5, z=-328.0 yielded 18 pickups under normal hunger, 0 under forced critical MPC, and 18 after recurrent no-target exploration was restored. The repaired run had zero stuck events and recovered hunger in 25.3 s. This is not randomized and does not replace overnight validation. |
| E23 | Recurrence contributes strongly to structural integration in the repository's tiny transition systems. | **Demonstrated within tiny integration measures** | `exact_phi_lab.py`; `pyphi_comparison_lab.py`; corresponding metrics JSON | PyPhi sampled means were 0.367 for a recurrent ring and 0.390 for recurrence with valence feedback. This supports a structural role for recurrence, not a consciousness score or a biological IIT result. |
| E24 | Direct policy access to a positive outcome channel can replace world-directed behavior. | **Demonstrated in a toy wireheading task** | `wirehead_lab.py`; `outputs/wirehead_metrics.json` | The direct good-valence action becomes an attractor and can displace task completion. The environment and action are intentionally engineered to expose reward-channel tampering. |
| E25 | Grounding valence in external progress is safer and more useful than making it directly writable. | **Demonstrated with task-specific qualification** | `valence_shaping_lab.py`; `outputs/valence_shaping_metrics.json` | Small progress-derived shaping improves the defined task relative to direct reward access. This establishes a reward-design result, not felt affect or universal shaping superiority. |
| E26 | Ungrounded imagination can degrade control, while prediction-checked world-model lookahead can recover useful detours. | **Demonstrated across engineered toy assays** | `imagination_lab.py`; `maze_imagination_lab.py`; `unified_mind_lab.py`; stored metrics | Internally amplified imagined state loses grounding; prediction reward and gating improve it. Pretrained lookahead crosses detours that trap myopic progress control. Models and gates are small and substantially designed. |
| E27 | Prediction error can regulate attention and help retune an obsolete internal model after a rule shift. | **Demonstrated in a single synthetic sequence** | `attention_valence_lab.py`; `attention_shift_lab.py`; stored metrics | The adaptive condition uses surprise to shift its model angle from about +0.13 to -0.21 and recover. This is an operational attention mechanism, not a biological ADHD or neuromodulator model. |
| E28 | A persistent self-report state can influence later routing rather than serving only as display telemetry. | **Demonstrated with a small effect in a designed system** | `self_report_workspace_lab.py`; `outputs/self_report_workspace_metrics.json` | Feeding rolling conflict and uncertainty summaries back into control modestly improves late accuracy, delusion, efficiency, and report stability. The semantic report vocabulary is engineered. |
| E29 | Social information helps when it contributes independent grounded correction; echo agreement can amplify confidence without knowledge. | **Demonstrated in synthetic social-routing tasks** | `social_workspace_lab.py`; `outputs/social_workspace_metrics.json` | Grounded critics improve defined control; echo peers do not add reality contact. This supports an information-independence criterion, not a general theory of social intelligence. |
| E30 | Complementary partial observers can be bound into action performance matching a full oracle. | **Demonstrated in a designed split-observation task** | `partial_observer_social_lab.py`; `outputs/partial_observer_social_metrics.json` | Map-only and safety-only agents lack different information; the shared workspace combines both. The partition was designed to make complementarity measurable. |
| E31 | Regional workspace compression can protect a single master from routing load at larger specialist counts. | **Demonstrated only in an explicit synthetic scaling model** | `hierarchy_scaling_lab.py`; `outputs/hierarchy_scaling_metrics.json` | The crossover follows encoded compression, load, and delay formulas. It is useful architectural stress testing, not an empirical neural scaling law. |
| E32 | Context-specific causal credit can train a router to shift trust among specialists. | **Demonstrated in a toy counterfactual-routing task** | `causal_router_learning_lab.py`; `outputs/causal_router_learning_metrics.json` | The router learns to use ordinary map information in safe contexts and safety-corrected information near hazards. It does not yet learn the repository's complete hierarchy end to end. |
| E33 | Dense recurrent cross-talk can degrade state separability, and offline down-selection can restore it. | **Demonstrated in a synthetic maintenance assay** | `sleep_homeostasis_lab.py`; `outputs/sleep_homeostasis_metrics.json` | Four fatigue cycles reduced the tiny Phi proxy 0.159→0.118 and separability 0.046→0.034; down-selection restored 0.168 and 0.049. “Sleep” is an algorithmic maintenance metaphor. |
| E34 | Maintenance timing can be regulated by a fatigue self-model, with active repair and offline repair serving different regimes. | **Demonstrated in toy controller runs** | `sleep_cycle_agent_lab.py`; `adaptive_sleep_lab.py`; stored metrics | No-sleep late accuracy fell to 0.250; offline sleep reached 0.880 and active repair 0.840 in one 500-step setup. Results do not establish a biological need for sleep. |
| E35 | The repository implements an engineered operational access-consciousness profile. | **Demonstrated as a composite functional claim** | E9–E11, E28, `ego_lens_lab.py`, `outputs/ego_lens_metrics.json` | A compressed packet containing intent, problem, strategy, feeling, and confidence is shared with movement, memory, valence, and report. Grounded packets reached report accuracy 1.0 and reused one obstruction representation across tree, rock, and mushroom labels. Interventions shift report and action together; false broadcasts alter both, showing access without truth guarantee. This does not establish phenomenal consciousness. |
| E36 | Recurrent design principles remain useful after adaptation and retraining in a symbolic-music domain. | **Demonstrated as bounded architecture-level portability** | `midi_transfer_lab.py`; `midi_rhythm_learning_lab.py`; `outputs/midi_transfer_metrics.json`; `outputs/midi_rhythm_learning_metrics.json` | Across three seeds, recurrent delayed-motif/final-return accuracy was 0.520/0.592 versus feedforward 0.380/0.454; recurrent reset reduced them to 0.367/0.352. Feedforward immediate next-note accuracy was better, and recurrent valence did not win the delayed-motif metric. Learned rhythm scored 0.576 versus weighted random 0.473 and hidden reset 0.444 under an engineered reward. Navigation weights were not reused. |
| E37 | Shared phase can causally organize distributed features into one reportable control packet in the oscillatory workspace assay. | **Demonstrated in an explicit timing mechanism** | `oscillatory_workspace_lab.py`; `outputs/oscillatory_workspace_metrics.json`; targeted phase intervention | Across 1,600 matched trials, coherent 40 Hz-labelled timing reached 1.000 binding/action accuracy; same-frequency private phases 0.312; mixed frequencies 0.302; asynchronous timing 0.244. A valence-only half-cycle shift yielded 0.000 accuracy and 1.000 false binding. Coherent 20 Hz also reached 1.000, so the result supports phase coordination rather than a privileged 40 Hz frequency. It is not a biological gamma model or consciousness result. |
| E38 | Capacity pressure can train context-specific relative phase protocols that are causally necessary for routing utility. | **Demonstrated in a differentiable synthetic bus** | `learned_synchronization_lab.py`; `outputs/learned_synchronization_metrics.json`; 24 matched seeds | Utility increased from 0.029 to 1.000. Binding streams reached order 1.000; competing packet groups each reached internal order 1.000 and separated by 0.814 pi. Scrambling reduced utility to 0.049; restoration and common rotation preserved 1.000; frequency mismatch reduced it to 0.143. No-bottleneck timing remained variable. The optimization objective explicitly rewards delivery and penalizes collision, so this is learned scheduling within the defined mechanism, not spontaneous biological synchrony or consciousness. |
| E39 | Persistent sensorimotor generation requires recurrent observation correction to remain useful in the matched world-model assay. | **Demonstrated with material qualification** | `continuous_reality_engine_lab.py`; `outputs/continuous_reality_engine_metrics.json`; 42 matched episodes | Reactive, triggered-MPC, and continuously grounded conditions reached 0.714, 0.738, and 0.762 success with zero collisions. Sparse correction reached 0.143 success and 55.8 collisions; removing correction reached 0.024 success, 77.6 collisions, and final latent error 0.333 versus 0.115 when grounded. Grounded versus reactive was not significant (3-1, p=0.625); grounded beat sparse 26-0 (p=2.98e-8) and ungrounded 31-0 (p=9.31e-10). No condition solved the U-detour. This supports a sensory-grounding lesion, not phenomenal consciousness or open-ended physical simulation. |
| E40 | A coupled spatial-superposition and relative-phase representation can bind information that either coordinate alone leaves ambiguous. | **Demonstrated in a constructed software representation** | `spatiotemporal_field_workspace_lab.py`; `outputs/spatiotemporal_field_workspace_metrics.json`; 24 seeds | Coupled field, discrete messages, and an equal-dimensional random code each reached 1.000 clean accuracy. Spatial-only reached 0.501 and temporal-only 0.250. Spatial, phase, and combined scrambling reduced the coupled field to 0.291, 0.442, and 0.201. Both coupled field and random code retained 1.000 accuracy under 50% readout masking and about 0.76 under source loss, so robustness follows distributed redundancy rather than uniquely spatial geometry. A software matrix is not a physical EM field and does not test Pockett's identity theory or qualia. |
| E41 | Similarity-triggered action playback can depend causally on the original binding between experience and externally derived outcome valence. | **Demonstrated inside a designed case-based controller** | `episodic_playback_lab.py`; `outputs/episodic_playback_metrics.json`; 42 matched episodes | Bound playback reached 0.405 success; action-only and shuffled-valence lesions reached 0.000. Bound playback won 17-0 discordant pairs against each lesion (p=1.53e-5). It remained worse than reactive control (0.619; paired 0-9) and triggered MPC (0.643; paired 1-11). ERR averaged 0.188 ms/step versus MPC 2.180 and reactive 0.010. This supports outcome-bound retrieval in this algorithm, not felt emotional replay, phenomenal consciousness, or controller superiority. |
| E42 | A designed confidence gate can allocate control among reflex, episodic playback, and predictive simulation, trading model compute for task success. | **Implemented with a negative performance tradeoff** | `three_level_memory_lab.py`; `outputs/three_level_memory_metrics.json`; 42 matched episodes | The bound hierarchy used reflex/playback/MPC on 0.358/0.400/0.242 of steps and reduced mean model calls from 1881 to 1022, but success fell from 0.738 to 0.619 (paired 0-5, p=0.0625). Shuffled-valence hierarchy reached 0.238; bound beat it 16-0 (p=3.05e-5). The arbitration thresholds are hand-set and require calibration or learning before deployment. |
| E43 | Recurrent gain controls a measurable transition among ordered, near-critical, and supercritical dynamics, but distinct functional metrics peak in different regimes. | **Demonstrated in frozen random reservoirs** | `network_criticality_lab.py`; `outputs/network_criticality_metrics.json`; eight seeds | The mean Lyapunov edge was near g=1.25. Linear memory peaked at g=0.95 (11.17 versus 9.03 at the edge), while delayed accuracy peaked at g=1.55 (0.757 versus 0.749). Only 25% of per-seed memory peaks and 25% of delayed-task peaks exactly matched each seed's edge. Feedback tuning from both sides converged to 1.194+/-0.190. This supports gain regulation and a performance tradeoff, not a universal critical optimum or consciousness criterion. |
| E44 | A reward-driven meta-controller can learn context-specific recurrent gains and reuse them when sensory-noise regimes recur. | **Demonstrated in frozen random reservoirs, without adaptive-superiority result** | `adaptive_criticality_meta_controller_lab.py`; `outputs/adaptive_criticality_meta_controller_metrics.json`; ten seeds | Adaptive mean reward was 0.765 versus 0.553 fixed memory peak, 0.566 empirical edge, 0.598 noisy specialist, 0.502 random, 0.743 hindsight-selected global-best fixed gain, and 0.827 phase-aware oracle. Adaptive versus global-best was 6-4 (mean difference +0.021, exact sign p=0.754), so adaptive superiority is not established. Mean selected gains tracked the quiet/noisy oracle shift, and repeated-block regret fell 0.085 to 0.034 (quiet) and 0.087 to 0.037 (noisy). The controller receives an estimated binary noise context and engineered normalized reward; this is functional homeostasis, not spontaneous self-regulation or evidence of awareness. |
| E45 | ART-like vigilance, mismatch reset, and stable resonant learning preserve category identity under non-stationary learning, while the resonant category jointly routes report and control. | **Demonstrated in an engineered adaptive-resonance workspace** | `adaptive_resonance_workspace_lab.py`; `outputs/adaptive_resonance_workspace_metrics.json`; 24 seeds | Full ART reached 1.000 familiar action/report retention, 1.000 novel action adaptation, and 1.000 unknown rejection with six categories. Removing reset produced one conflated category, 0.250 familiar action/report accuracy, 0.500 novel action accuracy, and 0.000 unknown rejection. Latest-sample overwrite retained 0.989 familiar action accuracy but only 0.510 familiar category-report accuracy. Forced false resonance switched both action and report in 1.000 of eligible trials. The labels, workspace packet, and intervention are engineered; this supports stable match-gated report/control access, not biological equivalence or phenomenal consciousness. |
| E46 | Preserving one Functional Ego transition structure across three software encodings preserves ordinary and intervention behavior, whereas perfect observational replay does not preserve counterfactual responses. | **Demonstrated as software-representation invariance** | `computational_invariance_lab.py`; `outputs/computational_invariance_metrics.json`; 24 seeds | Symbolic, dense-vector, and event-message realizations agreed at 1.000 on ordinary trajectories, interventions, and novel counterfactual inputs. A replay lookup reached 1.000 ordinary action/report agreement but 0.000 agreement on every causally effective intervention and on 318 changed-output novel-input trials. Forced workspace, workspace hold, memory erase, and valence flip changed immediate action/report on 1.000, 0.585, 0.089, and 0.021 of sampled states. All implementations run in one Python process, so this does not establish physical-substrate invariance, consciousness, or that arbitrary behaviorally equivalent programs implement the same computation. |
| E47 | Explicit agent reports form a reproducible relational geometry linked to causal state and behavior, and upstream memory/valence interventions predict report changes. | **Demonstrated for reportable experience proxies** | `experience_structure_correspondence_lab.py`; `outputs/experience_structure_correspondence_metrics.json`; 24 seeds | Full-state/report, hidden-state/report, and behavior/report distance correlations were 0.912, 0.786, and 0.905. Marginal-preserving report shuffling reduced correlation to -0.009 and top-eight neighborhood overlap from 0.689 to 0.065; coordinate relabeling preserved geometry at 1.000. Upstream memory/valence displacement predicted report change at AUC 0.813 versus 0.509 shuffled and 0.500 replay. Report-changing interventions changed action jointly and matched across three realizations at 1.000. Full state includes the workspace coordinate that generates report, so its high correspondence is partly definitional. These are engineered report proxies, not independently observed phenomenal experiences or qualia. |

## Demonstrated results used as paper anchors

1. **Long-delay grounded memory:** five-seed recurrent+outcome performance persists to delay 28 and collapses under state reset or outcome corruption (E1–E2).
2. **Zero-shot topology transfer:** reward-trained policies generalize to withheld obstacle families; memory dependence is strong on the zigzag family (E4–E8).
3. **Workspace routing:** designed global packets and conditional routing alter action, transfer across obstruction labels, and trade accuracy against coupling cost (E9–E11).
4. **Python-to-Unity deployment:** a Python policy/MPC controller acts in Unity; calibrated prediction and completed course logs support a bounded cross-runtime transfer claim (E12–E16).
5. **Adaptive stochastic MPC:** uncertainty-bounded rollouts match fixed-MPC success in a small Python benchmark while using fewer steps and less measured evaluation time (E17–E18).
6. **Robustness:** controlled perturbation sweeps and governors expose failure regions and partial recoveries in a synthetic survival model (E19–E20).
7. **Full Functional Ego thesis:** recurrence, bounded valence, grounded imagination, adaptive attention, self-report feedback, social correction, hierarchy, causal routing, and maintenance have distinct measured roles and failure modes across the toy suite (E23–E34).
8. **Operational access consciousness:** shared workspace content jointly affects report and control and remains vulnerable to false broadcast (E9–E11, E28, E35).
9. **Cross-domain architecture portability:** a separately trained MIDI policy retains recurrent memory benefits on delayed structure, with explicit feedforward counter-results and hidden-state ablation (E36).
10. **Continuous grounded generation:** maintaining a predicted sensorimotor packet is compatible with control only when observation repeatedly corrects it; removing correction causes measurable drift and collapse (E39).
11. **Spatiotemporal binding:** spatial superposition and relative phase jointly encode a conjunction that either coordinate alone cannot fully recover, while a distributed-code control rules out a unique field-robustness claim (E40).
12. **Valenced episodic playback:** bound outcomes are causally used by an associative reproducer, although reactive and predictive controllers remain more successful on the navigation benchmark (E41).
13. **Three-level arbitration:** reflex, playback, and MPC can share control and reduce predictive compute, but the initial hand-set gate sacrifices success and is not deployment-ready (E42).
14. **Critical dynamics:** independently measured proximity to the edge changes memory, dimensionality, sensitivity, and delayed control, but their optima do not collapse to one universal critical gain (E43).
15. **Regulatory integration:** a contextual meta-controller learns to move recurrent gain as the sensory noise floor changes and reuses the learned regulation when a regime returns (E44).
16. **Adaptive resonance:** vigilance-gated matching stabilizes old category reports while admitting novel categories, and forced resonant content jointly redirects report and control (E45).
17. **Computational organization:** three independently encoded transition systems preserve ordinary and counterfactual intervention profiles, while an observational replay clone does not (E46).
18. **Mathematical report structure:** causal state, behavior, and explicit reports exhibit reproducible relational geometry that survives coordinate relabeling but collapses under marginal-preserving report shuffling (E47).

## Hypotheses consistent with, but not established by, the evidence

- Recurrent memory and grounded outcome feedback are complementary primitives for partially observable control.
- Dynamic workspace routing may be more efficient than constant global coupling when conflict is sparse.
- A useful controller may benefit from dividing labor between memory-driven exploration when goals are hidden and model-predictive optimization when targets are sensor-grounded.
- Ensemble disagreement can be a useful operational uncertainty signal for truncating imagined rollouts.
- Robust control under internal perturbation may require both epistemic grounding and motivational fallback signals.
- These motifs may be substrate-independent at the level of computation. This is a design hypothesis, not evidence for consciousness.

## Planned work required for stronger claims

- Freeze a versioned release containing code, checkpoints, environment definitions, raw per-episode outputs, package versions, and exact commands.
- Re-run all headline experiments from a clean checkout and write an immutable run manifest into every output.
- Add paired per-episode logs, confidence intervals, preregistered primary outcomes, multiple-testing controls, and held-out model selection.
- Repeat Unity courses across independent sessions and randomized controller order; include failures and aborted episodes in a prespecified intention-to-test analysis.
- Validate the included minimal Unity project from a clean clone and archive its generated scene with exact Unity/package versions.
- Validate adaptive stochastic MPC live in Unity and compare it against fixed MPC and raw GRU on matched courses.
- Replace hand-designed workspace rules with learned routers and test whether intervention and transfer properties survive.
- Test irreversible dead ends, changed dynamics, sensor dropout, altered morphology, and reward shifts that were not represented during training.
- Validate robustness governors across tasks and seeds, and rename biological/clinical metaphors where no biological mapping is tested.
- Replicate the MIDI benchmark with more seeds, independent musical corpora, blinded human ratings, and additional non-musical temporal domains.

## Provenance notes

- The delayed-preference code was modified 42 seconds after its stored metrics file and now contains a `contrasts` payload absent from that JSON. Results above use the stored JSON; the current code is used only to interpret the assay.
- `embodied_unity_loop.py` was modified after the 2026-07-13 course log. The current implementation cannot be assumed byte-identical to the controller that generated the recorded run.
- The local working tree contains modified and untracked experiment files. These are preserved as user work and were not normalized during this audit.
- Zero simulated collisions in several navigation results include an explicit body-clearance mask. They do not show that collision avoidance emerged solely from the learned policy or predictive model.
- README prose is treated as project framing unless corroborated by code and stored outputs.
