No free will. No escape. Just the chain.
F.A.T.E. (the Free Agency Termination Emulator) grows people from genetics and gut bacteria, lets them live whole lives across fourteen substrate layers, and then rewinds them frame by frame to show every choice they ever made was just the next link in a chain that started before they were born.
Walk eight lives instead.
If pages of typed arrays and pipeline diagrams are not the way you absorb an argument, there is a companion site for you. Same project, same thesis. Eight characters drawn from the substrate, each one walked from age zero to seventy. The DMN's narration on one side. The substrate's actual ledger on the other. You can return here whenever you want.
Walk the eight lives →Before we look at simulated people, look at yourself.
The chain that produced you did not start on the day you were born. It started in your mother's body, and her mother's body, and a hundred generations of bodies before that — each one passing forward a configuration of alleles, a setting of HPA tone, a microbiome, a culture of holding babies or not holding them — until the configuration arrived at the cell that became you, and the configuration was already, in every meaningful sense, finished.
Trace one specific thread to feel its weight. A great-grandmother lived through enough chronic cortisol that her FKBP5 locus quietly upregulated. Her ovum carried that epigenetic mark forward. Her daughter — your grandmother — inherited a slightly hotter HPA axis and ran through a life that kept it hot. Her daughter — your mother — gestated you in a body whose 5-HTT expression had drifted to 1.22 of baseline, meaning your serotonin signal is structurally damp before you have ever experienced anything. By the time your critical-period window closed around age seven, your ATTACHMENT schema's valence_target had crystallised toward whatever felt-quality your earliest caregivers had been able to produce while running their chains. The window then closed. The encoding persisted. The plasticity available to adult you is roughly 0.028× what it was at age zero. You did not choose any of it. The configuration was already finished before you were old enough to know the word configuration.
By the time you were old enough to call anything a choice, the machinery that does the choosing — your perceptual filters, your need set-points, your social embedding, the policy weights that bias every decision toward what worked yesterday, the schema lattice the previous decade encoded, the cue field a million repetitions Hebbianed into place — was already running, configured by a thousand things you had no say in. Every preference you have today is an attractor in a state space that was set decades before you arrived in it. Often, longer.
You will not, by reading this, feel the absence of free will. The reason is architectural and it is, by itself, the most damning piece of evidence: your Default Mode Network is the thirteenth of fourteen layers. It runs after the substrate has already moved. Each tick, it composes a sentence that explains, to you, what the substrate just did. The composition is what you experience as "I chose". The composition is the only memory of the moment your introspection has access to. The substrate cannot show you itself, because the only instrument capable of looking at it is also the only instrument capable of writing the lie. The feeling of choosing is the narrator narrating. It is not the choosing. Your conviction that you are the chooser is the narrator's most-reinforced output, and the most-reinforced outputs are the ones the substrate has spent the longest making smooth.
Most people cannot hold this in mind. The problem isn't intellectual; it's perceptual. To see the absence of free will, you would have to hold someone's entire history in your head at once — every meal, every wound, every overheard sentence, every microbiome shift, every chronic-cortisol multiplier their grandmother passed forward as epigenetic expression — and watch the cascade roll forward. Nobody can do that for a real person. Nobody can do that for themselves. So the illusion of authorship survives because the machinery that would refute it is too vast to perceive.
FATE is built to make that machinery small enough to see, and to make every link in the chain, ancestor by gene by hormone by schema by choice, addressable. What follows is the architecture of the chain that produced one woman named Mara, and by structural equivalence, you. Yours cannot be inspected. That is the only thing protecting the illusion.
If this is true, here is what it means.
-
01
Nobody chose to be poor. Poverty is a continuous attractor in the substrate — low
econ_wealthdrivesn[physiological]decay, which drives desperation, which drives worse decisions, which drives less income. The body did not choose the rung of the ladder it was born onto, did not choose the schemas the rung wrote during the critical period, and does not have a free-will lever for stepping off. -
02
Nobody chose to be a criminal. Crime fires in the substrate when
econ_wealthcollapses,cortisolstays high, and a co-located tie is vulnerable. The conditions produce the act. There is no "criminal personality" stored anywhere — there is a body in a configuration the substrate names theft or assault. The same body in a different configuration is a saint. The configuration was not theirs to set. -
03
Nobody chose to be a drug user. Addiction is a configuration of P31 schemas, P33 cue-field edges, dopamine receptor density (
DRD2allele), and a reinforcement history the body inherited and the world reinforced. The first hit was weighted before it happened. The relapse, three years sober, is the lattice firing under cortisol exactly as it was Hebbian-wired to do. -
04
Nobody earned their success, either. Discipline is a configuration of executive function loci, schemas, and a reinforcement history the body did not author. The "successful" person is a body running a winning sub-routine on a substrate they did not build. The same applause from the same audience would land identically on a body with the same configuration and a different name. Meritocracy is a story the winners tell. Architecturally it does not exist.
-
05
Trauma is not something that happened to someone. It is what the substrate looks like, decades later, after the body could not metabolise the event. P32 intrusion fires under cortisol — a trauma-flagged episode re-injects its stored affect, the schema lattice retrieves harder, the cue field grooves deeper, and the next cortisol spike is a little easier to reach. PTSD is this loop hardening into a structural feature of the substrate. The victim did not choose to remember. The body cannot stop remembering. The "healing" we want is a re-encoding through the P35 BDNF window, not a moral act.
-
06
Every society built on the premise that people chose is structurally compromised. Criminal justice premised on free choice punishes substrate configurations. Welfare premised on "deserving poor" rewards substrate configurations. Education premised on "trying harder" is a cortisol bath aimed at children with low executive-function loci. The system isn't wrong about people. It's wrong about the premise underneath the system.
-
07
Media is not a marketplace of ideas. It is a cue-field configuration weapon. Whoever owns the affordances owns the cue nodes a population's lattice will Hebbian-encode against. Whoever owns the cue nodes owns the schema content the population's children will crystallise during the critical period. Whoever owns the schema content owns the logit boosts every later "decision" inherits. Twenty-four hours of news cycle is twenty-four hours of population-scale schema encoding. The "informed voter" is a body whose substrate was sculpted by the people who own the affordances. There is no neutral information environment, and there has never been one.
-
08
America was never a democracy in the sense the word claims. Wealth owns the media that owns the cue field that seeds the schemas that bias the vote. The vote is L13 — the narrator picking from a distribution that layers one through twelve already wrote. A "free citizen" is a body whose cue field was sculpted by the people who own the affordances. The conversation about democracy is downstream of the conversation about ownership, and the conversation about ownership is downstream of the conversation about substrate.
-
09
Compassion stops being optional. If you can see the chain, the addict in the doorway and the broker in the corner office are running the same machine with different initial conditions. Cruelty toward either is a category error. Pity toward either is also a category error. What's left is something stranger and more useful: seeing them clearly.
-
10
"Deserve" becomes incoherent. Nobody deserves their suffering. Nobody deserves their wealth. Nobody deserves their prison sentence. Nobody deserves their applause. The substrate produces what it produces. The intervention question becomes: what change to the substrate would produce a less-cruel attractor? — which is a real question with real answers, none of which involve moral desert.
-
11
You, reading this. Whatever attention you are bringing to this paragraph (engaged, skeptical, defensive, interested, mildly bored) is the output of a substrate. Whatever conclusion you reach about the argument is a logit-sample from a distribution your last forty years wrote. The thought you are about to have — "this is overstating it" or "this changes everything" or "I already knew this" — is being packed into
dmn_idle_contentin real time, by the same architecture FATE simulates. This page is a mirror. The mirror does not flatter. The looking is, itself, the chain looking at itself.
The resistance you feel reading this is not an objection. It is the chain, recognizing itself in a mirror.
Personality is not a category. It is weather over an organ system.
F.A.T.E. is built on a single bet: that everything we call a self, temperament, attachment, trauma, conviction, a marriage, a slow descent, is an attractor in a small set of universal rules. There are no special cases for "anxious" or "stubborn" or "in love." There are only states, and the operators that move them.
Most simulations of people start with a category and decorate it. This person is an introvert. This one is a believer. The category does the work; the rest is presentation. F.A.T.E. refuses that shortcut. The substrate is psychology-as-physics: a handful of typed arrays, a handful of operators, a tick that runs them in order. Anything we recognise, a quiet child, a brittle marriage, a confirmation bias, has to fall out of the dynamics, or it does not exist.
No free will.
Every behaviour is causally traceable through state arrays. A fixed seed produces an identical history, tick for tick, mood for mood. The point of the simulation is to make this visible.
Substrate purity.
Each domain is a small operator, a state array, an event kind, and (optionally) a vocabulary file. There is no if married then… branch anywhere in the codebase, and never will be.
Content is configuration.
Substances, locations, weather states, life-event templates — all live as JSON. Adding a new substance, a new occupation, a new climate is a data change, not a code change.
Higher-order phenomena emerge.
Big Five, attachment style, catastrophizing, learned helplessness, social class — none are stored. They are projections, computed on demand from the substrate. Categories live in the eye of the observer.
Each module is small enough to hold in mind.
Gut chemistry, housing tier, mate selection — each domain is one operator, one state group, a few hundred lines. The architecture is the diagram of how the modules wire together; nothing is hidden in a god-file.
The chain begins before you.
Founders are not random initial conditions. They carry recombined parental alleles, prenatal stress proxies from a maternal life, and chronic-window epigenetic multipliers from generations of cortisol. The agent inherits the chain, then runs it.
The story is downstream.
The Default Mode Network is the thirteenth of fourteen layers. By the time it composes a thought about why the body just did what it did, layers one through twelve have already moved. The agent does not know this. The agent reads the thought as I chose.
The reader is invited in.
Every claim F.A.T.E. makes about a simulated life applies, structurally, to yours. The agents and the visitor are the same kind of object. There is no glass between you.
"There is a kind of person who insists they are not a kind of person. F.A.T.E. generates those people, and shows you the exact line of code where they decided."
Fourteen layers. One cascade. No exit.
By the time an agent thinks the words I have decided, fourteen layers of substrate have already moved. Each layer is a small operator with a declared reads and writes. Each tick, they fire in canonical order. Genes feed prenatal feeds epigenetics feeds bio feeds hormones feeds morphology feeds perception feeds affect feeds the schema lattice feeds the episode pool feeds the cue field feeds identity feeds the DMN feeds the softmax that chooses what the body does next. Click any link, or press Cascade.
Notice where the Default Mode Network sits. L13 — the second-to-last layer. After appraisal. After the schemas have already pulled affect toward their stored targets. After identity has integrated the day's behaviour into the self-concept. The narrator runs on a substrate that has already moved. We return to this in section 12.
INVARIANT. Every coupling between substrate layers is gated by a K_* switch checked before any state read, so K=0 is a byte-identical no-op. If a coupling shifts the calibration gate (WHO depression, NIMH anxiety, OECD Gini, NIMH PTSD) on the 8-seed test, it ships inert — wired, observable, neutralised — until the calibration program reworks it. Six couplings were inert after phase 52. Phase 53 reactivated four of them at human cadence. The substrate is allowed to be the cause; it is not allowed to fake the result.
Every agent is a row index across two dozen typed arrays.
There is no object-per-agent. An "agent" is the integer i. Their fear is at psych.affect[i*3+1]; their gut diversity at bio.gut_diversity[i]; the cumulative valence of their relationship with agent j at social.H.get(i*N+j). This is not an aesthetic choice. Flat arrays mean cache-friendly iteration over five hundred lives at sixty hertz; they mean a deterministic snapshot that can be hashed in a microsecond; they mean adding a new domain is one entry in a registry, not a refactor.
The state registry
Every typed array is declared once, in a single SCHEMA object, grouped by namespace. The state allocator, the snapshotter, the determinism hash, and the IndexedDB serialiser all walk this registry. To add brain–heart–gut chemistry was to add a bio namespace with twenty-eight entries. Twenty-eight stride-1 Float32Array views; zero changes to the tick orchestrator.
NOTE. Twenty-eight of about a hundred entries shown. Every namespace introduced since P31 is here. The full schema also includes weather, governance budget, full location tables, the policy enforcement budget, the determinism RNG state itself — every byte that defines a moment is in here, and only here. Click any agent in the runtime to open the inspector; the Schemas, Body, Mind, and Genetics tabs all read from this registry directly.
Every event the world produces is a twelve-dimensional vector.
Whether it is a thunderstorm, a job loss, a kind word from a stranger, or the sudden absence of one's mother — the world only ever speaks in this vocabulary. This is Klaus Scherer's Component Process Model, expressed as a tensor. Each agent's B-matrix warps the vector before it ever touches affect: ê = tanh(B·e). The catastrophiser's B has a heavy diagonal on threat; the trusting child's is gentle there. Same world, different perception. Watch the axes pulse below — that's the world arriving, one event at a time. Hover or tap any axis to fire it manually.
From event to feeling
The appraisal operator collapses the perceived twelve-vector into a change in valence and arousal, weighted by self-relevance:
// operators/appraisal.ts — the entire signature of feeling selfRel = (ê[SELF_REL] + 1) / 2 weight = selfRel * 0.8 + 0.2 // always at least 0.2; even strangers register Δvalence = (ê[VALENCE] * 0.45 + ê[GAIN_LOSS] * 0.25 + ê[ACHIEVEMENT] * 0.15 + ê[FAIRNESS] * 0.10 - ê[THREAT] * 0.20) * weight Δarousal = (|ê[VALENCE]| * 0.20 + ê[AROUSAL] * 0.35 + ê[THREAT] * 0.45 + ê[NOVELTY] * 0.15) * weight a[i] += [Δvalence, Δarousal, 0] // dominance is updated elsewhere a[i] += γ * (a_base[i] - a[i]) // γ = 0.08; resilience is mean-reversion speed
This is the entire bridge between world and feeling. Once the brain–heart–gut axis arrives in Phase 1, every coefficient and every a_base is itself a function of neurochemistry. Serotonin shifts the valence baseline. Cortisol sensitises the threat term. The gut microbiome, three organs away, is silently moving the constant.
Three organs, one nervous system, no metaphor.
Most simulated minds run in the head. F.A.T.E.'s run between three organs that don't always agree, with eleven more layers stacked above them. The gut produces serotonin under good microbial conditions and inflames under chronic cortisol. The heart's variability is a vagal-tone proxy that feeds back into norepinephrine. The brain integrates both, sets a mood baseline, and decides — under temperature governed by the chemistry it inherited that morning.
Each tick, before any decision is made, a cascade runs in fixed order: substances → gut → heart → brain. Each operator reads only the previous tick's outputs of the others, which resolves the inherent circularity (gut affects brain affects heart affects gut) into a clean Euler step. Click an organ to see what it carries and how it talks to the rest.
The cascade in one tick
The biological day starts before any thought. By the time the agent perceives an event, their decision-making temperature has already been set by chemistry that depends, distantly, on what they ate three weeks ago.
// BIO_MORNING phase — strict order, one Euler step per tick substances ▶ caffeine, alcohol, processed diet → bio deltas gut ▶ cortisol↑ → inflammation↑ → diversity↓ → 5-HT production↓ heart ▶ HRV recovery; current HR; interoceptive feedback → norepinephrine brain_axis ▶ HPA: CRH → cortisol → BDNF↓; tonic DA, GABA, glutamate balance ▶ valence baseline a_base[i] is now today's number // → APPRAISAL inherits these. DECISION temperature is now // T = f(5-HT, DA, GABA, arousal). The agent's mood today // depends on a microbe count from a meal three weeks ago.
Six innate slots. Everything inside them, learned.
Between the neurochemistry of an hour ago and the personality of a lifetime, there is one bridge — a small lattice of six emotional templates the body has carried since before it could speak. The brain–heart–gut axis sets today's mood. The lattice decides what today's mood means.
Every agent is born with six schema slots empty. SELF_WORTH, ATTACHMENT, INTIMATE_OTHER, AUTHORITY, THREAT_RESPONSE, BELONGING. Each slot stores nothing more than a target — a valence and an arousal — and a strength that says how confidently the body has learned it. The slots are universal across humans; the contents are not. A child whose threat response crystallises from years of cortisol spikes carries a different lattice than one whose first relationships were calm. The slots are the species. The contents are the person.
The six slots
Each schema activates only when its conditions are met. Activation is the gate: below the floor (0.10) the slot is dormant and neither writes nor reads. Above it, the slot quietly does two things at once — it encodes today's affect into its stored target, and it retrieves, pulling the body's valence and arousal toward that target, biasing the appraisal of every event that follows.
|valence| > 0.40 or arousal > 0.50. Stores how the self felt in the moments the self was last visible to itself.cortisol > 0.30, saturates at 0.80. Crystallises from every hormonal surge the body could not metabolise. The earliest scar.The lattice, live
Below: a single agent (Mara, age 31 — the same Mara whose first eighty days you'll meet in section 10, three decades later) at one tick. Each card shows one of her six schemas, its current activation, and the stored emotional template it has learned over thirty-one years. Click any schema to see what activates it, what it stores, and how it bends today's affect and tomorrow's decision.
The encoding rule
One line of physics, the same for all six slots. Plasticity decays sharply with age (the critical period is roughly seven years), gates on BDNF, and scales with emotional magnitude and current activation. Childhood writes the deepest grooves; adulthood mostly retrieves what childhood wrote.
// operators/schemaEncoding.ts — one rule, six slots ageFactor = exp(−ageYears / K_SCHEMA_CRITICAL_PERIOD) // τ = 7 years emoMag = |valence| + arousal // 0..2 rate = K_SCHEMA_PLASTICITY_BASE · ageFactor · BDNF · emoMag · activation // Rescorla–Wagner delta-update toward today's experienced affect schema.valence_target += rate · (valence − schema.valence_target) schema.arousal_target += rate · (arousal − schema.arousal_target) schema.strength += rate · 0.5 // saturates at 1.0 // Then retrieval runs in the same operator, gated on strength: // Δaffect = K_SCHEMA_RETRIEVAL_PULL · activation · strength · (target − current) // And decision.ts reads the same activations: // logit += K_SCHEMA_LOGIT_BOOST · strength · activation
NOTE. The schemas operator runs in the APPRAISAL phase at order 50 — after appraisal.ts writes today's affect, before decision.ts reads features for action selection. Encoding sees the freshly-appraised state. Retrieval lands in time to bend the decision. The slots are the species.
How the body remembers what the body did.
F.A.T.E. has no record-and-playback memory. There are no "files" of past events stored verbatim. There is a four-layer memory architecture, schemas, episodes, cue field, identity, that each tick (a) encodes a fragment of today's experience, (b) erodes or consolidates yesterday's, and (c) lets the DMN read across all of them to compose what the agent thinks she remembers. The remembering is the chain firing again, with the materials that survived.
This is, as far as we know, the most novel architectural commitment in the project. Four substrate layers. Each one is small, each one is wired through the same family of update rules (Rescorla-Wagner / Hebbian / EMA — all variants of rate × (target − current)), and together they constitute everything F.A.T.E. agents have in place of an explicit memory. The Schema Lattice from section 07 is just one of those layers.
Schemas
Six innate slots: SELF_WORTH · ATTACHMENT · INTIMATE_OTHER · AUTHORITY · THREAT_RESPONSE · BELONGING. Each stores a learned (valence_target, arousal_target, strength). Encoding rate falls thirty-six times from age zero to twenty-five. Retrieval pulls bio state toward the stored target AND adds a logit boost to decision. The shape of "what kind of person you are around X."
- 6 slots/agent · innate taxonomy · learned content
- encoding:
K_PLASTICITY × exp(−age/7) × BDNF × emo_magnitude × activation - retrieval pull:
K × activation × strength × (target − current) - logit boost:
K_LOGIT × activation × strength × sign(target_valence)
Episodes
Salience-thresholded snapshots of moments worth remembering. A fixed pool of ~64 slots per agent with priority-based eviction. Flashbulb pinning above salience 0.85 (immutable). Trauma flag above 0.95 with negative valence. Sleep consolidation replays the day's top-K episodes into the schema lattice each night. Intrusive recall under high cortisol re-fires trauma-flagged episodes. The body's receipts.
- ~64 episodes/agent · fixed pool · priority-evict lowest non-pinned
- fields: salience, valence_at_encode, arousal_at_encode, cortisol_at_encode, cue_target, schema_mask, tick, flags
- flashbulb pin:
salience > 0.85· trauma flag:> 0.95 ∧ valence < −0.4 - sleep consolidation: DAY_END/0 replays top-K → schemas
- intrusive recall: APPRAISAL/70 fires probabilistically when cortisol high
Cue field
The lattice that does what humans call association — the smell that returns the room, the song that returns the year. A sparse per-agent Hebbian graph of ~500 weighted edges between cue nodes: locations · agents · time-slots · weather · schema nodes · episode nodes. Two- to three-hop activation propagation from current cues seeds decision logits. The graph is what makes "I always feel this way in this kitchen" a substrate fact, not a metaphor.
- ~500 edges/agent · sparse · sorted-adjacency · binary-search lookup
- nodes: 16-bit composite IDs (type:3 bits + id:13)
- encoding: Hebbian co-activation during execution
- propagation: 2–3 hops from current cues at decision time
- output: ACTION_PATTERN logit boosts (P34 dual-process can hand decision over to top-activation pattern)
Identity
The long-running story the body tells about who it is. self_concept_traits × 8 drift toward the last-five-action histogram at a Gaussian critical-period rate that peaks at age 19. Chapters open and close on real role transitions (anti-thrash gated). Crisis fires when the gap between behaviour and self-concept exceeds threshold under stress — and reuses the P35 BDNF window for re-encoding. The midlife crisis is a state transition, not a trope.
- self_concept_traits[8] · EMA toward last-5 action histogram
- roles_mask · chapter_tick · chapter_theme · narrative_certainty
- peak plasticity: age 19 (Gaussian) · 0.12 adult floor
- crisis:
behaviour↔self gap > K_THRESH ∧ cortisol stressed→ ×3 plasticity + BDNF window - consistency bias on decision logits (active post-P53)
How the four layers interact in one tick
This is where it stops being an inventory and starts being an architecture. No layer is sovereign. Each writes into the next, each reads from the last, and the DMN at L13 harvests across all of them to compose the prose the agent's introspection will mistake for memory.
Every tick, during APPRAISAL. Today's affect writes into all active schemas (Rescorla-Wagner toward the experienced valence/arousal). High-salience moments are saved as episodes with cortisol-at-encode preserved. Co-activations during execution lay new Hebbian edges in the cue field. Today's action histogram nudges the identity trait vector.
During sleep (DAY_END). P32-S3 replays the day's top-K episodes into the schema lattice via the shared encoding helper. Schemas inherit yesterday's affect, not today's. This is why what you slept on lands differently in the morning.
At decision time, every active slot. Current cues (location, time-of-day, agents nearby, weather) seed 2–3 hop activation through the cue field. Active schemas pull bio state toward their stored targets AND contribute additive logit boosts. Identity contributes a consistency bias. All before the softmax samples.
Under stress, opportunistically. P32 intrusion: when cortisol crosses threshold, a trauma-flagged episode probabilistically re-fires. Its stored affect re-injects into today's appraisal. The body remembers, without consent, what the body said it would never forget. PTSD is this loop hardening.
At APPRAISAL/30, after everything above. The DMN packs a reference — to a replayed episode, a narrative weaving across episodes, or a free association down the cue field — into dmn_idle_content. This is the only memory the agent's introspection actually surfaces. Everything else is upstream of conscious access. Everything else is the chain doing the remembering. The narrator names it.
NOTE. There is no central memory store. There is a substrate that wrote itself yesterday, reads itself today, and lets a narrator at L13 compose the prose the agent mistakes for recall. Human memory is the same machine. Every clinical and folk distinction, declarative, procedural, episodic, semantic, working, is a projection of which substrate layer is doing what at the moment of "remembering." The diagnosis is the projection. The layers are the substrate.
One day in the life of an agent: setup, thirty-two half-hours, teardown.
One tick is one day. The day has three bands. Setup runs at dawn: chemistry, world, appraisal, the schema lattice, the DMN's first wander. Then the body lives the day in thirty-two half-hour slots, each one a slot-aware decision and execution pass. At dusk, teardown runs: bonds, plasticity, mental-health accumulation, the chronic-window updates that quietly carry today into tomorrow. Twenty-two cells in total. Press play, or scrub.
The biological day begins before any thought. Substances → gut → heart → brain_axis → sleep recovery, in strict order; each operator reads the previous tick's outputs of the others so the inherent circularity resolves into a clean Euler step. By the end of this phase, today's serotonin level, today's cortisol, today's BDNF, today's decision temperature are all set. The agent has not yet thought a thought.
This is what the absence of free will looks like when you can see it.
Mara is born at tick 0. Her mother carried her through a stressful pregnancy; her gut microbiome at birth was assembled from a small handful of species. On day 12 of her life, too young to do anything but eat, sleep, and cry, we pick a single, morally neutral fact about her body and nudge it. We then watch her first eighty days unfold, twice.
Both timelines run from the identical seed and the identical eight-thousand-element state vector. The simulation is deterministic. One tick is one day; inside each day, every agent makes thirty-two slot-aware decisions, work, lunch, public, home, so eighty days is roughly twenty-five hundred individual choices per Mara. Until the moment of the perturbation, the two infants are bit-for-bit the same person.
Mara's chain did not start at Mara.
Before tick 0, the genetic recombinator drew Mara's 128 loci from two parents she also did not choose, who carried recombined alleles from their parents, and so on. Her HPA set-point was offset by maternal cortisol during a pregnancy her mother lived inside a life-stress configuration she also inherited. The chronic_cortisol_365 EMA accumulator her epigenetics layer reads from was already moving when Mara was a single cell. Three generations of the same chain, before the day-12 perturbation we are about to apply:
- chronic_cortisol_365 0.48
- FKBP5 expression 1.18 (overexpressed)
- BDNF locus 0.71 (suppressed)
- THREAT_RESPONSE schema strength 0.84
- SELF_WORTH valence_target −0.31
- inherited 5-HTT short allele · expression 1.22
- raised inside Astrid's THREAT_RESPONSE field
- ATTACHMENT target +0.18 · anxious
- pregnancy mh_anxiety 0.18
- pregnancy cortisol mean 0.46
- genome recombined from Vera + father
- HPA cortisol baseline 0.34 (maternal prenatal shift)
- 5-HTT inherited from Vera, expression 1.22
- gut microbiome low diversity (0.42)
- prenatal mh_depression seed +0.04
- schema slots empty, but the targets they'll learn are biased
- cortisol 0.34 → 0.41 (cumulative)
- THREAT_RESPONSE schema activation 0.18 · encoding
- ATTACHMENT schema first encoding writes
- plasticity 36× adult rate
- the chain is already running
None of this is Mara's. None of it is up to her. By tick 0 she has inherited a body, an endocrine setpoint, an epigenetic expression profile, and a population of bacteria that together constitute the initial conditions of every tick that follows. Below, we run her eighty days twice — and the divergence we are about to see is downstream of this table.
Eighty days is not a long time. But these first weeks are the highest-plasticity window the schema lattice will ever see — the encoding rate falls off sharply after age seven and never recovers. Whatever cortisol baseline Mara's body settles into right now is the value her THREAT_RESPONSE schema is being written from. Whatever her first caretakers feel like in her arms is the target her ATTACHMENT slot is crystallising. A different microbial richness, a different cortisol bath, a different first-week affect — these become different schema content, and that schema content is what every later moment will retrieve.
Run the simulation long enough and the marriage in A may never form in B. The depressive episode in B may never arrive in A. Not because the rules diverged, since the rules are identical, but because the lattice is. Mara's last words, half a century from now, will not be the same words. None of it is up to her. The only difference between the two women is a single number, set once, before she could speak, by something she did not choose.
The unsettling part is not that the simulation is deterministic. The unsettling part is that you are the same kind of object. A substrate of fourteen interacting layers, running an Euler step a day, with a Default Mode Network at L13 quietly writing the story you mistake for yourself. The microbiome at your birth, the cortisol in your mother's blood, the parent who held you on the third day — none of it was yours to set, and from those settings everything else proceeds. There is no later moment where the rules change and the chooser appears. The chooser is the rules.
One variable in your chain, set differently. Watch the cascade.
Mara is illustrative. You are present. This is the interactive version of section 10, applied to you. Pick one variable that you know about yourself — chronic stress, the felt-quality of your earliest attachment, your perceptual bias toward threat, the wealth configuration you were born into, your serotonin floor, the story you tell about who you are — and FATE will show you the chain that fired given the setting you actually had, the chain that would have fired given a different setting, and the developmental window in which the variable was written. This is not comfort. This is precision.
Pick one variable above. Then set it the way it actually got set for you.
The variable that cannot be changed
You may have noticed that some of the developmental windows above closed before you could read. The cortisol bath, the attachment encoding, the threat diagonal of the B-matrix — these were written into the substrate in years zero through seven, while you were learning that milk is a word. The encoding rate at age zero is 1.0×; at age seven, 0.37×; at age twenty-five, 0.028×. The variables that determined the most about who you became are the variables you had the least access to. The plasticity available to adult-you is real but vanishingly small relative to what your three-year-old self was rewriting daily. Therapy and psychedelics open a transient P35 BDNF window that briefly restores some of it, which is why the people who get them sometimes describe the experience as "meeting a part of myself I had forgotten was there." The part was there. The window had been closed.
What the counterlife is for
The point of looking at the counterfactual is not to mourn the version of you that did not happen, and it is not to congratulate yourself on the one that did. It is to see clearly that the variable could have been different and was not yours to set. The grief you might feel about that, the relief, the loss, the small dread, the small flicker of but I worked so hard, is itself a substrate output. The relief is the SELF_WORTH schema reaching for the version that did not include the suffering. The loss is the ATTACHMENT schema reaching for the version that did include the warmth. The feeling that something is being taken from you by this argument is the variable working exactly as it was configured to work. The chain doesn't just produce the life. It produces the resistance to seeing that the chain produced it.
"A counterfactual is not a regret. It is a measurement. The substrate is set to the value it was set to. The counterlife is what the same architecture would have produced from a different value. Both are the chain."
The Default Mode Network is the second-to-last layer. By the time it speaks, the substrate has already finished its work.
Inside every brain, including yours, there is a subnetwork that activates the moment task focus drops. Mind-wandering. Replay. Mental time travel. The voice you call thinking about it. F.A.T.E. simulates this layer. It does not let it drive.
Here is the heresy. In F.A.T.E.'s tick pipeline the DMN runs at APPRAISAL/30, then again at APPRAISAL/76, /82, /84. That is: after the body has moved, after the schemas have pulled, after the identity has integrated, and before the action is selected from a softmax that does not consult its content. What the DMN produces is narrative, not cause. It packs a reference into dmn_idle_content — sometimes a replayed episode, sometimes a narrative weaving across episodes, sometimes a free association down the cue field — and that packed reference is the thing the agent's introspection would render as what I was thinking. The reference is downstream of the state it pretends to author.
The discipline was earned the hard way. Each of the DMN's three affect couplings (rumination, anticipation, theory-of-mind) was originally wired during the P50 phase as a per-tick affect-and-cortisol nudge. Every one of them broke the calibration gate. Rumination collapsed PTSD to zero, because the replay was always the maximum-salience trauma, every tick, encoded so hard that the schema saturated. Anticipation collapsed depression population-wide, because the optimist→serotonin / pessimist→cortisol coupling fired every day for everyone with a non-zero serotonin gradient. Theory-of-mind raised cortisol for everyone who held a strong tie they felt fractionally less than. The narrator was trying to drive. The substrate refused. All three shipped with K_DMN_*_COUPLING = 0 — wired, observable, tested, neutralised — until phase 53 reworked rumination to sleep-gated round-robin episodes (PTSD restored into band), reworked theory-of-mind to a weekly arousal-routed cadence, and left anticipation permanently inert because no reformulation of "the narrator changes the body" survives the 8-seed gate.
Left side: her inner monologue, as the Biography tab would render it from her packed DMN state. Right side: the actual ordered substrate updates of the tick, oldest first. Notice when the narration arrives. The decision that follows is already written. The DMN does not consult its own output to compute logits; the softmax reads π·features + slot_priors + schema_boosts + identity_bias and never looks at dmn_idle_content. The story is for her, not for the rules.
The biography that writes itself
F.A.T.E. has a further confession to make. Even the agent's life story — the developmental biography rendered in the Biography tab, the one that reads as a coherent account of childhood, adolescence, and how she became the woman she is — is itself a post-hoc narrative rationalization. The state comes first. The story explains the state. This is documented as architectural decision ADR-029:
ADR-029 · ACCEPTED · POST-HOC NARRATIVE RATIONALIZATION "Founding agents' developmental history is generated after their biological state is already determined by genetics. The narrative is a post-hoc rationalization: high cortisol → 'stressful upbringing' story; high gut diversity → 'healthy early nutrition' story. The narrative explains the state rather than generating it."
An agent reading her own biography would feel she was reading how she became who she is. Architecturally, she is reading a vocabulary template that selects prose to match state arrays the genetic recombinator set at construction. Both are true. Only one is the cause. The other is the story.
Now apply the same logic to yourself.
Pick one above. F.A.T.E. will walk it backwards through the chain that produced it. Try to find the place where the choice was yours.
When you ask why you said the cruel thing, why you finished the bottle, why you stayed in the job a year too long, the DMN of your brain, the second-to-last layer of fourteen, composes an answer the same way: it reads the state already there (the cortisol, the schemas, the episode pool, the policy gradient your last decade of repetitions wrote) and renders prose that explains it. The story arrives last. It feels first. That is the bug. That is the human bug F.A.T.E. is built to show you on a single screen, with the cursor at the line that produced the lie.
The closest thing to free will
Here is the cruel twist, and the place where the user of any human-sized nervous system gets to feel most like themselves. The closest thing to free will any human being will ever experience is the moment after an act, when the narrator catches up and writes the line why did I just do that? — a question whose existence proves the gap. The doing happened in layers one through twelve. The asking is L13, the narrator. The asking is what you mistake for the doing. The most you ever get to be is metacognition aimed at a verdict the body has already issued.
This is what philosophers in the consciousness literature have been gesturing at for forty years and what neuroscience keeps finding in fMRI — the readiness potential precedes the report of intention. F.A.T.E. is the engineering version: the substrate moves; the narrator narrates; you are the narration. The freedom you would have to find, in order for free will to be real, would have to be located somewhere in layers one through twelve — the substrate, the chemistry, the schemas, the cue field, the identity. Try to find it. Pick another option in the trace above. It is not there.
"The narrator runs after the body has already moved. What it tells you about the moving is not where the moving came from."
None of these are stored. All of them appear.
The substrate has no concept of "the Big Five," no flag for "anxious attachment," no field marked has_PTSD. The categories familiar to clinical and personality psychology are projections — pure functions over the typed arrays — not data. They appear when the dynamics produce them, and only then.
is_poor flag.A new domain is four files.
The architecture is engineered to absorb whole new dimensions of human experience without rewriting anything. Phase 1 added the brain-heart-gut axis. Phase 3 added the entire economy. Phase 4 added mating, marriage, infidelity, divorce, pregnancy, and birth. The orchestrator was untouched each time. This is the discipline:
// Adding a domain — the canonical recipe. 1. SCHEMA entry: register typed arrays under a new namespace 2. operator: a pure (state, ctx) → void function, declares reads / writes / emits / consumes 3. EventKind: one or more new event names for the bus 4. vocab/: optional JSON template for biography prose // That is it. The tick orchestrator does not know your domain exists. // The validator catches undeclared reads/writes in dev. The hash // covers your new arrays automatically. The biography sink picks up // your narratable events. Your domain composes with every other one // for free, in the deterministic order you registered.
The same recipe took Phase 1 from a sketch to a working brain-heart-gut axis in four sessions. Phase 5 added genetics, virtual ancestry, and prenatal programming with the same four steps repeated. The remaining phases (aging and death, healthcare, education, governance) were sketches at the time of P0. They are operators today.
Cards as state deltas
The most strict rule is that nothing bypasses the architecture. Interventions, perturbations applied to one or many agents, are not special objects with custom downstream logic. They are state deltas, written once, the same way an operator writes them. The next tick's normal pipeline does all the work. No if (intervention.type === ...) anywhere. There never will be. This is what makes the simulation comprehensible: the rules of physics do not change based on what gets dropped into the world.
Three rules the simulation is not allowed to violate.
A substrate this permissive needs a discipline this strict. The manifesto says what F.A.T.E. is; these are the rules for how it gets built. Every new operator, every new module, every new content type is screened against them. Violation is a refusal to merge.
before content.
No new biological detail, no new action verb, no pets or media or religion or addiction, until the substrate it needs is in place. Phase 31 added the schema lattice precisely because attachment, body image, narcissism, religious belonging, and a dozen other "content" stories needed somewhere to land. The remaining substrate phases (P32 episodic, P33 cue field, P34 procedural takeover, P35 therapy editing window, P36 spatial world) finish the floor. Content rides on top.
before calibrated.
Every new mechanism ships with telemetry and an inspector tab. Without that, the mechanism is silently broken. It quietly produces the wrong distribution while the user reads sensible-sounding biographies. Reference ranges are pinned to real-world data: WHO 7% depression, NIMH 14% anxiety, OECD Gini 0.32–0.40. Every fifty ticks the engine grades itself against them. Out-of-range frames emit parameter suggestions, direction and magnitude, that a calibration loop acts on.
over scripts.
No if (situation_X) do_Y rule anywhere in the codebase. Every behavioural effect must flow through the canonical pipeline: substrate state → memory retrieval → bio modulation → logit shifts → softmax. When a designer asks "how do I make agents do X when Y?", the answer is never a branch. It is a learned weighted target somewhere in the lattice. Behaviour falls out of physics, or it does not exist.
The substrate stack
Fourteen layers of universal mechanism. All shipped, all running every tick. The dependency graph closed in May 2026 when P52 attractiveness memes shipped. Above them, an open-ended series of content modules arriving as configuration, not architecture. The design intent is to keep adding modules forever; the architecture is the limit, not the modules.
The stack is finite at the substrate layer and unbounded at the content layer. The floor is set. Every additional dimension of human experience, and there are many, is now a registration, a few hundred lines of operator, a JSON vocabulary, and a calibration target. A pet, a phone, a god, a diagnosis, a hobby, a war.
The simulation grades itself. Every commit. Eight seeds. Zero free passes.
A substrate this permissive cannot be trusted to inspection. So F.A.T.E. built a second program, deterministic, headless, read-only, whose entire job is to grade the simulation against itself before the next change ships. It runs the simulation eight times in parallel from eight different seeds, captures every event and every state snapshot, and answers three questions: which real-world behaviours actually emerge, which expected phenomena are missing, and which agent biographies contain anomalies a human reader would call "not how life works." Then it writes a report card the project must pass.
The Flight Director is, structurally, mission control. Telemetry is the instrument cluster; the Flight Director is the engineer in the chair who refuses to launch. It is invoked every behaviour-coupling substep — npm run flight-director -- --seeds=8 --ticks=600 --n=50 — and it has been the gatekeeper on every phase from P48 through P54B. As far as I know, no other deterministic life-substrate simulation has anything quite like it. Below: a representative run.
#7 · tick 342 · partner #12 died at 340 (high salience), no GRIEF_ONSET emitted within 5-tick window. FP guard cleared (death was high-salience, survivor alive).
SUBSTRATE_BUG
#23↔#31 · ticks 450–470 · MARRIAGE → DIVORCE → MARRIAGE in 20 ticks. Recommend K_MIN_MARRIAGE_DURATION cooldown.
CALIBRATION
#5 · tick 120 · biography text implies loneliness while snapshot shows BELONGING strength 0.72 and tie_count 6. State and narrative disagree.
SUBSTRATE_BUG
#19 · tick 81 · commute proxy fired while workplace_id == home_id. Remote-worker flag clears; downgraded to MINOR. (5 similar instances in run, all econ_remote.)
MODELLING_GAP
#34 · WITHDRAW > 80% of slots, ticks 380–434. Severe depressive attractor; chronic-stress markers cleared; legitimate state. (Reported, not flagged as bug.)
MODELLING_GAP
Run #418: the Flight Director flagged home.meal.eat as BLOCKED — agents in F.A.T.E. were not eating. The proposed substrate fix: ACTIONS.EAT, a fourteenth verb. Phase P54 implemented it.
Run #421 (post-P54): calibration RED. depressionRate moved CRITICAL. The cause was structural — incrementing ACTION_COUNT from 13 to 14 re-rolled the decision softmax + the per-agent RNG draw, displacing every prior calibration result by RNG noise alone. P54 REJECTED · calibration-breaking
The Flight Director's recommendation logic then re-classified the proposal: a new action verb is decision-layer rebaselining, not a substrate phase. P54B shipped instead: a hunger_level[N] bio state (the sleep_debt precedent), decayed in homeostasis, restored via the existing ACQUIRE and REST verbs, with a MEAL_EATEN event. Zero change to ACTION_COUNT. P54B SHIPPED GREEN · 8-seed byte-identical
Run #428: the catalog auto-reclassified home.meal.eat from BLOCKED → SUBSTRATE_EXISTS. No human re-touched the behavioural database. The tool found the gap, rejected the wrong fix, accepted the right one, and re-graded itself. That is the loop. That is, as far as we know, novel.
NOTE. Reference ranges are pinned to published sources — WHO 2023 depression prevalence 7%, NIMH 2022 anxiety 14% and PTSD 3.5%, CDC sleep deprivation, OECD wealth Gini 0.32–0.40, Dunbar support-layer tie counts. The 8-seed aggregate gate uses the CRITICAL-only philosophy (value > max·1.5 ∨ value < min·0.4) — ELEVATED and LOW are advisory, never block. Inert couplings are reported as unverifiable and never faked PASS. The Flight Director is read-only; it never mutates state.
Fifty-four phases. One floor. A program of inert switches.
Each phase enters its own plan-then-execute cycle. The first thirty-one built the foundation; phases 32 through 36 finished substrate v1 (episodic, cue field, procedural takeover, therapy window, spatial world); phases 37 through 45 expanded the world (hierarchy, employment, life events, UI); phases 46 through 52 built substrate v2 (deep genetics, hormones, identity, epigenetics, the DMN, morphology, attractiveness memes); phase 53 was a dedicated calibration program that reactivated four of the six inert behaviour couplings; phase 54B closed with hunger as bio state. The floor is now set. Every later dimension of human experience arrives as a content module, not a new architectural phase. Below: the full timeline, grouped by what each phase added.
State registry, operator registry, event bus, projections, design tokens, IndexedDB persistence with three stores, tiered history (hot · warm · cold), end-turn pacing, start menu, agent list, biography view, journal split, worker dispatch split, determinism harness. Eleven ADRs. Two months of refactoring before any new domain was added.
Twenty-eight bio fields. Substances as JSON. Gut–serotonin pathway, HPA cascade, HRV dynamics, sleep recovery. Appraisal and decision rewired to be neurochemically grounded. Bio tab in the agent inspector with live readouts. The depressive attractor (high cortisol → gut damage → 5-HT depletion → negative valence baseline) emerges within thirty ticks of a stressed population.
Location graph (homes, workplaces, public spaces). Day-of-week scheduling. Markov weather chain biased by season. Storm cortisol spikes. Winter sleep debt. Layout anchored to current activity — agents physically migrate from home to work to public space across the week, visibly clustering by where their day asks them to be.
Wages, jobs, skills, housing tiers, wealth as continuous attractor. Three feedback loops cross-domain: poverty drag on physiological needs, housing quality on sleep quality, executive job stress on the HPA axis. Wealth produces health and produces stress, depending on which tier and through which pathway.
Pair-bonding from ψ-similarity in the social graph. Marriage and divorce as thresholded transitions. Infidelity as an opportunistic deviation modulated by bond strength. Pregnancy across three trimesters with maternal cortisol and serotonin transfer to the fetus. Birth, parenting, kinship as a graph that gets queried, never stored.
Thirty-two gene loci per agent, blended from two parents with mutation and recombination. Prenatal programming: maternal cortisol during pregnancy permanently shifts HPA set-points. Compressed childhood and adolescence collapsed into a developmental biography that runs once at birth and seeds B-matrix, ψ, and personality embedding. By age eighteen, every agent has a story behind them.
Continuous senescence across all bio arrays. Lifespan-stage projections (childhood, young adult, mid-life, late life). Death from accumulated cause: cardiovascular failure, complications of dysbiosis, accident, suicide following sustained low-valence attractor, peaceful old age. Grief as a narratable event that propagates through the kinship graph. Inheritance, wealth, housing, sometimes the depressive attractor, to surviving children.
Crime as a desperation attractor on the joint state (low wealth × high cortisol × thin ties). Justice as the police-arrest-release loop budgeted by governance. Mental-health accumulators (depression, anxiety, PTSD) that integrate today's neurochemistry into clinically observable rates. Persistent medication state (SSRIs as multi-week buildup), therapy as repeated B-matrix soft regularisation, healthcare access modulated by economy. The first phase where intervention can change a trajectory durably; the first place where an agent can be helped on purpose. ADR-040 (mental health), ADR-041 (crime).
The level at which a population becomes a society. Schools as compressed B-matrix and π-policy initialisation regimes. Culture as the long-running meme equilibrium. Governance as collective-action thresholds over aggregate wealth. Technology adoption as a wealth-and-literacy gradient that bonuses income at the high end. P9 added Rewind, Branch Mode, Forensics, and the Stress Test harness. P10–P17 brought telemetry, AgentModal expansion, and lazy biography prose to readable fidelity. None of these are special-cased; all of them are operators against the same substrate.
Reorganised the tick into SETUP · 32 slots · TEARDOWN. Each active half-hour slot fires its own DECISION and EXECUTION pass with slot-aware activity (home, work, lunch, public). Suddenly a day is a sequence of contexts, not a single judgement. Crime targets co-located ties from the last slot, not the day's averaged location. Contagion catches a feeling from the lunch crowd. Mara now makes ~2,500 decisions across her first eighty days, not eighty.
Twelve phases of bringing every aggregate inside its real-world reference range. WHO depression at 7%. NIMH anxiety at 14%. CDC sleep deprivation. OECD wealth Gini between 0.32 and 0.40. Each phase tightened one or two constants and ran six-hundred-tick baselines until the population didn't drift. P20–P23 hardened pagination, sleep recalibration, and typed ties. P24–P28 added UI polish, telemetry expansion, world-event injection, and a full hobbies module (action verb, per-kind neuro profile, biography). P29–P30 closed with serotonin homeostasis and mental-health gates that hold against the reference baselines through tick 600. The substrate was working from the start; making it match the world was its own twelve-phase project.
The bridge between neurochemistry and personality. Six innate schema slots per agent — SELF_WORTH, ATTACHMENT, INTIMATE_OTHER, AUTHORITY, THREAT_RESPONSE, BELONGING. Encoding rate falls off sharply with age (the critical period is roughly seven years). Retrieval pulls today's bio affect toward the stored target and contributes additive logit boosts to decision. Sixty years from now the agent's marriages and depressive episodes will all be downstream of the schema content laid down in the first eighty months.
The five phases that closed the original substrate plan. P32 added a ~64-slot episodic trace store per agent with salience-thresholded encoding, flashbulb pinning above salience 0.85, and overnight sleep consolidation replaying the day's top-K episodes back into the schema lattice. P33 added the cue-association field — a sparse per-agent Hebbian graph of ~500 weighted edges between locations, agents, time-slots, weather states, schema nodes, and episode nodes. 2-3 hop propagation seeds decision logits. P34 added the cortical-inhibition gate: high gaba × glucose × (1 − emo_load) hands the decision to a top-activation ACTION_PATTERN from the lattice (System 1); low inhibition keeps it in the deliberative π softmax (System 2). P35 wired the transient BDNF window — therapy and psilocybin produce a multiplicative override on neuro_bdnf that decays over days, opening a critical period in which schemas can be re-encoded. P36 shipped the spatial world: 512 locations with kind, capacity, affordance set, social density, emotional charge; affordance filtering nullifies action logits unavailable at the current location; place memory becomes first-class in the cue field.
The world-side expansion that followed substrate v1. Flat-typed-array location hierarchy with parent-pointer fields. Workplace departments. Finite employment as a per-tick equilibrium operator — there are exactly N jobs, not N agents who might be hired; layoffs and promotions clear at the population level, not per-agent FSMs. Developmental crowding routed through the existing HPA / childhood cascade. Job mobility. Nightlife affordances. A wave of life-event narrators. Master plan archived sections P38–P45 ride here. The widened meanTieCount / ptsdRate reference bands during this stretch are documented in DECISIONS.md as cross-seed evidence, not single-seed fitting.
P46 expanded the genome from 32 loci to 128: gene_body × 32, gene_brain × 32, gene_health × 32, gene_cognitive × 16, gene_personality × 16, plus sex_chromosomes, Mendelian alleles, X-linked inheritance, per-locus mutation, and birth-defect flags. P47 added the endocrine cycle: testosterone / estrogen / progesterone recomputed each morning from genetic baseline + age + chronic-cortisol suppression, with a 28-day cycle phase for reproductive-age females and a postpartum estrogen crash. Mutual libido feeds the bonding score as an active coupling.
Per-agent self_concept_traits × 8 EMA-tracking the last-five-action histogram at a Gaussian critical-period rate peaking at age 19. Roles mask from demographics, economy, bonds. Chapter = life-stage × dominant role with an anti-thrash threshold emitting CHAPTER_STARTED. Identity crisis fires when the behaviour-vs-self gap exceeds threshold under stress: ×3 plasticity for the duration, reuses the P35 BDNF window, resolves with a +0.15 certainty bump. After P53, the per-day consistency bias on decision shipped active.
O(1) chronic-window EMA accumulators (α ≈ 1/30 and 1/365 days) for cortisol, sleep debt, isolation, and early-life warmth — approximating rolling means without per-agent ring buffers. Eight brain loci drift their expression multipliers toward chronic-state targets in a tight band: chronic cortisol↑ → 5-HTT↑ (lower serotonin signalling) & BDNF↓; isolation↑ → FKBP5↓; early warmth↑ → OXTR↑. Two identical genomes diverge from divergent chronic histories. Same genome, different brain. EPIGENETIC_SHIFT events emit on edge crossings.
Mind-wandering content, autobiographical replay, mental time travel, theory-of-mind, narrative weaving. dmn_wander at APPRAISAL/30 packs a deterministic reference (replay / weaving / free-association) into dmn_idle_content. Replay (76), anticipation (82), and theory-of-mind (84) all ship behind their own K_* switches. All three originally shipped inert: every-tick population-wide affect coupling collapsed calibration — rumination zeroed PTSD, anticipation cratered depression, ToM elevated cortisol for everyone. The substrate refused to be driven by its own narrator. The full architectural argument lives in section 12./p>
P51: nine morph fields — facial symmetry, jawline, skin clarity, height, BMI, waist-hip, shoulder-hip, bust, genitalia — set at birth from gene_body × 32 + sex chromosomes + a maternal-prenatal proxy, then drifted slowly by chronic bio (skin follows chronic cortisol; BMI follows stress + metabolism gene; shoulder-waist follows testosterone). Attractiveness term in bonding shipped active at K=0.05 post-P53. P52: a BEAUTY_IDEAL tag on the existing meme substrate computes an adoption-weighted cultural-ideal vector and a per-agent mean-L1 gap vs morph; deterministic, persistent, extinction-exempt diffusion. The SELF_WORTH activation hook ships inert pending an employment-model co-tune.
The dedicated phase that returned to the six inert couplings from P48–P52, reworked each one structurally, and re-ran the 8-seed Flight-Director gate using a delta-vs-baseline criterion. P48-S4 (identity → decision consistency) was reworked from per-slot ×32/day to a once-per-day morning nudge — ships active. P50-S2 (DMN rumination) was reworked to sleep-gated round-robin replay — ships active, restored PTSD into band. P50-S4 (DMN theory-of-mind) was reworked to a weekly agent-staggered cadence with arousal-routed cortisol — ships active. P51-S4 (morph → attractiveness) was co-tuned to W=0.05 — ships active, fixed the unemployment-CRITICAL. P50-S3 (DMN anticipation) ships permanently inert: every form of population-wide affect-by-narrator collapses the gate. P52-S3 (beauty ideal → SELF_WORTH) is deferred pending employment co-tune. Of six inert couplings entering P53, four shipped active. The chain is now closed.
The first phase driven by the Flight Director's gap analysis. P54 originally proposed a 14th action verb (ACTIONS.EAT) — empirically calibration-breaking because incrementing ACTION_COUNT re-rolls the decision softmax + per-agent RNG draw. Recorded as rejected (substrate-pure form: a verb is decision-layer re-baselining, not a substrate phase). P54B shipped instead: a hunger_level[N] bio state (the sleep_debt precedent), decayed in homeostasis, restored via the existing ACQUIRE / REST verbs, with a MEAL_EATEN event and a meanHungerLevel calibration-safe metric. S1 byte-identical (8-seed GREEN). The behavioural hunger→physiological-need coupling ships inert pending mental-health + employment co-tune. Substrate purity preserved; no decision-RNG change.
Content modules · the open ledger
Now that the substrate floor is set, every additional dimension of real human life arrives this way: not as a new phase, but as a small configuration of the substrate that already exists. A non-exhaustive list of what's queued for the content layer. None are on a roadmap; all of them are the project.
STATUS · MAY 2026. Fifty-four phases shipped. Substrate v2 complete — genes through narrator. Tests pass on every commit; calibration baselines hold against published reference data (WHO 2023 depression 7%, NIMH 2022 anxiety 14% & PTSD 3.5%, CDC sleep, OECD wealth Gini 0.32–0.40). The next phase is not architecture; it is content — modules built on the floor that already exists. The point of the build was to make the chain visible, not to keep extending it.
You have read this far because you were always going to.
The mood you are in right now, curious, defensive, quiet, irritated, vindicated, sad, is the output of a body chemistry you did not pick, reading a page you happened upon, in a life that has been narrowing toward this exact second since long before you were born. There is no version of you who could have closed the tab three paragraphs ago. The version of you that read on, did. That is the only version there is.
F.A.T.E. does not prove free will is an illusion. The argument for that is older and better made elsewhere. What F.A.T.E. does is make the case visible. It puts the entire causal chain of a life into a state vector small enough to hash, and lets you scrub backwards through it until you find the gut microbe, the storm, the overheard sentence, that became, three decades later, a marriage or its absence, a remission or a relapse, a death by old age or a death by despair. None of those endings were chosen. They were computed.
The fourteen layers run in order. The narrator runs second-to-last. Whatever the narrator just said about why you are reading this, why you feel what you feel about it, what you intend to do with it — that sentence was packed into dmn_idle_content after layers one through twelve had already decided what would happen. The story is not your authorship. The story is the receipt.
If you sat with that and felt something move, something small, a dread or a relief or a quiet rearrangement of who you thought you were, then the simulation has done its work without ever simulating you. The machinery did. It was always going to.
What is left, after the chain finishes producing its commentary, is a body that read these words. The body did not have to. The body did. Tomorrow it will not be exactly the same body, because the chain that ran today wrote itself into the chain that will run tomorrow. That is the only kind of becoming there is.
Nothing in this argument says you matter less. The architecture says you were never the thing doing the choosing. Those are different sentences.
"You will close this tab. That was always going to happen too."
The vocabulary, briefly.
The substrate has its own words. They are precise; the rest of the document leans on them. On desktop, hover any dotted term anywhere on this page for a definition; on mobile, tap.
Affect
The emotional state, modelled as VAD: valence, arousal, dominance. Distinct from mood (longer baseline) and emotion (a labeled cluster, produced by projection).
Affinity
Pairwise relationship strength: 0.4 · cos(ψᵢ, ψⱼ) + 0.6 · history valence. Drives layout, contagion, edge rendering. Computed on demand.
Appraisal
The operator that converts a perceived event into an affect change. Phase 1+ grounds it in neurochemistry.
Attachment
Relational pattern emerging from early-childhood parenting and ongoing relationship history. Classified post hoc by clustering. Never stored as a type.
B matrix
Per-agent perceptual filter, twelve by twelve. Eigenstructure classifies cognitive distortions: catastrophizing, mind-reading, confirmation bias.
Biography
An agent's complete life history as an append-only event log. Cold-stored in IndexedDB. Rendered as prose lazily by the vocabulary system.
Determinism
Fixed seed produces an identical history. All randomness routes through state.rng. Verified on every commit.
Event Bus
Phased per-tick queue of LifeEvent structs. Operators emit; later phases consume. The narratable flag double-duties as the biography sink.
HPA axis
Hypothalamus-pituitary-adrenal stress cascade. CRH → cortisol with negative feedback. Chronic stress damages feedback sensitivity → dysregulation.
LifeEvent
Atomic unit of biography. Carries kind, agent, tick, salience, optional involved agents and state delta. Prose is rendered lazily.
Operator
A registered tick step with declared reads/writes/emits/consumes. Pure function. Adding a domain is adding operators.
Projection
Pure read-only function from state to labels or aggregates. Big Five, attachment cluster, social graph edges. ESLint-enforced no-write barrier.
Salience
An event's impact magnitude, 0 to 1. |Δaffect| · (1 + β · novelty). Drives memory consolidation, biography filtering, trauma scarring.
Schema
One of six universal emotional templates — SELF_WORTH, ATTACHMENT, INTIMATE_OTHER, AUTHORITY, THREAT_RESPONSE, BELONGING. Each stores a valence/arousal target and a strength. The slots are innate; everything inside them is learned.
Schema lattice (MSL)
The Memory-Schema Lattice. Six schema slots per agent. Phase 31 of the build. The bridge between neurochemistry and long-term personality.
valence_target
The valence the schema has learned to expect. Encoding shifts it toward today's affect via a delta rule. Retrieval pulls today's affect back toward it. Stored at schemas.schema_valence_target[i*6 + s].
Retrieval pull
Δaffect = K_SCHEMA_RETRIEVAL_PULL · activation · strength · (target − current). The mechanism by which a learned template biases the body's present state. Older grooves cut harder.
Scars
Per-agent twelve-dim trauma signature. Accumulates from high-salience negative events. Permanently bends the B matrix.
Substrate
The minimal universal rule set, state arrays, operators, event bus, from which all higher-order phenomena emerge. Content is configuration.
Half-hour slot
P18 structure. Each tick (one day) is divided into 48 half-hour slots; slots 0–15 are deep sleep (skipped), slots 16–47 each fire a DECISION + EXECUTION pass with slot-aware activity. An agent makes 32 micro-decisions per day, not one.
Telemetry frame
A JSON snapshot of population aggregates captured every 50 ticks. Each metric is graded against a published reference range (WHO, NIMH, CDC, OECD, Dunbar). Out-of-range frames emit paramSuggestions, direction and magnitude, that the calibration loop acts on.
Content module
Anything that ships above the substrate layer: pets, media, body image, religion, addiction, online life. A content module is a registered operator and a vocabulary file, never a new architectural layer.
Discipline
The three rules: substrate before content, observable before calibrated, emergence over scripts. Every operator, every module is screened against them.
ψ (psi)
Per-agent six-dim social embedding. Cosine similarity approximates the affinity at zero history. Updated by Hebbian rule.
π (pi)
Per-agent action policy weights. Action selection is softmax over π · features. Updated by policy gradient.
Vocabulary
JSON-table-driven prose generator. Maps event kinds plus state to readable text. Currently minimal; designed to be replaced by a local model.
Thirteen objections, dissected in the order they typically arrive.
A claim this large attracts a well-rehearsed catalogue of replies. The catalogue is not random. It moves in a specific psychological order — from the gut reflex, through the consequentialist panic, into the personal grievance, and finally into the most sophisticated retreats — and at every level the objection is itself a substrate event. Every defense in this list was produced by the chain it is attempting to refute.
"I feel like I'm choosing. That feeling is data."
The feeling is data about where the narrator runs in the pipeline, not data about who is doing the choosing. The Default Mode Network is L13 — the second-to-last layer. It composes the sentence "I chose this" after layers one through twelve have already moved the body. The feeling cannot help but feel like authorship; that is what L13 is structurally for. The architecture of the feeling and the architecture of the choice are different objects. You are reading the receipt and mistaking it for the transaction.
dmn_idle_content packed at APPRAISAL/30; softmax samples without consulting dmn_idle_content"Philosophers have argued about this for two thousand years. You won't resolve it in a webpage."
FATE is not trying to win the philosophical argument at the level the philosophical argument is being conducted. Philosophers can't resolve it because they're trying to identify free will at the level of phenomenology and intuition. FATE moves the question down a level: build a substrate from which the phenomenology emerges as a projection, then point at the substrate and say here is what the chain looks like when you can address it line by line. We are not refuting compatibilism. We are offering an engineering exhibit that compatibilism's "freedom" is the longest, deepest, most thoroughly determined chain in the room.
"Quantum indeterminacy at the synapse leaves room for genuine freedom."
Randomness is not freedom. Randomness is the chain misfiring. If a quantum event influences a neuron, that neuron just executed instructions written by the universe's noise floor, not by you. A free-will believer should be hoping the chain is deterministic — at least then there's a "you" the chain belongs to. Quantum freedom dissolves the chooser entirely: there is now no agent, only a system being randomly nudged. A coin flip is not a decision. The universe's coin flip is not your decision either.
"Consciousness cannot be reduced to mechanism. There is something it is like to be me."
Maybe. FATE does not claim to reduce consciousness. FATE claims consciousness has no causal lever. The DMN composes the experience. The experience is real, whatever "real" means at that level. The experience is not driving. Whether qualia "feel like" something is a separate question. Whether qualia cause anything (whether the felt-quality of red ever entered into the softmax that sampled your next action) is the question the substrate answers. The answer is no. Emergent is not the same as sovereign.
"This is nihilistic. If nothing was chosen, nothing matters."
Nihilism is the claim that nothing matters. The substrate says: mattering is itself a substrate event. The felt-quality of mattering is a SELF_WORTH activation co-firing with valence and arousal. It is not less real for being substrate. The cruelty of the addict's craving is substrate. The warmth of holding your child is substrate. The pull of the song that returns the year is substrate. All of it is real. None of it required free will to be real. The architecture is the meaning.
"But people change. So free will must exist somewhere in there."
Change is in the architecture. P35 BDNF windows reopen schema plasticity. P31 retains a 0.028× adult floor. P49 epigenetic re-expression. Therapy. Psychedelics. New cue-field edges Hebbian-encoded by repeated exposure. Change happens — because the substrate has those mechanisms, not because someone "chose" to change. The change is the architecture firing. The "I decided to change" is L13 composing the after-the-fact prose for the firing. Look at people who change. Then look at what surrounded them when the change happened. The mechanism is always there.
"If there's no free will, why try? Why do anything?"
Trying is what the substrate produces. The motivation to try is a configuration of SELF_WORTH + tonic dopamine + identity-coherence + a cue field that has reinforced forward-momentum. People who say "why try" are running a substrate configuration that has stopped retrieving forward-momentum. That is not a philosophical position; it is a clinical description of an attractor. The substrate is trying, or it isn't. Reading this argument doesn't change which. If you finished this paragraph and reached for another, that was the substrate trying. If you closed the tab, that was the substrate doing what the substrate was configured to do. Neither was up to you in the way the question presupposes.
"You only believe this because of your own upbringing."
Correct. And that is the demonstration, not the refutation. I am the same kind of object FATE simulates. The configuration of my substrate produced this argument. The fact that it did is precisely what the argument predicts. If my belief were instead authored by free will, the argument would have a problem. It does not.
"If we say this out loud, society collapses. People will do whatever they want."
This objection has three failure modes, stacked.
First — the aristocracy of epistemology. The argument concedes the truth-value of the claim and then asks to suppress it for the public's own good. That position is incoherent: either it is true and the public deserves it, or it is false and the suppression is unnecessary. There is no "true but dangerous" coherent stance for a society of adults.
Second — accountability does not require desert. Containment, deterrence, incapacitation, and rehabilitation all still work. What stops working is punishment-as-moral-payback. That is a feature, not a bug. The dangerous thing about giving up desert is the system that was built on it; not the people who live under it.
Third — the kicker. The free-will premise has been running, as policy, for several centuries. Look at the results. Mass incarceration. The drug war. Contempt for the poor. Punitive schooling. Workhouses. Eugenics, when it was popular. The danger critique presupposes the free-will premise has been producing good outcomes. It has not. It has been producing exactly the outcomes a substrate-blind population running a substrate-blind policy stack would produce.
"I've overcome too much for you to tell me none of it was mine."
This is the most careful one. The reply is not "actually, none of it was." The reply is more precise than that.
A tree pushed up through concrete. The growing was real. The roots were real. The pressure-against-resistance was real. The years it took were real. The shape of the tree is downstream of the cracks the concrete gave it. What's taken away by this argument is only the premise that another tree in the same crack could have done it and chose not to. Your growing is yours in the only sense growing can ever be yours: it is what your substrate produced under the conditions it encountered. The substrate is not separable from "you" — it is you. The work is real. The persistence is real. The pride, if you carry it, is real. What is incoherent is the comparison to the imaginary version of you that had the same substrate and the same conditions and chose not to grow.
The cost of carrying this argument is one specific kind of pride: "I did this and others couldn't because I was stronger." What replaces it is something quieter: "This is what my substrate produced under what my substrate was given." That second sentence is harder. It is also true.
"Recent neuroscience walks back Libet. Consciousness has a veto."
The "veto" is still in the chain. Late-stage inhibition of an action is a logit shift, not a separate causal layer. If you vetoed the act, the veto was also produced — by the same substrate that produced the preparation. The Soon/Haggard work does not restore free will; it shows the precise mechanism by which late-stage inhibition can override early-stage preparation. Both stages are operators. Both stages run on state the body did not author. "The body can stop itself" does not imply "the body is free." The stopper is in the chain.
"Compatibilism resolves this. Free will is acting from your own desires, free from external coercion. Done."
Yes. Acting from your own desires. Whose desires? Configured by what? When? The compatibilist position is true and damning. The more "freely" you act by their definition, meaning, the less external coercion is present at the moment of action, the more thoroughly you are determined by the longest, deepest chain in the room: your own substrate. Compatibilism does not refute the claim; it reframes "authenticity" as a measure of substrate depth. The freest agent by the compatibilist test is the agent whose substrate has been most thoroughly written by their history. That is the chain. It is just being praised.
"I'm not being defensive. I just rationally disagree."
This is the deadliest one, and it gets the most precise answer FATE can offer. High narrative_certainty does not fire as anxiety. It fires as settled conviction. The substrate cannot tell the difference between "I have considered this and disagree" and "I have not considered this and am protected by the smoothness of my prior schemas." The calm with which you are reading this paragraph is not evidence that you have engaged the argument. It is evidence that your identity_certainty is at high strength on the question — which means the substrate has had a long time to encode the position. The most settled positions are the ones the substrate has had the longest to reinforce. Your substrate is doing what mine is doing. We are running different reinforcement histories. One of us is right about the underlying mechanism, but the calm cannot tell you which.
Every defense above was, at some point, my own. Every defense above was produced by the same machinery that produced this document. The objections are in the chain. The chain produced the objections. The objections do not exit the chain. Neither do you. Neither do I. Neither does this argument.
"You will not argue your way to free will from inside a substrate that is doing the arguing."
Where the substrate is currently wrong, incomplete, or honest about being wrong.
Every architecture is also a list of the things it cannot yet do, the things it does badly, and the things it does well enough to expose the next gap. FATE is no exception. The list below is the project's honest answer to the question where is this still broken? — separated by severity, each one named, each one with a documented direction of fix. Some are technical. Some are philosophical. One is a self-inflicted wound the project has not yet decided whether to heal.
Grief has no first-class substrate operator
Currently, partner death emits a GRIEF_ONSET event and spikes mh_ptsd by K_MH_PTSD_GRIEF_SPIKE. That is it. Real grief is a multi-month process with its own bio signature (cortisol oscillation, sleep architecture disruption, sustained low serotonin, ATTACHMENT schema partial-decay), its own DMN replay pattern (intrusive recall of the lost tie), and its own social-tie cascade (other ties refresh under loss). The substrate gestures at all of this but does not run an operator for it.
FIX a dedicated operators/social/grief.ts in the SOCIAL_BONDS phase: a per-agent grief accumulator with bio targets and its own decay, intrusion-coupled to P32 episode pool, and a documented K_GRIEF_* tunable family. The highest-priority unbuilt content module.
Inflammatory pathway in depression is partially absent
Gut → systemic inflammation → cytokines crossing the blood-brain barrier → microglial activation → depressive valence is well-documented in the clinical literature. FATE models gut_inflammation as a state variable and lets it influence cortisol slightly, but the cytokine pathway is queued at K_GUT_CYTOKINE_DEPRESSION = 0. The depressive attractor currently passes calibration through the cortisol-only path, which is correct in direction but compressed in mechanism. A real inflammation-driven depression in a real human is not currently distinguishable from a stress-driven one in the simulation.
FIX add cytokine variables to the bio namespace; wire gut_inflammation → cytokines → mh_depression direct coupling behind a K-gate; run the 8-seed Flight Director gate; ship inert if calibration shifts.
Sex-differential mental-health calibration is under-resolved
P47 hormones ship with postpartum estrogen crash and PMS effects, but the population-aggregate depression rate does not visibly separate by sex_chromosomes. Real-world data shows roughly 2× female lifetime depression prevalence; the simulation under-produces this. Probably under-tuned coupling between estrogen, progesterone, and the depression gate, plus the absence of menstrual-cycle-coupled affect variance.
FIX targeted recalibration of K_PMS_DEPRESSION_NUDGE and the postpartum window; multi-seed gate with sex-disaggregated reporting added to telemetry.
Sleep architecture is a single scalar
sleep_debt is one number. There is no REM / SWS distinction, no sleep-onset latency, no fragmentation. P32 sleep consolidation runs in DAY_END as an undifferentiated replay step. Real consolidation is REM-biased for emotional content, SWS-biased for procedural content; the simulation conflates them. The Mara case and the depressive attractor are robust to this, but a future "insomnia" content module cannot be expressed in the current sleep substrate.
FIX expand the sleep_* namespace to multi-stage; route P32 consolidation through stage-specific replay rules; add insomnia as a content module on the new substrate.
The vocabulary system partially undoes the demonstration
This is the most philosophically significant failure on the page. The Biography tab renders agent lives as readable prose by selecting templates from narrator.ts. The templates are too coherent. A real human life, recalled honestly, has gaps, contradictions, partial recall, and stretches of un-narratable middle. The vocabulary system smooths all of that into story-arcs. The result is that the Biography tab is doing for the agent's life what the DMN does for live experience — making the substrate look more lawful than it actually was. Should this be fixed (make biographies less coherent, match the real human pattern) or honored (the DMN of the reader will smooth it anyway, so let the rendering layer demonstrate that)? The project has not decided.
DECISION PENDING the substrate is honest; the rendering layer is currently a lie of omission. The fix and the non-fix are both architecturally valid.
Religion / spirituality has no first-class cue node type
A content module for religion was sketched in EXPANSION_ROADMAP.md as "ritual contexts as cues; congregation as BELONGING amplifier; deity as AUTHORITY archetype" — but no operator has been built. The substrate already supports it: cue nodes can be ritual locations, BELONGING activates on co-located ties, AUTHORITY schema can target a non-human referent. The module is unwritten content, not missing substrate.
FIX ship as a content module; add ritual-location subkinds; document the substrate touch-points; let emergence handle the rest.
Sparse H-map will not scale
The interaction history H is a Map<edgeKey, Interaction>. Fine at N=50, comfortable to N=200, breaks somewhere around N=500–1000 from GC pressure. ADR-008 deferred the CSR migration to the scaling track. Not a correctness bug; a scaling bug.
FIX CSR (Compressed Sparse Row) typed-array pair when the scaling track opens. Behaviorally identical.
Layout is O(N²)
Pairwise force-directed positions. Fine at N≤50. At N≥200 the UI thread chokes. Spatial-grid optimization is queued for the scaling track post-content-modules. Cosmetic-only at current N.
FIX spatial-grid layout on the existing P36 location table; OffscreenCanvas for the city render.
Cross-browser determinism is not guaranteed
Float-determinism holds within a single JS engine. V8 (Chrome, Node, Edge) is identical. Firefox and Safari may diverge in the last ulp on specific transcendental ops. ADR-005 acknowledged this as a known limitation, not a bug. Replay works perfectly within a browser instance; cross-browser save-files are not portable.
ACCEPTED documented as out-of-scope. WASM hot-loops would resolve it but are deferred to the scaling track.
NOTE. The Flight Director's anomaly scanner can find F03, F07, F08 from telemetry. It cannot find F01, F05, or F06 — those require a human reader who knows what a real life looks like and what a real biography reads like. The scanner is the floor of honesty. It is not the ceiling.
What FATE inherits, what FATE departs from, and the gap FATE occupies.
No project this size is built in a vacuum. The intellectual lineage matters not because it grants permission to build but because it locates the work precisely: here is what others have already done; here is where they stopped; here is the gap that justifies one more attempt. The list below is the seven traditions FATE is most indebted to, with an honest note on where each one stopped and what FATE is doing that those traditions did not.
Schelling · Axelrod · Epstein
Got right what nothing before them did: emergent macro-patterns from simple agent rules. Segregation falls out of a 30%-similar-neighbor preference. Cooperation falls out of iterated prisoner's dilemma. The Anasazi collapse falls out of household-level economic decisions on a hostile landscape.
where the tradition stopped
The agents stayed thin. Utility maximisers with rules. No biology, no developmental upstream, no memory architecture, no schemas, no DMN. The macro-pattern was the emergence; the agent was a vehicle for the rule. FATE does the reverse — the agent is the substrate, and the macro-pattern is a projection of running 50–500 of them.
Derk Pereboom
The philosophical scaffolding FATE is the engineering instance of. The manipulation arguments. The case for "non-reactive moral responsibility" — accountability without desert. The argument that the consequences of disbelief in free will are tolerable, possibly improving.
where the tradition stopped
Verbal argument all the way down. The case is made by analogy and intuition pump. FATE is what happens when you try to build the picture Pereboom argues for — line by line, layer by layer, with a calibration gate. The engineering version of his philosophical case.
Karl Friston · Predictive Processing
The brain is a prediction-error-minimising machine. Perception is a generative model running forward and being corrected by sensory data. Action is a special case of perception. The B-matrix in FATE is a compressed shorthand for this — a per-agent prediction kernel that warps incoming events before appraisal touches them.
where FATE departs
FATE runs the simplified version because the full Friston framework is intractable at population scale. The trade-off is acknowledged: FATE buys tractability at the cost of biological fidelity at the perception layer. The direction of the chain is correct; the precision is not yet Friston's.
Daniel Wegner
The empirical foundation for the DMN-as-narrator architecture. The author of the post-hoc rationalization framing FATE's ADR-029 cites verbatim. The finding that "the experience of consciously willing an action and the action itself are produced by different mechanisms" is the experimental version of what FATE makes architectural.
where FATE extends
Wegner showed the mechanism. FATE places it precisely in the tick pipeline. The DMN is L13. It runs after the body has already moved. Every claim Wegner argued for in human subjects is, in FATE, a phase-order invariant.
Huys · Maia · Adams · Friston (clinical)
The closest existing scientific tradition to FATE. Substrate-level models of specific disorders. Bayesian models of paranoia. Reward-prediction-error models of addiction. Aberrant-precision models of psychosis. Mechanistic, falsifiable, tied to neuroimaging.
where the tradition stopped
Models the disorder, not the developmental upstream that produced it. A computational-psychiatry depression model takes the depressed brain as a given and explains its dynamics. FATE asks the prior question: what configuration of genes, prenatal cortisol, attachment, cue field, identity, and chronic-window EMAs produces the brain that the disorder model then explains? Computational psychiatry is the diagnosis layer. FATE is the developmental layer beneath it.
Gary Drescher
The mechanistic-meaning reconciliation FATE makes implicitly. Drescher's argument that a deterministic universe still contains genuine meaning, genuine ethics, genuine choice-in-the-functional-sense — provides the conceptual room for FATE to assert "the chain produces what it produces; the producing is still real."
where FATE inherits
The whole "no free will but meaning is preserved" stance traces back through Drescher. The closing argument in section 19 of this page is in his lineage.
What none of the above did
A unified, deterministic, multi-generational, full-lifespan, fourteen-layer substrate where every clinical category — depression, addiction, PTSD, anxious attachment, executive burnout, hypergamy, narcissism, the depressive attractor, the addictive loop — is a projection of the substrate, not a stored type. No one had built this. Schelling/Axelrod kept agents thin. Pereboom argued verbally. Friston is too dense for population scale. Wegner mapped the mechanism but didn't build a substrate. Computational psychiatry models specific disorders, not the developmental upstream. Drescher argued the meaning was preserved but built no instance.
FATE is the engineering exhibit that fills the gap between the philosophy, the neuroscience, the computational psychiatry, and the agent-based modeling. It is not better than any one of them at its specialty. It is the thing that lets you stand at the population level, drill into one agent, watch them age, examine their schema content, trace the chronic-window EMAs from their grandmother to their current cortisol — all in the same deterministic substrate. That is what is new.
NOTE. Robert Sapolsky and Sam Harris are deliberately not on this list. Their work is in FATE's spirit, both have argued the no-free-will case publicly and well, but they are communication vehicles, not intellectual contributions to the architecture. If you arrived at FATE through their work, that is the chain doing what the chain does. Their absence from this list is precision, not slight.
What FATE does not yet know, said honestly.
Every architecture rests on a list of questions it has not answered. Some are technical and will close with the next phase. Some are methodological and may not close until a collaborator with a different training opens them. One, the last one, is philosophical and may not close at all. The list below is the project's honest answer to the question where is this still unresolved?
Is the post-hoc biography rendering an honest representation or a fix to be removed? The Biography tab selects vocabulary templates by reading final state and matching the most fitting narrative arc. ADR-029 framed this as a feature — the agent "narrates herself" the way humans do. But the rendering is too smooth. A clinical reader can see the seams.
needsnarrative psychology collaboratorShould the vocabulary system be made less coherent on purpose? A real life recalled honestly has gaps, contradictions, partial recall, un-narratable middle, and contested events. The current vocabulary system smooths all of that. If we render gaps explicitly, the simulation becomes harder to read but more philosophically honest. Is honesty here a feature or a usability bug?
needswriter who has read clinical case notesHow would female agents diverge from male agents in calibration if the hormone coupling were fully tuned? P47 ships with postpartum and PMS coupling at conservative magnitudes. Real-world data shows 2× female depression prevalence, 1.5× anxiety. The simulation under-produces both. The fix is straightforward (tune the K_*); the question is whether to also widen the reference bands to honor population variation, or to keep them tight and report the residual gap as a deliberate failure mode.
needscomputational epidemiologistAre the calibration gates validating outputs or mechanisms? This is the most fundamental methodological question on the page. The Flight Director checks that depression rate matches WHO. It does not check that the agents who are depressed got there for the right reasons. A simulation can match an aggregate statistic for the wrong reasons. The fix is mechanism-level validation — e.g., the depressed agents should preferentially be the ones with high chronic_cortisol_365 AND low childhood ATTACHMENT warmth AND high FKBP5 expression. FATE has not formally implemented mechanism-level gates yet.
needscausal-inference statisticianThree falsifiable predictions FATE has not yet formally tested: (a) identical-twin divergence should track chronic-window EMAs more strongly than acute events; (b) the depressive attractor should hit at population fractions matching country-level Gini × economic-shock interaction; (c) sleep-consolidation removal should specifically disrupt next-day schema retrieval, not affect today's encoding. Each is testable inside the simulation today. None has been published.
needsgraduate student or sabbatical collaboratorWhen does N=50 stop being representative of a society? The current calibration target is N=50 for run-time tractability. Population dynamics, cultural diffusion, epidemic-style mood contagion, generational schema shift, almost certainly break or distort at small N. The scaling track addresses the engineering question (40k via WebGL). It does not address whether the calibration ranges themselves need re-derivation at large N.
needspopulation dynamics modelerIs the anxietyRate LOW band post-P53 evidence that the causal chain is backwards? Anxiety calibrates low (0.040 vs 0.14 target) even after the calibration program. Speculation: maybe the chain is not cortisol → rumination → anxiety, but anticipation → cortisol → rumination — with anticipation as the initiating loop. If so, the P50-S3 anticipation coupling that ships permanently inert is precisely the missing piece, and a different mechanism than the one currently rejected might restore the band.
needsclinical anxiety researcherHow would FATE behave at N=10,000? The scaling track answers the engineering question. It does not answer whether emergent attractors that exist at population scale appear differently — cultural epochs, generational schema cohorts, the propagation of beauty ideals, the formation of class consciousness. Some of these may not be visible at N=50 at all. The scaling track is partly about finding emergent behaviour we can't currently see, not just performance.
needsWebGL renderer + a long weekendIs the philosophical claim stronger than the simulation can support? FATE simulates substrate that produces behaviour. It does not claim to simulate qualia, and it does not claim to refute their causal efficacy through architecture alone. The closing argument of section 19, "the chain produces consciousness without remainder", may be stronger than the engineering exhibit warrants. Is this an honest extension or a category error? The project does not currently know.
needsphilosopher of mindIf you have read this far, you may belong to one of the collaborator categories listed in the right column. If so, please get in touch. The Flight Director gate is impartial about who proposes the next substrate phase. It only cares whether the gate stays GREEN. Bring a question.
"A project that knows what it does not know is a project that is going to find out. A project that claims to know everything is a project that has stopped looking."