SOCIETYLAB v1.4 — APPENDIX

Appendix — Guide to Files and Audit Materials

This page is not part of the main essay. It is a guide describing what each Python file, result, audit record, and archived item in the repository is — and is not.

GUIDE

Overview Map

The repository is structured as follows. Only the 4 files in src/ and the 3 files in results/ are required for the main-line verification; everything else serves as reading support or provenance preservation.

src/ Model and experiment code (main line) results/ Result JSONs and audit records (main line) docs/ Documentation ja/ Japanese edition archives/ Raw logs and excluded lineages (provenance preservation)
I

Core Files — Model and Experiments

All main-line experiments can be reproduced with four Python files. The only external dependency is numpy, used for import resolution in bridge.py; all calculations run on the standard library alone.

society_lab_v1_4.pyMAIN · ORIGIN

The v1.4 body. A single file of approximately 1,200 lines that runs a village of around thirty people for eighty years. Villager attributes (age, health, hunger, fear, charisma, voice weight, trust), the annual cycle (harvest → crisis → proposal → support → plan → memory → death → birth), memory propagation and distortion, and the three kinds of interpretation (spiritual, practical, attributive) are all defined here.

The three-percent interpretation nudge described in the essay is also in this file. The design rules — no religion, social rank, or authority as state variables — are stated at the top of the file. Read this first.

stream_separation.pyMAIN · CORE EXPERIMENT

The body of the RNG stream separation experiment. Random numbers are divided into independent streams by subsystem — support, death, birth, etc. — and re-seeded annually using hash(seed, year, stream), which structurally blocks the propagation of accounting artifacts.

Contains three experiments: E1 — nudge on vs. off (100 seeds); E2 — single placebo injection; E3 — causal staircase trace for key seeds. Running it outputs stream_separation_results.json. Runtime is on the order of tens of seconds. All figures in Section V of the essay originate here.

bridge.pyCONNECTOR

Defines a thin wrapper (ConfigurableSocietyLab) that makes the hardcoded nudge switchable as an experimental condition without modifying the v1.4 body at all. It overrides only the two nudge pathways; scale=1.0 turns it on, 0.0 turns it off.

This file also houses comparison measurement apparatus for other worlds (cellular automata, etc.), but only ConfigurableSocietyLab is used in the main-line verification. The delineation is disclosed in audit record §4.

society_lab_v1_4_1.pyOBSERVATION BUILD

An observation build that adds post-hoc reading trace surfaces — character biographies, memory lineages, support chains, plan aftereffects, role labels — while preserving v1.4's dynamics intact. Not changing the world's mechanics is a design constraint; this build is explicitly noted as unused in the main-line verification (audit record §2). It serves as a scaffold for Life Layer readings.

II

Results and Audit Records

These 3 files are the source of every figure in the essay. Any number from the essay not contained here appears only as "the appearance that collapsed" (e.g., 38/100 from the coupled RNG era).

stream_separation_results.jsonORIGINAL

The original output of stream_separation.py. Contains the nudge 25/100, placebo 7/100, the "first channel to split" for each diverged seed, and seed 1096's causal staircase (Y46 → Y52 → Y55), among all other results. The limits of comparison (the stream-separated world is a different world from the coupled world) are self-noted inside the file.

stream_separation_results_rerun_2026-06-11.jsonRERUN

The file output by an independent-environment re-run. Its SHA-256 matches the original byte-for-byte. Because the design draws random numbers in a consumption-order-independent manner, it produces identical output regardless of environment — this is placed here as empirical proof of that design claim.

audit_stream_separation_2026-06-11.mdAUDIT RECORD

The complete reproduction procedure: hashes of frozen files, execution environment, disclosure of import resolution (stub handling), v1.4 provenance cross-check, result comparison table, byte-match determination, and four limitations to note when citing (stream-dependence of placebo, scope of cross-world comparison, smallness of effect size, source duplication).

Third-party validation — repeating the same procedure in a different AI and a different environment — remains incomplete, and the record itself states this. Anyone can conduct it by handing over this record and the file set.

III

Life Layer Files

The Life Layer is an independent observational branch that does not participate in the main line's causal claims. As described in Section VI of the essay, in its observational-only form it changes nothing in the underlying simulation and only enriches the log. The files are kept as a separate branch with its own README so they do not mix with the main line.

Life Layer READMEOBSERVATION BRANCH

Defines what this layer adds (weather; places like teahouses, wells, gates, and lanes; traces of objects; smells and textures; co-presence; shadows of conversation; shadows of familiarity; shadows of memory; shadows of time) and what it does not change (population, food, births, deaths, trust, support, plan outcomes, memory propagation).

Notes on reading observation labels in their thinnest literal sense — "were in the same place" does not mean friendship; "shadow of conversation" is not evidence that trust moved — are also written here. Two contrasting seeds (1003 and 1061) are recommended as an entry point for reading.

Life Layer Implementation / Verification LogOBSERVATION BRANCH

Verification that the observation-only build does not alter the underlying v1.4 (confirmation that the base world is unchanged for tested seeds), and a record of a subsequent experimental branch — an attempt to test whether rare "memory shadows" produce a minute trust nudge. The latter is treated as a controlled intervention experiment, distinct from both the main line and the observation layer.

IV

Excluded Lineages and Archives

This project intentionally preserves lineages that were not adopted into the main line. Keeping them — along with the reasons for their exclusion — serves as proof of the main line's restraint.

v2 Series (The Amplifier Lineage)EXCLUDED · SUSPENDED

A group of derivatives that added variables to produce an effect: accumulated infrastructure (persistent granaries and wells), cooperative norms, support accumulation, reputation, hysteresis, and more. Adding them does produce effects, but those effects reflect the added design — they are not an answer to v1.4's question: does a minimal interpretation nudge reach through? In the essay's terms, this is a record of "slipping from causal detection into amplifier construction" — preserved as failed and suspended branches. Do not read them as successes.

archives/ (Raw Logs)PROVENANCE

The original conversation logs between the human and multiple AIs. The design process from v1.0 to v1.4, the course of being drawn into the seed1003 story and self-correcting, tables rejected during auditing, and anomalous results that were excluded without being resolved — all preserved in unedited form.

NOTE

The raw archives are not needed for ordinary reading. The main essay, the README and src/, and the audit record alone allow you to trace every claim and verification in the main line. The archives exist for provenance preservation — so that it is possible to trace afterward where each number came from and what was discarded, and why. Open them only if you wish to audit the research lineage.