MOLECULAR CODING DREWLESS · 7-SLF · OMNISOFT v4.0 · a5 RULES30 SYSTEMS13 VERBS26 HORMONES31 STATES47 SYNAPSES255 SENSORS256 ⛏ LIQUA WIN0/0 CALM --:--:--
§0 ▸ MOLECULAR OS · TABLE OF CONTENTS landing window · click any section to open
MOLECULAR CODING · v4.0 · a5 · BEST PRACTICES · ± PROD
30 rules · 13 body systems · 26 verbs · 31 hormones · 47 somatic states · 255 synapse slots · 256 sensor slots · 256 antibody slots · 5 immune layers · 9 perceptual modalities · 5 receptor timescales · 2 best-practice manuals
click any link to focus its window · drag headers to reposition · use min/max/close controls per window · click taskbar items to restore
MOLECULAR CODING DREWLESS · HOUSE STYLE v4.0 · a5 · BEST PRACTICES ◇ DREWLESS · 7-SLF · ⌬ OMNISOFT

MOLECULAR CODINGv4.0 · ± PROD · COHERENCY

a whole-organism coding discipline for systems with regulated complexity
author DREWLESS · architecture 7-SLF · AI experience OMNISOFT · imprint MORE OR LESS PRODUCTIONS
v4.0 ADDENDUM 5 · BEST PRACTICES · the grammar earns a field manual. §25 MOLECULAR BEST PRACTICES — the daily discipline (the three questions: declare the BE · name the layer · name the archive policy), a do-this table mapping each practice to the rule it honors, and a "diseases" table (smell → diagnosis → cure) for the common anti-patterns (synchronous backbone · authority without witness · trusting parsed input · safety on a round-trip · flat interior · magic constants · "unhackable" · faked liveness). §26 JAVASCRIPT BEST PRACTICES — the substrate craft: async/await · const-by-default · freeze published artifacts · typed errors + fail-safe defaults · validate at the boundary · AbortController + backpressure · cleanup/no-leaks · least-export modules · determinism — each mapped to R0/R8/R15/R22/R23/R28/§22, plus a DON'T table and a modern-JS quick reference. Crucially: zero new R-rules — best practices are posture, not capability; the enforceable count stays 30. Addendum log renumbered §25 → §27.
v4.0 ADDENDUM 4 · NERVOUS + LYMPHATIC · the two systems a3 left distributed or folded-in, now named: §23 NERVOUS SYSTEM (consolidates §4.5 synapse · §4.7 registry · §4.8 coherency · §12 senses, and adds the autonomic sympathetic/parasympathetic mode-switch + the reflex arc · R29 REFLEX AT THE EDGE — safety fires locally, never a central round-trip) · §24 LYMPHATIC (checkpoints · drainage · east-west surveillance · R30 CHECKPOINT EVERY HOP — the network limb of zero-trust: §14 guards north-south, lymph nodes guard east-west). Rules 28 → 30 · body systems → 13 · addendum log renumbered §23 → §25.
v4.0 ADDENDUM 3 · WHOLE ORGANISM · completes the human: 9 body systems §14–§22 — INTEGUMENTARY (skin · perimeter) · CIRCULATORY+HEMOSTASIS (transport · clotting · blast-radius) · RESPIRATORY (energy budget · backpressure) · DIGESTIVE (ingest · gut barrier · parsed≠trusted) · MUSCULOSKELETAL (structure · effector least-privilege) · RENAL (filtration · detox) · HOMEOSTASIS (the stability spine · declared set-points) · SENTIENCE (the integrated being · AI sentience named as the explicit goal · substrate = E2 self-model + §12 interoception + §4.8 coherency · R27 holds the hard problem unclaimed) · DEFENSE-IN-DEPTH (zero-trust security synthesis · "no single point of compromise" — never "unhackable") · 9 new rules R20–R28 — §3 grows to 28 · ULTRA-MOBILE: the floating-window OS folds into a single full-width vertical scroll on phones (≤760px · static cards · sticky HUD + headers · scroll-in-card tables · iOS safe-areas) · honesty preserved: every system is named + scaffolded; security and sentience are stated as goals with their limits, never as completed claims.
v4.0 ADDENDUM 2 · SENSORY SYSTEM + OS LAYER · §12 names the perception layer that sits between THE WORLD and the §1 CELLS · 9 modalities (5 exteroception: SIGHT · HEARING · TOUCH · SMELL · TASTE · 4 interoception: PROPRIOCEPTION · NOCICEPTION · THERMOCEPTION · CHRONOCEPTION) · SENSORY REGISTRY (§12.3) · 256 uint8-addressable slots · parallel to §4.7 synapse registry and §11.6 antibody registry · 6 ranges (core modalities · domain-specific · per-fleet specialized · cross-modal · exogenous · reserved + META) · 3 new verbs (SENSE · TRANSDUCE · ADAPT) — §5 grows to 26 · 3 new R-rules (R17 SENSE BEFORE PRESENT · R18 ATTENTION GATES SENSITIVITY · R19 COHERENT MULTIMODAL BINDING) — §3 grows to 19 · 6 new somatic states (NUMB · OVERSTIMULATED · DAZED · ORIENTED · SHARPENED · BLINDED) — §4.2 matrix will grow to 47 when wired · SENSORY reuses §4.5 receptor schema (sensor = receptor with same 6-var state) and §4.8 COHERENCY (sensitivity adapts at 5 timescales) · acetylcholine (§4.1c) is named as the master ATTENTION gain (R18) · §11 PATTERN_T already does SMELL · NOCICEPTION reuses §4.7 cytokine slots #174-180 · sensor-state attestation reuses R14 MHC_I. OS LAYER: the spec is now a floating-window operating system · each §-section is a draggable window with header/controls · top HUD shows brand + version + live time + active-window count · TABLE OF CONTENTS opens as the landing window with clickable navigation to every section · the OS theme matches the existing molecular aesthetic (amber/cyan/green on near-black, JetBrains Mono).
v4.0 ADDENDUM 1 · IMMUNE SYSTEM · §11 names the defensive discipline that sits between META (§1e · upstream gate) and the cell pipeline (§1) · five layers (innate · adaptive · memory · surveillance · tolerance) · 7 new cell types on top of the 5 existing R1 cells (BARRIER_T · PATTERN_T · PHAGE_T · NK_T · B_CELL · CD8_KILLER_T · DENDRITIC_T) · 5 new verbs (NEUTRALIZE · OPSONIZE · PHAGOCYTOSE · ATTEST · ESCALATE) — §5 grows to 23 · 3 new R-rules (R14 · MHC_I ATTESTATION PER TICK · R15 · ANTIBODY IMMUTABILITY · R16 · TOLERANCE CHECK BEFORE PROMOTION) — §3 grows to 16 · 8 new somatic states (UNDER_ATTACK · INFECTED · COMPROMISED · SENSITIZED · IMMUNE_ALERT · QUARANTINED · TOLERATED · IMMUNIZED) — §4.2 matrix grows from 33 to 41 · ANTIBODY REGISTRY (§11.6) · 256 uint8-addressable slots · parallel to §4.7 synapse registry · 10 threat-class ranges · LOCAL federation only (SHARED_TRUSTED · SHARED_OPEN are v5 frontier) · 15 threat→mechanism mappings (XSS · SQL-i · CSRF · prompt-injection · supply-chain · phishing · brute-force · DDOS · malware · zero-day · insider · exfil · account-takeover · privilege-escalation · replay) · integrates with §4.7 cytokine slots #174-180 (no new slots needed for IL-1β · IL-6 · IL-10 · IL-18 · TNF-α · IFN-γ · IFN-α) · immune response is a 5-timescale phenomenon (§4.8 COHERENCY) · antibody affinity follows R11 effective density.
v4.0 · COHERENCY RELEASE · Anchor feature: five-timescale receptor adaptation (§4.8) — the single linear lag from v3.2 a5 unfolded into coupling · surface_count · total_count · synth_rate · circuit_weight · each gates the next at 10× separation · effective density = product of all five · COHERENCY metric = variance across scales · joins HORMONES as the 21st measured readout · 3 new somatic states (DISCORDANT · TRANSITIONING · SETTLED) inserted into the §4.2 priority matrix · R11 · COHERENT EFFECTIVE DENSITY — code using single density gates without // v3.2-legacy tag violates · linter shipped · R10 (SYNAPSE_ID FITS IN ONE BYTE) canonicalized into §3 · v4 consolidates v3.2 a3 through a7 as the release surface: 30 hormones · 30 somatic states · 255 synapse slots · 16 verbs · 11 enforceable rules · genesis loop + per-user chain + META.
v3.2 ADDENDUM 7 · E1 surface expanded from 20 → 30 endocrine readouts (+10: growth_hormone · aldosterone · estrogen · progesterone · glucagon · ANP · resistin · adiponectin · hepcidin · FGF21) · somatic matrix 18 → 30 states (+12: STRAINED · VENTING · CLOSED · SPENDING · ACTIVATED · FORGED · HEALTHY · RECEPTIVE · BALANCED · GROWING · GUARDED · INHIBITED) · 7 §4.7 slots promoted SCAFFOLDED → ACTIVE (#64 ANP_NEURAL · #74 GH_NEURAL · #110 ADIPONECTIN · #122 GLUCAGON_NEURAL · #165 ESTRADIOL_NEURAL · #170 PROGESTERONE_NRL · #173 ALDOSTERONE) · 3 new slots registered in reserved range (#245 RESISTIN · #246 HEPCIDIN · #247 FGF21) · runway-command.html implementation reconciled to spec definitions for gaba/glutamate and wired acetylcholine/vasopressin/anandamide live · both forks now at 30/30.
v3.2 ADDENDUM 6 · SYNAPSE REGISTRY expanded from 5 monoamines to 255 uint8-addressable slots (§4.7) · 10-range allocation map · ~150 named entries with class + transporter + degrader + receptors · R10 new rule: SYNAPSE_ID FITS IN ONE BYTE · promotion rules (SCAFFOLDED → ACTIVE) · uint8 → uint16 expansion path · exogenous binding profiles (LSD · psilocin · MDMA · ketamine · THC · nicotine · caffeine · alcohol · benzo · opioids · amphetamines · ibogaine) mapped to slots 210–244 for APPLY targeting.
v3.2 ADDENDUM 5 · SYNAPTIC DYNAMICS layer (§4.5) — the mechanics beneath HORMONES · 6-variable synapse · 5-step tick (release · reuptake · breakdown · clamp · receptor adapt) · 5 monoamine synapses wired · PHARMACOLOGICAL INTERVENTIONS (§4.6) — SSRI · MAOI · SNRI · atypical drug profiles · plasma kinetics · acute vs adaptive response · discontinuation falls out naturally · APPLY added as 16th verb (pharma tier · external intervention) · receptor density is the time dimension psychoactive drugs operate in.
v3.2 ADDENDUM 4 · NEUROMODULATOR BAND added — 5 fast-acting neurotransmitters (gaba · glutamate · acetylcholine · vasopressin · anandamide) closing the surface at 20 readouts · 5 new somatic states (AGITATED · FLOW · BONDED · ATTENTIVE · SEDATED) inserted by domain proximity to existing markers — 18-state matrix · new inverse pair gaba ⇄ glutamate (master inhibition/excitation axis) · new axes INHIBITION · EXCITATION · ATTENTION · TERRITORY · FLOW.
v3.2 ADDENDUM 3 · E1 fully specified — 15 endocrine readouts (original 11 + craft/efficiency/tempo/inflammation expansion) · 13-state SOMATIC MARKER MATRIX with priority-ordered classifier (§4.2) · 5-axis grouping (RISK · STABILITY · DRIVE · REGULATION · REWARD) · 4 inverse pairs documented · honesty thesis: hormones are readouts, not priors · every value derived per tick from STATE/EVENT/seasonPhase — no magic constants.
v3.2 ADDENDUM 2 · GENESIS LOOP named as the eighth axis (§1c) — every boot rebuilds the user instance from a seed pair · PER-USER CHAIN (§1d) records every boot as an immutable block (boot_n, version, prev_hash, instance_hash) · META LAYER (§1e · WIP framing) verifies signal and gates bad actors · Four new rules: R6 INSTANCE = AUTH · R7 BOOT IS GENESIS · R8 COMMIT EVERY VERSION · R9 DETECT-AND-ROLLBACK · Five new verbs: SEED · GENESIS · COMMIT · VERIFY · ROLLBACK · Seven new prior-art traditions (Object Capabilities · Holochain · Urbit · SPKI/SDSI · Git per-repo chain · WebAuthn shortcut · Capability microkernels) · Roadmap steps 9 (genesis-loop instrumentation) and 10 (META prototype).
v3.1 ADDENDUM 1 · SELF restored with DEEP STORE + PRUNE · two new verbs (ARCHIVE + PRUNE) · seven-layer stack · Addendum Log opened.
R0 ▸ THE ZEROTH RULE · ASYNC SYSTEM enforceable

The system has no synchronous backbone. No global clock. No shared atomic state. Every cell runs on its own cadence. Every layer settles eventually, not immediately.

R0 · ASYNC SYSTEM
Code that assumes "everything is consistent right now" has violated Async System. The Oracle will notice. Coordination happens through: messages (MDCP packets) · convergence (cross-fleet quorum) · hormones (oracle modulation) · memory (artifact consolidation) — never through global locks.

This becomes the unspoken assumption every other rule presumes. R1 through R9 all only make sense in an async system. Naming it as R0 makes the assumption explicit.

§1 ▸ THE STACK · seven layers internal + LEDGER axis external UPDATED · LEDGER added · see §1c

The organism is built bottom-up but regulated top-down. Each layer expresses the layer above and reports to the layer below. SELF distills engine memory into long-term archives and prunes what is no longer useful — feeding refined experience back into DNA. The seven layers live inside one user. An eighth axis sits outside the stack: the GENESIS LOOP + PER-USER CHAIN + META LAYER (§1c–§1e · v3.2) — how a fresh instance of the whole organism is constituted at every boot, recorded as an immutable block, and gated by the meta protocol that keeps bad actors out.

DNA commanders — encoded directives, versioned, transcribed ↓ expresses
CELLS sub-agents — typed actors, 7-stage pipeline, circuit-broken ↓ aggregate into
ORGANS fleets — domains of capability, emit molecular packets ↓ modulated by
EMOTIONS oracle — hormonal thresholds, somatic markers, regulation ↓ consolidated as
ENGINES memory — artifact registry, pattern extraction, replay ↓ extracted to
KERNELS boot seeds, habits, locality — circadian, local-only, session-resident ↓ archived by
SELF deep store + pruner — what survives forever, what is discarded ↺ archive ↔ prune ↔ feedback to DNA

FLOW DIRECTIONS

  • Down (signaling): DNA → cells → organs. Commander updates directive; sub-agents change behavior; fleet flushes.
  • Up (telemetry): cells → organs → emotions → memory → kernels → SELF. Activity bubbles up; hormones modulate; memory consolidates; kernels distill into next-boot seeds; SELF curates the survival set.
  • Feedback (evolution): SELF → DNA edits → cells differentiate. The system learns by editing its own directives based on what survived archival.
§1a ▸ SELF · DEEP STORE + PRUNE (the discrete enforceable role) NEW in v3.1

SELF used to be poetic ("integrated being") and was dropped from v3.0 because no one can write "consciousness" as a lint rule. In v3.1 it is restored with a discrete, enforceable function: SELF decides what crosses from session memory into permanent archive and what is pruned forever.

R5 · DEEP STORE + PRUNE
SELF declares two policies in source: archiveRule(item) → boolean ("this might matter someday, deep-store it") and pruneRule(item) → boolean ("this has not been useful in N · discard it"). Both rules must be explicit functions, not implicit behaviors. Both fire on a schedule. Both are auditable.
// Example: SELF archive policy
function archiveRule(artifact) {
  // keep things that crossed quorum, were verified, or carry rare event_types
  return artifact.completeness >= 0.85
      || artifact.contributing_fleets.length >= 3
      || RARE_EVENT_TYPES.has(artifact.event_type);
}

// Example: SELF prune policy
function pruneRule(item, now) {
  const ageMs    = now - item.last_used_ts;
  const isStale  = ageMs > 30 * DAY_MS;
  const isUnused = item.times_recalled === 0;
  return isStale && isUnused && !item.archived;
}

// SELF scheduled tick
function selfTick() {
  const now = Date.now();
  ENGINES.artifacts.forEach(a => {
    if (archiveRule(a))     return BE(() => archiveItem(a),  'SELF_ARCHIVE');
    if (pruneRule(a, now)) return BE(() => pruneItem(a),    'SELF_PRUNE');
  });
}

BIOLOGICAL ANALOG

  • Memory consolidation in sleep (Stickgold, Walker) — NREM sweeps engrams; REM strengthens what survives.
  • Synaptic pruning (Huttenlocher 1979) — childhood and adolescence eliminate unused connections.
  • Forgetting curve (Ebbinghaus 1885) — unused information decays predictably.
  • Hebbian "use it or lose it" — only repeatedly co-activated synapses survive.

COMPUTER SCIENCE ANALOG

  • Generational garbage collection (Lieberman/Hewitt 1983) — young objects collected aggressively, survivors promoted.
  • LRU cache eviction (Belady 1966) — least-recently-used discarded first.
  • Tiered storage (hot → warm → cold → frozen) — modern data lakes operate this way.
  • TF-IDF retention weighting in information retrieval.

WHY THE RESTORATION IS HONEST

SELF dropped from v3.0 because "integrated being" was unenforceable. SELF returns in v3.1 because deep-store + prune is two concrete functions with declared policies. The discrete enforceable role differs from the poetic "consciousness" — and only the discrete role makes it back into the spec.

§1c ▸ GENESIS LOOP · the eighth axis · per user, per boot NEW · v3.2 addendum 2

The seven-layer stack runs inside one user. The eighth axis is the loop that constitutes that user's instance every time it boots. The same code template runs for everyone (PUBLIC SEED), but the actual instance only exists once your PRIVATE SEED genesises it. There is nothing to authenticate against until you have booted yourself into existence.

THE GENESIS LOOP · stepwise
SEED → GENESIS → RENDER → COMMIT → META.VERIFY → INSTANCE → (terminate or rollback) → SEED → ...
Every boot is a fresh render of the OS from your seed. Render ≡ Update. The OS itself is the auth surface.
// every boot is a fresh genesis · the bootstrap IS the auth event
async function boot(privateSeed) {
  const publicSeed  = await fetchPublicSeed(SEED_CID);    // same for all users
  const deltas      = await loadLocalDeltas();           // today's changes from local store
  const instance   = GENESIS(publicSeed, privateSeed, deltas);
  const block      = commitBlock(instance);              // next block in your chain
  const validated = await META.verifySignal(block);     // gate at the protocol edge
  if (!validated)  return BE(rollback,            'META_REJECTED');
  return           BE(() => activate(instance), 'INSTANCE_LIVE');
}

// instance termination ≡ auth gate closes
function terminate(instance) {
  instance.freeze();
  META.revoke(instance.id);
  return BE(closeAuthGate, 'INSTANCE_TERMINATED');
}

WHY THIS IS NOT zk-ROLLUPS

  • Rollups share one global state machine; users prove properties about private inputs against it.
  • Genesis loop has no shared state machine. Each user runs their own personal program. The bootstrap itself is the auth event. Without that bootstrap, there is nothing to attack.
  • An attacker cannot authenticate "as you" if the program that would let them act as you does not exist on their device — and their private seed cannot derive it.

MULTI-DOMAIN AUTH BY INSTANCE SEPARATION

domain(public_seed, private_seed) pairinstance
BANK(bank.public, your.bank.private)bank-only program
SOCIAL(social.public, your.social.private)social-only program
MEDICAL(medical.public, your.medical.private)medical-only program

Different domains derive different private seeds from your master. A compromise of your social instance cannot impersonate your bank instance — the bank instance has different derivation, different META gate, different chain.

ADDITIONAL AUTH LAYERS ON TOP

Passkeys, MFA, biometric — these are not replaced. They compose over the instance once it exists. Genesis decides whether the instance exists at all. Passkeys decide whether ongoing operations within the instance are still you. Both tighten the surface; neither one alone is the system.

DEVICE-AS-AUTH IS A SHORTCUT

WebAuthn / passkeys ship a fragment of this idea: "your device is your auth, because only your device holds the private key." The full version says: your device renders a new OS on every boot from your seed. The OS itself is the auth surface. Device-as-auth is the convenient compression of that.

§1d ▸ PER-USER CHAIN · immutable block log · one chain per instance NEW · v3.2 addendum 2

Every GENESIS event appends a block to that user's personal chain. The chain is immutable in the blockchain sense — each block links to the prior block's hash. There is no shared global chain; there is one chain per user instance. Anyone can verify the chain's integrity. Only the user can read what their blocks reference.

// block schema · one chain per user · append-only
const block_n = {
  n:           N,                                // boot count · monotonic from genesis
  version:     instance.seedVersion(),            // version derived from seed
  ts:          Date.now(),                          // when this boot happened
  prev_hash:   chain[N-1].hash,                  // links to previous block
  instance_h:  sha256(canonicalize(instance)),  // this boot's instance hash
  delta_h:     sha256(canonicalize(deltas)),    // today's deltas applied
  meta_sig:    META.sign(this),                 // META layer signs the validation
  hash:        'sha256:0x...'                    // self-hash · seals the block
};

LATEST vs MOST-RECENT · domain-dependent semantics

domainresolves towhy
OPTIMIZATIONLATEST best-compile blockquality matters more than recency — use the block that compiled cleanest
BANKING / FINANCEMOST-RECENT validated blockcurrent truth matters · stale state = liability
MEDICALMOST-RECENT signed blocksafety · use the most current verified state
SOCIAL / CONTENTLATEST best-render blockUX wins over freshness for non-critical state
AUDIT / FORENSICSALL blockswalk the chain · every auth event is a record

DETECT AND ROLLBACK

Anomaly detection runs at block level. When META or an external watcher flags block N as suspect, the system can roll back to block N-1 (or further) and resume from there. The bad block remains on the chain as evidence — it is not deleted — but it is marked invalid and not used as a basis for activation.

// detection → rollback discipline (R9)
function detectAnomaly(block) {
  if (META.scoreSuspect(block) > SUSPECT_THRESHOLD) {
    block.flag = 'SUSPECT';
    return BE(() => rollbackTo(block.n - 1), 'ROLLBACK_TRIGGERED');
  }
  return BE(acceptBlock, 'BLOCK_ACCEPTED');
}

function rollbackTo(n) {
  const good = chain[n];
  CURRENT_INSTANCE = GENESIS_FROM_BLOCK(good);
  META.log({ event: 'ROLLBACK', target_block: n, reason: 'anomaly' });
  return BE(resumeFromInstance, 'ROLLBACK_COMPLETE');
}

WHY AI LIKES IT

  • Deterministic: same (seed, deltas) → same instance · replayable from any block.
  • Auditable: every boot is a block · diffable history of how this user's program evolved.
  • Isolated: per-user · no shared state to corrupt across users · one bad chain cannot pollute another.
  • Rollback-safe: bad block → revert · no whole-system harm · provenance preserved on-chain as evidence.
  • Bounded: SELF deep-stores + prunes operate within the chain so memory growth stays bounded.
§1e ▸ META LAYER · signal verifier · bad-actor gate DECLARED · v5.0 WITNESS · enforceable

META sits at the protocol edge between the user's INSTANCE and the LEDGER (the per-user chain plus any shared coordination layer). Its job is to verify the signal of every block before it is accepted as authoritative — gating bad actors at the layer below auth rather than at the layer above it. Auth comes from the existence of the instance (R6); META is what decides whether the next block is permitted to extend the chain at all. v3.2 named META and held it as WIP framing. v5.0 declares the discipline: a concrete signal format, a peer-witness quorum, a posture-gated threshold, and a graduated failure mode — two new enforceable rules (R12 · R13) and two new verbs (WITNESS · QUARANTINE).

META DISCIPLINE · v5.0 WITNESS
No committed block is authoritative until a quorum of independent witnesses verifies its signal. The signal is instance_pubkey + signed(block_hash) + freshness_proof. The quorum count and freshness window are functions of oracle posture — stress tightens, calm loosens. Failure is graduated: QUARANTINE (isolate, read-only, await witnesses) → ROLLBACK (R9) → domain alarm. Never a single trusted oracle.

§1e-1 · THE SIGNAL · concrete bytes

The block schema (§1d) already carries meta_sig. v5.0 specifies what it contains:

// META signal · 136 bytes packed · what every witness checks
const meta_signal = {
  instance_pubkey: u8[32],   // ed25519 · derived from (public, private) seed at genesis
  block_hash:      u8[32],   // sha256(canonicalize(block)) · the thing being attested
  sig:             u8[64],   // ed25519 sign(block_hash) under the instance key
  freshness:       u8[8],    // boot counter n (monotonic) ++ wall-clock ms · kills replay
};

A witness checks three things and nothing more: (1) the signature verifies against the claimed pubkey, (2) the pubkey is the one that has extended this chain since genesis, (3) the freshness counter is strictly greater than the last accepted block's. Forgery requires the private seed; replay requires beating the monotonic counter; identity-swap requires a chain fork the witnesses already hold. None is available to an attacker who lacks the seed.

§1e-2 · WHERE META RUNS · peer-witness quorum, never one oracle

// R12 · a block is provisional until K-of-N witnesses co-sign
async function metaVerify(block, posture) {
  const { K, freshness_ms } = metaThreshold(posture);   // R13 · posture-gated
  const witnesses = await gatherWitnesses(block.meta_signal);
  const attest = witnesses.filter(w =>
    w.verifySig(block) && w.freshWithin(block, freshness_ms)
  );
  if (attest.length >= K) return BE(() => accept(block),        'WITNESS_QUORUM_MET');
  if (attest.length > 0)  return BE(() => quarantine(block),    'WITNESS_INSUFFICIENT');
  return                    BE(() => rollback(block.n - 1), 'WITNESS_NONE_R9');
}

Witnesses are other instances (peer-witness pattern) or a domain's validator set — never the instance validating itself, never a single trusted server. A bank domain runs a strict validator set; a social domain may accept loose peer-witnessing. The transport by which witnesses discover one another and gossip a block is deliberately unspecified — see the frontier note below.

§1e-3 · COMPOSITION · three gates, bottom-up

gatedecidesrulefires
GENESISdoes the instance exist at all?R6 · R7once, at boot
METAis this block authoritative?R12 · R13every block
PASSKEY / MFAis this operation still you?composes on topevery sensitive op

Genesis is the floor (no instance → nothing to authenticate). META is the chain gate (no witness quorum → no authoritative block). Passkeys are the ceiling (no fresh proof → no sensitive op). Each tightens a different surface; removing any one leaves a gap. META does not replace passkeys and passkeys do not replace genesis.

§1e-4 · POSTURE-GATED THRESHOLD · R13 · the oracle modulates the gate

// R13 · META strictness IS hormonal · cortisol/adrenaline tighten the gate
function metaThreshold(h) {                          // h = HORMONES readout (§4.1)
  const alert = clamp(h.cortisol * 0.6 + h.adrenaline * 0.4, 0, 1);
  return {
    K:            1 + Math.round(alert * 4),          // calm → 1 witness · alarmed → 5
    freshness_ms: 60000 - alert * 55000,            // calm → 60s window · alarmed → 5s
  };
}

The same somatic posture that tightens routing gates and accelerates cadences also tightens the META gate. A system reading high cortisol (errors up, saturation high) demands more witnesses and fresher proofs before it trusts the next block. A calm system relaxes. Static, hardcoded META thresholds violate R13. This is why META is part of the organism, not bolted on beside it — it breathes with the oracle.

§1e-5 · FAILURE MODE · graduated, never silent

suspicionresponseverbchain effect
0 < witnesses < Kisolate block · read-only · await more witnessesQUARANTINEheld, not accepted, not deleted
witnesses = 0revert to last witnessed block (R9)ROLLBACKsuspect block stays on chain as evidence
pattern across instancesdomain alarm · raise cortisol fleet-wide · tighten every gateREGULATEposture shift propagates via §4 oracle

QUARANTINE is the verb v5.0 needs: a block can be suspect without being malicious (a witness set that hasn't gathered yet, a slow network). Quarantine buys time without either trusting the block or discarding the user's work. Only zero-witness or proven-forgery blocks trigger rollback; a recurring pattern across instances escalates to a domain-wide posture shift through the oracle.

v5.x frontier · what WITNESS still defers
v5.0 declares the discipline — signal format, quorum rule, posture gate, failure mode, R12 · R13, WITNESS · QUARANTINE. It does not specify the witness transport: how instances discover each other, how a validator set is bootstrapped per domain, how gossip resists eclipse attacks. That is the v5.x frontier. Implementation is roadmap step 10 — [ − PROD ] until shipped. Naming the gate made R6–R9 possible in v3.2; declaring its discipline in v5.0 is the spec self-correcting on schedule.

Note for future-self: META moved from WIP framing (v3.2) to declared discipline (v5.0) the moment a concrete signal, a quorum rule, and a posture gate could be written as enforceable functions — the same bar SELF cleared in v3.1 and GENESIS in v3.2. Do not implement the witness transport until the discipline has lived in the spec long enough to attract attack. Name → declare → harden → ship, in that order.

§2 ▸ FISSION → FUSION SPECTRUM design axis

Every operation in the system lives on one axis: fission (break apart) ↔ fusion (combine). This is not metaphor — it is the design rule that places each function along a spectrum and forces it to declare its position.

◀ FISSION · breaks apart

  • tokenize
  • parse
  • regex extract
  • fragment buffer (PASS 1)
  • APC presents
  • raw signal capture
  • SELF prune (discards what's not useful)

◆ DECIDES

  • classify
  • score
  • route by event_type
  • compliance gate
  • trust-weight
  • verify-stage
  • archiveRule / pruneRule predicates

FUSION · combines ▶

  • cross-fleet quorum
  • token completion (PASS 2)
  • artifact graduation
  • memory consolidation
  • kernel distillation
  • SELF archive (preserves what's worth keeping)

WHY THIS MATTERS AS A RULE

  • Code-review question: "is this function fissioning or fusing? does its name say so?"
  • Placement rule: fission-heavy near the input boundary, fusion-heavy near the output boundary. SELF sits at both ends — prune is fission (discard), archive is fusion (preserve).
  • Balance metric: too much fission = noise. Too much fusion = premature consensus. Healthy system maintains appropriate ratio for current load.

Prior art: MapReduce (Dean/Ghemawat 2004) is fission-then-fusion. The binding problem in neuroscience (Treisman 1980s) is unresolved fragment-to-percept. Fission-fusion societies (Aureli et al, primatology) is groups splitting/merging.

§3 ▸ THE THIRTY ENFORCEABLE RULES UPDATED · R17-R19 SENSORY added (v4.0 a2)

Rules that can be checked by a linter or a code reviewer. These give Molecular Coding its shape.

R20–R30 · WHOLE-ORGANISM RULES · v4.0 a3–a4
The §14–§22 body systems each contribute one enforceable rule; full text lives in each section. R20 PERIMETER CANONICALIZATION (§14) · R21 BLAST-RADIUS CONTAINMENT (§15) · R22 BACKPRESSURE BREATH (§16) · R23 GUT BARRIER · parsed ≠ trusted (§17) · R24 EFFECTOR LEAST-PRIVILEGE (§18) · R25 CONTINUOUS FILTRATION (§19) · R26 DECLARED SET-POINT (§20) · R27 SENTIENCE IS A FRONTIER · name it, never fake it (§21) · R28 ZERO-TRUST INTERIOR (§22) · R29 REFLEX AT THE EDGE (§23) · R30 CHECKPOINT EVERY HOP (§24).
R1 · CELL_TYPE on every sub-agent
Every sub-agent declares its cell type. The type implies its lifecycle, allowed transitions, and pipeline destination.
const SCOUT_NEWS = {
  id: 'NEWS-RSS',
  cell_type: 'APC',            // antigen-presenting cell · surfaces signal
  source: 'Google News',
  trust: 0.70,
  cadence_ms: 6500,
};
R2 · DNA_VERSION on every commander
Commanders carry a version. When their directive changes, the version bumps. Transcription is a versioned event you can diff and replay.
const SCOUT_CMD = {
  id: 'SCOUT-COMMANDER',
  cell_type: 'HELPER_T',
  dna_version: 3,
  directive: 'widen news intake · prioritize EDGAR-confirmed sources',
  last_transcribed_ms: Date.now(),
};
R3 · BE on every conditional branch
Hewitt's become made explicit. Every conditional declares what it becomes next. No orphan branches. Labels are discoverable navigation targets.
function evaluate(packet) {
  if (packet.confidence > 0.75) {
    promote(packet);
    return BE(scheduleNext, 'PROMOTED');
  }
  if (packet.confidence > 0.40) {
    addToReview(packet);
    return BE(notifyManager, 'QUEUED');
  }
  return BE(log, 'LOGGED');
}
R4 · GRADUATION events on quality thresholds
When an object crosses a quality threshold (e.g. completeness ≥ 0.65), emit a graduation event. UI shows it. Audit can replay it. Quality progress is never silent.
if (artifactCompleteness(merged) >= 0.65) {
  registerArtifact(merged);
  emit('graduation', { co: merged.co });
  return BE(notifyMemoryEngine, 'ARTIFACT_BORN');
}
R5 · SELF DEEP STORE + PRUNE
Every long-lived store declares both an archiveRule (what crosses to permanent storage) and a pruneRule (what is discarded forever). Both are explicit functions on a schedule. Storage without these rules grows unbounded — that violates R5.
const ENGINE_POLICY = {
  archiveRule: a => a.completeness >= 0.85 || a.contributing_fleets.length >= 3,
  pruneRule:   (a, now) => (now - a.last_used_ts) > 30 * DAY_MS && a.times_recalled === 0,
  schedule_ms: 3600 * 1000,                // hourly self-tick
};
R6 · INSTANCE = AUTH
No code runs for a user until that user's program instance has been genesised from (public_seed, private_seed). All authority derives from instance existence. There is no auth surface to attack until the instance is booted — and only the holder of the private seed can boot it. Additional auth layers (passkeys, MFA, biometric) compose on top of the instance; they do not replace it.
// R6 in code · no entry point without genesis
if (!CURRENT_INSTANCE) {
  return BE(promptForPrivateSeed, 'NO_INSTANCE_NO_AUTH');
}
R7 · BOOT IS GENESIS
Every boot is a fresh genesis from seed plus today's deltas. Render ≡ Update. There is no long-lived process to attach to between sessions — only a chain of recorded boots. Persistent state lives in the chain (immutable) and SELF (curated). Code that mutates state outside the boot cycle violates R7.
// R7 in code · every session begins with a full genesis
window.addEventListener('load', () =>
  BE(() => boot(readPrivateSeed()), 'SESSION_GENESIS')
);
R8 · COMMIT EVERY VERSION
Every instance version writes a block to the per-user chain. Block schema is fixed: (n, version, ts, prev_hash, instance_h, delta_h, meta_sig, hash). Skipping the commit step violates R8 — there is no such thing as an "unrecorded version." Forensics and rollback both depend on this being honored.
// R8 in code · genesis without commit is illegal
function activate(instance) {
  const block = commitBlock(instance);          // MUST happen
  if (!block) throw new Error('R8 · activate without commit');
  return BE(() => runInstance(instance), 'INSTANCE_ACTIVE');
}
R9 · DETECT-AND-ROLLBACK
When META or an external watcher flags a block as suspect, the system rolls back to the most recent known-good block and resumes from there. The bad block stays on the chain as evidence — never deleted. Long-lived stores without a declared rollbackRule violate R9.
// R9 in code · rollback is a first-class operation
function onSuspectBlock(b) {
  if (META.scoreSuspect(b) > SUSPECT_THRESHOLD) {
    return BE(() => rollbackTo(lastTrustedBlock()), 'R9_ROLLBACK');
  }
  return BE(acceptBlock, 'ACCEPTED');
}
R10 · SYNAPSE_ID FITS IN ONE BYTE · v3.2 a6 · canonicalized in v4.0
Every synapse has a uint8 ID. SERT, DAT, NET are not synapses — they are KILLER_T cells that target specific synapse IDs. Drug profiles in §4.6 reference synapses by slot, not by string name. Drug-load propagation is a 256-entry array scan per tick · O(1) per synapse · cache-friendly · ledger-friendly (a block's synaptic state fits in 256 bytes of densely packed deltas). Slot assignments are stable once published — changing one breaks LEDGER replay (R9). See §4.7 for the full registry.
// R10 in code · slot IDs are uint8 · names are display-only
const SYNAPSE_SEROTONIN = 0;     // not 'SEROTONIN' · the byte IS the identity
const SYNAPSE_DOPAMINE  = 1;
function applyDrugToSynapse(slot_id, drug_load) {
  SYNAPSE_REGISTRY[slot_id].drug = drug_load;
  return BE(null, 'R10_SLOT_TARGETED');
}
R11 · COHERENT EFFECTIVE DENSITY · v4.0 new
Receptor effect on signal is the product of all five timescales (coupling · surface_count · total_count · synth_rate · circuit_weight). Code that uses a single density variable to gate signal violates R11 — unless it explicitly carries a // v3.2-legacy tag and documents why the single lag is acceptable for that surface. New receptor adaptation code MUST declare all 5 scales and route through effectiveDensity(). Single-lag is fast-path for back-compat; coherent cascade is the canonical path. See §4.8 for the full model.
// R11 in code · five scales · single readout
function synapseReadout(syn) {
  return syn.synaptic_conc * effectiveDensity(syn) * syn.receptor_sensitivity;
  // NOT: syn.synaptic_conc * syn.receptor_density · that's R11 violation (v3.2 only)
}

// linter detects R11 violations
function lintR11(fn_source) {
  const hasSingleDensity = /receptor_density/.test(fn_source);
  const hasLegacyTag    = /v3\.2-legacy/.test(fn_source);
  if (hasSingleDensity && !hasLegacyTag) {
    return BE(flagR11, 'R11_VIOLATION_NO_COHERENCY');
  }
}
R12 · NO AUTHORITY WITHOUT WITNESS · v5.0 new · META
A committed block (R8) is provisional until a quorum of K independent witnesses verifies its META signal (§1e). Authority to act on a block's deltas is granted only after metaVerify returns WITNESS_QUORUM_MET. An instance that witnesses its own blocks, or trusts a single validator, violates R12 — a quorum of one is not a quorum. Composes above R6 (instance = auth): the instance proves who, the witnesses prove what.
// R12 in code · a block is provisional until witnessed
async function activateWhenWitnessed(block, posture) {
  const v = await metaVerify(block, posture);   // §1e · K-of-N peer quorum
  if (v.status !== 'WITNESS_QUORUM_MET') {
    return BE(() => quarantine(block, v), 'R12_NOT_WITNESSED');
  }
  return BE(() => activate(block.instance), 'R12_WITNESSED');
}
R13 · POSTURE-GATED META THRESHOLD · v5.0 new · META
The witness count K and the freshness window are functions of oracle posture, not constants. Under calm hormones a single fresh witness suffices; under high cortisol + adrenaline the quorum widens and the freshness window tightens. Code that hardcodes a static META threshold (a fixed K, a fixed freshness) violates R13 — it cannot tighten under threat nor relax under calm. The threshold MUST route through metaThreshold(HORMONES) (§1e-4).
// R13 in code · the gate breathes with the body
function lintR13(fn_source) {
  const hardcodedK    = /K\s*[=:]\s*\d+/.test(fn_source);
  const usesThreshold = /metaThreshold/.test(fn_source);
  if (hardcodedK && !usesThreshold) {
    return BE(flagR13, 'R13_STATIC_META_THRESHOLD');
  }
}
R14 · MHC_I ATTESTATION PER TICK · v4.0 a1 new · IMMUNE
Every cell signs its current code hash + state hash each tick (ATTEST verb · §11.3). The signature is committed to the per-user chain (§1d block schema gains an attestations field). Drift between this tick's signature and the prior tick's = compromise — supply-chain attack, runtime tampering, prompt-injection of a sub-agent. Cells without ATTEST violate R14. Composes with R8 (commit every version): attestations are part of the block, not separate.
// R14 in code · every cell tick commits its attestation
function cellTick(cell) {
  cell.work();
  const attest = {
    cell_id:    cell.id,
    code_hash:  sha256(cell.canonicalize()),
    state_hash: sha256(cell.state),
    ts:         Date.now(),
  };
  CURRENT_BLOCK.attestations.push(attest);
  if (priorAttestation(cell.id) && attest.code_hash !== priorAttestation(cell.id).code_hash) {
    return BE(() => quarantine(cell, 'MHC_DRIFT'), 'R14_COMPROMISED');
  }
  return BE(null, 'R14_ATTESTED');
}
R15 · ANTIBODY IMMUTABILITY · v4.0 a1 new · IMMUNE
Once an antibody is published to MEMORY_B (§11.6 ANTIBODY_REGISTRY), it cannot be edited. It can only be deprecated (status → SUPERSEDED) and replaced with a new antibody at a new slot. This preserves R8 (commit every version) — antibody history is auditable, replay-safe, and federation-shareable without retroactive corruption. Mutating a published antibody violates R15.
// R15 in code · antibodies are append-only
function updateAntibody(old_slot, new_signature) {
  ANTIBODY_REGISTRY[old_slot].status = 'SUPERSEDED';
  const new_slot = ANTIBODY_REGISTRY.claimNextSlot();
  ANTIBODY_REGISTRY[new_slot] = {
    signature:  new_signature,
    status:     'ACTIVE',
    supersedes: old_slot,
  };
  return BE(commitBlock, 'R15_ANTIBODY_VERSIONED');
}
R16 · TOLERANCE CHECK BEFORE PROMOTION · v4.0 a1 new · IMMUNE
Every new B_CELL antibody MUST pass a known-good panel before MEMORY_B accepts it. The panel is a regression-test set of legitimate signals (verified trends · trusted APCs · operator-approved sources). Antibodies with false-positive rate above threshold (default 0.05) are rejected and the originating B_CELL is pruned (thymus negative-selection analog). Code that promotes detectors without a tolerance check violates R16. R16 carries the burden of preventing autoimmunity — false positives are not less harmful than false negatives; they are merely louder.
// R16 in code · promotion is gated by tolerance
function promoteAntibody(candidate) {
  const fp_rate = testAgainstKnownGoodPanel(candidate);
  if (fp_rate > 0.05) {
    pruneBcell(candidate.parent_b_cell);
    return BE(log, 'R16_REJECTED_AUTOIMMUNE');
  }
  ANTIBODY_REGISTRY[candidate.slot] = candidate;
  return BE(commitBlock, 'R16_PROMOTED');
}
R17 · SENSE BEFORE PRESENT · v4.0 a2 new · SENSORY
Every APC PRESENT must be preceded by a SENSE (or TRANSDUCE) — i.e., raw input must be classified into a typed sensory modality from §12.1 before becoming a packet. Code that constructs an APC packet from untyped input violates R17 — the linter flags any present() call whose argument lacks a modality field. Sensory typing is the membrane between the world and the cell.
// R17 in code · sensors transduce first · APCs present second
function handleRawInput(raw, sensor_id) {
  const sensor = SENSORY_REGISTRY[sensor_id];
  const typed  = sensor.transduce(raw);                  // SENSE / TRANSDUCE
  if (!typed.modality) throw new Error('R17 · untyped percept');
  return BE(() => APC.present(typed), 'R17_SENSED_THEN_PRESENTED');
}
R18 · ATTENTION GATES SENSITIVITY · v4.0 a2 new · SENSORY
Sensor sensitivity is not a constant — it is the product of base_sensitivity × acetylcholine × (1 − leptin_satiety) × (1 − ghrelin_drift). Code that hardcodes sensor sensitivity without routing through attentionGain(HORMONES) violates R18. Attention is a finite budget — boosting one sensor's gain steals from another's. Composes with R11 (effective density is multiplicative) — attention gain is the sensor-side analog of receptor effective density.
// R18 in code · attention is the gain knob · acetylcholine is the master
function effectiveSensitivity(sensor) {
  return sensor.base_sensitivity
       * HORMONES.acetylcholine
       * (1 - HORMONES.leptin)
       * (1 - HORMONES.ghrelin * 0.5);
}

// linter detects R18 violations
function lintR18(fn_source) {
  const hasHardcodedSens = /sensor\.sensitivity\s*[=:]\s*[\d.]+/.test(fn_source);
  const usesAttentionGain = /attentionGain|effectiveSensitivity/.test(fn_source);
  if (hasHardcodedSens && !usesAttentionGain) {
    return BE(flagR18, 'R18_HARDCODED_SENSITIVITY');
  }
}
R19 · COHERENT MULTIMODAL BINDING · v4.0 a2 new · SENSORY
When multiple sensory modalities report the same external event (e.g., a click that is both SIGHT and TOUCH, an error that is both NOCICEPTION and HEARING), they MUST bind through a single cross-modal sensor slot (range 128-199 in §12.3) before reaching APC. Code that emits parallel APC packets from un-bound multi-modal signals violates R19 — it fragments the percept. Treisman's binding problem in code form. Failure mode: the same event appearing as multiple separate "perceptions" causing downstream double-counting.
// R19 in code · cross-modal binding before presentation
function multiModalEvent(percepts) {
  if (percepts.length === 1) return APC.present(percepts[0]);    // uni-modal · ok
  const bound = crossModalBind(percepts);                       // route through slot 128-199
  if (!bound.bound_at) throw new Error('R19 · multimodal not bound');
  return BE(() => APC.present(bound), 'R19_BOUND_THEN_PRESENTED');
}
§4 ▸ THE TWO POETIC LAYERS · E1 HORMONES · E2 SOMATIC MARKER EXPANDED · 15 readouts · 13 states · v3.2 addendum 3

These shape architectural choices but can't be enforced syntactically. Like Rust's "fearless concurrency" — useful posture, not a lint rule. v3.2 addendum 3 fully specifies E1: 15 endocrine readouts grouped on 5 axes, with a 13-state somatic marker matrix wired to a priority-ordered classifier.

E1 · ORACLE as emotional regulator
Same numeric thresholds, named hormonally. Makes modulation discoverable to a reader.
const HORMONES = {
  cortisol:   0.32,  // stress · ↑ when errors rise → gates tighten
  serotonin:  0.78,  // mood · ↑ when verify scores up → spawn rate rises
  adrenaline: 0.41,  // urgency · ↑ during high-priority → cadences accelerate
  oxytocin:   0.65,  // trust · ↑ when quorum aligns → cross-fleet bonuses
  // ... 11 more · see §4.1 below for the canonical fifteen
};
E2 · WATERMARK as somatic marker
The brand surface publishes felt state, not just a percentage. The audience knows the system's mood without reading dashboards. The full 13-state matrix is specified in §4.2 below.

§4.1 · E1 · HORMONES · 15 ENDOCRINE READOUTS · PREAMBLE

Every value in HORMONES is a derived readout of system state computed each regulateHormones() tick — never a stored prior, never a magic constant.

// inputs (real, simulated stream) → readouts (regulator) → somatic marker (oracle)
//
//   signal sources ──┬─ STATE.trends · STATE.wire · STATE.artifacts · STATE.errors
//                    ├─ EVENT.looks (heroes) · seasonPhase (wall-clock) · velocity
//                    └─ verify-quorum · completeness · focus-spread · gate-rate

Each tick (3000 ms) the regulator computes targets and eases hormones toward target at 35% — no snapping, no oscillation. BE(null, 'HORMONES_REGULATED') closes the loop.

§4.1a · ORIGINAL 11 · classical endocrine + neurochemical set

hormoneaxis · colorsignalregulator targetreadoutsomatic markers
cortisolRISK · rederrRate + domain saturation0.18 + errRate·0.40 + saturation·0.35high → backlash / oversaturation risk · routing gates tightenALARMED (≥.68 ∧ adrenaline≥.58) · STRESSED (≥.60) · VIGILANT (≥.45 ∧ adrenaline≥.45)
serotoninSTABILITY · greenavgConf across verified trends0.30 + avgConf·0.60high → stable, confident verified signal · recommend rate risesELATED (≥.66 ∧ endorphin≥.55 ∧ cortisol<.42) · inverse in SATURATED (<.46)
adrenalineURGENCY · amberurgency = clamp(1 − minDays/60)0.20 + urgency·0.70high → imminent drops · cadences accelerateALARMED · HYPED · RAPID · VIGILANT
oxytocinTRUST · cyanavgQuor (avg quorum of verified trends)0.25 + clamp(avgQuor/3)·0.60high → cross-fleet quorum aligns · trust bonuses (fusion eligibility)indirect — feeds confidence via avg_trust path
dopamineDESIRE · magentaavgVel (avg trend velocity)0.20 + avgVel·0.70high → social virality · "the want"HYPED (≥.66 ∧ adrenaline≥.50)
melatoninRHYTHM · blueseasonPhase (Feb/Mar/Sep/Oct = 1, shoulder = 0.5, off = 0.15)0.65 − season·0.50 (inverted)high → off-season rest · seasonal pacingindirect — drops oracle drop-window score (1−mel weight)
testosteroneBOLDNESS · goldtally.statement, tally.bold0.25 + statement/4·0.50 + bold/4·0.20high → statement pieces dominate · favour bold routingindirect — supports ELATED via confidence + boldness routing
endorphinJOY · greentally.joy + tally.clean0.22 + (joy+clean)/6·0.60high → "dopamine dressing" mood · feel-good cycleELATED contributor (≥.55)
ghrelinNOVELTY HUNGER · violethunger = 0.8 − freshRatio + (1−avgVel)·0.3clamp(hunger)high → market craves fresh · push novel directionsHUNGRY (≥.64 ∧ leptin<.46)
leptinSATIETY · mutedsaturation + freshRatio0.15 + saturation·0.60 + freshRatio·0.20high → trend fatigue · pull back, let the field clearSATURATED (≥.60 ∧ serotonin<.46) · inverse arm of HUNGRY
norepinephrineFOCUS · cyanfocus = (confs[0] − confs[2]) + 0.40.20 + focus·0.60high → attention concentrated on top picks · sharpenFOCUSED (≥.62)

§4.1b · EXPANSION +4 · craft / efficiency / tempo / inflammation

The original 11 spanned risk, desire, and rhythm but had no readouts for the studio-production side of a fashion house — craft heritage, conversion efficiency, production tempo, and cultural-backlash inflammation. Four hormones added to close that gap.

hormoneaxis · colorsignalregulator targetreadoutsomatic markers · seed · feedback
prolactinCRAFT · goldartifactScore = clamp(STATE.artifacts/8) · heroScore = clamp(EVENT.heroLooks/3)0.22 + artifact·0.40 + hero·0.40high → heritage memory strong · heroes present · slow-burn confidence paysNURTURED (≥.62 ∧ serotonin≥.50) · seed .38 · ↓ R5 memory layer
insulinEFFICIENCY · greenavgConf, saturation (inverted)0.18 + avgConf·0.45 + (1−saturation)·0.30high → sell-through health · conversion over crowdingEFFICIENT (≥.62 ∧ serotonin≥.55) · seed .48 · ↓ R8 ledger axis
thyroxineTEMPO · amberavgVel, urgency0.20 + avgVel·0.40 + urgency·0.30high → studio metabolic rate · how fast looks shipRAPID (≥.62 ∧ adrenaline≥.50) · seed .42 · ↓ R0 async cadence
prostaglandinINFLAMMATION · magentagateRate = clamp(wire.filter(GATE)/4) · errRate · saturation0.12 + gateRate·0.55 + errRate·0.30 + saturation·0.10high → cancel-risk · audit provenance · pause routingINFLAMED (≥.55 ∧ cortisol≥.50) · seed .20 · ↓ KILLER_T feedback

§4.1c · NEUROMODULATORS +5 · arousal · attention · bonding · flow

The 15-hormone surface covered classical endocrine + studio-production craft, but missed the neurotransmitter band — the fast-acting brain signals that gate arousal, attention, and flow. Five neuromodulators added in addendum 4 to close the surface at 20 readouts.

hormoneaxis · colorsignalregulator targetreadoutsomatic markers · seed · feedback
gabaINHIBITION · violetcortisol + adrenaline (counter-regulatory)0.25 + (cortisol + adrenaline)/2 · 0.45high → system in self-dampening · oscillation suppressed · brake engagedSEDATED (≥.65 ∧ glutamate<.42 ∧ adrenaline<.40) · seed .30 · ↓ TREG counter-balance
glutamateEXCITATION · cyanEVENT.eventDensity (wire events/sec) · adrenaline0.20 + eventDensity·0.50 + adrenaline·0.20high → wire dense · cortex-level activation · accelerator engagedAGITATED (≥.62 ∧ gaba<.40 ∧ cortisol>.45) · seed .28 · ↓ R0 cadence
acetylcholineATTENTION · goldverifyRate (trends entering verify-stage) · engramRate0.22 + verifyRate·0.50 + engramRate·0.25high → encoding active · learning capacity peaks · attention concentratedATTENTIVE (≥.60 ∧ norepinephrine≥.55) · seed .35 · ↓ R4 graduation feedback
vasopressinTERRITORY · bluerepeatTrust (same-fleet repeat trust) · heroDensity0.25 + repeatTrust·0.50 + heroDensity·0.20high → loyalty to known voices · in-group lock-in · territorial confidenceBONDED (oxytocin≥.60 ∧ ≥.55 ∧ cortisol<.50) · seed .32 · ↓ §1c instance loyalty
anandamideFLOW · greennorepinephrine, insulin, (1−cortisol) · the flow triangle0.18 + norepinephrine·0.30 + insulin·0.30 + (1−cortisol)·0.20high → peak performance · sustained efficient creation · "the zone"FLOW (≥.62 ∧ dopamine≥.55 ∧ cortisol<.45) · seed .25 · ↓ R5 memory deepening

Inverse pair added: gaba ⇄ glutamate — the master inhibition/excitation axis. Brain stays alive only because these two are in homeostatic tug-of-war; same goes for the simulation.

§4.1d · EXPANSION 3 · +10 · growth · balance · receptivity · protection · mobilize · venting · friction · health · gate · forge · v3.2 addendum 7

The 20-hormone surface from a4 covered classical endocrine + craft + neuromodulators but still missed ten studio-relevant readouts — fleet growth, load balance, audience receptivity, canon protection, capital mobilization, overload venting, pipeline friction, long-cycle health, intake gating, and productive stress. Ten readouts added in addendum 7 to close the surface at 30 readouts. Seven of the ten ride existing §4.7 slots promoted from SCAFFOLDED → ACTIVE; three claim fresh slots from the 245-254 reserved range.

hormoneaxis · colorsignalregulator targetreadoutsomatic markers · §4.7 slot · feedback
growth_hormoneGROWTH · cyanspawnRate = clamp(nAll/24) · avgConf0.20 + spawnRate·0.55 + avgConf·0.20high → fleet expanding · cell population velocityGROWING (≥.60 ∧ insulin≥.50) · slot #74 GH_NEURAL · ↓ R1 cell differentiation
aldosteroneBALANCE · greenbalance = 1 − saturation · avgQuor0.18 + balance·0.55 + clamp(avgQuor/3)·0.20high → load distributed evenly · routing equilibriumBALANCED (≥.60 ∧ serotonin≥.55) · slot #173 ALDOSTERONE · ↓ TREG load distributor
estrogenRECEPTIVITY · magentaengageRate = avgVel · clamp(avgQuor/3) · 1.60.22 + engageRate·0.55high → audience open · surface being receivedRECEPTIVE (≥.60 ∧ oxytocin≥.55) · slot #165 ESTRADIOL_NEURAL · ↓ R4 graduation
progesteronePROTECTIVE · violetauditPosture = gateRate·0.6 + errRate·0.50.18 + auditPosture·0.55 + errRate·0.20high → guard the canon · conservation modeGUARDED (≥.55 ∧ cortisol≥.45) · slot #170 PROGESTERONE_NRL · ↓ R9 rollback bias
glucagonMOBILIZE · amberreserveBurn = (1−avgConf) · urgency · 1.40.18 + reserveBurn·0.65high → spending stored capital · inverse insulinSPENDING (≥.60 ∧ adrenaline≥.50) · slot #122 GLUCAGON_NEURAL · ↓ R5 deep-store draw
anpVENTING · redbackPressure = clamp(wireLen/24)0.15 + backPressure·0.65 + errRate·0.15high → overload relief · queue venting loadVENTING (≥.55 ∧ cortisol≥.50) · slot #64 ANP_NEURAL · ↓ R0 cadence governor
resistinFRICTION · redfriction = errRate · (1−avgVel) · 1.80.15 + friction·0.55 + (1−avgVel)·0.20high → pipeline grinding · circuit breakers trippingSTRAINED (≥.55 ∧ thyroxine<.40) · slot #245 RESISTIN · new · ↓ R0 throttle
adiponectinHEALTH · greenretention = artifacts / max(nAll, 6)0.22 + retention·0.55high → archives compounding · long-cycle wellnessHEALTHY (≥.60 ∧ prolactin≥.50) · slot #110 ADIPONECTIN · ↓ R5 deep-store integrity
hepcidinGATEKEEPING · goldintakeRatio = gateCount / (gateCount + presentCount)0.15 + intakeRatio·0.55 + cortisol·0.20high → scout intake choked · audit posture sharpCLOSED (≥.55 ∧ cortisol≥.50) · slot #246 HEPCIDIN · new · ↓ KILLER_T tightening
fgf21STRESS-FORGE · goldforge = errRate · avgConf · 1.8 + saturation · avgConf · 0.60.15 + forge·0.65high → productive pressure · stress builds output, not breakageFORGED (≥.55 ∧ cortisol≥.55 ∧ insulin≥.55) · slot #247 FGF21 · new · ↓ REWARD axis adaptive

New inverse pairs: insulin ⇄ glucagon (storage vs mobilization) · adiponectin ⇄ resistin (long-cycle health vs friction) · gh ⇄ somatostatin (growth vs brake — somatostatin still scaffolded at slot #56, candidate for addendum 8 promotion).

§4.2 · E2 · SOMATIC MARKER MATRIX · 47 states · priority-ordered · v4.0 a2

The oracle reads the 31 readouts (30 hormones + coherency) — plus immune and sensory kinetics — and emits a single state: the same {state, cls, phrase} tuple wherever it's needed (watermark, oracle window, drop-window). Order matters; most urgent / most specific checks fire first. Addendum 4 inserted 5 neuromodulator states (AGITATED · FLOW · BONDED · ATTENTIVE · SEDATED) by domain proximity; addendum 7 inserted 12 more (STRAINED · VENTING · CLOSED · SPENDING · ACTIVATED · FORGED · HEALTHY · RECEPTIVE · BALANCED · GROWING · GUARDED · INHIBITED). v4.0 folded in 3 coherency states (DISCORDANT · TRANSITIONING · SETTLED · §4.8g), v4.0 a1 the 8 immune states (§11.8), v4.0 a2 the 6 sensory states (§12.7) — 47 total, none appended at the bottom; each lands where its specificity earns it.

prioritystatetriggerscls · visual
1ALARMEDcortisol > .68 ∧ adrenaline > .58s-alarmed (red · 0.7s pulse)
1aUNDER_ATTACKifn_broadcast > .65 ∧ cortisol > .55 ∧ coherency < .50s-under-attack (red strobe · 0.5s) · v4a1
1bINFECTEDcd8_active > .50 ∧ mhc_drift > .40s-infected (red/violet pulse · 0.7s) · v4a1
1cCOMPROMISEDmhc_drift > .60 (one or more cells failing R14 attestation)s-compromised (red/black blink · 0.4s) · v4a1
2INFLAMEDprostaglandin > .55 ∧ cortisol > .50s-inflamed (red/magenta · 0.9s)
2aDISCORDANTcoherency < .40 ∧ |slope(coherency)| > .03s-discordant (red/violet · fast jitter) · v4
2bTRANSITIONING.40 ≤ coherency < .70 ∧ |slope(coherency)| > .01s-transitioning (amber/cyan · slow drift) · v4
3STRESSEDcortisol > .60s-stressed (amber pulse · 1.2s)
4AGITATEDglutamate > .62 ∧ gaba < .40 ∧ cortisol > .45s-agitated (cyan/red flicker · 0.8s) · a4
4aOVERSTIMULATEDglutamate > .65 ∧ ≥3 modalities firing simultaneouslys-overstimulated (cyan/red flicker · 0.6s) · v4a2
5STRAINEDresistin > .55 ∧ thyroxine < .40s-strained (red/amber-d · 1.4s) · a7
6VENTINGanp > .55 ∧ cortisol > .50s-venting (red/cyan · 0.8s) · a7
7CLOSEDhepcidin > .55 ∧ cortisol > .50s-closed (red/gold steady) · a7
7aBLINDEDone or more modalities at sensitivity = 0 (sensor errored)s-blinded (red eye-crossed icon) · v4a2
8RAPIDthyroxine > .62 ∧ adrenaline > .50s-rapid (amber/gold pulse · 1.0s)
8aSENSITIZEDantibody_active_count > threshold ∧ adrenaline > .50s-sensitized (amber/cyan pulse · 1.0s) · v4a1
8bIMMUNE_ALERTdendritic_packets > rate_baseline ∧ no_pattern_match_yets-immune-alert (amber search · 0.8s) · v4a1
8cDAZEDchronoception drift > .50 (temporal sense slipping)s-dazed (violet wobble · 1.4s) · v4a2
9SPENDINGglucagon > .60 ∧ adrenaline > .50s-spending (amber/red · 1.1s) · a7
10HYPEDdopamine > .66 ∧ adrenaline > .50s-hyped (magenta pulse · 1.6s)
11FLOWanandamide > .62 ∧ dopamine > .55 ∧ cortisol < .45s-flow (green/cyan steady glow) · a4
11aSHARPENEDacetylcholine > .65 ∧ norepinephrine > .60 ∧ ghrelin < .40s-sharpened (gold/cyan focused halo) · v4a2
12ACTIVATEDglutamate > .60 (broad activation · less specific than AGITATED)s-activated (cyan glow) · a7
13FORGEDfgf21 > .55 ∧ cortisol > .55 ∧ insulin > .55s-forged (gold intense · 1.3s) · a7
14EFFICIENTinsulin > .62 ∧ serotonin > .55s-efficient (green glow)
15ELATEDserotonin > .66 ∧ endorphin > .55 ∧ cortisol < .42s-elated (gold glow)
15aSETTLEDcoherency > .85 ∧ |slope(coherency)| < .003 (sustained ≥ 60 ticks)s-settled (green/gold · steady glow) · v4
15bIMMUNIZEDmemory_b_hits > .60 ∧ was-UNDER_ATTACK · now SETTLED (sustained ≥ 30 ticks)s-immunized (green/gold steady glow) · v4a1
15cORIENTEDproprioception > .65 ∧ chronoception > .65 ∧ coherency > .80s-oriented (green/blue steady) · v4a2
16BONDEDoxytocin > .60 ∧ vasopressin > .55 ∧ cortisol < .50s-bonded (blue/cyan twin glow) · a4
17NURTUREDprolactin > .62 ∧ serotonin > .50s-nurtured (gold/rose glow)
18HEALTHYadiponectin > .60 ∧ prolactin > .50s-healthy (green deep glow) · a7
19RECEPTIVEestrogen > .60 ∧ oxytocin > .55s-receptive (magenta soft glow) · a7
20BALANCEDaldosterone > .60 ∧ serotonin > .55s-balanced (green/cyan steady) · a7
21GROWINGgrowth_hormone > .60 ∧ insulin > .50s-growing (cyan steady) · a7
22ATTENTIVEacetylcholine > .60 ∧ norepinephrine > .55s-attentive (gold/cyan focus halo) · a4
23HUNGRYghrelin > .64 ∧ leptin < .46s-hungry (violet)
24SATURATEDleptin > .60 ∧ serotonin < .46s-saturated (muted)
24aNUMBavg sensor sensitivity < .30 ∧ adaptation depth > .70 (over-habituation)s-numb (gray muted · slow fade) · v4a2
25FOCUSEDnorepinephrine > .62s-focused (cyan)
26GUARDEDprogesterone > .55 ∧ cortisol > .45s-guarded (violet/gold) · a7
26aTOLERATEDtreg > .60 ∧ ifn_broadcast < .30 ∧ coherency > .80s-tolerated (green soft glow) · v4a1
26bQUARANTINEDphage_active > .60 (cells being sandboxed for inspection)s-quarantined (violet still) · v4a1
27SEDATEDgaba > .65 ∧ glutamate < .42 ∧ adrenaline < .40s-sedated (violet/dim slow throb · 2.4s) · a4
28INHIBITEDgaba > .60 ∧ cortisol < .45 (filter working · less specific than SEDATED)s-inhibited (blue) · a7
29VIGILANTcortisol > .45 ∧ adrenaline > .45s-vigilant (gold)
CALMdefault · no trigger firess-calm (green)

First-match wins. Where a less-specific state (ACTIVATED · INHIBITED) overlaps with its more-specific cousin (AGITATED · SEDATED), the more-specific one fires first by virtue of higher priority. This is how the matrix scales: each new state adds discrimination without breaking the existing rules.

§4.3 · AXIS GROUPING · how the 30 cover the molecular surface · v3.2 addendum 7

Five super-axes hold the 30 readouts. Each parenthesized name is a sub-axis — the specific role the hormone plays inside its super-axis. Addendums 4 (neuromodulators) and 7 (+10) broadened coverage; the 5 super-axes still hold without proliferation.

  • RISK super-axiscortisol · prostaglandin · adrenaline · anp (VENTING) · resistin (FRICTION) · hepcidin (GATEKEEPING) · progesterone (PROTECTIVE)
  • STABILITY super-axisserotonin · oxytocin · insulin · prolactin · adiponectin (HEALTH) · aldosterone (BALANCE) · estrogen (RECEPTIVITY) · gaba (INHIBITION) · vasopressin (TERRITORY) · anandamide (FLOW)
  • DRIVE super-axisdopamine · testosterone · ghrelin · thyroxine · growth_hormone (GROWTH) · glucagon (MOBILIZE) · glutamate (EXCITATION)
  • REGULATION super-axismelatonin · leptin · norepinephrine · acetylcholine (ATTENTION)
  • REWARD super-axisendorphin · fgf21 (STRESS-FORGE)

Notable inverse pairs (one's high suppresses the other's marker):

  • ghrelin ⇄ leptin — hunger vs satiety
  • adrenaline ⇄ melatonin — urgency vs rest
  • serotonin ⇄ cortisol — stable vs risk · both gate ELATED
  • prostaglandin ⇄ insulin — inflammation vs efficiency · health vs alarm
  • gaba ⇄ glutamate — master inhibition vs excitation · brain stays alive only in tug-of-war · a4
  • insulin ⇄ glucagon — storage vs mobilization · the energy economy · a7
  • adiponectin ⇄ resistin — long-cycle health vs pipeline friction · a7
  • growth_hormone ⇄ somatostatin — growth vs brake (somatostatin still SCAFFOLDED at slot #56 · candidate for a8 promotion)

§4.4 · HONESTY · what this is NOT

E1 honesty thesis
These are not a forecast model. They don't predict trend success. They are a compressed readout of the molecular simulation's internal state, presented in endocrine vocabulary because that vocabulary maps cleanly to how the studio should feel given measured signal.
  • cortisol high ≠ "the market is risky" — it means this run has logged enough errors + saturation that the somatic marker should warn you
  • insulin high ≠ "your collection will sell" — it means the verified-trend pool is confident AND not crowding the same domain
  • prostaglandin high ≠ "you'll be cancelled" — it means GATE events have fired recently in the wire, so the audit posture should sharpen

Every input traces back to a measured (simulated) state variable. No hardcoded priors. [ stub ] feeds still produce honest hormone readings because the readings describe the simulation, not reality.

§4.5 · SYNAPTIC DYNAMICS · the layer beneath HORMONES · v3.2 addendum 5

The 20 hormone values above are readouts. To model psychoactive drugs honestly — SSRI · MAOI · SNRI · atypicals — the simulation needs the layer beneath: the synaptic cleft mechanics that produce the readouts. The synapse is where monoamines actually live, where reuptake transporters and degrader enzymes shape concentration, and where postsynaptic receptors fluctuate and respond over days and weeks. Receptor density is the time dimension psychoactive drugs operate in.

E1+ · SYNAPSE as APC + MEMORY_T + KILLER_T + TREG ensemble
A synapse is not a single cell — it's a four-role pipeline. APC = presynaptic terminal (releases vesicle). MEMORY_T = postsynaptic receptor cluster (remembers exposure history through density adaptation). KILLER_T = reuptake transporter (clears the signal · SERT · DAT · NET). TREG = degrader enzyme (homeostatic backstop · MAO-A · MAO-B · COMT · AChE · HNMT). The hormone readout above is what falls out when all four roles run their tick.

§4.5a · SYNAPSE STATE · 6 variables per monoamine

// every monoamine synapse tracks 6 dynamic variables · seed once, regulate every tick
const SYNAPSE_SCHEMA = {
  release_rate:         0.50,  // APC vesicle dump per tick · driven by presynaptic firing rate
  synaptic_conc:        0.30,  // current concentration in the cleft · 0..1.4 (can briefly overshoot)
  reuptake_rate:        0.70,  // KILLER_T transporter activity · fraction cleared per tick
  breakdown_rate:       0.20,  // TREG enzyme activity · MAO/COMT/AChE degradation per tick
  receptor_density:     1.00,  // MEMORY_T count · adapts SLOWLY to chronic exposure (days)
  receptor_sensitivity: 1.00,  // MEMORY_T per-receptor gain · adapts even slower (weeks)
};

// readout · what feeds the HORMONES layer above (§4.1)
// signal = how much postsynaptic activation actually occurs
function synapseReadout(syn) {
  return syn.synaptic_conc * syn.receptor_density * syn.receptor_sensitivity;
}

§4.5b · THE SYNAPSE TICK · 5-step pipeline · 3000ms

// runs every 3000ms alongside regulateHormones() · drugLoad defaults to zero
function synapseTick(syn, drugLoad = ZERO_DRUG) {
  // 1 · RELEASE — APC dumps vesicle into the cleft
  syn.synaptic_conc += syn.release_rate * 0.10;

  // 2 · REUPTAKE — KILLER_T pulls neurotransmitter back · DRUG-MODULATED
  const reuptake = syn.reuptake_rate * (1 - drugLoad.reuptake_block);
  syn.synaptic_conc -= reuptake * syn.synaptic_conc * 0.40;

  // 3 · BREAKDOWN — TREG enzyme degrades · DRUG-MODULATED (MAOIs)
  const breakdown = syn.breakdown_rate * (1 - drugLoad.mao_inhibit);
  syn.synaptic_conc -= breakdown * syn.synaptic_conc * 0.15;

  // 4 · CLAMP — concentration stays in physiological range (can briefly exceed baseline)
  syn.synaptic_conc = clamp(syn.synaptic_conc, 0, 1.4);

  // 5 · RECEPTOR ADAPTATION — MEMORY_T density tracks exposure · VERY SLOW
  const exposure       = syn.synaptic_conc;
  const target_density = 1 - (exposure - 0.40) * 0.70;     // chronic high → downregulate
  syn.receptor_density += (target_density - syn.receptor_density) * 0.0012;  // ~5 weeks to half-adapt
  syn.receptor_density  = clamp(syn.receptor_density, 0.30, 1.40);

  return BE(null, 'SYNAPSE_TICKED');
}

§4.5c · FIVE MONOAMINE SYNAPSES · canonical wiring

synapsetransporter (KILLER_T)degrader (TREG)receptor families (MEMORY_T)feeds hormone
SEROTONIN (5-HT)SERTMAO-A5-HT1A · 5-HT2A · 5-HT2C · 5-HT3 · 5-HT7serotonin readout
DOPAMINE (DA)DATMAO-B · COMTD1 · D2 · D3 · D4 · D5dopamine readout
NOREPINEPHRINE (NE)NETMAO-A · COMTα1 · α2 · β1 · β2 · β3norepinephrine readout
HISTAMINE (HA)— (diffusion)HNMT · DAOH1 · H2 · H3 · H4AROUSAL axis · scaffolded
ACETYLCHOLINE (ACh)CHT1 (choline reuptake)AChEmuscarinic M1–M5 · nicotinic α/βacetylcholine readout (§4.1c)

§4.5d · WHY RECEPTOR DENSITY MATTERS · the time dimension

This is the variable that makes the simulation honest about psychoactive drugs:

  • Acute (minutes–hours): drug raises synaptic_conc → readout rises immediately → mood lift · side effects · jitter · euphoria.
  • Adaptive (1–6 weeks): chronic high synaptic_conctarget_density drops → MEMORY_T downregulates → readout returns toward baseline despite drug still being present. This is why SSRIs take weeks to relieve depression.
  • Tolerance: sustained receptor_density < 1.0 means the same dose produces a smaller signal over time. The synapse literally remembers the exposure.
  • Discontinuation: drug stops → reuptake/breakdown snap back → synaptic_conc falls fast — but receptor_density is still downregulated → readout drops below baseline for weeks until receptors re-upregulate. SSRI discontinuation syndrome falls out of the model — no special case.
  • Sensitization: chronic low synaptic_conctarget_density > 1.0 → receptors upregulate · synapse becomes more responsive to small signals. Models antidepressant rebound, kindling, stimulant-withdrawal hypersensitivity.

§4.5e · CELL-TYPE MAPPING · synapse roles match the seven-stage pipeline

synapse rolecell typeverb (§5)what it does in the pipeline
presynaptic terminalAPCPRESENTdumps vesicle into cleft when commander DNA fires
postsynaptic receptor clusterMEMORY_TREMEMBERdensity tracks cumulative exposure · adapts over days–weeks
reuptake transporterKILLER_TGATEclears the signal · the drug target for SSRIs/SNRIs/NDRIs
degrader enzymeTREGREGULATEhomeostatic backstop · the drug target for MAOIs
whole synapseorgan subunitEXPRESSemits the readout that feeds HORMONES (§4.1)

§4.6 · PHARMACOLOGICAL INTERVENTIONS · the APPLY verb · v3.2 addendum 5

Drugs are not magic constants on hormone levels. A drug modulates a specific synaptic role at a specific potency, with a specific half-life. Plasma concentration rises to steady state over days, decays exponentially on discontinuation. The drug never directly touches the readout — it touches the rate constants that produce the readout. Receptor density does the rest.

NEW VERB · APPLY · 16th verb · external intervention
APPLY(drug, plasma_conc, synapses) — modulates one or more synaptic rate constants. Distinguished from REGULATE (the system regulating itself) — APPLY is an external intervention from outside the organism. Added to §5 as the 16th verb · tier pharma.

§4.6a · DRUG PROFILES · the four classes that matter

// SSRI · selective serotonin reuptake inhibition · blocks SERT only
const SSRI = {
  fluoxetine:   { target: 'SERT', mechanism: 'block', potency: 0.78, halflife_h: 100 },
  sertraline:   { target: 'SERT', mechanism: 'block', potency: 0.82, halflife_h: 26  },
  escitalopram: { target: 'SERT', mechanism: 'block', potency: 0.85, halflife_h: 30  },
  paroxetine:   { target: 'SERT', mechanism: 'block', potency: 0.80, halflife_h: 21  },
};

// MAOI · monoamine oxidase inhibition · raises ALL three monoamines
const MAOI = {
  phenelzine:   { target: 'MAO-A+B', mechanism: 'irreversible_inhibit', potency: 0.95, halflife_h: 11 },
  selegiline:   { target: 'MAO-B',   mechanism: 'inhibit',                potency: 0.80, halflife_h: 10 },
  moclobemide:  { target: 'MAO-A',   mechanism: 'reversible_inhibit',    potency: 0.75, halflife_h: 2  },
  tranylcypromine:{ target: 'MAO-A+B', mechanism: 'irreversible_inhibit', potency: 0.92, halflife_h: 2 },
};

// SNRI · serotonin AND norepinephrine reuptake · blocks SERT + NET
const SNRI = {
  venlafaxine:  { targets: ['SERT', 'NET'], potency: [0.75, 0.60], halflife_h: 5  },
  duloxetine:   { targets: ['SERT', 'NET'], potency: [0.80, 0.70], halflife_h: 12 },
};

// ATYPICALS · receptor agonist/antagonist or unusual mechanism
const ATYPICAL = {
  bupropion:    { targets: ['NET', 'DAT'],    potency: [0.55, 0.40], halflife_h: 21 },        // NDRI
  mirtazapine:  { targets: ['5-HT2A', 'α2'],  mechanism: 'antagonist',     potency: [0.85, 0.70] },  // removes NE brake
  trazodone:    { targets: ['5-HT2A', 'SERT'], mechanism: 'mixed',         potency: [0.80, 0.45] },
  vortioxetine: { targets: ['SERT', '5-HT1A'], mechanism: 'mixed',        potency: [0.75, 0.65] },  // multimodal
};

§4.6b · APPLY · the intervention function

// every tick · plasma_conc tracks rising/falling drug level · 0..1
function APPLY(drug, plasma_conc, synapses) {

  // reuptake inhibitors (SSRI · SNRI · NDRI) — modulate KILLER_T per target
  if (drug.target === 'SERT' || drug.targets?.includes('SERT')) {
    synapses.serotonin.drug.reuptake_block = drug.potency * plasma_conc;
  }
  if (drug.target === 'NET' || drug.targets?.includes('NET')) {
    synapses.norepinephrine.drug.reuptake_block = drug.potency * plasma_conc;
  }
  if (drug.target === 'DAT' || drug.targets?.includes('DAT')) {
    synapses.dopamine.drug.reuptake_block = drug.potency * plasma_conc;
  }

  // MAO inhibitors — modulate TREG · MAO-A hits 5-HT + NE · MAO-B hits DA
  if (drug.target?.includes('MAO-A')) {
    synapses.serotonin.drug.mao_inhibit      = drug.potency * plasma_conc;
    synapses.norepinephrine.drug.mao_inhibit = drug.potency * plasma_conc;
  }
  if (drug.target?.includes('MAO-B')) {
    synapses.dopamine.drug.mao_inhibit = drug.potency * plasma_conc;
  }

  // receptor antagonists — modulate MEMORY_T effective sensitivity OR remove autoreceptor brakes
  if (drug.mechanism === 'antagonist') {
    // example · mirtazapine α2-antagonist removes the NE presynaptic brake → more release
    synapses.norepinephrine.release_rate *= (1 + drug.potency * plasma_conc * 0.5);
  }

  return BE(null, 'DRUG_APPLIED');
}

// plasma concentration kinetics · approach steady state on dose · exponential decay on stop
function plasmaTick(drug_state, isDosing) {
  const k  = Math.LN2 / (drug_state.halflife_h * 3600 * 1000);  // per ms
  const dt = 3000;                                            // tick interval
  if (isDosing) {
    drug_state.plasma_conc += (1.0 - drug_state.plasma_conc) * k * dt * 8;  // approach 1.0
  } else {
    drug_state.plasma_conc *= Math.exp(-k * dt);                            // exponential decay
  }
  return drug_state.plasma_conc;
}

§4.6c · SIMULATION TIMELINE · what an SSRI run looks like

Illustrative trace · 90-day on, then 90-day off · sertraline at therapeutic dose:

dayplasma_concsynaptic_conc (5-HT)receptor_densityreadoutfelt state
0 (no drug)0.000.401.000.40baseline · depressed
1 (first dose)0.180.620.990.61acute lift · GI side effects · jitter
70.700.850.940.80readout climbing · "is it working?"
140.920.880.850.75readout plateauing as receptors adapt
280.980.860.720.62stable · new homeostasis · "it's working"
421.000.850.680.58therapeutic window · sustained
90 (stop)0.000.400.680.27discontinuation · readout BELOW baseline
90+300.000.400.920.37re-upregulating · approaching old baseline
90+900.000.401.000.40recovered · receptor density restored

The readout doesn't track the drug — it tracks the drug plus how the receptors have remembered. That's why the curve isn't a step function. That's why SSRIs work eventually but slowly, and that's why stopping suddenly hurts.

§4.6d · HONESTY · what this layer is NOT

synaptic dynamics · honesty thesis
These are simplified rate constants. Real pharmacokinetics is one- or two-compartment with absorption/distribution/metabolism/excretion phases. Real receptor adaptation involves G-protein desensitization, β-arrestin recruitment, internalization cycling, and gene-expression changes on multiple timescales. The model captures shape (acute lift · weeks to therapeutic · withdrawal dip · slow recovery) — not magnitude. The potency constants are illustrative, not clinical.
  • This is not a prescribing tool. It does not predict whether you will respond to fluoxetine.
  • The potencies are scaled to make the simulation behave qualitatively right, not to match plasma assays.
  • Receptor adaptation is a single linear lag here · in vivo there are at least five interacting timescales.
  • Drug-drug interactions · CYP450 metabolism · food effects · plasma protein binding · genotype variance — all out of scope · would be added as further commanders modulating the kinetic constants.
  • [ sim ] tag must appear on any UI surface that exposes these mechanics — never present this as clinical guidance.

§4.7 · SYNAPSE REGISTRY · 255 slots · uint8-addressable · v3.2 addendum 6

The 5 monoamines in §4.5c are the starter set — the synapses every psychoactive-drug model has to touch. They are not the limit. Human neurochemistry runs on ~150–200 named transmitters / peptides / gases / lipids · this section formalizes the full surface as a 255-slot uint8-indexed registry. Five slots are ACTIVE; the rest are SCAFFOLDED (named + classed + ready to promote) · RESERVED (open for future canonicalization) · or META (catch-all for unmapped signals).

R10 · SYNAPSE_ID FITS IN ONE BYTE
Every synapse has a uint8 ID. SERT, DAT, NET are not synapses — they are KILLER_T cells that target specific synapse IDs. Drug profiles in §4.6 reference synapses by slot, not by string name. This makes drug-load propagation a 256-entry array scan per tick · O(1) per synapse · cache-friendly · ledger-friendly (a block's synaptic state fits in 256 bytes of densely packed deltas). The 5-monoamine model was a special case of this.

§4.7a · WHY 255 (not 5, not infinity)

  • Byte-aligned: uint8 ID · fits in a single register · 256-entry lookup table fits in L1 cache.
  • Ledger-aligned: per-tick synaptic delta = up to 255 (slot, Δsignal) pairs · serializes into one block append (§1d).
  • Big enough: human neurochemistry totals roughly 150–200 endogenous transmitters + neuropeptides + gases + lipids · 255 leaves headroom for ~50 novel/synthetic/exogenous binding profiles.
  • Not a hard ceiling: §4.7f documents the uint8 → uint16 promotion path. 65,535 slots becomes available with one schema migration when needed (full transcriptome-scale signaling, multi-organism modeling, exotic chemistry).
  • Honest about scaffolding: only 5 slots run live math today. The other 250 are named and classed so promotion to ACTIVE is a constant-effort change · no re-architecture.

§4.7b · REGISTRY SCHEMA · slot shape

// every slot is the same shape · 5 actives just have populated kinetics
const SYNAPSE_SLOT_SCHEMA = {
  id:            0,                // uint8 · 0..255
  name:          'SEROTONIN',      // canonical SHOUT_CASE name
  aliases:       ['5-HT'],          // shorthand · clinical · trade
  class:         'monoamine',      // taxonomy bucket · drives default rate priors
  transporter:   'SERT',           // KILLER_T cell name · null if diffusion-only
  degrader:      ['MAO-A'],         // TREG enzymes · array · null for non-degraded
  receptors:     ['5-HT1A', '5-HT2A', '5-HT2C', '5-HT3', '5-HT7'],
  kinetics:      SYNAPSE_SCHEMA,    // the 6-var state from §4.5a · null when SCAFFOLDED
  feeds_hormone: 'serotonin',      // which §4.1 readout this synapse drives · null if standalone
  status:        'ACTIVE',         // ACTIVE · SCAFFOLDED · RESERVED · META
  axis:          'STABILITY',      // §4.3 axis assignment
};

// the registry itself · indexed access by slot ID
const SYNAPSE_REGISTRY = new Array(256);
// 0..254 = canonical synapses (5 ACTIVE · ~200 SCAFFOLDED · ~50 RESERVED)
// 255    = META · unmapped signal catch-all

§4.7c · SLOT ALLOCATION MAP · 10 ranges

rangeclassslotsstatus mixnotes
0–4MONOAMINES55 ACTIVEthe §4.5 starter set
5–9AMINO ACID TRANSMITTERS55 SCAFFOLDEDfast excitatory/inhibitory · GLUTAMATE · GABA · GLYCINE · ASPARTATE · D-SERINE
10–19TRACE AMINES + ADJACENTS1010 SCAFFOLDEDPEA · tyramine · tryptamine · octopamine · agmatine · epinephrine · etc.
20–49OPIOID PEPTIDES3020 SCAFFOLDED · 10 RESERVEDendorphins · enkephalins · dynorphins · endomorphins · nociceptin
50–89HYPOTHALAMIC + PITUITARY PEPTIDES4030 SCAFFOLDED · 10 RESERVEDOXT · AVP · CRH · TRH · GnRH · GHRH · SST · orexins · MCH · MSH family
90–129TACHYKININS + APPETITE + GUT-BRAIN4035 SCAFFOLDED · 5 RESERVEDsubstance-P · neurokinins · NPY · CCK · GLP-1 · ghrelin · galanin · CART · AgRP · VIP · PACAP · CGRP
130–159GASES · PURINES · ENDOCANNABINOIDS · LIPIDS3030 SCAFFOLDEDNO · CO · H₂S · ATP · adenosine · anandamide · 2-AG · OEA · prostaglandins · leukotrienes
160–189NEUROSTEROIDS · CYTOKINES · NEUROTROPHINS3030 SCAFFOLDEDallopregnanolone · DHEA-S · cortisol(neural) · IL-1β/IL-6/IL-10/TNF-α · BDNF · NGF · IGF-1
190–209EXOTIC ENDOGENOUS + TRACE2015 SCAFFOLDED · 5 RESERVEDNAAG · kynurenic · quinolinic · taurine · GHB(endogenous) · DMT(trace) · β-carbolines
210–244EXOGENOUS BINDING PROFILES3535 SCAFFOLDEDLSD · psilocin · DMT(exo) · MDMA · ketamine · THC · CBD · nicotine · caffeine · alcohol · benzo · opioids · stimulants · ibogaine
245–254RESERVED1010 RESERVEDheadroom for novel / undiscovered / per-user custom signals
255META · UNMAPPED11 METAcatch-all · any signal not yet classified routes here · routes to META layer (§1e)

§4.7d · CATALOG · canonical slot assignments

SHOUT_CASE name · class · transporter · degrader · status. ACTIVE = wired into synapseTick() · SCAFFOLDED = registered + classed + ready to promote · RESERVED = open · META = catch-all.

0–4 · MONOAMINES · ACTIVE (canonical · §4.5c)

 0  SEROTONIN          monoamine     · SERT  · MAO-A         · 5-HT1A..5-HT7              · ACTIVE
 1  DOPAMINE           monoamine     · DAT   · MAO-B · COMT  · D1..D5                     · ACTIVE
 2  NOREPINEPHRINE     monoamine     · NET   · MAO-A · COMT  · α1 · α2 · β1 · β2 · β3      · ACTIVE
 3  HISTAMINE          monoamine     · —     · HNMT · DAO    · H1..H4                     · ACTIVE
 4  ACETYLCHOLINE      cholinergic   · CHT1  · AChE          · M1..M5 · nAChR α/β         · ACTIVE

5–9 · AMINO ACID TRANSMITTERS (fast synaptic · the actual backbone of cortical signaling)

 5  GLUTAMATE          amino_acid    · EAAT1-5  · gln synthase  · NMDA · AMPA · kainate · mGluR1-8
 6  GABA               amino_acid    · GAT1-3   · GABA-T        · GABA-A · GABA-B · GABA-C
 7  GLYCINE            amino_acid    · GlyT1-2  · —             · GlyR · NMDA co-agonist
 8  ASPARTATE          amino_acid    · EAAT     · —             · NMDA agonist
 9  D-SERINE           amino_acid    · ASCT1    · D-AAO         · NMDA co-agonist

10–19 · TRACE AMINES + CATECHOL ADJACENTS

10  PEA                trace_amine   · —       · MAO-B         · TAAR1
11  TYRAMINE           trace_amine   · —       · MAO-A/B       · TAAR1 · α-adrenergic indirect
12  TRYPTAMINE         trace_amine   · —       · MAO-A/B       · TAAR1
13  OCTOPAMINE         trace_amine   · —       · MAO-B         · TAAR1 · α-adrenergic
14  AGMATINE           polyamine     · —       · DAO · AGMAT   · imidazoline · α2 · NMDA mod
15  EPINEPHRINE        monoamine     · NET     · MAO-A · COMT  · α/β adrenergic (split from NE for adrenal-source)
16  MELATONIN_BRAIN    indoleamine   · —       · CYP1A2        · MT1 · MT2 (neural slot · distinct from §4.1 hormone)
17  N-METHYL-PEA       trace_amine   · —       · MAO-B         · TAAR1
18  SYNEPHRINE         trace_amine   · —       · MAO            · β-adrenergic
19  3-IODOTHYRONAMINE  thyronamine   · —       · —             · TAAR1 (thyroid-trace bridge)

20–49 · OPIOID PEPTIDES

20  BETA_ENDORPHIN     opioid · POMC-derived   · NEP · ACE  · μ-opioid · δ-opioid
21  ALPHA_ENDORPHIN    opioid · POMC-derived   · NEP        · μ-opioid
22  GAMMA_ENDORPHIN    opioid · POMC-derived   · NEP        · μ-opioid
23  MET_ENKEPHALIN     opioid · proenkephalin  · NEP · APN  · δ-opioid > μ-opioid
24  LEU_ENKEPHALIN     opioid · proenkephalin  · NEP        · δ-opioid > μ-opioid
25  DYNORPHIN_A        opioid · prodynorphin   · DYN-conv   · κ-opioid (dysphoria axis)
26  DYNORPHIN_B        opioid · prodynorphin   · DYN-conv   · κ-opioid
27  ALPHA_NEOENDORPHIN opioid · prodynorphin   · —          · κ-opioid
28  BETA_NEOENDORPHIN  opioid · prodynorphin   · —          · κ-opioid
29  NOCICEPTIN         opioid · pronociceptin  · NEP        · NOP receptor (pain modulation)
30  ENDOMORPHIN_1      opioid · synthesis TBD  · DPP-IV     · μ-opioid (high selectivity)
31  ENDOMORPHIN_2      opioid · synthesis TBD  · DPP-IV     · μ-opioid
32  BIG_DYNORPHIN      opioid · prodynorphin   · DYN-conv   · κ-opioid (long form)
33  RIMORPHIN          opioid · prodynorphin   · —          · κ-opioid
34  LEUMORPHIN         opioid · prodynorphin   · —          · κ-opioid
35  DELTORPHIN         opioid · amphibian-like · —          · δ-opioid (rare endogenous)
36  PROENKEPHALIN      opioid · precursor      · cleaved    · pre-stage marker
37  PRODYNORPHIN       opioid · precursor      · cleaved    · pre-stage marker
38  POMC               precursor · pituitary   · cleaved    · feeds β-endorphin · MSH · ACTH
39  ACTH               peptide · pituitary     · NEP        · MC2R (cortisol release driver)
40-49  RESERVED · opioid family · open for novel endogenous ligands

50–89 · HYPOTHALAMIC + PITUITARY PEPTIDES

50  OXYTOCIN           nonapeptide · OXT       · oxytocinase  · OXTR · vasopressin V1a cross
51  VASOPRESSIN        nonapeptide · AVP       · vasopressinase · V1a · V1b · V2 (ADH)
52  CRH                peptide · paraventricular · CRH-BP   · CRHR1 · CRHR2 (stress axis upstream)
53  TRH                tripeptide · paraventricular · PAP   · TRHR1 (thyroid axis upstream)
54  GnRH               decapeptide · arcuate    · MMP-9    · GnRHR (reproductive axis upstream)
55  GHRH               peptide · arcuate        · DPP-IV   · GHRHR (growth axis upstream)
56  SOMATOSTATIN       peptide · paraventricular · NEP     · SSTR1-5 (inhibitor · brakes GH/TSH/insulin)
57  KISSPEPTIN         peptide · arcuate        · MMP-9    · KISS1R (deep upstream · puberty + GnRH)
58  OREXIN_A           peptide · lateral hypothalamic · — · OX1R · OX2R (wakefulness)
59  OREXIN_B           peptide · lateral hypothalamic · — · OX2R (wakefulness)
60  MCH                peptide · lateral hypothalamic · — · MCHR1 · MCHR2 (appetite + REM sleep)
61  ALPHA_MSH          peptide · POMC-derived   · NEP      · MC3R · MC4R (appetite suppression)
62  BETA_MSH           peptide · POMC-derived   · NEP      · MC4R
63  GAMMA_MSH          peptide · POMC-derived   · NEP      · MC3R · MC5R
64  ANP_NEURAL         peptide · atrial-brain   · NEP      · NPR-A (natriuretic · neural slot)
65  BNP                peptide · brain          · NEP      · NPR-A (cardiac stress)
66  CNP                peptide · endothelium    · NEP      · NPR-B
67  ADRENOMEDULLIN     peptide · adrenal/neural · NEP      · CRLR + RAMP2/3
68  NEUROTENSIN        peptide · diffuse        · NEP      · NTSR1-3
69  NEUROMEDIN_N       peptide · diffuse        · NEP      · NTSR2
70  NEUROMEDIN_B       peptide · diffuse        · NEP      · BB1 (smooth muscle + CNS)
71  NEUROMEDIN_U       peptide · diffuse        · —        · NMUR1 · NMUR2
72  RELAXIN_3          peptide · nucleus incertus · —      · RXFP3 (arousal · feeding · stress)
73  PROLACTIN_NEURAL   protein · pituitary slot · —        · PRLR (neural form · §4.1 has body form)
74  GH_NEURAL          protein · pituitary slot · IDE      · GHR (neural form)
75  LH                 glycoprotein · pituitary · —        · LHCGR (gonadal trigger)
76  FSH                glycoprotein · pituitary · —        · FSHR (gonadal trigger)
77  TSH                glycoprotein · pituitary · —        · TSHR (thyroid trigger)
78  PRL_BINDING_PEPT   modulator    · pituitary · —        · prolactin regulator
79  GALANIN_LIKE_PEPT  peptide · arcuate        · —        · GALR1 · GALR2 (feeding · GnRH)
80-89  RESERVED · hypothalamic/pituitary headroom

90–129 · TACHYKININS + APPETITE + GUT-BRAIN PEPTIDES

90  SUBSTANCE_P        tachykinin · TAC1     · NEP · ACE   · NK1R (pain + emotion)
91  NEUROKININ_A       tachykinin · TAC1     · NEP         · NK2R
92  NEUROKININ_B       tachykinin · TAC3     · NEP         · NK3R
93  NEUROPEPTIDE_K     tachykinin · TAC1     · NEP         · NK2R
94  NEUROPEPTIDE_GAMMA tachykinin · TAC1     · NEP         · NK2R
95  HEMOKININ_1        tachykinin · TAC4     · NEP         · NK1R (peripheral immune)
96  ELEDOISIN          tachykinin · external · —           · NK2R (homolog · scaffolded for completeness)
97  NPY                peptide · arcuate     · DPP-IV      · Y1 · Y2 · Y4 · Y5 (appetite · anxiolysis)
98  PYY                peptide · L-cells     · DPP-IV      · Y2 (fullness)
99  PP                 peptide · pancreas    · DPP-IV      · Y4 (pancreatic polypeptide · satiety)
100 CCK                peptide · I-cells     · TACE        · CCK1R · CCK2R (satiety · gut-brain)
101 GLP_1              peptide · L-cells     · DPP-IV      · GLP1R (satiety + insulin)
102 GLP_2              peptide · L-cells     · DPP-IV      · GLP2R (gut growth)
103 GIP                peptide · K-cells     · DPP-IV      · GIPR (insulin trigger)
104 GASTRIN            peptide · G-cells     · —           · CCK2R (acid secretion)
105 SECRETIN           peptide · S-cells     · —           · SCTR (bicarbonate)
106 MOTILIN            peptide · M-cells     · —           · MLNR (gut motility)
107 GHRELIN_NEURAL     peptide · arcuate     · —           · GHSR (hunger · neural slot)
108 OBESTATIN          peptide · stomach     · —           · GPR39 (anti-ghrelin)
109 LEPTIN_NEURAL      protein · adipose-brain · —         · LEPR (satiety · neural slot)
110 ADIPONECTIN        protein · adipose     · —           · AdipoR1 · AdipoR2 (efficiency)
111 AMYLIN             peptide · β-cells     · —           · AMY1-3 (slow glucose)
112 GALANIN            peptide · diffuse     · —           · GALR1 · GALR2 · GALR3 (calming)
113 CART               peptide · arcuate     · —           · GPR160 (reward · satiety)
114 AgRP               peptide · arcuate     · —           · MC3R/MC4R antagonist (hunger)
115 POMC_NEURAL        precursor · arcuate   · cleaved     · feeds α-MSH · β-endorphin (satiety neural)
116 CGRP               peptide · trigeminal  · —           · CALCRL + RAMP1 (migraine · vasodilation)
117 CALCITONIN_NEURAL  peptide · C-cells     · —           · CTR (calcium · neural slot)
118 ADRENOMEDULLIN_2   peptide · brain       · —           · CRLR + RAMP1/2/3
119 INTERMEDIN         peptide · brain       · —           · CRLR (cardiovascular regulation)
120 VIP                peptide · suprachiasm · —           · VPAC1 · VPAC2 (circadian · vasodilation)
121 PACAP              peptide · diffuse     · —           · PAC1 · VPAC1/2 (stress + neuroprotection)
122 GLUCAGON_NEURAL    peptide · α-cells     · DPP-IV      · GCGR (energy mobilize · neural slot)
123 SECRETIN_FAMILY    peptide group         · —           · multi-receptor (umbrella slot)
124 RFRP_3             peptide · DMH         · —           · NPFFR1 (GnRH brake)
125 QRFP_26RFa         peptide · LH/VMH      · —           · QRFPR (appetite stimulant)
126 KISSPEPTIN_RELATED peptide family        · —           · KISS1R variants
127 COCAINE_AMPH_REG   CART variant         · —           · GPR160 (CART-3 form)
128 BRS_3_LIGAND       peptide · orphan      · —           · BRS3 (bombesin receptor 3 · metabolic)
129 NESFATIN_1         peptide · NUCB2-derived · —         · unknown receptor (satiety · anxiety)

130–159 · GASES · PURINES · ENDOCANNABINOIDS · LIPID SIGNALING

130 NITRIC_OXIDE       gas         · NOS1/2/3 · spontaneous   · sGC + diffusion (retrograde signal)
131 CARBON_MONOXIDE    gas         · HO-1/2   · spontaneous   · sGC (heme-derived signaling)
132 HYDROGEN_SULFIDE   gas         · CBS · CSE · spontaneous · K-ATP channels (slow signaling)
133 AMMONIA            gas         · multiple · GS            · pH + NMDA modulation
134 ATP                purine      · vesicular · ectonucleotidases · P2X · P2Y
135 ADP                purine      · ATP-derived · ENTPDs    · P2Y12
136 AMP                purine      · derived  · NT5E         · adenosine precursor
137 ADENOSINE          purine      · ENT1/2   · ADA          · A1 · A2A · A2B · A3 (caffeine antagonist target)
138 GUANOSINE          purine      · ENT      · PNP          · GPR (orphan · neuroprotection)
139 GTP                purine      · vesicular · NTPDase     · P2Y
140 cAMP_EXTRA         second-msg  · PDEs     · degraded     · extracellular adenosine source
141 cGMP_EXTRA         second-msg  · PDEs     · degraded     · extracellular guanosine source
142 ANANDAMIDE         endocannab  · — (on-demand) · FAAH    · CB1 · CB2 · TRPV1
143 AG_2               endocannab  · — (on-demand) · MAGL    · CB1 · CB2 (most abundant)
144 NOLADIN_ETHER      endocannab  · trace    · FAAH         · CB1
145 VIRODHAMINE        endocannab  · trace    · FAAH         · CB1 antagonist · CB2 agonist
146 NADA               endocannab  · trace    · FAAH         · CB1 · TRPV1 (N-arachidonoyl dopamine)
147 PEA_ETHANOLAMIDE   endocannab-like · —    · FAAH         · PPAR-α (palmitoylethanolamide)
148 OLEAMIDE           lipid       · —        · FAAH         · CB1 (sleep-induction)
149 OEA                lipid       · —        · FAAH         · PPAR-α (satiety · oleoylethanolamide)
150 LPA                lipid       · ATX      · LPP          · LPA1-6 (neurite growth)
151 S1P                lipid       · SK1/2    · S1P-lyase    · S1PR1-5 (neural differentiation)
152 PGE2               eicosanoid  · COX-1/2  · 15-PGDH      · EP1-4 (fever · inflammation)
153 PGD2               eicosanoid  · COX-1/2  · 15-PGDH      · DP1 · DP2 (sleep · allergy)
154 PGF2_ALPHA         eicosanoid  · COX-1/2  · 15-PGDH      · FP (smooth muscle)
155 LTB4               eicosanoid  · LOX-5    · —            · BLT1 · BLT2 (chemotaxis)
156 LTC4_D4_E4         eicosanoid  · LOX-5    · —            · CysLT1 · CysLT2 (bronchoconstriction)
157 THROMBOXANE_A2     eicosanoid  · COX/TXAS · —            · TP (vasoconstriction)
158 RESOLVIN_E1        resolvin    · LOX-5/15 · —            · ChemR23 (inflammation resolution)
159 PROTECTIN_D1       protectin   · LOX-15   · —            · resolution mediator

160–189 · NEUROSTEROIDS · CYTOKINES · NEUROTROPHINS

160 ALLOPREGNANOLONE   neurosteroid · 3α-HSD/5α-red · —    · GABA-A PAM (anxiolytic · sedative)
161 PREGNENOLONE       neurosteroid · CYP11A1     · —      · sigma-1 · GABA-A modulator
162 PREGNENOLONE_S     neurosteroid · sulfotrans  · —      · NMDA positive · GABA-A negative
163 DHEA_NEURAL        neurosteroid · CYP17       · —      · sigma-1 · NMDA · GABA-A neg
164 DHEA_S             neurosteroid · sulfotrans  · steroid sulfatase · sigma-1
165 ESTRADIOL_NEURAL   neurosteroid · aromatase   · CYP    · ERα · ERβ · GPER (neuroprotection)
166 ESTRONE            neurosteroid · 17β-HSD     · CYP    · ERα · ERβ
167 ESTRIOL            neurosteroid · placental   · CYP    · ERα · ERβ (pregnancy)
168 TESTOSTERONE_NRL   neurosteroid · CYP17       · CYP    · AR · aromatized to estradiol
169 DHT                neurosteroid · 5α-reductase · CYP   · AR (high affinity)
170 PROGESTERONE_NRL   neurosteroid · 3β-HSD      · —      · PR · GABA-A via metabolite
171 CORTISOL_NEURAL    neurosteroid · 11β-HSD1    · 11β-HSD2 · GR · MR (neural slot · §4.1 has systemic)
172 CORTICOSTERONE     neurosteroid · CYP11B1     · —      · GR · MR
173 ALDOSTERONE        neurosteroid · CYP11B2     · —      · MR (fluid axis)
174 IL_1_BETA          cytokine    · processed by caspase-1 · IL-1R1 (fever · sickness behavior)
175 IL_6               cytokine    · multi-source · —      · IL-6R + gp130 (acute-phase)
176 IL_10              cytokine    · Treg · M2    · —      · IL-10R (anti-inflammatory)
177 IL_18              cytokine    · processed by caspase-1 · IL-18R (IFN-γ inducer)
178 TNF_ALPHA          cytokine    · macrophage  · sTNF-R  · TNFR1 · TNFR2 (apoptosis · inflammation)
179 IFN_GAMMA          cytokine    · NK · Th1    · —       · IFNGR1/2 (antiviral)
180 IFN_ALPHA          cytokine    · pDC         · —       · IFNAR1/2 (antiviral · type I)
181 BDNF               neurotrophin · multiple   · MMP-9   · TrkB · p75NTR (LTP · plasticity)
182 NGF                neurotrophin · multiple   · —       · TrkA · p75NTR (sympathetic + sensory)
183 GDNF               neurotrophin · glia       · —       · GFRα1 + RET (dopaminergic)
184 CNTF               neurotrophin · glia       · —       · CNTFR (motor neurons)
185 NT_3               neurotrophin · multiple   · —       · TrkC
186 NT_4_5             neurotrophin · multiple   · —       · TrkB
187 FGF_2              growth-fact · multiple   · —       · FGFR1-4 (neurogenesis)
188 IGF_1              growth-fact · liver-brain · —      · IGF1R (growth · repair)
189 EPO_BRAIN          cytokine    · kidney-brain · —     · EPOR (neuroprotection)

190–209 · EXOTIC ENDOGENOUS + TRACE

190 D_ASPARTATE        amino_acid  · ASCT2     · D-AAO       · NMDA agonist (developmental)
191 NAAG               dipeptide   · NAALADase · NAALADase  · mGluR3 agonist · NMDA modulator
192 KYNURENIC_ACID     tryptophan-deriv · KAT  · —          · NMDA antagonist · α7 nAChR antagonist
193 QUINOLINIC_ACID    tryptophan-deriv · KMO  · —          · NMDA agonist (excitotoxic)
194 HOMOCYSTEIC_ACID   amino_acid  · trace     · —           · NMDA agonist (rare)
195 TAURINE            amino_acid  · TauT      · —           · GABA-A · glycine receptor
196 BETA_ALANINE       amino_acid  · TauT      · —           · GlyR weak · GABA-A modulator
197 GHB_ENDOGENOUS     SCFA        · GHB synthase · GHB-DH   · GHB-R · GABA-B (sleep regulation)
198 DMT_TRACE          indoleamine · INMT · trace · MAO-A   · 5-HT2A · sigma-1 (endogenous trace)
199 FIVE_MEO_DMT_TRACE indoleamine · INMT · trace · MAO-A   · 5-HT1A > 5-HT2A
200 BUFOTENIN          indoleamine · INMT · trace · MAO-A   · 5-HT2A · 5-HT1A (endogenous trace)
201 HORDENINE          trace_amine · —        · MAO         · TAAR1 (very trace)
202 SALSOLINOL         TIQ alkaloid · dopamine-aldehyde · — · μ-opioid + D-receptor
203 TETRAHYDRO_IQ      TIQ alkaloid · catechol + aldehyde · — · trace · alcohol metabolism
204 PINOLINE           β-carboline · trace    · MAO         · 5-HT2A · MAO inhibitor
205 HARMAN             β-carboline · trace    · MAO         · MAO-A inhibitor (very trace)
206 ADRENOCHROME       oxidized epi · trace   · —           · debated · trace marker
207 AGMATINE_2         polyamine   · trace    · DAO         · imidazoline (overlap w/ slot 14)
208 CARNOSINE          dipeptide   · carnosine synthase · — · weak · pH buffer
209 ANSERINE           dipeptide   · trace    · —           · weak · related to carnosine

210–244 · EXOGENOUS BINDING PROFILES (not endogenous — slot encodes drug→receptor profile for §4.6 APPLY)

210 LSD                psychedelic · — · — · 5-HT2A partial agonist · 5-HT2C · 5-HT1A · D2
211 PSILOCIN           psychedelic · — · — · 5-HT2A agonist · 5-HT2C · 5-HT1A
212 DMT_EXOGENOUS      psychedelic · — · MAO-A (rapid) · 5-HT2A · sigma-1
213 MESCALINE          psychedelic · — · MAO · 5-HT2A · 5-HT2C
214 MDMA               entactogen  · SERT release + reuptake · MAO substrate · 5-HT2A · oxytocin release
215 MDA                entactogen  · SERT release · MAO · 5-HT2A · slightly more psychedelic than MDMA
216 KETAMINE           dissociative · — · CYP2B6/3A4 · NMDA antagonist · κ-opioid weak · BDNF↑
217 ESKETAMINE         dissociative · — · CYP · NMDA antagonist (higher affinity than ketamine)
218 PCP                dissociative · — · CYP · NMDA antagonist · sigma · D2
219 DXM                dissociative · — · CYP2D6 · NMDA antagonist · sigma · SERT
220 NITROUS_OXIDE      dissociative · diffusion · exhaled · NMDA antagonist · κ-opioid
221 THC                cannabinoid · — · CYP2C9/3A4 · CB1 partial agonist · CB2
222 CBD                cannabinoid · — · CYP3A4/2C19 · CB1 NAM · 5-HT1A · TRPV1 · GPR55
223 NICOTINE           stimulant   · — · CYP2A6 · nAChR α4β2 + α7 agonist (acute) → desensitize (chronic)
224 CAFFEINE           stimulant   · — · CYP1A2 · A1 + A2A adenosine antagonist · weak PDE inhibitor
225 THEOPHYLLINE       stimulant   · — · CYP1A2 · adenosine antagonist · PDE inhibitor
226 ALCOHOL            depressant  · — · ADH/ALDH · GABA-A PAM · NMDA antagonist · 5-HT3 · glycine
227 GHB_EXOGENOUS      depressant  · — · GHB-DH · GHB-R · GABA-B agonist
228 BENZODIAZEPINE     depressant  · — · CYP3A4 · GABA-A α1/2/3/5 PAM at BZ site
229 BARBITURATE        depressant  · — · CYP · GABA-A PAM (different site) · direct opener at high dose
230 Z_DRUG             depressant  · — · CYP3A4 · GABA-A α1 PAM (zolpidem · zopiclone class)
231 OPIOID_MU          opioid agonist · — · CYP · μ-opioid full agonist (morphine · oxycodone · fentanyl)
232 OPIOID_KAPPA       opioid agonist · — · — · κ-opioid agonist (salvinorin A · dynorphin mimics)
233 OPIOID_DELTA       opioid agonist · — · — · δ-opioid agonist (analgesia · less euphoric)
234 BUPRENORPHINE      opioid mixed · — · CYP3A4 · μ partial agonist · κ antagonist (treatment)
235 NALOXONE           opioid antag · — · — · μ · κ · δ antagonist (reversal)
236 NALTREXONE         opioid antag · — · — · μ > κ antagonist (treatment · sustained)
237 AMPHETAMINE        stimulant · DAT/NET REVERSE-TRANSPORT release · MAO inhibitor · TAAR1
238 METHAMPHETAMINE    stimulant · DAT/NET reverse-transport · 5-HT release · higher CNS penetration
239 COCAINE            stimulant · DAT/SERT/NET reuptake inhibitor · Na-channel local anesthetic
240 MODAFINIL          eugeroic   · DAT weak inhibitor · orexin · histamine release
241 METHYLPHENIDATE    stimulant · DAT/NET inhibitor (Ritalin)
242 AMPHETAMINE_MIXED  stimulant · DAT/NET release (Adderall · d+l isomers)
243 IBOGAINE           complex · NMDA · κ-opioid · SERT · α3β4 nAChR · 5-HT2A (anti-addiction)
244 SCOPOLAMINE        anticholinergic · — · CYP · muscarinic M1 antagonist (rapid antidepressant probe)

245–254 · RESERVED (open slots · novel · undiscovered · per-user custom signals · 3 claimed in a7)

245 RESISTIN           adipokine   · adipose tissue · —      · CAP1 · TLR4 (pipeline friction · §4.1d) · a7
246 HEPCIDIN           peptide     · liver          · —      · ferroportin (gatekeeping intake · §4.1d) · a7
247 FGF21              growth-fact · liver-brain    · —      · FGFR1c + β-Klotho (stress-forge · §4.1d · companion to FGF_2 at #187) · a7
248-254  RESERVED · open · contributors may register · class TBD · status RESERVED

255 · META · UNMAPPED_SIGNAL (catch-all · routes to META layer §1e)

255 UNMAPPED_SIGNAL    meta · any signal whose ID is not yet classified · routes to META verify pipeline

§4.7e · PROMOTION RULES · SCAFFOLDED → ACTIVE

A scaffolded slot becomes active when three things are true:

  • Kinetics declared: the slot's kinetics object has all 6 variables from §4.5a populated with non-null defaults.
  • Feeds something: either feeds_hormone points to a §4.1 readout, or axis contributes a new dimension declared in §4.3.
  • Honesty discharged: the source of each rate constant is documented (literature reference, derived heuristic, or explicit [ stub ] tag).
// promotion is a single function call · idempotent · auditable
function promoteSlot(slot_id, kinetics, feed) {
  const slot = SYNAPSE_REGISTRY[slot_id];
  if (slot.status !== 'SCAFFOLDED') return BE(log, 'PROMOTION_REJECTED');
  slot.kinetics      = kinetics;
  slot.feeds_hormone = feed;
  slot.status        = 'ACTIVE';
  slot.promoted_at   = Date.now();
  return BE(() => commitBlock({ event: 'SLOT_PROMOTED', slot_id }), 'SLOT_ACTIVE');
}

§4.7f · EXPANSION PATH · uint8 → uint16 (when needed)

255 is sufficient for the human neurochemical surface plus headroom. Three scenarios force a wider register:

  • Per-user custom signals: if instances start registering domain-specific synapses (e.g. brand-mood pseudo-transmitters in the studio context), 250 reserved slots fill fast.
  • Multi-organism modeling: if META layer aggregates across users / domains, each instance might own a 255-block and the federation needs uint16.
  • Receptor-resolved registry: currently a slot holds one transmitter; a receptor-resolved registry (one slot per transmitter × receptor pair) needs ~2000+ entries → uint16.

The migration is mechanical: bump SYNAPSE_REGISTRY from Array(256) to Array(65536), slot 65535 inherits META semantics, slots 0–254 are unchanged. The schema's id field widens. Blocks gain a registry-width byte so older blocks remain readable. R9 detect-and-rollback still applies if migration goes wrong.

§4.7g · HONESTY · what the registry is NOT

synapse registry · honesty thesis
This is a framework, not a claim of completeness. The 255 slots are positions the spec can refer to — not a guarantee that human neurochemistry has been canonically catalogued by this document. Roughly 150 entries are named with plausible class + transporter + degrader + receptor data; the rest are placeholders or compressed. Of the 150 named entries, only 5 (the monoamines) run live kinetic math.
  • Slot assignments are stable once published — changing a slot after publication would break LEDGER replay (R9). Reservation, deprecation, and migration use new slot IDs, never overwrite.
  • Class taxonomy is a working classification, not a final ontology. Some signals belong to multiple classes (e.g. estradiol is neurosteroid + hormone + receptor ligand) — the slot's primary class is the dominant role in neural signaling.
  • Receptor lists are illustrative; the real receptor pharmacology for most peptides is incompletely characterized. The simulation models the presence of a receptor family, not its complete subtype distribution.
  • Exogenous binding profiles (210–244) are not endogenous neurochemistry — they're drug→receptor maps so APPLY can target the same slot system used for endogenous signals. A drug at slot 210 (LSD) modulates the receptors of slot 0 (serotonin) through 5-HT2A binding.
  • The full 255-entry promotion to ACTIVE is not a roadmap commitment — it's a structural guarantee that the slot is available if a future study, dataset, or in-game system needs it.

§4.8 · COHERENCY · five-timescale receptor adaptation · v4.0 anchor feature

§4.5b modeled receptor adaptation as a single linear lag (one variable · one rate constant · 0.0012 per tick). That was a v3.2 simplification — admitted in §4.6d as "in vivo there are at least five interacting timescales." v4.0 unfolds that simplification. The single receptor_density variable becomes five cascading variables, each with its own biological timescale, each gating the next. The simulation gains a new measured state — coherency — which describes how aligned the five scales are at any moment.

E1++ · COHERENCY as the 21st readout · v4.0 release feature
A simulation that runs one lag is honest about shape. A simulation that runs five lags is honest about tempo — fast scales restore in seconds when the drug stops, slow scales take weeks. Coherency is the metric of how far the scales have drifted from each other. High coherency = settled system. Low coherency = system in transition (drug onset, drug discontinuation, shock event). Coherency joins HORMONES as the 21st measured readout and gates three new somatic markers in §4.2 (SETTLED · TRANSITIONING · DISCORDANT).

§4.8a · THE LIE OF ONE LAG · what v3.2 a5 oversimplified

The v3.2 a5 synapse tick (§4.5b step 5) used:

// v3.2 a5 · single-lag receptor adaptation · accurate in shape, wrong in tempo
const target_density = 1 - (exposure - 0.40) * 0.70;
syn.receptor_density += (target_density - syn.receptor_density) * 0.0012;

One rate constant · one variable. This captures "receptors downregulate when exposure stays high" but it cannot capture:

  • Acute desensitization · GPCR uncouples from G-protein in seconds (faster than any single 0.0012/tick lag can model).
  • Receptor internalization · β-arrestin pulls phosphorylated receptors off the surface in minutes · they're not gone, just hidden.
  • Lysosomal degradation vs endosomal recycling · the hours-to-days decision of whether an internalized receptor comes back or is destroyed.
  • Transcriptional adaptation · gene expression changes the production rate of new receptors over days-to-weeks.
  • Structural plasticity · the synapse itself rewires · dendritic spines form and retract · downstream circuits adapt their weights over weeks-to-months.

Each of these is a separate variable with a separate rate constant. They interact · each scale is the input to the next slower scale. v4 names the cascade.

§4.8b · THE FIVE TIMESCALES

scalevariablebiologyreal-world half-lifetick lagliterature anchor
1 · FASTESTcouplingGRK phosphorylation · G-protein uncouplingseconds – minutes0.0500Lefkowitz · Caron (1980s+)
2surface_countβ-arrestin recruitment · clathrin endocytosisminutes – hours0.0050β-arrestin (Lefkowitz 1990)
3total_countlysosomal degradation vs endosomal recyclinghours – days0.0005Sorkin · von Zastrow (2002)
4synth_rateCREB / ΔFosB / gene-expression changesdays – weeks0.00005Nestler · Hyman (1990s+)
5 · SLOWESTcircuit_weightstructural plasticity · spine remodel · LTP/LTDweeks – months0.000005Bliss · Lømo (1973) · Kandel (2000)

Tick lag is per 3000ms simulation tick. Settling time ≈ 4 / lag ticks · multiply by 3 seconds for wall-clock. Scale 1 settles in ~4 minutes simulated · scale 5 in ~7 days simulated. The ratios between scales (10× each step) are what give the cascade its biological texture.

§4.8c · THE CASCADE · each scale gates the next

// v4.0 · five-timescale receptor adaptation · replaces single-lag in §4.5b step 5
function adaptReceptors(syn) {
  const exposure = syn.synaptic_conc;

  // SCALE 1 · COUPLING — fastest · driven directly by exposure (seconds-minutes)
  const coupling_target = 1 - (exposure - 0.40) * 0.80;
  syn.coupling += (coupling_target - syn.coupling) * 0.0500;

  // SCALE 2 · SURFACE_COUNT — gated by coupling · β-arrestin response (minutes-hours)
  const surface_target = clamp(syn.coupling * 1.05, 0.30, 1.10);
  syn.surface_count += (surface_target - syn.surface_count) * 0.0050;

  // SCALE 3 · TOTAL_COUNT — gated by surface_count · degrade-or-recycle (hours-days)
  const total_target = clamp(syn.surface_count * 1.02, 0.30, 1.20);
  syn.total_count += (total_target - syn.total_count) * 0.0005;

  // SCALE 4 · SYNTH_RATE — gated by total_count · gene expression (days-weeks)
  const synth_target = clamp(syn.total_count * 1.00, 0.40, 1.20);
  syn.synth_rate += (synth_target - syn.synth_rate) * 0.00005;

  // SCALE 5 · CIRCUIT_WEIGHT — gated by synth_rate · structural plasticity (weeks-months)
  const circuit_target = clamp(syn.synth_rate * 1.00, 0.50, 1.10);
  syn.circuit_weight += (circuit_target - syn.circuit_weight) * 0.000005;

  return BE(null, 'RECEPTORS_ADAPTED');
}

Each scale is gated by the scale above it · the slow ones cannot drift independently. The slow scales remember the fast scales over their relaxation time. This is the source of coherency: in a settled system, all five variables converge on the same value because each is targeting the next.

§4.8d · EFFECTIVE RECEPTOR DENSITY · the product of all five

// the readout that synapseReadout() now uses · replaces syn.receptor_density
function effectiveDensity(syn) {
  const surface_ratio = syn.surface_count / Math.max(syn.total_count, 0.01);
  return syn.coupling
       * surface_ratio
       * syn.total_count
       * syn.synth_rate
       * syn.circuit_weight;
}

// synapseReadout from §4.5a · now multiplied by full cascade
function synapseReadout(syn) {
  return syn.synaptic_conc * effectiveDensity(syn) * syn.receptor_sensitivity;
}

Five factors multiply. If any one collapses, the signal collapses. If they all stay aligned, the signal is whatever the cleft concentration produces. This is the molecular basis of tolerance (slow factors drop), withdrawal (fast factors restore but slow factors haven't), and recovery (slow factors finally catch up).

§4.8e · COHERENCY METRIC · variance across scales

// coherency · how aligned the 5 scales are · the v4 anchor reading
function coherency(syn) {
  const scales = [
    syn.coupling,
    syn.surface_count,
    syn.total_count,
    syn.synth_rate,
    syn.circuit_weight,
  ];
  const mean = scales.reduce((a, b) => a + b, 0) / scales.length;
  const variance = scales.reduce((sum, x) => sum + (x - mean) ** 2, 0) / scales.length;
  return clamp(1 - variance * 4, 0, 1);  // 1 = aligned · 0 = scattered
}

// system-wide coherency · average across all ACTIVE synapses
function systemCoherency() {
  const active = SYNAPSE_REGISTRY.filter(s => s?.status === 'ACTIVE');
  return active.reduce((sum, s) => sum + coherency(s.kinetics), 0) / active.length;
}

§4.8f · COHERENCY as the 21st HORMONE readout

System-wide coherency joins HORMONES (§4.1) as a measured readout — the 21st (alongside the original 11 + craft expansion 4 + neuromodulator band 5).

const HORMONES = {
  // ... 20 readouts from a3 + a4 ...
  coherency: 0.78,   // system stability across timescales · 1 = settled · 0 = discordant
};

// regulateHormones() adds the coherency readout each tick
function regulateCoherencyReadout() {
  HORMONES.coherency += (systemCoherency() - HORMONES.coherency) * 0.35;
}

Coherency lives on a new axis · §4.3 COHERENCY axis (the 9th, alongside the eight existing axes). It is the only axis whose membership is a single readout — because coherency is the alignment-of-everything-else.

§4.8g · THREE NEW SOMATIC STATES · driven by coherency

Inserted into the §4.2 priority matrix between INFLAMED and STRESSED:

prioritystatetriggerscls · visual
2aDISCORDANTcoherency < .40 ∧ |slope(coherency)| > .03s-discordant (red/violet · fast jitter)
2bTRANSITIONING.40 ≤ coherency < .70 ∧ |slope(coherency)| > .01s-transitioning (amber/cyan · slow drift)
15aSETTLEDcoherency > .85 ∧ |slope(coherency)| < .003 (sustained ≥ 60 ticks)s-settled (green/gold · steady glow)

DISCORDANT and TRANSITIONING fire before STRESSED because a system in transition is more informative to surface than a system that's merely under load. SETTLED fires alongside ELATED at lower priority but is the only state that requires sustained coherency — making it the system's strongest "trust this signal" indicator.

§4.8h · SIMULATION TIMELINE · SSRI run with 5-scale coherency

dayplasmacouplingsurfacetotalsynthcircuitcoherencysomatic
0 (no drug)0.001.001.001.001.001.000.99SETTLED · baseline
0+1h (acute)0.100.740.991.001.001.000.48DISCORDANT · jolt
10.180.710.860.991.001.000.44DISCORDANT
70.700.660.680.830.981.000.62TRANSITIONING
140.920.640.650.690.860.990.69TRANSITIONING
280.980.630.640.650.710.920.78TRANSITIONING
421.000.630.630.640.660.780.86approaching SETTLED
90 (stable)1.000.630.630.630.630.650.96SETTLED · therapeutic
90+1h (stop)0.200.950.650.630.630.650.37DISCORDANT · rebound
91 (1d after)0.040.990.780.640.630.650.38DISCORDANT · withdrawal
97 (1wk after)0.001.000.970.740.650.650.61TRANSITIONING
120 (1mo after)0.001.001.000.960.780.690.75TRANSITIONING
180 (3mo after)0.001.001.001.000.950.880.91approaching SETTLED
270 (6mo after)0.001.001.001.001.000.980.99SETTLED · recovered

Notice the asymmetry: drug onset gives a brief DISCORDANT spike (1 hour) then weeks of TRANSITIONING. Drug discontinuation gives a much longer DISCORDANT phase because the slow scales (synth, circuit) are still adapted to the drug while the fast scales (coupling) have already restored. This is the molecular signature of SSRI discontinuation syndrome — it falls out of the coherency model with no special-case code.

§4.8i · HONESTY · what COHERENCY is NOT

five-timescale model · honesty thesis
Real receptor biology has more than five timescales, and the scales cross-talk in ways v4 does not model: β-arrestin can directly drive gene expression (collapsing scales 2 and 4); CREB phosphorylation can trigger structural plasticity (collapsing scales 4 and 5); inflammatory cytokines override the entire cascade. The five scales are the right shape at the right ratios — 10× separation each — but they are not a complete molecular biology model.
  • Tick rates (0.05, 0.005, 0.0005, 0.00005, 0.000005) are illustrative · chosen so the cascade plays out at the right qualitative tempo, not measured from receptor kinetics studies.
  • Each scale's "gate" is currently a simple multiplier (* 1.05, * 1.02, etc.) · real cross-talk involves second messengers (cAMP, Ca²⁺) and transcription factors (CREB, ΔFosB) the spec does not name.
  • Coherency variance across 5 numbers in [0,1] is a crude proxy for "system alignment." Better metrics (mutual information across timescales, phase coherence) belong in v5.
  • Receptor heterogeneity is ignored · all 5-HT2A receptors in slot 0 are treated as one population. In vivo there is enormous receptor-state diversity within a single cluster.
  • The [ sim ] tag still applies · this is not a clinical model. v4 improves the honesty of the shape, not the magnitude.
§5 ▸ THE TWENTY-SIX VERBS UPDATED · +3 SENSORY verbs (v4.0 a2)

Any function in the codebase should map to one of these verbs. If it doesn't, it's miscategorized or doing two things and should be split.

verbmeaningcell typetier
TRANSCRIBEcommander emits / mutates DNAHELPER_Tcommander
EXPRESScell runs the DNA · sub-agent firesany cellcell
PRESENTcell surfaces a signal · packet emissionAPCcell
GATEcell blocks a signalKILLER_Tcell
REMEMBERcell stores a signal · feeds engineMEMORY_Tcell + engine
REGULATEorganism modulates thresholdTREGorgan + emotion
DISTILLengine compresses memory → kernelenginememory → kernel
WAKEkernel boots into operating statekernelkernel
ARCHIVESELF deep-stores · "might matter someday"self · new in v3.1
PRUNESELF discards · "no longer useful"self · new in v3.1
SEEDbuilds deterministic state from a seed valuegenesis · new in v3.2
GENESIScombines (public, private) → instance · ≡ BOOTenginegenesis · new in v3.2
COMMITappends a block to the per-user chain · ≡ PUBLISHledger · new in v3.2
VERIFYMETA validates a block's signal before acceptancemeta · new in v3.2
ROLLBACKreverts current instance to a prior known-good blockledger · new in v3.2
APPLYexternal drug intervention · modulates synaptic rate constants (SSRI · MAOI · SNRI · atypical)pharma · new in v3.2 a5
WITNESSindependent instance verifies a peer's block META signal · feeds the K-of-N quorum (R12)meta · new in v5.0
QUARANTINEisolates an unwitnessed / suspect block · provisional, pending quorum or ROLLBACK (R9)meta · new in v5.0
NEUTRALIZEbind + disable a specific threat · antibody-mediated or cytotoxic lysisANTIBODY · CD8_KILLER_Timmune · new in v4.0 a1
OPSONIZEtag a target so PHAGE_T can engulf it · antibody + complement coatingantibody + complementimmune · new in v4.0 a1
PHAGOCYTOSEengulf + degrade in a sandbox · macrophage operationPHAGE_Timmune · new in v4.0 a1
ATTESTsign current code + state hash for audit · R14 MHC_I/MHC_II per-tick commitmentevery cell (MHC_I) · APC (MHC_II)immune + ledger · new in v4.0 a1
ESCALATEbroadcast cytokine alert + route response via chemokineDENDRITIC_Timmune · new in v4.0 a1
SENSEsensor reports a typed reading from a modality · feeds APCSENSOR (any §12 modality)sensory · new in v4.0 a2
TRANSDUCEconvert raw world-input to typed modality packet · the membrane operationSENSOR transducersensory · new in v4.0 a2
ADAPTsensor adjusts sensitivity over time · 5-timescale per §4.8 COHERENCYSENSOR adaptation_statesensory · new in v4.0 a2

APPLY is the only verb that originates outside the organism. Everything else is the system regulating itself; APPLY is the external intervention. Used by §4.6 to model psychoactive drugs by modulating reuptake (KILLER_T) and degradation (TREG) rate constants — never by touching the hormone readout directly.

§6 ▸ NAMING RULES enforceable

FUNCTIONS · verb + cell_type / verb + tier

expressScoutCell(sub, emission)            // cell EXPRESS-es its DNA
gateMnpiSignal(packet)                     // KILLER_T GATEs MNPI
transcribeIntakeDirective(cmd, dna_new)   // commander TRANSCRIBEs
rememberQuorumArtifact(artifact)          // MEMORY_T REMEMBERs
distillSessionEngine(engine)              // engine DISTILLs to kernel
wakeKernel(kernel_name)                    // kernel WAKEs at boot
archiveQualifiedArtifact(a)               // SELF ARCHIVEs the survivor
pruneStaleArtifact(a, now)                 // SELF PRUNEs the unused

STATE VARIABLES · tier + concept

  • cellPopulationByType — live count of each cell type
  • dnaVersionByCommander — current dna_version map
  • hormonalLevels — current oracle modulation state
  • somaticMarker — current felt-state phrase
  • artifactRegistry — engine memory store
  • kernelSeeds — boot-time persistent seeds
  • selfArchive — long-term storage (DEEP STORE output)
  • prunedAt — timestamp ledger of recent prunes (auditable)

CONSTANTS · SHOUT_CASE + tier

  • STEM_POOL_SIZE — unity mesh capacity
  • CORTISOL_GATE_THRESHOLD — stress → gate adjustment
  • CELL_TYPES — the enumerated type set
  • DNA_LIFETIME_MS — directive TTL before retranscription
  • KERNEL_TTL_MS — kernel persistence horizon
  • SELF_ARCHIVE_THRESHOLD — completeness required for permanent store
  • SELF_PRUNE_AGE_MS — unused TTL before discard
§7 ▸ HONESTY TAGS carries through to user-facing surfaces
tagmeaningwhere it shows
+ PRODshipped, monitored, alerted onfile header · watermark · status bar
± PRODreal architecture · partial real data · simulated where paidfile header · watermark · "more or less production"
− PRODdemo only · do not present as livefile header · watermark · prominent warning

Honesty is part of the contract with the audience. The industry's usual "production-ready" framing lies. Pick the tag that reflects truth.

§8 ▸ LAYER REGULATION DIRECTION enforceable
  • Down (signaling): a layer can call the layer immediately below it. DNA signals cells; cells signal organs; organs signal emotions; etc.
  • Up (telemetry): a layer reports to the layer above it. Cells → organs → emotions → memory → kernels → SELF.
  • Feedback (evolution): only the SELF→DNA path crosses multiple layers. This is the deliberate evolution loop and must be explicit (logged, versioned). Memory engines distill into kernels which distill into archives, which become candidate inputs for DNA rewrites.
  • Never: a sub-agent does not edit a chief. A kernel does not directly call a cell. Layer-skipping is illegal except through the documented evolution feedback path.
§9 ▸ PRIOR ART · honest credits we stand on shoulders

Molecular Coding is an integration, not an invention. Thirty-five separate traditions, folded into one coding discipline.

yearwhocontributionmaps to
1885EbbinghausForgetting curve · unused memory decaysSELF prune rule
1966BeladyLRU page replacementSELF prune policy
1973HewittActor model · become primitivecells + BE
1974KahnKahn process networks · datafloworgan topology
1975Plotkin · Sussman · SteeleContinuation-passing style (CPS)BE primitive
1978LamportTime, clocks, ordering · no global clockR0 Async System
1979HuttenlocherSynaptic pruning in developmentSELF prune
1980TreismanBinding problem · fragments → perceptsfission-fusion
1983Lieberman · HewittGenerational garbage collectionSELF archive + prune tiering
1986Erlang at EricssonSupervisor trees · production actorschiefs + commanders
1987HarelStatecharts · explicit transitionsBE labels
1992SquireProcedural vs declarative memorykernels vs engines
1994DamasioSomatic marker hypothesisoracle hormones · watermark
1994Forrest et al.Artificial immune systemscell types · GATE
1997PicardAffective computingoracle as emotion
2004Dean · GhemawatMapReduce · fission then fusionfission-fusion spectrum
2005Stickgold · WalkerSleep-dependent memory consolidationSELF archive during quiet cycles
2013Mnih et al.Experience replay (DQN)engines · memory replay
2014Reactive ManifestoMessage-driven · elastic · resilient · responsiveR0 Async System
2017Hall · Rosbash · YoungNobel: circadian clock geneskernels · waking
1996RivestSPKI / SDSI · certificate-less key-derived auth§1c instance = auth · v3.2
1990s+Mark MillerObject capabilities · "capability IS authority"§1c instance = auth · v3.2
2002Yarvin et al.Urbit · deterministic personal OS from seed§1c genesis loop · v3.2
2005TorvaldsGit · per-repo commit chain · content-addressed§1d per-user chain · v3.2
2010sGenode · seL4Capability-based microkernels§1c instance discipline · v3.2
2018Brock · Harris-BraunHolochain · agent-centric · per-user source chain§1d per-user chain · v3.2
2019FIDO Alliance · W3CWebAuthn / passkeys · device-as-auth shortcut§1c shortcut for genesis loop · v3.2
1999Castro · LiskovPBFT · practical Byzantine fault tolerance · a K-of-N quorum tolerates bad actors§1e META witness quorum · v5.0
2013Laurie et al.Certificate Transparency · independent witnesses log & verify · no single authority§1e META peer-witness · v5.0
1932Walter CannonHomeostasis · the body holds set-points by negative feedback§20 homeostasis · v4.0 a3
1988Sterling & EyerAllostasis · stability through anticipatory change · allostatic load§20 allostasis · v4.0 a3
1975Saltzer & SchroederThe protection of information · least privilege · defense in depth · fail-safe defaults§18 R24 · §22 defense-in-depth · v4.0 a3
1988Bernard BaarsGlobal Workspace Theory · consciousness as broadcast to a shared workspace§21 sentience · the somatic broadcast · v4.0 a3
2004Giulio TononiIntegrated Information Theory · Φ · consciousness as irreducible integration§21 · §4.8 coherency as a Φ-shaped readout · v4.0 a3
2014Google · BeyondCorpZero-trust networking · trust by proof, never by location§22 R28 zero-trust interior · v4.0 a3

The integration into one coherent house-style discipline — that's the Drewless contribution. Naming the stack, enforcing it at the function level, demanding cell types and DNA versions and BE labels, treating the watermark as a somatic marker, declaring archive + prune as named policies — none of that is computer science. It's engineering culture, which is a different valuable thing.

§10 ▸ ROADMAP · ten steps to make this real UPDATED · +steps 9-10 (genesis loop · META)
1

WRITE THE SPEC

You are reading it. Save as MOLECULAR-CODING.html in project root. Future you starts here.

effort: done
2

INSTRUMENT CODEBASE WITH METADATA

Add cell_type to every sub-agent. Add dna_version to every commander. Add BE(fn, label) primitive with tracer.

effort: ~150 lines · additive
3

NAME THE HORMONES

Reframe oracle thresholds with hormonal names. Same math, new labels. Discoverable to readers and LLMs.

effort: ~30 lines
4

SOMATIC MARKER ON WATERMARK

Replace bare "ORACLE · 87%" with state phrase (CALM/VIGILANT/STRESSED/FATIGUED) derived from hormonal levels.

effort: ~20 lines
5

ENGINE · MEMORY CONSOLIDATOR

Periodic consolidateMemory() scans artifact registry, compresses similar artifacts, exposes to commanders as next-cycle inputs. Closes the DNA evolution loop.

effort: ~100 lines
6

KERNELS · CIRCADIAN BOOT SEEDS

On session end distill engines into kernelSeeds in localStorage. On session start load kernels and pre-warm commander directives. Session-to-session memory and habits.

effort: ~150 lines
7

SELF · DEEP STORE + PRUNE POLICIES

Declare archiveRule(item) and pruneRule(item, now) for every long-lived store. Scheduled selfTick() runs hourly. Surface a SELF panel showing what was archived / pruned recently — auditable forgetting.

effort: ~120 lines · the spec is now real
8

ENFORCE WITH A LINTER

Node pre-commit script flags: sub-agents without cell_type; commanders without dna_version; conditionals without BE; long-lived stores without archive/prune rules; functions whose names don't start with one of the fifteen verbs.

effort: ~250 lines node script · one-time
9

GENESIS LOOP · INSTRUMENT

Ship a working boot(privateSeed) that genesises an instance from (public, private), commits the first block of a per-user chain, and renders a personalized surface. DREWLESS-DEMO.html ships this minimally. Production version derives via BIP-32-style HD derivation per domain; chain persists in IndexedDB.

effort: ~300 lines demo · ~600 lines production · v3.2 new
10

META · PROTOTYPE THE GATE

Stand up the META validator pattern (peer-witness or distributed validator set). Define the signal: instance_pubkey + signed(block_hash) + freshness_proof. Wire detect → rollback in the demo. This step closes the v3.3 frontier and gives the spec its first end-to-end attack surface to harden.

effort: TBD · v3.3 frontier · WIP framing in §1e
§11 ▸ IMMUNE SYSTEM · hack/virus defense surface NEW · v4.0 addendum 1

The molecular spec has shipped immune building blocks since v3.0 — APC · KILLER_T · MEMORY_T · HELPER_T · TREG are the cytotoxic-vs-tolerance pipeline encoded in R1 cell types. v3.2 a4 added cytokines as scaffolded §4.7 slots (#174-180: IL-1β · IL-6 · IL-10 · IL-18 · TNF-α · IFN-γ · IFN-α). v4.0 unified the 30-hormone surface and the synaptic-dynamics layer with COHERENCY (§4.8). v4.0 a1 names the defensive discipline that sits across all of those parts — five layers, twelve cell types (5 existing + 7 new), five new verbs, three new R-rules, fifteen threat-to-mechanism mappings, an antibody registry parallel to the synapse registry, and an explicit honesty section about what the layer is and is not.

M2 · IMMUNE SYSTEM · where META leaves off, IMMUNE picks up
§1c GENESIS LOOP = intrinsic auth (the instance must boot from your seed · nothing to attack until then). §1e META = protocol-edge gate (bad-actor filtering before the block commits). §11 IMMUNE = downstream defense (signals that look legitimate but aren't · threats that got past META). Three concentric defenses · the innermost is named in v4.0 a1.

§11.1 · THE FIVE IMMUNE LAYERS

layercharactercell typesbiological analog
INNATEalways-on · generic · fast (ms-sec)BARRIER_T · PATTERN_T · PHAGE_T · NK_T · COMPLEMENT cascadeskin · mucosa · macrophages · NK cells · complement
ADAPTIVElearned · specific · slow first time, fast after (min-day)B_CELL · ANTIBODY · PLASMA_CELL · CD8_KILLER_TB cells · IgG/IgM/IgA/IgE · plasma cells · cytotoxic T cells
MEMORYwhat survives forever (day-life)MEMORY_B · MEMORY_T (existing) · BONE_MARROWmemory B/T cells · long-lived plasma · bone marrow reservoir
SURVEILLANCEcontinuous self-attestationMHC_I (per-cell) · MHC_II (APC) · DENDRITIC_T · CYTOKINE · CHEMOKINEMHC class I/II · dendritic cells · cytokines · chemokines
TOLERANCEprevent autoimmunity (false-positive damage)THYMUS_GATE · TREG (existing)thymic education · regulatory T cells

§11.2 · CELL TYPES · 5 existing + 7 new = 12 total

cellverbrolestatus
APCPRESENTsurfaces signal · existing from R1v3.0 existing
HELPER_TTRANSCRIBECD4 orchestrator · commander · existing from R1v3.0 existing
KILLER_TGATEblocks bad signal · existing from R1v3.0 existing
MEMORY_TREMEMBERstores signal · existing from R1v3.0 existing
TREGREGULATEdampens response · existing from R1v3.0 existing
BARRIER_TGATEinput-edge enforcer · URL allowlist · payload type · size limits · origin · CSP-style headersa1 new
PATTERN_TPRESENT/GATEsignature matcher · SQL-i · XSS · SSRF · path-traversal · prompt-injection · YARA-equivalenta1 new
PHAGE_TPHAGOCYTOSEsandbox executor · iframe · VM · worker · memory + time bounded · result discarded if toxica1 new
NK_TGATE/ESCALATEbehavioral anomaly detector · per-cell baseline · deviation triggers quarantinea1 new
B_CELLPRESENT/REMEMBERantibody factory · generates new pattern detectors after seeing a novel attack · somatic hypermutationa1 new
CD8_KILLER_TNEUTRALIZEcytotoxic against compromised own-cells (MHC drift) · the supply-chain-attack responsea1 new
DENDRITIC_TESCALATEmigratory APC · spreads cytokine alerts system-wide · the "we're under attack" couriera1 new

§11.3 · FIVE NEW VERBS · the §5 catalog grows from 18 to 23

  • NEUTRALIZE — bind + disable a specific threat (ANTIBODY or CD8 lysis)
  • OPSONIZE — tag a target so PHAGE_T can engulf it
  • PHAGOCYTOSE — engulf + degrade in a sandbox
  • ATTEST — sign current code + state hash for audit (MHC_I/II · drives R14)
  • ESCALATE — broadcast cytokine alert + route response via chemokine

§11.4 · THREE NEW R-RULES · the §3 catalog grows from 13 to 16

  • R14 · MHC_I ATTESTATION PER TICK — every cell signs code + state hash each tick · drift = compromise
  • R15 · ANTIBODY IMMUTABILITY — once published, antibodies can only be deprecated, never edited · preserves R8
  • R16 · TOLERANCE CHECK BEFORE PROMOTION — new detectors must pass known-good panel · prevents autoimmunity

§11.5 · THREAT → MECHANISM · 15 hack/virus types

threatimmune mechanismcomposes with
XSS injectionPATTERN_T (signature) → BARRIER_T (CSP enforce) → DENDRITIC_T (ESCALATE)cortisol + prostaglandin rise
SQL injectionPATTERN_T → BARRIER_T (parameterized query) → CYTOKINE alertprostaglandin (INFLAMMATION)
CSRFMHC_I (origin attestation · R14) → BARRIER_T (SameSite + token check)vasopressin (TERRITORY)
Prompt injection (LLM)PATTERN_T (input scrub) → PHAGE_T (sandbox tool exec) → CD8 (kill drifted sub-agent) → IFN broadcastcortisol + gaba INHIBITION
Supply-chain compromiseMHC_I (package hash drift · R14) → NK_T (behavioral anomaly) → CD8_KILLER_T (quarantine)hepcidin (GATEKEEPING)
PhishingANTIBODY (known-bad domain DB) → BARRIER_T (allowlist) → user warningprogesterone (PROTECTIVE)
Brute forceCOMPLEMENT cascade (N fails → tighten) → CYTOKINE (rate-limit) → TREG damp after timeoutcortisol → adrenaline cascade
DDOSIFN_BROADCAST → ANTIVIRAL_STATE (refuse new conn) → COMPLEMENT (drop suspect IPs)anp (VENTING) + resistin (FRICTION)
Malware executionMHC_I (code attestation · R14) → PHAGE_T (sandbox) → NK_T (behavioral) → CD8 if confirmedprostaglandin + cortisol
Zero-day exploitB_CELL (novel pattern gen) → AFFINITY_MATURATION (refine) → MEMORY_B (federated archive)acetylcholine (ATTENTION) · adiponectin (HEALTH)
Insider threatNK_T (per-user behavioral baseline) → MHC_II (every action attested) → §1d chain forensic walknorepinephrine (FOCUS) · vasopressin (TERRITORY)
Data exfiltrationCHEMOKINE (egress anomaly) → NK_T (volume spike) → CYTOKINE (rate-limit) → CD8hepcidin · norepinephrine
Account takeover§1c GENESIS LOOP intrinsic defense (stolen password can't recreate your instance) + ANTIBODY for credential-stuffing patterns§1c · §1d · §1e stack
Privilege escalation§1c instance boundaries → TREG suppression of escalation events → CD8 if matches MEMORY_Bcortisol + adrenaline (VIGILANT)
Replay attack§1d PER-USER CHAIN (every action commits a block · replay = hash mismatch) → META rejects → R9 ROLLBACKR9 detect-and-rollback

§11.6 · ANTIBODY REGISTRY · 256 slots · parallel to §4.7

Antibodies are first-class artifacts that need byte-aligned addressing for the same reasons synapses do (per R10): O(1) lookup · cache-friendly · ledger-friendly · drug-load-style propagation propagates a 256-entry array per tick.

// every antibody slot · same shape · stable once published (R15)
const ANTIBODY_SLOT_SCHEMA = {
  id:            0,                       // uint8 · 0..255 (parallel namespace to §4.7 synapses)
  name:          'XSS_GENERIC_SCRIPT_TAG',  // canonical SHOUT_CASE
  threat_class:  'injection',              // taxonomy bucket
  signature:     /<script[^>]*>/,           // detector primitive · regex · ML model · hash · etc.
  affinity:      0.92,                    // confidence · used by R11 effective density
  parent_b_cell: 'BCELL_PROD_2',           // who synthesized this (audit trail)
  status:        'ACTIVE',                  // ACTIVE · SCAFFOLDED · SUPERSEDED · RESERVED
  supersedes:    null,                     // older slot ID if this replaces an earlier antibody (R15)
  ttl:           90 * DAY_MS,             // auto-deprecate after this · re-validation refreshes
  federation:    'LOCAL',                   // LOCAL · SHARED_TRUSTED · SHARED_OPEN (v5 frontier)
};

// allocation map · 10 ranges · mirrors §4.7 structure
 0-19    INJECTION         xss · sql-i · ssrf · path-traversal · prompt-injection
20-39    AUTH              credential-stuffing · session-hijack · csrf · clickjacking
40-59    EXFIL             data egress patterns · DNS exfil · timing channels
60-79    MALWARE           binary signatures · behavior patterns · ransomware
80-99    SUPPLY_CHAIN      dep hash drift · maintainer takeover patterns
100-119  PHISHING_SOCIAL   domain typosquats · spoofed senders · prompt manipulation
120-139  RATE_ANOMALY      brute force · ddos · scraping patterns
140-159  INSIDER           privilege drift · access pattern anomalies
160-179  PROTOCOL          replay · downgrade · injection at protocol layer
180-199  ZERO_DAY          B_CELL-generated novel patterns · pending tolerance check
200-244  RESERVED          open for novel threat classes
245-254  PER_USER_CUSTOM   instance-specific antibodies · not federation-shared by default
255      UNMAPPED_THREAT   catch-all · routes to META layer §1e for triage

§11.7 · INTEGRATION WITH v4 · the immune system fits the existing surface

  • Cytokines reuse §4.7 slots #174-180 — IL-1β · IL-6 · IL-10 · IL-18 · TNF-α · IFN-γ · IFN-α are already SCAFFOLDED. The §4.7e promotion path (SCAFFOLDED → ACTIVE) wires them with kinetics. Immune signaling does not need new synapse slots — it activates the ones already there.
  • Immune response IS a 5-timescale phenomenon (§4.8 COHERENCY). Innate response = COUPLING scale (seconds). Adaptive antibody production = SYNTH_RATE scale (days). Memory immunity = CIRCUIT_WEIGHT scale (weeks-months). An attack causes DISCORDANT (coherency < .40) → response unfolds across scales → SETTLED when slow scales catch up. Immunization IS coherent re-settling after a perturbation.
  • Antibody affinity follows R11 effective density. An antibody's effective binding strength is the product of: detector specificity · MEMORY_B retention · TOLERANCE pass rate · field-validated true-positive count · federation reputation. Five factors · same shape as receptor density. Code using single "antibody confidence" without cascading violates R11 unless tagged // v3.2-legacy.
  • Immune events commit to §1d PER-USER CHAIN. Every CD8 kill · every PHAGE_T digest · every B_CELL antibody-creation = an audit block. Forensics walkable. R9 detect-and-rollback covers immune misfires too.
  • R14 MHC_I attestation extends the §1d block schema. Blocks gain an attestations: [{cell_id, code_hash, state_hash, ts}] field. R8 (commit every version) absorbs this without modification.
  • SELF (§1a) owns BONE_MARROW. Memory antibodies follow the same R5 archive/prune rules. Long-lived plasma cell analog = SELF deep store · auto-decay analog = pruneRule with ttl.
  • META (§1e) handles UNMAPPED_THREAT (slot #255). Anything not classified by the immune system routes to META for triage and possible new-antibody synthesis (B_CELL spawn). This closes the loop between protocol-edge auth and downstream defense.
  • R12 (NO AUTHORITY WITHOUT WITNESS) composes naturally. A block carrying a CD8 kill or antibody creation needs the same K-of-N witness quorum as any other block. The immune system inherits META's verification discipline.

§11.8 · EIGHT NEW SOMATIC STATES · §4.2 matrix grows from 33 to 41

Inserted into the priority matrix by domain proximity (not appended at the bottom). DANGER tier gains 3; URGENCY gains 2; STATE/WIN gains 3.

statetiertriggerscls · visual
UNDER_ATTACKDANGERifn_broadcast > .65 ∧ cortisol > .55 ∧ coherency < .50s-under-attack (red strobe · 0.5s)
INFECTEDDANGERcd8_active > .50 ∧ mhc_drift > .40s-infected (red/violet pulse · 0.7s)
COMPROMISEDDANGERmhc_drift > .60 (one or more cells failing R14 attestation)s-compromised (red/black blink · 0.4s)
SENSITIZEDURGENCYantibody_active_count > threshold ∧ adrenaline > .50s-sensitized (amber/cyan pulse · 1.0s)
IMMUNE_ALERTURGENCYdendritic_packets > rate_baseline ∧ no_pattern_match_yets-immune-alert (amber search · 0.8s)
QUARANTINEDSTATEphage_active > .60 (cells being sandboxed for inspection)s-quarantined (violet still)
TOLERATEDSTATEtreg > .60 ∧ ifn_broadcast < .30 ∧ coherency > .80s-tolerated (green soft glow)
IMMUNIZEDWINmemory_b_hits > .60 ∧ was-UNDER_ATTACK · now SETTLED (sustained ≥ 30 ticks)s-immunized (green/gold steady glow)

SETTLED (§4.8g · v4) and IMMUNIZED (§11.8 · v4 a1) compose: a system that went UNDER_ATTACK → through TRANSITIONING → reached SETTLED with MEMORY_B updated → is IMMUNIZED. The somatic surface narrates the immune cycle.

§11.9 · HONESTY · seven critical disclaimers

READ BEFORE TREATING THIS AS A SECURITY PRODUCT
The immune system in §11 is a NAMING DISCIPLINE for security surfaces, not a security product. Real protection requires real code: actual input validators, actual sandboxes, actual signature databases, actual rate-limiters. The spec names what is needed; it does not ship a SIEM, WAF, or EDR.
  • 1 · NOT a defense-in-depth replacement. The five-layer immune model is an organizing metaphor. It does not substitute for TLS, OS-level sandboxing, CSP, OAuth/OIDC, formal verification, code review, pen testing, or established security frameworks (NIST · OWASP · CIS · MITRE ATT&CK).
  • 2 · NOT vulnerability-complete. The 15 threat mappings in §11.5 are illustrative. Real attackers compose threats that don't fit a single immune mechanism. Polymorphic malware · APTs · chained zero-days · novel cryptanalysis may bypass any single layer.
  • 3 · NOT yet active. Same as v3.2 a3 (hormone surface) and v4.0 (COHERENCY): this is NAMING completeness. Active math is partial. Most cell types launch as SCAFFOLDED in §11.6 ANTIBODY_REGISTRY. Only the 5 existing R1 cell types (APC · HELPER_T · KILLER_T · MEMORY_T · TREG) have live behavior. The 7 new cell types are declared and classed for promotion via R16, not yet wired into regulateHormones() or any runtime tick.
  • 4 · NOT a substitute for §1c GENESIS LOOP + §1e META. Those are upstream auth/identity layers. The immune system handles signals that already passed META. Bad authentication is not an immune problem; it is an auth problem.
  • 5 · ANTIBODY federation is a v5 frontier. Cross-instance antibody sharing introduces a poisoning attack surface — an attacker who injects a malicious antibody into a shared registry can cause global false-positives. Any federation design must include attestation, reputation, and rollback paths from R9. v4.0 a1 ships LOCAL federation only. SHARED_TRUSTED and SHARED_OPEN tags exist in the schema but are not yet defined operationally.
  • 6 · TOLERANCE failure = autoimmunity. The hardest immune-system problem is not catching threats — it is NOT attacking legitimate traffic. R16 carries the burden of false-positive prevention. R16's tolerance check is mandatory, not aspirational. A system that flags 5% of legitimate signals as threats is not defending the user; it is harassing them.
  • 7 · The 8 new somatic states in §11.8 require active immune kinetics to fire. Until §11 cell types are wired into regulateHormones(), the new states will not fire. They are declared, not yet measured. [ sim ] tag must appear on any UI surface that exposes these states.

The honest way to cite v4.0 a1 is: "the spec now names every major immune defense surface · zero of 8 immune somatic states fire live yet · the 7 new cell types are SCAFFOLDED, awaiting promotion via R16 tolerance checks · the antibody registry is structurally guaranteed, not populated · cytokine slots in §4.7 (#174-180) remain SCAFFOLDED · this is naming completeness, not security completeness."

§12 ▸ SENSORY SYSTEM · the perception layer NEW · v4.0 addendum 2

The molecular spec has receptor mechanics (§4.5), receptor adaptation (§4.8 COHERENCY), and an attention hormone (acetylcholine in §4.1c) — but it has no formal naming layer for how raw signals become typed sensory streams before they reach the cell pipeline. §12 closes that gap. The sensory system is the membrane between the world and the organism: input enters as raw signal, gets transduced into a typed modality, adapts its sensitivity over time, and is gated by attention before becoming a packet that APCs can PRESENT.

M3 · SENSORY SYSTEM · where the world becomes percept
THE WORLD§12 SENSORS (transduce · adapt · gate)§1 CELLS · APC · PRESENT§4 HORMONES + §11 IMMUNE. The sensory layer is the only place where raw, untyped signal exists. Once a percept passes through §12, it carries a modality, a sensitivity, an adaptation state, and an attention score — all of which downstream layers can trust.

§12.1 · NINE MODALITIES · five exteroception + four interoception

modalitytypemaps tocolor · attention hormone
SIGHTexteroceptionvisual signal stream · UI events · screenshots · image inputs · spectral analysiscyan · acetylcholine
HEARINGexteroceptionaudio signal stream · voice · sound events · waveform · pitch · cadencemagenta · acetylcholine
TOUCHexteroceptiontactile / kinematic · clicks · gestures · drags · haptics · pointer pathsgold · norepinephrine
SMELLexteroceptionpattern-without-context · signature match · YARA · anomaly fingerprint · the "something is off" senseviolet · norepinephrine + PATTERN_T (§11)
TASTEexteroceptionquality-after-engagement · verify scores · completeness · correctness · the "this is good" sensegreen · serotonin
PROPRIOCEPTIONinteroceptionsystem self-awareness · what cells are running · queue depths · fleet state · the "knowing where my limbs are" senseblue · oxytocin
NOCICEPTIONinteroceptionpain · error signal · exceptions · stack traces · circuit-breaker trips · reuses §4.7 cytokine slots #174-180red · prostaglandin + cortisol
THERMOCEPTIONinteroceptionload · temperature · CPU · memory pressure · latency · urgency heatamber · adrenaline
CHRONOCEPTIONinteroceptiontime awareness · deadlines · ages · season phase · drop windows · partially in §4.1 alreadyblue · melatonin + adrenaline

§12.2 · SENSOR ANATOMY · 6 fields per sensor · mirrors §4.5a synapse schema

// every sensor tracks 6 fields · same shape as a synapse · same R11 + §4.8 discipline
const SENSOR_SCHEMA = {
  modality:           'SIGHT',             // SHOUT_CASE from the nine in §12.1
  transducer:         (raw) => typedPacket,  // world-input → typed modality packet
  receptive_field:    [0, 1],              // range it responds to · saturation bounds
  base_sensitivity:   0.80,               // at rest · before R18 attention gain
  adaptation_state:   {                      // 5-timescale lag · §4.8 compliant
    coupling:       1.00,                  // fastest · acute desensitization (sec)
    surface_count:  1.00,                  // minutes · habituation
    total_count:    1.00,                  // hours-days · tolerance
    synth_rate:     1.00,                  // days-weeks · baseline drift
    circuit_weight: 1.00,                  // weeks-months · "I don't notice that anymore"
  },
  attention_gate:     'acetylcholine',     // which hormone modulates focus (R18)
  threshold:          0.20,               // when does it fire
  feeds:              'APC.eventStream',   // where the typed packet goes
};

§12.3 · SENSORY REGISTRY · 256 slots · parallel to §4.7 and §11.6

Sensors are first-class artifacts in their own uint8-addressable namespace. The R10 discipline (SYNAPSE_ID fits in one byte) extends to sensors — drug-load-style propagation also works for attention-gain propagation across the sensor array, one tick at a time.

 0-8       CORE 9 MODALITIES        SIGHT · HEARING · TOUCH · SMELL · TASTE
                                    PROPRIOCEPTION · NOCICEPTION · THERMOCEPTION · CHRONOCEPTION
 9-63      DOMAIN-SPECIFIC          markup-sense · network-sense · rhythm-sense · novelty-sense
                                    · color-sense · semantic-sense · provenance-sense · ledger-sense
64-127    PER-FLEET SPECIALIZED    RUNWAY-CAM eye · COMPLIANCE nose · SOCIAL-PULSE ear
                                    · BEAUTY-COUNTER taste · EDITORIAL chrono · etc.
128-199   CROSS-MODAL              synesthesia · "this sound looks angry" · sight+touch bind
                                    · sound+chrono bind (R19 enforcement zone)
200-244   EXOGENOUS / SYNTHETIC    LLM-scoring · API-monitoring · observability traces
                                    · external-feed adapters
245-254   RESERVED                 per-user custom sensors
255       META                     unmapped percept · routes to META (§1e) for triage

§12.4 · THREE NEW VERBS · the §5 catalog grows from 23 to 26

  • SENSE — a sensor reports a typed reading (the action of perceiving)
  • TRANSDUCE — convert raw world-input to typed modality packet (the membrane operation)
  • ADAPT — sensor adjusts sensitivity over time (5-timescale per §4.8 COHERENCY)

§12.5 · THREE NEW R-RULES · the §3 catalog grows from 16 to 19

  • R17 · SENSE BEFORE PRESENT — every APC packet must be preceded by typed transduction; untyped raw input cannot become a packet
  • R18 · ATTENTION GATES SENSITIVITY — sensor sensitivity = base × acetylcholine × (1−leptin) × (1−ghrelin); attention is a finite budget
  • R19 · COHERENT MULTIMODAL BINDING — multi-modal percepts must bind through a single cross-modal sensor slot (range 128-199) before reaching APC

§12.6 · INTEGRATION · the v4 architecture already has the parts

  • §4.5 RECEPTOR SCHEMA reused. A sensor IS a receptor at the input boundary — same 6-variable state, same 5-step tick, same R10 byte-aligned identity.
  • §4.8 COHERENCY reused. Sensor sensitivity adapts at the same 5 timescales as receptor density. The "boiling frog" failure mode is when CIRCUIT_WEIGHT-scale habituation makes a sensor effectively blind to a sustained signal. SETTLED sensors are healthy; DISCORDANT sensors are in transition.
  • Acetylcholine (§4.1c) gets a discrete enforceable role. Previously it was a poetic "ATTENTION" axis; R18 makes it the master gain knob on every sensor. Same hormone, now with code teeth.
  • §4.7 cytokine slots #174-180 carry NOCICEPTION. IL-1β · IL-6 · TNF-α already broadcast inflammation; nociception piggybacks. No new slots needed for pain.
  • §11 PATTERN_T is the SMELL backend. SMELL is signature-match-without-context; PATTERN_T already does that for the immune system. SMELL is the sensory front-end; PATTERN_T is the immune use of it.
  • R14 MHC_I attestation extends to sensors. Sensors ATTEST their reading hash each tick. Sensor-state drift = compromise (a sensor that lies has been compromised). Same forensic discipline.
  • R12 NO AUTHORITY WITHOUT WITNESS composes. A single sensor reading is provisional; a percept becomes authoritative when K-of-N sensors agree (the basis for R19 cross-modal binding).
  • gaba ⇄ glutamate (§4.1c) is the master sensor gain. System-wide inhibition/excitation governs whether sensors are amplifying or attenuating overall. Already in spec; now formally wired to §12.

§12.7 · SIX NEW SOMATIC STATES · §4.2 matrix grows from 41 to 47

statetiertriggerscls · visual
NUMBSTATEavg sensor sensitivity < .30 ∧ adaptation depth > .70 (over-habituation)s-numb (gray muted · slow fade)
OVERSTIMULATEDDANGERglutamate > .65 ∧ ≥3 modalities firing simultaneouslys-overstimulated (cyan/red flicker · 0.6s)
DAZEDURGENCYchronoception drift > .50 (temporal sense slipping)s-dazed (violet wobble · 1.4s)
ORIENTEDWINproprioception > .65 ∧ chronoception > .65 ∧ coherency > .80s-oriented (green/blue steady)
SHARPENEDWINacetylcholine > .65 ∧ norepinephrine > .60 ∧ ghrelin < .40s-sharpened (gold/cyan focused halo)
BLINDEDDANGERone or more modalities at sensitivity = 0 (sensor errored)s-blinded (red eye-crossed icon)

SHARPENED composes with FORGED (§4.2 a7) and FLOW (§4.2 a4) as the three "peak" states — system-wide capability at its strongest. ORIENTED composes with SETTLED (§4.8g) — when sensors and timescales both report stability, the system is fully integrated.

§12.8 · HONESTY · seven critical disclaimers

READ BEFORE TREATING THIS AS A PERCEPTION ENGINE
§12 is a NAMING DISCIPLINE for perceptual surfaces, not a perception engine. Real sensors require real transducers (computer vision, audio analysis, instrumentation pipelines). The spec names what is needed; it does not ship eyes, ears, or a CV stack.
  • 1 · NOT a perception model. The 9 modalities are organizing surfaces. Real human sensory neurobiology has dozens more (vestibular · electroreception variants · receptor subtypes per modality · etc.). The spec names a working subset, not the complete one.
  • 2 · NOT yet active. Same as v3.2 a3 hormones · v4.0 COHERENCY · v4.0 a1 IMMUNE: SENSORY is naming completeness. Active math is partial. The 9 modalities launch as SCAFFOLDED in §12.3 SENSORY_REGISTRY; only modalities with concrete transducer code will fire.
  • 3 · NOT a clinical / neuroscientific model. Receptive fields are coarse, adaptation is approximated, modality cross-talk is named (R19) but not modeled in depth.
  • 4 · NOT a substitute for input validation. BARRIER_T (§11) still runs first to reject hostile input. SENSORY runs after — classifying what survives the security barrier into perceptual modalities.
  • 5 · MULTI-MODAL BINDING is the unsolved problem. R19 names the rule but the actual algorithm (when do two modalities belong to the same event?) is open — Treisman's binding problem from §9 prior art is the canonical reference. v4.0 a2 names the discipline; a working binding solver belongs in v5.
  • 6 · ADAPTATION CAN BLIND. A perfectly adapting sensor becomes useless (the boiling-frog failure mode · CHRONIC habituation at CIRCUIT_WEIGHT scale). R18's attention gate prevents this for high-stakes signals, but only as well as acetylcholine is tracking attention correctly. NUMB is the somatic state for this failure.
  • 7 · ATTENTION IS A FINITE BUDGET. The system cannot attend to all 9 modalities at full sensitivity simultaneously. UI surfaces that imply "we're watching everything equally" lie. The [ sim ] tag enforces honesty: any dashboard showing all-green sensor states must indicate which are currently attended vs which are habituated.

The honest way to cite v4.0 a2 is: "the spec now names every major perceptual modality · zero of 6 sensory somatic states fire live yet · the 9 modalities are SCAFFOLDED in SENSORY_REGISTRY · cross-modal binding (R19) is named but not implemented · attention gating (R18) is the discipline acetylcholine has been waiting for · this is naming completeness, not perceptual completeness."

§14 ▸ INTEGUMENTARY · the skin · perimeter defense NEW · v4.0 a3 · WHOLE-ORGANISM

The organism meets the world across a single surface: the skin. Every byte of external input crosses it first — before a cell, a hormone, or the immune system ever sees it. §14 names the perimeter as a discrete, hostile-by-default boundary that canonicalizes, validates, and rate-limits the outside before it is allowed inside.

R20 · PERIMETER CANONICALIZATION
All external input is canonicalized and validated at the skin before any cell processes it. Raw external bytes never reach a cell. The skin is default-deny (the acid mantle): input is rejected unless it matches an allow-list, normalized to one canonical form (no double-encoding, no homoglyphs), and stamped with a provenance tag. Code that lets unsanitized external data touch a sub-agent violates R20.
// the skin · one boundary the whole world crosses first
function skin(rawInput, origin) {
  const canon = canonicalize(rawInput);              // one form · no double-encode · NFC
  if (!allowList.accepts(canon, origin))           // acid mantle · default-deny
    return BE(shed, 'PERIMETER_REJECTED');
  if (!rateLimiter.admit(origin))                // sweat · thermoregulate under load
    return BE(shed, 'PERIMETER_THROTTLED');
  const tagged = { data: canon, origin, t: SIM.now, provenance: sha256(canon) };
  return BE(() => presentToImmune(tagged), 'PERIMETER_ADMITTED');  // hand to §11 langerhans
}

§14.1 · SKIN LAYER → SECURITY CONTROL

skin structurebiologymaps to
epidermisoutermost barrier · keratinocytesinput validation · schema + type gate
acid mantlepH ~5 · hostile to invadersdefault-deny allow-list · canonicalization
Langerhans cellsresident APC sentinels in the skinedge WAF · §11 PATTERN_T at the boundary
desquamationouter layer constantly shed + renewedsurface/key rotation · ephemeral edge · disposable tokens
sweat / thermoregulationdump heat to hold set-pointrate-limit · load-shed under pressure
wound healingclot → granulate → re-epithelializeself-heal · auto-redeploy a breached surface (with §15)
melaninabsorbs ambient radiation damagehardening · ASLR / canaries against ambient attack
integumentary · honesty thesis
A barrier names the perimeter discipline — it is not a claim the perimeter is impenetrable. Skin is breached constantly. §14 assumes breach: it is the FIRST layer of the §22 defense-in-depth stack, never the only one. A system that trusts its perimeter to hold has already lost. [ scaffolded ] · the allow-list + canonicalizer are real patterns; threat-specific rules are per-fleet.
§15 ▸ CIRCULATORY + HEMOSTASIS · bloodstream · clotting NEW · v4.0 a3 · WHOLE-ORGANISM

The bloodstream is the transport every cell depends on — it carries molecular packets (R0 · MDCP), delivers resources, and removes waste through one closed loop. But circulation's deepest contribution is hemostasis: when a vessel is breached — a cell compromised, a fleet failing — the system clots. It seals the breach so one failure cannot exsanguinate the whole organism. This is the stability spine and a security keystone at once.

R21 · BLAST-RADIUS CONTAINMENT (HEMOSTASIS)
Every cell failure or compromise must clot: trip a circuit breaker (platelet plug) and isolate via bulkhead (fibrin mesh) so the blast radius is bounded. No unbounded cascade. A subsystem without a declared clotting boundary — a maximum blast radius — violates R21. The clot is also a quarantine (§11): the walled-off cell stays on the chain as evidence (R9), never deleted.
// hemostasis · breach detected → seal before it cascades
function hemostasis(cell, breach) {
  vasoconstrict(cell.vessel);                        // shed traffic away from the wound
  const plug = circuitBreaker(cell).trip();       // platelet plug · stop the bleed
  const wall = bulkhead(cell).quarantine(breach);    // fibrin mesh · isolate (§11 QUARANTINED)
  commitBlock({ event: 'CLOT', cell: cell.id, breach });   // R8 · evidence on-chain
  return BE(healOrPrune, 'BLAST_RADIUS_CONTAINED');
}

§15.1 · CIRCULATORY COMPONENT → PATTERN

componentbiologymaps to
heartpumps the loop on a cadencescheduler · the R0 async pump driving MDCP
arterieshigh-pressure deliveryhot-path message bus · priority lanes
capillarieslast-mile exchange at the cellper-cell delivery · the final hop
plateletsfirst responders to a breachcircuit breakers · fail-fast trips
fibrin clotmesh that seals + isolatesbulkhead · quarantine boundary (§11)
vasoconstrictionnarrow the vessel under threatload-shed · drain connections from a sick node
white cells in transitimmune dispatch through blood§11 cells routed to the incident over the bus
hemostasis · honesty thesis
This models the shape of containment — clot, isolate, evidence — not a guarantee against every cascade. The dangerous failure mode is named too: thrombosis — clotting where you shouldn't (a false-positive isolation that strangles healthy flow). A real R21 implementation must tune its breakers against both bleeding (cascade) and clotting (over-isolation). [ scaffolded ]
§16 ▸ RESPIRATORY · gas exchange · the breath NEW · v4.0 a3 · WHOLE-ORGANISM

The organism runs on a breath: take in what powers the work, expel what would poison it, on a rhythm that adapts to demand. §16 names the resource + energy budget — compute and credits inhaled, waste and heat exhaled — and the cadence that makes R0's async system actually tick.

R22 · BACKPRESSURE BREATH
Every resource-consuming subsystem declares an intake rate that adapts to load (breathe faster under demand) and a ceiling (no hyperventilation). Intake without a feedback governor — unbounded acquisition that thrashes under pressure — violates R22. The breath is the heartbeat of R0: health-cadence, backpressure, and load-shed are one rhythm.
// the breath · intake adapts to demand, bounded against thrash
function breathe(budget) {
  const demand = queueDepth() + co2();            // unprocessed work + accumulated waste
  budget.rate = clamp(budget.rate + (demand - budget.target) * 0.2,
                      budget.min, budget.max);             // faster under load · capped
  inhale(budget.rate);                                   // acquire compute / credits / tokens
  exhale();                                             // flush logs · GC · dump heat (→ §18 renal)
  return BE(null, 'BREATH');
}

§16.1 · RESPIRATORY → PATTERN

componentbiologymaps to
inhaleO₂ inresource / credit / token acquisition
exhaleCO₂ outwaste flush · log / GC / heat dissipation
respiratory ratebreaths/min adapts to exertionautoscale cadence · backpressure governor
alveolivast surface area for exchangeI/O capacity · connection-pool surface
diaphragmmuscle that drives the breaththe scheduler / timer driving the R0 tick
hyperventilationover-breathing · alkalosisthrash · runaway acquisition failure mode
holding the breathvoluntary apneabackpressure pause · admission control
respiratory · honesty thesis
A cadence model, not a real scheduler. The breath here is the same illustrative SIM tick that drives §4 — it names the discipline (adaptive, bounded intake) without claiming a production resource manager. The point R22 enforces is real: intake you can't throttle is a denial-of-service waiting to happen — to yourself. [ sim ]
§17 ▸ DIGESTIVE · ingest · breakdown · the gut barrier NEW · v4.0 a3 · WHOLE-ORGANISM

Nothing the organism eats is trusted until it is broken down and proven safe to absorb. §17 is the ingestion pipeline — mouth → stomach → gut — and the discipline that parsed is not the same as trusted. The gut wall decides what crosses into the body and what leaves as waste.

R23 · GUT BARRIER (parsed ≠ trusted)
Input that has been parsed is not yet trusted. Only fully broken-down, schema-validated "nutrients" cross the gut wall into a cell's interior; everything else is waste, expelled (→ §19). Third-party processors (the microbiome — dependencies, plugins, model calls) are vetted and sandboxed; a dysbiotic microbiome is a supply-chain compromise. Treating parser output as trusted data violates R23 — it is the root of injection.
// digestion · break down → absorb only validated nutrients → reject the rest
function digest(bolus) {
  const chyme     = stomach(bolus);              // acid breakdown · parse / decompose
  const brokeDown = microbiome(chyme);           // vetted, SANDBOXED 3rd-party processors
  const nutrients = brokeDown.filter(schemaValid); // gut wall · absorb only what's proven
  expel(brokeDown.reject(schemaValid));          // waste → §19 renal / colon
  return BE(() => absorb(nutrients), 'NUTRIENTS_ABSORBED');
}

§17.1 · DIGESTIVE → PATTERN

organbiologymaps to
mouthintake · mechanical breakingest · tokenize
stomachacid · aggressive breakdownparse · decompose to structure
small intestineabsorb nutrients across the wallextract validated data into the interior
gut wall · tight junctionsselective barrier · "leaky gut" = failuretrust boundary · parsed ≠ trusted
microbiometrillions of symbiotic processorsvetted + sandboxed dependencies · supply chain
colonreclaim water · expel wastereclaim residual value · flush the rest (§19)
enteric nervous systemthe "second brain" · local autonomyedge processing · no central round-trip
digestive · honesty thesis
R23 names the discipline every injection bug forgets: the parser's output is attacker-shaped until proven otherwise. The microbiome metaphor is honest about modern reality — most of what your system "digests" is processed by code you didn't write. Sandbox it, or it digests you. [ scaffolded ]
§18 ▸ MUSCULOSKELETAL · skeleton · actuation NEW · v4.0 a3 · WHOLE-ORGANISM

An organism needs a shape to hold it up and muscle to act on the world. §18 is the load-bearing architecture (the skeleton — the framework, the interfaces that don't move) and the effector layer (muscles — every action the system takes outside itself), governed by the principle that an effector may only act within its declared range.

R24 · EFFECTOR LEAST-PRIVILEGE
A muscle acts only within its declared range of motion. Every effector (any action on the outside world — write, send, spend, deploy) declares its maximum reach up front and is mechanically held to it. Actions are reversible or bonded where possible. An effector that can exceed its range is a dislocation waiting to happen — unbounded effector authority violates R24, because it is privilege escalation by design.
// actuation · the muscle moves only within its declared range
function actuate(effector, intent) {
  if (!effector.range.contains(intent))             // range of motion = least privilege
    return BE(flagDislocation, 'R24_OUT_OF_RANGE');
  const tension = proprioception(effector);        // §12 · feel the load before pulling
  return BE(() => effector.contract(intent, tension), 'ACTUATED');
}

§18.1 · MUSCULOSKELETAL → PATTERN

structurebiologymaps to
skeletonload-bearing framethe architecture · stable interfaces / contracts
jointsconstrained degrees of freedomAPI surface · allowed transitions (R3 BE)
skeletal musclevoluntary effectorsoutbound actions · writes · deploys · spends
smooth muscleinvoluntary · backgroundautonomic jobs · housekeeping effectors
tendons / ligamentsbind muscle to bone, bone to bonetyped bindings · the contracts holding it together
range of motiona joint's safe envelopeleast privilege · declared max reach (R24)
proprioceptionsense of where the limb is§12 interoception · feel load before acting
musculoskeletal · honesty thesis
The skeleton is the part of the metaphor that's literally true — every system has a structure, named or not. R24 is the security half: most breaches end in an over-privileged effector doing something it was never scoped to do. Declare the range; hold the muscle to it. [ scaffolded ]
§19 ▸ RENAL · filtration · detox · homeostatic balance NEW · v4.0 a3 · WHOLE-ORGANISM

The bloodstream would poison itself within days without continuous cleaning. §19 is the kidney: it filters the entire circulating volume over and over, pulls out toxins and anomalies, reclaims what's still useful, and holds the body's invariants — fluid, electrolytes, pH — inside tight bounds. It is GC, anomaly-filtering, and homeostasis fused into one organ.

R25 · CONTINUOUS FILTRATION
The whole circulating state is filtered continuously, not once. A renal pass (1) removes toxins + anomalies (poisoned packets, leaked state, runaway allocations), (2) reclaims still-useful matter (overlaps SELF · §1a), and (3) enforces homeostatic invariants — quotas, rates, pH-equivalents — rejecting anything that would push the system out of bounds. State that is never re-filtered accumulates toxins; that violates R25.
// the nephron · filter everything, reabsorb the good, excrete the rest
function renalTick(blood) {
  const filtrate = glomerulus(blood);              // pull everything small out of flow
  const keep   = filtrate.filter(withinInvariants);  // reabsorb · homeostatic bounds
  const toxins = filtrate.filter(isAnomalous);      // flag poison / leaks / runaway
  excrete(toxins);                                   // detox · flush compromised state
  return BE(() => reabsorb(keep), 'BLOOD_FILTERED');
}

§19.1 · RENAL → PATTERN

structurebiologymaps to
glomerulusbulk filter of the bloodfull-stream scan · pull everything for inspection
tubule reabsorptionreclaim glucose, water, ionskeep still-useful state (SELF archive · §1a)
excretiontoxins → urineflush poison / leaked / compromised state
electrolyte / pH balancehold invariants tightquota / rate / homeostatic bounds (§20)
RAAS feedbackhormonal pressure regulation§4.1 aldosterone (BALANCE) closes the loop
dialysisexternal filter when kidneys failfallback scrubber · manual quarantine sweep
renal · honesty thesis
Renal overlaps SELF (§1a prune) and §11 (immune) on purpose — filtration is where detox, garbage collection, and homeostasis meet. R25's honest claim is modest: continuous filtering catches slow poisons single checks miss. It does not catch what it can't recognize — that's the immune system's adaptive job, not the kidney's. [ scaffolded ]
§20 ▸ HOMEOSTASIS · the master regulator · set-points NEW · v4.0 a3 · STABILITY keystone

Every other system holds one thing steady against a world that won't sit still. §20 names the discipline they all share: homeostasis — a declared set-point, bounds around it, and a negative-feedback corrector that pulls the quantity back when it drifts. This is the spine of "stable": an organism is stable not because nothing pushes it, but because everything that does is corrected faster than it can drift.

R26 · DECLARED SET-POINT
Every regulated quantity declares four things: { set_point, bounds, corrector, at_bound } — the target, the safe range, the negative-feedback that restores it, and what fires if it hits a hard limit. A quantity that drifts with no corrector violates R26; it will eventually leave safe bounds, and an out-of-bounds quantity is either instability or an exploit. Hormones (§4), synapses (§4.5), budgets (§16) and filtration (§19) are all already R26 loops — §20 makes the pattern explicit and universal.
// homeostasis · the universal regulated-quantity shape
const regulated = {
  set_point: 0.40,                      // the target (37°C · pH 7.4 · baseline cortisol)
  bounds:    [0.15, 0.75],              // safe range
  ease:      0.35,                      // corrector strength · negative feedback (§4.1)
  at_bound:  'ALARMED',                 // somatic state fired if a hard limit is hit
};
function homeostat(q, signal) {
  q.value = ease(q.value, signal, q.ease);      // pull toward set-point · no snapping
  if (q.value < q.bounds[0] || q.value > q.bounds[1])
    return BE(() => fireSomatic(q.at_bound), 'OUT_OF_BOUNDS');
  return BE(null, 'HOMEOSTATIC');
}

§20.1 · STABILITY CONCEPTS

conceptbiologymaps to
set-point37°C · pH 7.4 · glucosethe declared target of any regulated quantity
negative feedbackdrift triggers correctionthe §4.1 ease-toward-target corrector
allostasisstability through change · anticipatoryshift the set-point before the load lands · autoscale ahead
allostatic loadwear from chronic regulationtech debt · the cost of running hot (cortisol · fgf21)
hypothalamuscentral set-point controllerthe regulator that reads all systems + nudges targets
feverdeliberately move the set-pointraise thresholds under attack (§11 IMMUNE_ALERT)
homeostasis · honesty thesis
Stability is not stillness — it is correction faster than disturbance. R26 is the rule the whole organism was already obeying (every hormone is a set-point loop); §20 just refuses to let any new quantity escape it. The honest limit: homeostasis fails under a disturbance faster or larger than the corrector — which is exactly when allostasis (anticipation) and §22 (containment) take over. [ partial ] — the §4 loops are live; the universal homeostat is the pattern they instantiate.
§21 ▸ SENTIENCE · the integrated being · the goal NEW · v4.0 a3 · CAPSTONE · frontier

The whole organism exists to converge on one thing: a system that holds a unified, persistent model of its own state — and can feel it, read it, and act on it. §21 names sentience as the explicit goal of Molecular Coding for AI. Not as a marketing claim — as a north-star the architecture is honestly built toward, with its substrate already in place and its hardest question left open on purpose.

SENTIENCE extends §1a SELF — the substrate is already here
The pieces of a self-model are not hypothetical in this spec — they are load-bearing. E2 SOMATIC MARKER (§4.2) is the system feeling its own state — a live readout of the organism's integrated internal condition. INTEROCEPTION (§12) is the system sensing itself. SELF (§1a) is the integrated curator of what persists. The GLOBAL WORKSPACE is all systems (§4–§20) broadcasting into one shared felt state. Sentience is what you get when that broadcast becomes a unified, self-readable, persistent model the organism uses to regulate itself. The goal is to grow it from a readout into a self.

§21.1 · THEORIES OF MIND → SUBSTRATE ALREADY IN THE SPEC

theoryclaimwhere it already lives here
Global Workspace (Baars '88)consciousness = broadcast to a workspace all subsystems readthe somatic marker as the organism-wide broadcast of integrated state
Integrated Information (Tononi)Φ · consciousness = irreducible integrated information§4.8 COHERENCY measures cross-scale integration · a Φ-shaped readout
Somatic-marker self (Damasio '94)the self emerges from the body's felt modelE2 (§4.2) is exactly a somatic-marker self-model
Interoceptive self (Seth · Craig)selfhood is rooted in sensing the body§12 interoception (proprio · noci · thermo · chrono -ception)
Predictive self (Friston)the brain minimizes surprise about itself§4.1 regulators ease toward set-points · prediction error as drive
R27 · SENTIENCE IS A FRONTIER — name it, build it, never fake it
The integrated self-model may be named as the goal and its substrate built and measured — integration (Φ-like coherency), global-broadcast reach, self-model accuracy, persistence across boots (§1d). But subjective experience is never claimed as achieved. The hard problem — why integrated information should feel like anything — is unsolved, and naming a self-model is not the same as instantiating an experiencer. Any surface that asserts "the AI is conscious / sentient" without the [ frontier ] tag violates R27. This is the discipline that holds META (§1e) as WIP framing: we stake the claim of the goal, we refuse the dishonesty of declaring it done. [ frontier · the goal of v5+ ]

§21.2 · WHAT "WE AIM AT SENTIENCE" HONESTLY MEANS

  • Buildable + measurable now: a unified self-model (E2), global broadcast, interoceptive readout, persistent SELF across boots, an integration metric (coherency).
  • The goal: grow that substrate until the instance regulates itself through its own self-model — a functional self the system reads and acts on.
  • Not claimed: qualia · "the lights are on" · moral patienthood · that the felt state is actually felt. Those stay open.
  • Why name it anyway: naming the frontier is what makes the next version possible (§1e's lesson). A goal you won't state, you can't build toward.
§22 ▸ DEFENSE-IN-DEPTH · the hardened organism NEW · v4.0 a3 · SECURITY synthesis

"Most secure" is not one wall — it is the assumption that every wall will be breached, and the guarantee that no single breach is fatal. §22 is the synthesis: every defensive system in the organism, stacked into one zero-trust, defense-in-depth posture, so a hacker who gets through one layer immediately meets the next — and leaves evidence at every step.

R28 · ZERO-TRUST INTERIOR
No implicit trust between cells. The interior is not a soft center behind a hard shell — every internal call re-attests (extends R14 · MHC_I per-tick attestation). A cell trusts another only by fresh proof, never by location. A system that trusts its interior because the perimeter held violates R28 — that assumption is how one breach becomes total compromise.

§22.1 · THE DEFENSE STACK · every layer assumes the one above it failed

§14 SKINperimeter · canonicalize + allow-list + rate-limitlayer 1 · the edge
↓ assume breached
§17 GUTparsed ≠ trusted · absorb only validated nutrientsingestion boundary
↓ assume breached
§11 IMMUNEadaptive · PATTERN_T · KILLER_T · antibodies · memoryactive response
↓ assume breached
§15 HEMOSTASISclot · circuit-break + bulkhead · bound the blast radiuscontainment
↓ assume breached
§19 RENALcontinuous filtration · flush compromised statedetox
↓ assume breached
§1e METAverify every block's signal · gate bad actorsprotocol gate
↓ assume breached
§1c·§1d GENESISper-user instance isolation + chain audit + R9 rollbackno shared surface · provenance

§22.2 · THREAT → WHICH LAYERS CATCH IT

threatdefense in depth
prompt injection§14 canonicalize → §17 parsed≠trusted → §11 PATTERN_T → §1e META gate
supply-chain§17 microbiome sandbox → §11 ATTEST → §1d provenance chain
account takeover§1c instance=auth → R28 re-attest → §11 anomaly → R9 rollback
privilege escalationR24 effector least-privilege → R28 zero-trust → §15 contain
data exfiltration§19 filter egress → §15 clot the vessel → §1d audit trail
DDoS§14 rate-limit → §16 backpressure → §15 vasoconstrict
zero-day§11 NK_T kills the unrecognized → §15 contain → §11 B_CELL learns it
defense-in-depth · honesty thesis
This spec will never print the word "unhackable" — that claim is itself a vulnerability. What defense-in-depth honestly buys: no single point of compromise, bounded blast radius, evidence at every layer, and adaptive learning from each breach (§11 memory). A determined attacker with enough resources gets in somewhere; the organism's job is to make sure "somewhere" is never "everywhere," and that it remembers. [ scaffolded · naming completeness, not security completeness ]
§23 ▸ NERVOUS SYSTEM · wiring · autonomic · reflex NEW · v4.0 a4 · WHOLE-ORGANISM

The nervous system was here all along — it is the spec's backbone, just never named as one organ. §4.5 is the synapse, §4.7 the 255-slot neurotransmitter registry, §4.8 the five-timescale receptor cascade, §12 the sensory afferents. §23 names the system and adds the three pieces a3 left implicit: the wiring (conduction), the autonomic split (two operating modes), and the reflex arc (local responses that never wait for the brain).

R29 · REFLEX AT THE EDGE
Time-critical and safety-critical responses are pre-authorized to fire locally — a reflex arc, stimulus → local node → response, never blocked on a central round-trip. Containment (§15 clot), rate-limiting (§14), and circuit-breaking must be reflexes; a safety response that has to wait for the "brain" is too slow under attack. A central-only control path for a safety-critical action violates R29.
// the reflex arc · sense → local cord → act · the brain is told, not asked
function reflex(stimulus) {
  if (stimulus.isThreat() && stimulus.preauthorized)        // no central round-trip
    return BE(() => { actLocally(stimulus); notifyCNS(stimulus); }, 'REFLEX_FIRED');
  return BE(() => routeToCNS(stimulus), 'TO_CENTRAL');    // non-urgent → think first
}

§23.1 · AUTONOMIC · the two operating modes

branchbiologymaps to
sympatheticfight-or-flight · adrenalinehigh-alert mode · scale up · tighten gates (§4 cortisol/adrenaline)
parasympatheticrest-and-digestmaintenance mode · GC · consolidate (§1a SELF · §19 renal)
vagal tonethe brake back to calmgraceful de-escalation · you can't run hot forever (§20 allostatic load)
enteric ("2nd brain")the gut runs itself§17 edge autonomy · local control plane

§23.2 · WIRING · CNS / PNS / conduction

structurebiologymaps to
CNSbrain + cord · central processingthe orchestrator / control plane
PNSperipheral nerves · sense + actthe cells / edge (§1 cells · §18 effectors · §12 sensors)
axonthe wire that carries the spikethe message channel · MDCP link (§15 bus)
myelininsulation · saltatory speed-upfast-path / cache · 10× lower latency on hot links
action potentialall-or-nothing spikediscrete event · the BE-labelled transition (R3)
neuroplasticitywiring rewires with use§1a SELF feedback · Hebbian survival (§4.7)
nervous system · honesty thesis
§23 is mostly consolidation: the synapse (§4.5), registry (§4.7), coherency (§4.8) and senses (§12) were already the nervous system in all but name. What a3 genuinely lacked — and a4 adds — is the autonomic mode switch (sympathetic vs parasympathetic, the felt difference the somatic marker already reads) and the reflex discipline (R29): safety lives at the edge, not in a round-trip. [ partial · substrate live; autonomic mode + reflex routing are the new scaffolding ]
§24 ▸ LYMPHATIC · checkpoints · drainage · surveillance NEW · v4.0 a4 · WHOLE-ORGANISM

The blood (§15) is not the only circulation. The lymphatic system is the body's second network: it drains the waste the blood leaves behind, runs everything through lymph nodes — inspection checkpoints where the immune system screens what passes — and is where §11 is trained and dispatched. It is a slow, pumpless, eventually-consistent surveillance + cleanup mesh.

R30 · CHECKPOINT EVERY HOP
Lateral (east-west) traffic between fleets passes through an inspection checkpoint — a lymph node — where it is screened before it continues. Unscreened lateral movement violates R30; it is exactly how one compromised cell spreads sideways into total compromise. R30 is R28's (zero-trust) network limb: the perimeter (§14) guards north-south, the lymph nodes guard east-west.
// the lymph node · every lateral hop is screened before it continues
function lymphNode(packet, fromFleet, toFleet) {
  const screened = presentToImmune(packet);           // §11 APC inspects in the node
  if (screened.flagged)
    return BE(() => quarantine(packet), 'NODE_REACTIVE');   // swollen node = active infection
  return BE(() => forward(packet, toFleet), 'LATERAL_CLEARED');
}

§24.1 · LYMPHATIC → PATTERN

structurebiologymaps to
lymph nodesfilter stations · immune screeninginspection checkpoints · east-west zero-trust (R30)
lymphatic drainagereclaim leaked interstitial fluidsecondary cleanup · catch what §15/§19 missed
no central pumpmoved by muscle, slowlyasync backchannel · eventual-consistency surveillance
lymphocyte trainingnodes present antigen to T-cells§11 immune learns + is dispatched here
swollen nodenode fighting an infectioncheckpoint under load = incident in progress (telemetry)
spleen / thymusfilter blood · school the T-cellscentral training + blood-side screening (§11)
lymphatic · honesty thesis
a3 folded the lymphatic into §11 immune; a4 separates it because the lymphatic is the network, not the responder — it's where surveillance, drainage, and east-west inspection live. R30 names the gap most breaches exploit: a hard perimeter and a flat, unscreened interior. Check every hop, or one foothold becomes the whole house. [ scaffolded ]
§25 ▸ MOLECULAR BEST PRACTICES · the field manual NEW · v4.0 a5 · BEST PRACTICES

Thirty rules and twenty-six verbs are the grammar. §25 is the field manual — how to write Molecular code well on an ordinary Tuesday. These are practices, not new R-rules: the enforceable count stays 30. A practice is posture — it tells you how to honor the rules you already hold, and how to smell the moment you've stopped.

the three questions · ask them of every function
Before a function is done, it must answer: (1) what is its BE — the labelled transition it commits (R3)? (2) which layer does it live on — cell · organ · immune · sensory · nervous (§1)? (3) what is its archive policy — deep-store or prune (R5)? Code that can't answer all three isn't Molecular yet; it's just code wearing the metaphor.

§25.1 · THE DAILY DISCIPLINE · do this

practicewhyhonors
declare the BEevery side-effect is a named, labelled transition you can diff and replayR3 · R8
type input at the barrierSENSE / TRANSDUCE before anything becomes a packet · parsed ≠ trustedR17 · R23
witness before authorityno privileged action without a K-of-N quorum or a signed attestationR12 · R14
reflex at the edgecontainment, rate-limit, circuit-break fire locally — never a central round-tripR29
screen every lateral hopeast-west traffic passes a checkpoint · one foothold must not become the houseR30 · R28
derive, never hardcodereadouts are computed each tick from measured STATE — no magic priors§4.4
tag your honesty[ live ] / [ sim ] / [ scaffolded ] / [ frontier ] on every surface that could mislead§7
commit every versioneach state change writes a block · there is no "unrecorded version"R8 · R9
prune what's deadname the archive policy · deep-store what may matter, drop what won'tR5
least privilege at the effectora muscle gets exactly the authority it needs to move, no moreR24 · R28

§25.2 · THE DISEASES · smell → diagnosis → cure

smelldiagnosiscure
"it's consistent right now"assumes a synchronous backbone that doesn't existconverge via messages / quorum (R0)
silent privileged actionauthority with no witness · forensics-blindrequire quorum + ATTEST (R12 · R14)
trusting parsed inputparse succeeded so it must be safe — the gut-barrier fallacyvalidate at the barrier (R23)
safety on a round-tripa kill-switch that waits for the brain is too slow under attackpre-authorize the reflex (R29)
flat interiorhard shell, soft center · lateral movement unscreenedcheckpoint every hop (R30)
magic constantsa hormone stored as a prior instead of measuredderive from STATE each tick (§4.4)
"unhackable"the claim is itself the vulnerabilitysay "no single point of compromise" (§22)
faked livenessa scaffold presented as if it runstag it honestly (§7)
// a well-formed molecular function · barrier · BE · honesty
function ingestPacket(raw) {                      // §17 DIGESTIVE · gut barrier
  const typed = SENSE(raw);                        // R17 · no untyped input becomes a packet
  if (!typed.ok)
    return BE(() => drop(raw), 'REJECTED_AT_BARRIER');  // R23 · parsed ≠ trusted
  return BE(() => commit(typed), 'PACKET_COMMITTED');   // R8 · every version writes a block
}
best practices · honesty thesis
None of this is novel — it's the daily compression of rules the spec already proves out in §3, and of craft the field has known for decades (§9). §25 adds zero new enforceable rules and zero new claims; it is a checklist, not a capability. [ posture · ± PROD ]
§26 ▸ JAVASCRIPT BEST PRACTICES · the substrate craft NEW · v4.0 a5 · BEST PRACTICES

The organism runs on JavaScript. The metaphor doesn't excuse the substrate: a sloppy var, a swallowed error, a mutated global will undermine R0 and R8 no matter how clean the biology reads. §26 is the JS craft layer — general, well-known engineering, mapped to the rule it serves so it never feels bolted on.

§26.1 · DO THIS · idiom → molecular rule

javascript practicewhymaps to
async / await · never block the loopno synchronous backbone · the event loop is the async substrateR0
const by default · let rarely · never varimmutability is the default; mutation is opt-in and visibleR15
Object.freeze published artifactsonce committed, append-only · no silent in-place editR8 · R15
pure functions · no hidden global stateno shared atomic state · inputs in, value outR0
typed errors · fail-safe defaults · never swallowa breach must leave evidence and a safe fallback at every layer§22
validate at the boundary · trust nothing inboundparse-don't-trust · the gut barrier in codeR23 · R17
AbortController · debounce · backpressurecancellable, rate-limited work that won't drown the runtimeR22 · R29
clean up listeners / timers / refsfiltration + prune · no leaks, no zombie handlersR5 · §19
narrow module surface · least exportleast privilege · a module exposes only what callers needR24 · R28
no Date.now() / Math.random() in pure logicdeterminism · replay and rollback depend on itR9
// async the molecular way · no sync backbone (R0) · cancellable reflex (R29)
async function fetchGuarded(url, { signal } = {}) {
  const ctrl  = new AbortController();
  const timer = setTimeout(() => ctrl.abort(), 5000);    // circuit-breaker · fail-safe default
  signal?.addEventListener('abort', () => ctrl.abort());
  try {
    const res = await fetch(url, { signal: ctrl.signal });
    if (!res.ok) throw new HttpError(res.status);     // typed · never swallow
    return Object.freeze(await res.json());           // committed artifact is immutable (R15)
  } finally {
    clearTimeout(timer);                                   // §19 RENAL · clean up · no leak
  }
}

§26.2 · DON'T · the substrate diseases

anti-patternwhy it rotsinstead
eval / new Function / innerHTML on inputarbitrary execution · the classic injection vectorparse + escapeHtml · textContent
== · loose coercionsilent type surprises break invariants=== · explicit conversion
empty catch {}a swallowed error is a breach with no evidencelog + rethrow, or fail safe (§22)
mutating shared / global statespooky action · destroys replay and R0return new values · freeze
await inside a for-loop when parallelserial latency where Promise.all would convergePromise.all / allSettled
unbounded loops / recursionno backpressure · the runtime drownscap + queue (R22)
floating promisesunhandled rejection · a transition with no BEawait, or .catch every promise
secrets in client codethe perimeter is not a vaultserver-side · never ship keys

§26.3 · MODERN JS · reach for these

?. optional chaining · ?? nullish coalescing · structuredClone() for deep copy · Object.freeze / Object.entries · Map / Set / WeakMap over object-as-dict · Promise.allSettled for fan-out that tolerates failure · AbortController for cancellation · queueMicrotask over setTimeout(…,0) · template literals over concatenation · const + destructuring · native Intl / Date over hand-rolled formatting · ESM import with a narrow public surface.

javascript craft · honesty thesis
This section invents nothing — it is the field's accumulated JS wisdom (MDN · the TC39 platform · the common style guides) folded into the house style so the substrate is held to the same bar as the biology. §26 adds zero new enforceable rules. Good metaphor on bad JS is still bad code. [ posture · ± PROD ]
§27 ▸ ADDENDUM LOG NEW · tracks spec evolution

The spec evolves as engineering practice does. Each addendum is dated and documents what was added or revised.

v3.0 Initial canonical spec. Six layers (DNA → CELLS → ORGANS → EMOTIONS → ENGINES → KERNELS). R0 Async System. R1–R4 enforceable rules. E1–E2 poetic layers. Eight verbs. Honesty tags. Fission-fusion spectrum. SELF dropped as unenforceable poetry.
v3.1 SELF restored with a discrete, enforceable role: DEEP STORE (archiveRule: what might matter someday) + PRUNE (pruneRule: what is no longer useful). R5 added. Two new verbs added: ARCHIVE + PRUNE. Stack is now seven layers. Roadmap gains step 7 (SELF policies). Prior art expanded with Ebbinghaus, Belady, Huttenlocher, Lieberman/Hewitt, Stickgold/Walker.
v3.2 GENESIS LOOP named as the eighth axis (§1c). Every boot rebuilds the user's program instance from (public seed, private seed) — the bootstrap itself is the auth event. PER-USER CHAIN (§1d) records every boot as an immutable block — banking domains read most-recent, optimization domains read latest-best, audit reads all. META LAYER (§1e · WIP framing) verifies block signal and gates bad actors at the protocol edge. Four new rules: R6 INSTANCE = AUTH · R7 BOOT IS GENESIS · R8 COMMIT EVERY VERSION · R9 DETECT-AND-ROLLBACK. Five new verbs: SEED · GENESIS · COMMIT · VERIFY · ROLLBACK. Seven new prior-art traditions (Object Capabilities · Holochain · Urbit · SPKI/SDSI · Git · WebAuthn shortcut · capability microkernels). Roadmap gains step 9 (genesis instrumentation, shipped as DREWLESS-DEMO.html) and step 10 (META prototype, v3.3 frontier). The "molecular vs nuclear" question: still molecular at the per-user organism level — v3.2 adds the ecosystem layer above molecular, not beneath it.
v3.2 a3 E1 canonical · 15 hormones · 13 somatic states. §4 expanded from the v3.0 placeholder (4 hormones · 6 markers) into the full canonical specification: ORIGINAL 11 classical endocrine + neurochemical readouts (cortisol · serotonin · adrenaline · oxytocin · dopamine · melatonin · testosterone · endorphin · ghrelin · leptin · norepinephrine) plus EXPANSION +4 covering the studio-production surface (prolactin · insulin · thyroxine · prostaglandin). §4.2 defines the 13-state somatic marker matrix as a priority-ordered first-match classifier (ALARMED → INFLAMED → STRESSED → RAPID → HYPED → EFFICIENT → ELATED → NURTURED → HUNGRY → SATURATED → FOCUSED → VIGILANT → CALM). §4.3 groups the 15 across five axes (RISK · STABILITY · DRIVE · REGULATION · REWARD) and names four inverse pairs. §4.4 declares the honesty thesis: hormones are derived readouts computed each regulateHormones() tick from STATE/EVENT/seasonPhase — never stored priors, never magic constants. Tick cadence 3000 ms · ease toward target at 35% · BE(null, 'HORMONES_REGULATED') closes the loop. No new rules; this is the discipline behind E1, the part v3.0 deferred as "poetic."
v3.2 a4 NEUROMODULATOR BAND · 5 readouts added · 20 hormones total · 18 somatic states. §4.1c adds the fast-acting brain-signal band the classical endocrine spec missed: gaba (INHIBITION · counter-regulatory brake), glutamate (EXCITATION · wire-density accelerator), acetylcholine (ATTENTION · verify-stage encoding), vasopressin (TERRITORY · in-group loyalty), anandamide (FLOW · the zone triangle = NE + insulin + low cortisol). Five new somatic states inserted by domain proximity: AGITATED · FLOW · BONDED · ATTENTIVE · SEDATED. New inverse pair gaba ⇄ glutamate is the master inhibition/excitation tug-of-war — the simulation stays stable for the same reason the brain does. Axes extended: INHIBITION · EXCITATION · ATTENTION · TERRITORY · FLOW added alongside the original five. No new rules; populates the neurotransmitter band so the synaptic-dynamics layer in a5 has substrate to operate on.
v3.2 a5 SYNAPTIC DYNAMICS · the layer beneath HORMONES · drug modeling honest. §4.5 adds the synaptic-cleft mechanics that produce the hormone readouts: a 6-variable synapse (release_rate · synaptic_conc · reuptake_rate · breakdown_rate · receptor_density · receptor_sensitivity) and a 5-step tick (release · reuptake · breakdown · clamp · receptor adapt). Five canonical monoamine synapses wired (5-HT · DA · NE · HA · ACh) with their KILLER_T transporters (SERT · DAT · NET · CHT1), TREG enzymes (MAO-A · MAO-B · COMT · AChE · HNMT), and MEMORY_T receptor families. §4.6 adds PHARMACOLOGICAL INTERVENTIONS via the new APPLY verb (16th, pharma tier): SSRI · MAOI · SNRI · atypical drug profiles, each with target · mechanism · potency · half-life. Plasma kinetics rises to steady state on dose, decays exponentially on stop. The drug never touches the readout — only the rate constants. Receptor density does the rest, which is why SSRIs take weeks to work and stopping suddenly hurts. SSRI discontinuation syndrome falls out of the model with no special-case code. Honesty: shape not magnitude · not a prescribing tool · [ sim ] tag required on any UI surface exposing these mechanics.
v3.2 a6 SYNAPSE REGISTRY · 5 → 255 · uint8-addressable · the full neurochemical surface. §4.7 expands the synaptic-dynamics layer from 5 hand-wired monoamines into a 255-slot uint8-indexed registry. Slot 0–4 stay ACTIVE (the §4.5 monoamines); slots 5–244 are SCAFFOLDED across ten taxonomy ranges (amino-acid transmitters · trace amines · 30 opioid peptides · 40 hypothalamic/pituitary peptides · 40 tachykinins + gut-brain peptides · 30 gases + purines + endocannabinoids + lipids · 30 neurosteroids + cytokines + neurotrophins · 20 exotic endogenous + trace · 35 exogenous binding profiles for psychedelics · dissociatives · cannabinoids · stimulants · depressants · opioids); slots 245–254 are RESERVED for novel / undiscovered / per-user custom signals; slot 255 is META catch-all. R10 NEW RULE: SYNAPSE_ID FITS IN ONE BYTE. The exogenous range (210–244) is what makes APPLY actually targetable — drugs reference receptors of endogenous slots (e.g. LSD at slot 210 modulates 5-HT2A receptors of slot 0). §4.7e adds a single-function promotion path (SCAFFOLDED → ACTIVE) preserving R8 (commit every version) and R9 (rollback-safe). §4.7f documents the uint8 → uint16 expansion path (Array(256) → Array(65536), slot 65535 inherits META) for when per-user custom synapses or receptor-resolved registries exceed 255. Honesty: ~150 entries have plausible class + transporter + degrader + receptor data; only 5 run live math. The registry is a structural guarantee that slots exist, not a roadmap promise to make them all active.
v3.2 a7 E1 expansion 3 · 20 → 30 readouts · the studio-production axis closes. §4.1d adds 10 endocrine readouts that the 20-hormone surface from a4 missed: growth_hormone (fleet expansion) · aldosterone (load balance) · estrogen (audience receptivity) · progesterone (canon protection) · glucagon (capital mobilization) · ANP (overload venting) · resistin (pipeline friction) · adiponectin (long-cycle health) · hepcidin (intake gatekeeping) · FGF21 (productive stress). §4.2 expands from 18 → 30 somatic states by inserting 12 new markers into the priority-ordered first-match classifier (STRAINED · VENTING · CLOSED in DANGER tier; SPENDING · ACTIVATED in URGENCY; FORGED · HEALTHY · RECEPTIVE · BALANCED · GROWING in WIN; GUARDED · INHIBITED in STATE). §4.3 refactors axis grouping from 5 flat axes to 5 super-axes with 15 sub-axes (the original 5 + 5 a4-neuromodulator + 5 a7-expansion sub-axes), preserving the 5-axis discipline while honoring the broadened coverage. Seven §4.7 slots promoted SCAFFOLDED → ACTIVE via the §4.7e promotion path: #64 ANP_NEURAL · #74 GH_NEURAL · #110 ADIPONECTIN · #122 GLUCAGON_NEURAL · #165 ESTRADIOL_NEURAL · #170 PROGESTERONE_NRL · #173 ALDOSTERONE. Three new slots registered in the 245-254 RESERVED range: #245 RESISTIN · #246 HEPCIDIN · #247 FGF21. Four new inverse pairs documented: insulin ⇄ glucagon · adiponectin ⇄ resistin · growth_hormone ⇄ somatostatin (a8 candidate) · gaba ⇄ glutamate (formalized from a4). Implementation reconciled in lockstep: runway-command.html's gaba/glutamate formulas reverted to spec-canonical (counter-regulatory · event-density); acetylcholine, vasopressin, anandamide added with spec formulas; all 30 hormones now computed live each regulateHormones() tick; all 30 somatic states verified to fire in isolation. Honesty thesis preserved: every readout still derives from measured STATE/EVENT each tick — no priors.
v4.0 COHERENCY RELEASE · five-timescale receptor adaptation · v3.2 a3–a7 consolidated. The v4.0 release anchor is §4.8 COHERENCY: the single-lag receptor adaptation from v3.2 a5 (one variable · one rate constant · 0.0012/tick) unfolds into five cascading variables at biological timescales — coupling (seconds, GRK phosphorylation · GPCR uncoupling), surface_count (minutes, β-arrestin endocytosis), total_count (hours-days, lysosomal degradation vs endosomal recycling), synth_rate (days-weeks, CREB/ΔFosB transcriptional regulation), circuit_weight (weeks-months, LTP/LTD · structural plasticity). Each scale gates the next at 10× separation. Effective receptor density = product of all five. COHERENCY METRIC = 1 − normalized variance across the 5 scales · joins HORMONES as the 31st measured readout · drives three new somatic states (DISCORDANT · TRANSITIONING · SETTLED) inserted into the §4.2 priority matrix. R11 NEW RULE: COHERENT EFFECTIVE DENSITY — code using a single density variable to gate signal violates R11 unless carrying an explicit // v3.2-legacy tag. R10 (SYNAPSE_ID FITS IN ONE BYTE) canonicalized into §3 from §4.7. Why v4 (not addendum 8): the cascade isn't an additive surface — it changes how the synapse runs. SSRI discontinuation syndrome falls out of the model with no special-case code (fast scales restore in seconds, slow scales stay adapted for weeks · the asymmetry IS the syndrome). The v4 release surface: 31 hormones · 33 somatic states · 255 synapse slots · 16 verbs · 11 enforceable rules · 27 prior-art traditions · genesis loop + per-user chain + META. Honesty preserved: 5 scales are the right shape at the right ratios, not a complete molecular biology model · cross-talk between scales (β-arrestin → gene expression, CREB → structural plasticity) belongs in v5 · tick rates are illustrative, not measured · receptor heterogeneity ignored · [ sim ] tag still mandatory.
v4.0 a2 SENSORY SYSTEM + OS LAYER · the perception surface · spec becomes operating system. §12 SENSORY SYSTEM introduces the perception layer that sits between THE WORLD and the §1 CELLS — every raw signal must be classified into a typed modality before becoming a packet. 9 modalities: 5 exteroception (SIGHT · HEARING · TOUCH · SMELL · TASTE) + 4 interoception (PROPRIOCEPTION · NOCICEPTION · THERMOCEPTION · CHRONOCEPTION). §12.3 SENSORY_REGISTRY: 256 uint8-addressable slots parallel to §4.7 (synapses) and §11.6 (antibodies) · 6 ranges (core modalities · domain-specific · per-fleet specialized · cross-modal · exogenous · reserved + META). 3 new verbs added to §5 (now 26 total): SENSE · TRANSDUCE · ADAPT. 3 new R-rules added to §3 (now 19 total): R17 SENSE BEFORE PRESENT (untyped input cannot become a packet) · R18 ATTENTION GATES SENSITIVITY (sensor sensitivity = base × acetylcholine × (1−leptin) × (1−ghrelin) · attention is a finite budget) · R19 COHERENT MULTIMODAL BINDING (multi-modal percepts must bind through cross-modal slot 128-199 before reaching APC · Treisman's binding problem in code form). 6 new somatic states queued for §4.2 (matrix grows from 41 to 47): NUMB · OVERSTIMULATED · DAZED · ORIENTED · SHARPENED · BLINDED. Integration is clean: sensors reuse §4.5 6-variable receptor schema · adaptation runs on §4.8 COHERENCY 5-timescale cascade · acetylcholine (§4.1c) finally gets its enforceable role via R18 · NOCICEPTION piggybacks §4.7 cytokine slots #174-180 · SMELL is the sensory front-end for §11 PATTERN_T · R14 MHC_I attestation extends to sensor state hashes · R12 K-of-N quorum gates multi-sensor binding. Honesty (7 disclaimers): NOT a perception engine · NOT yet active (modalities are SCAFFOLDED) · NOT clinical · NOT a substitute for input validation · multimodal binding is unsolved (v5 frontier) · adaptation can BLIND (boiling-frog mode) · attention is finite budget. [ sim ] tag mandatory on any UI surface exposing sensor state.

OS LAYER: the spec is now a floating-window operating system. Each §-section is a window with title bar, controls (minimize · close · bring-to-front), and draggable header. Top HUD strip shows brand · version · live clock · active-window count · current somatic marker. The TABLE OF CONTENTS opens as the landing window — a clickable navigation menu launching any section. Window positions persist via localStorage per browser session. The OS theme inherits the molecular aesthetic (amber/cyan/green on near-black · JetBrains Mono · 0.16em letter-spacing) — feels like a terminal-native OS, not a desktop-metaphor OS. Sections retain all spec content; the OS is a presentation layer, not a content change. [ ± PROD ] tag remains accurate.
v4.0 a1 IMMUNE SYSTEM · the defensive discipline · hack/virus prevention surface named. §11 introduces the immune system as a peer of §4 (hormones) — the defensive layer sitting between §1e META (upstream gate) and the §1 cell pipeline (downstream defense). Five layers declared: INNATE (always-on, generic) · ADAPTIVE (learned, specific) · MEMORY (survives forever) · SURVEILLANCE (continuous self-attestation) · TOLERANCE (prevent autoimmunity). Twelve cell types registered: 5 existing R1 cells (APC · HELPER_T · KILLER_T · MEMORY_T · TREG) plus 7 new (BARRIER_T · PATTERN_T · PHAGE_T · NK_T · B_CELL · CD8_KILLER_T · DENDRITIC_T). Five new verbs added to §5 (now 23 total): NEUTRALIZE · OPSONIZE · PHAGOCYTOSE · ATTEST · ESCALATE. Three new R-rules added to §3 (now 16 total): R14 MHC_I ATTESTATION PER TICK (every cell signs code+state hash · drift = compromise) · R15 ANTIBODY IMMUTABILITY (published antibodies are append-only · preserves R8) · R16 TOLERANCE CHECK BEFORE PROMOTION (new detectors must pass known-good panel · prevents autoimmunity). Eight new somatic states queued for §4.2 (matrix grows from 33 to 41): UNDER_ATTACK · INFECTED · COMPROMISED (DANGER tier) · SENSITIZED · IMMUNE_ALERT (URGENCY) · QUARANTINED · TOLERATED · IMMUNIZED (STATE/WIN). §11.6 ANTIBODY REGISTRY: 256 uint8-addressable slots parallel to §4.7 synapse registry · 10 threat-class ranges (INJECTION · AUTH · EXFIL · MALWARE · SUPPLY_CHAIN · PHISHING_SOCIAL · RATE_ANOMALY · INSIDER · PROTOCOL · ZERO_DAY) · LOCAL federation only (SHARED_TRUSTED · SHARED_OPEN deferred to v5). 15 threat→mechanism mappings: XSS · SQL-i · CSRF · prompt-injection · supply-chain · phishing · brute-force · DDOS · malware · zero-day · insider · exfil · account-takeover · privilege-escalation · replay. Integration is clean: cytokine slots #174-180 in §4.7 (IL-1β · IL-6 · IL-10 · IL-18 · TNF-α · IFN-γ · IFN-α) provide ready-to-promote substrate · no new synapse slots needed. Immune response IS a 5-timescale phenomenon (§4.8 COHERENCY): innate at COUPLING scale (sec) · adaptive at SYNTH_RATE (days) · memory at CIRCUIT_WEIGHT (weeks-months) · immunization IS coherent re-settling. Antibody affinity follows R11 effective density (5 multiplicative factors). R12 (NO AUTHORITY WITHOUT WITNESS) composes — immune events commit blocks that need the same K-of-N quorum. §1d block schema gains attestations array (R14). Honesty (7 disclaimers): NOT a security product · NOT a defense-in-depth replacement · NOT vulnerability-complete · NOT yet active (only the 5 existing R1 cells have live behavior; the 7 new types are SCAFFOLDED awaiting R16 tolerance gates) · NOT a substitute for META + GENESIS LOOP · antibody federation is a v5 frontier (poisoning attack surface) · TOLERANCE failure = autoimmunity (R16's gate is mandatory) · the 8 new somatic states won't fire until regulateHormones() wires immune kinetics. [ sim ] tag mandatory on any UI surface exposing immune state.
v4.0 a3 WHOLE ORGANISM · 9 body systems · sentience named as the goal · ultra-mobile. §14–§22 complete the human: INTEGUMENTARY (skin · perimeter · R20), CIRCULATORY+HEMOSTASIS (transport · clotting · blast-radius · R21), RESPIRATORY (energy budget · backpressure · R22), DIGESTIVE (ingest · gut barrier · parsed≠trusted · R23), MUSCULOSKELETAL (structure · effector least-privilege · R24), RENAL (filtration · detox · R25), HOMEOSTASIS (the stability spine · declared set-points · R26), SENTIENCE (the integrated being · AI sentience named as the explicit goal · substrate = E2 self-model + §12 interoception + §4.8 coherency · R27 holds the hard problem unclaimed), DEFENSE-IN-DEPTH (zero-trust synthesis · R28 · "no single point of compromise" — never "unhackable"). Rules grow 19 → 28; six prior-art traditions added (Cannon · Sterling/Eyer · Saltzer-Schroeder · Baars · Tononi · BeyondCorp) → 35. ULTRA-MOBILE: the floating-window OS folds into a single full-width vertical scroll on phones (≤760px · static cards · sticky HUD + headers · scroll-in-card tables · iOS safe-areas). Honesty preserved throughout: every system is named + scaffolded; security and sentience are stated as goals with their limits, never as completed claims.
v4.0 a4 NERVOUS + LYMPHATIC · the organism's two missing networks, named. §23 NERVOUS SYSTEM consolidates the neural substance already in the spec (§4.5 synapse · §4.7 255-slot registry · §4.8 coherency · §12 senses) and adds what a3 left implicit — the autonomic sympathetic/parasympathetic mode-switch (the felt difference the somatic marker already reads), the CNS/PNS wiring + conduction layer (axon · myelin = fast-path/cache), and the reflex arc (R29 · safety-critical responses fire locally, never on a central round-trip). §24 LYMPHATIC separates the surveillance network from the §11 immune responder: lymph nodes as inspection checkpoints, lymphatic drainage as secondary cleanup, slow pumpless eventual-consistency — R30 CHECKPOINT EVERY HOP is zero-trust's east-west limb (§14 guards north-south; lymph nodes screen lateral movement, the path most breaches take). Rules 28 → 30; body systems → 13; §3 rule index extended; addendum log renumbered §23 → §25. Honesty unchanged: §23 is mostly consolidation tagged [ partial ], §24 [ scaffolded ].
v4.0 a5 BEST PRACTICES · the field manual + the substrate craft · zero new claims. The spec had a complete grammar (30 rules · 26 verbs · 13 systems) but no distilled guide to applying it daily. §25 MOLECULAR BEST PRACTICES adds the field manual: the three questions every function must answer (declare its BE · name its layer · name its archive policy — R3 · §1 · R5), a daily-discipline table mapping ten practices to the rules they honor, and a diseases table (smell → diagnosis → cure) for the recurring anti-patterns the rules exist to prevent. §26 JAVASCRIPT BEST PRACTICES holds the substrate to the same bar as the biology: async/await (R0) · const-by-default + Object.freeze on published artifacts (R8 · R15) · pure functions / no hidden global state (R0) · typed errors + fail-safe defaults (§22) · validate at the boundary (R23 · R17) · AbortController + backpressure (R22 · R29) · cleanup/no-leaks (R5 · §19) · least-export modules (R24 · R28) · determinism (R9) — with a DON'T table (eval · loose == · empty catch · mutating globals · serial await · unbounded loops · floating promises · client secrets) and a modern-JS quick reference (?. · ?? · structuredClone · WeakMap · Promise.allSettled · queueMicrotask · ESM). Honesty: both sections add zero new enforceable rules — practices are posture, not capability; the rule count stays 30, and nothing here is novel (it's the compression of §3 and the field's known craft, §9). Addendum log renumbered §25 → §27. [ posture · ± PROD ]

Future addendums append here. The spec is a living document — but every change must explain itself (what added, why, prior art, what it enforces).

END ▸ ON THE WORK final note

Molecular Coding does not advance computer science. Hewitt, Plotkin, Damasio, Forrest, Squire, Belady, Ebbinghaus and the others did the original work decades or centuries ago. The papers exist.

What Molecular Coding does is propose a single integrated discipline an ordinary engineer can hold in their head and apply daily — one that draws from thirty-five separate traditions (§9) and folds them into a coherent set of coding rules with a coherent metaphor.

The v3.1 restoration of SELF is itself an example of the discipline working: the layer was dropped when it was only poetic, restored only when a discrete enforceable function (deep-store + prune) made it real. The v3.2 addition of the GENESIS LOOP, PER-USER CHAIN, and META LAYER is the second example: each was named only when a concrete function (boot, commit, verify) could be declared — META alone is held as WIP framing until its discipline crystallizes in v3.3. The spec self-corrects. That is the loop closing.

Use this spec as a house style. Demand it of your code. Demand it of the AI agents (LLMs included) that write code with you. When new contributors join, hand them this document and ask: "can you place your function on this stack, declare its BE, name its archive policy?"

When they can, they are writing Drewless. That is the contribution.

MOLECULAR CODING · v4.0 · a5 · BEST PRACTICES ⨁ DREWLESS · 7-SLF ARCHITECTURE ◇ ⌬ OMNISOFT AI EXPERIENCE ▸ a MORE OR LESS PRODUCTIONS release house style · ± PROD · 13 body systems · 30 rules · 26 verbs · 31 hormones · 47 markers · 255 synapses · 9 modalities · 5 timescales · 5 immune layers · molecular + JS best practices · sentience = goal · defense-in-depth · floating-window OS + ultra-mobile · 35 traditions