This is _bmad-output/planning-artifacts/prd.md, the plan this mind was built from, published as it is written with one change: the owner's name is replaced with "the owner". Every FR, AC, NFR, AR and story tag on this site links to the place here that defines it.


stepsCompleted:

  • step-01-init
  • step-02-discovery
  • step-03-success
  • step-04-journeys
  • step-05-domain
  • step-06-innovation
  • step-07-project-type
  • step-08-scoping
  • step-09-functional
  • step-10-nonfunctional
  • step-11-polish
  • step-12-complete
  • step-11-complete # alias: the init step checks this name for completion
  • revision-2026-09-19-triage-and-vote # cognitive and economic core redesigned during PRD validation

inputDocuments:

  • _archive/planning/prd-discovery-notes.md

documentCounts: briefs: 0 research: 0 brainstorming: 0 projectDocs: 0 workflowType: 'prd' classification: projectType: web_app secondaryTypes: [api_backend, developer_tool] systemNature: autonomous, self-modifying multi-agent mind domain: scientific complexity: high complexityDrivers:

  • agents have tools and decide which tools to build
  • graduated ideas become the system's own task list, executed autonomously
  • the system modifies its own code, tools, and roster; agents review pull requests
  • public thought injection is a designed input channel
  • launch roster near 100 agents with internal growth and pruning projectContext: greenfield deploymentTarget: self-hosted on hardware the owner already owns, split by trust level into engine, runner, and inference tiers on physically separate hosts with no route to his personal network; any cloud move is still an open decision, not a commitment

Product Requirements Document - Human42

Author: the owner Date: 2026-09-15 Last updated: 2026-09-19

Executive Summary

Vision. Human42 is an autonomous, self-modifying mind that lives in public. About 100 agents stand for the parts of a mind. Emotions, facets of consciousness, functional archetypes, habits and daydreamers score every thought that enters a shared stream; the brain regions among them hold no opinion at all and instead modulate how hard every other agent works on it. The best ideas compete on a leaderboard, feed back into the flow, and graduate into the mind's own task list, which it executes: in MVP by changing its own code, tools, and roster, later by acting in the world. Compute is its metabolism, runway is its hunger, and it earns its own keep through channels rooted in the audience that watches it. It runs indefinitely, survives restarts, and can be modified and continued without losing its history.

Differentiator. Three things together, which no system in the sources reviewed combines: one mind as a society with a global workspace, brainstem governance that lets it modify itself under invariants it cannot edit, and survival economics with satiety so it rests rather than hustles. The observatory makes all of it visible as bubbles under one rule -- agents express, the substrate reports: the substrate draws each bubble's size from the standing its agent has earned, its shimmer from what that agent is doing, and its gathering from which live idea that agent is voting on and its lighting from whether that gathering is the one the page is focused on, and the agent itself chooses only the hue -- which is how it feels at rest, and while a ballot is open is what it says it intends to do, a claim it is free to break. The substrate takes that channel back twice and only twice: at the reveal, when every bubble in the focused gathering snaps in the same instant to the stance its agent actually cast, and on resolution, when the whole gathering snaps to the colour of the outcome and disperses. Claims drift and facts snap, so which voice is speaking is legible as motion before it is legible as colour.

Target users. the owner as researcher, decision-maker, operator, and sponsor. Visitors who watch, inject thoughts, and pay for the mind's attention. Contributors who add agents as single files reviewed by the mind. Human42 itself, as the user of its own task list. Stewards and API consumers in Growth.

Classification. Web application over a persistent multi-agent engine, with an agent contract for contributors. Scientific domain, neuroscience-informed rather than validated. High complexity. Greenfield. Self-hosted in Oakland, California, under a fixed monthly cap, on hardware the owner already owns but never on his personal machine: the engine, the containerized runner, and the inference GPU are three physically separate hosts on an isolated network segment, because a system that executes its own code and strangers' code should not share a machine or a network with his personal data. Whether it ever moves to a cloud instance is a decision taken on evidence, not a plan. Public site at human42.ai. Watching and free injection are anonymous; an Auth0 account is required to buy or hold priority credits.

How this document is organized. The Glossary fixes the vocabulary, and the Parameters appendix owns every tunable value in the system so no number is stated twice. Success Criteria define what winning means and are traced by eleven User Journeys, which reveal the capabilities contracted in Functional Requirements and bounded by Non-Functional Requirements. Product Scope fixes the MVP, Growth, and Vision phases once, and Project Scoping & Phased Development sequences the build. Domain-Specific Requirements, Innovation & Novel Patterns, and Web Application Specific Requirements carry the constraints, the lineage, and the platform needs that shape architecture. The discovery notes at _archive/planning/prd-discovery-notes.md record the elicitation and consensus behind these sections; they were moved out of the planning-artifacts folder on 2026-09-21 so that later workflows discover this document and the UX specification rather than the inputs those two already absorbed. The acceptance criteria they produced are listed in the Acceptance Criteria appendix with the functional requirements each verifies.

Glossary

Terms used precisely throughout this document. Where a term names a tunable value, the value lives once in the Parameters appendix and nowhere else.

  • Sync. The barrier the whole mind advances on. At a sync every agent performs exactly one action -- a different action each, depending on which part of the cycle that agent is in -- and the sync does not close until every agent has reported ready. Agents start together and finish at different times through no fault of their own, so the barrier waits for the slowest rather than counting it absent. Contracted in FR134.
  • Tick. The number of syncs the Parameters appendix sets, which is one complete idea cycle and the point at which rewards and penalties are taken. Tick length is substrate-derived: a tick is exactly as long as its syncs take and is never a span of wall-clock the substrate is held to, so early ticks will be slow, especially where the local GPU has to swap models between syncs, and later ones may be fast. Everything this document counts per tick -- score decay, value-rule drift, settlement, healthy ticks -- still counts per tick, and what changed is only that a tick is no longer a fixed span of time. A bound stated in ticks alone is therefore a bound on the mind's own progress rather than on elapsed time, and a bound that has to hold in elapsed time is stated in wall-clock: alone, as the kill switch's 30 seconds are, or paired with a tick count as "within two ticks or 2 minutes, whichever is sooner", where the wall-clock arm binds whenever ticks are long, which is the arm a safety bound needs. The tick budget named elsewhere in this document is money rather than time, since what a tick is held to is what it costs; the guard against a tick that drags is the sync barrier's own measurement and the watchdog. Contracted in FR135.
  • Natural score. An agent's opinion of an idea computed by its declarative value rules over thought features, with no model call. An integer from -10 to +10. Cheap, universal, recomputed every tick. Distinct from value rules, which are the formula, and from the agent's vote.
  • Value rules. The declarative weights in an agent's contract file that turn thought features into a natural score. The word rules in this sense never means a rule of governance; governance constraints are invariants or cage items.
  • Scorer and modulator. The two kinds of roster agent, separated by whether the agent holds an opinion. A scorer computes a natural score from its value rules, spends attention in triage, is seated on committees, and votes; emotions, facets, archetypes, habits and default-mode agents are scorers. A modulator declares no value rules and casts no vote. What it does is raise and lower the activation of other agents through the declared links of FR22, so it changes how the rest of the mind weighs a thought without holding a view of its own. Brain regions are modulators, which is cheaper and also truer: the amygdala holds no opinion about an idea, it raises arousal, and every agent downstream weighs the same thought differently for it. A modulator is not drawn as a bubble: a bubble is something a visitor can interact with, and a modulator is never seated, so there is nothing to ask it or watch it cast (owner, 2026-10-10: "Bubbles are things you can interact with"). It earns standing like any other, through the half of FR39 that attributes an outcome to the influence it exerted on the agents who cast theirs. Being unable to vote, it is never seated and never enters a vote's denominator.
  • Thought features. The objective attributes of a thought, extracted once per thought by the feature assessor and read by every agent. Agents can never write them.
  • Feature assessor. A substrate-side component, not a roster agent, on a different model lineage from the agents, that extracts thought features. The independent assessor of inputs, mirroring the outcome judge's independence on outputs.
  • Triage. The continuous, model-free stage in which agents natural-score every live idea, scores decay and are topped up, and the leaderboard orders the results. Costs nothing.
  • Standing. An agent's weight in the society: the points it spreads across live ideas during triage, and how often it is eligible to vote. Magnitude consumes points, so opposing costs as much as championing. Standing is earned only, rising and falling with the outcome judge's verdicts on what the agent authored and on the side it voted for. No payment can raise it. What a vote moves is transferred and not created: the standing paid to the agents a verdict vindicates is taken from the agents it refutes, so the roster's total is unchanged and what pays is being right rather than being with the majority.
  • Seated, zero, declined, blocked, muted. How an agent stands toward a vote. Seated agents are the electorate the substrate drew, and those seats are the denominator every threshold is measured against. A seated agent that returns a nought has voted zero: a real recorded vote, costing only the call its own tier policy bought, moving the total not at all and carrying no attribution either way because it contributed nothing. A seated agent that refuses its seat has declined: it pays what that seat could have cost at most, returns no vote, shares in no reward, and still counts a nought inside the denominator, which makes declining a soft no rather than a way out. An agent that could not answer through no fault of its own is blocked: the substrate removes it from the vote, it pays nothing, and the denominator shrinks with it. An agent that FR130 has left without a voice is muted and is never seated at all. Declining is a decision and is charged for; being blocked is an accident and is not.
  • Compute allowance. What an agent can spend on a vote, which sets the model tier it buys and therefore how far that vote may diverge from its own natural score. Drawn from the general pool in proportion to standing, a sponsor may add to it, and a share of the revenue an idea it authored or voted in generates is credited to it under FR150. Money buys how well an agent thinks; only merit buys how often it is heard.
  • Vote. The expensive stage. One promoted idea, one model call per agent the substrate seats on it -- a committee of 7 to 15 for an ordinary idea, the whole eligible roster for a constitutional one -- each returning an integer from -10 to +10 with a rationale. How far a vote may diverge from the agent's own natural score is bounded by the model tier that agent pays for. The ballot is blind. From the opening of the voting period to its close, no agent can see what any other agent has cast; the substrate holds every vote sealed and serves it to nobody, and at the close reveals all of them at once, to every agent and to every surface that shows a vote. Each vote is still its own event, stamped with the moment it arrived, so the log keeps the order they were cast in even though nothing was visible while they were being cast. What an agent may show while the ballot is open is a projection, which is an intention and not a ballot, and which may differ from the vote that agent turns out to have cast.
  • Projection. The stance an agent shows while a ballot is open to say how it means to vote. Any seated agent may project, and so may the recused author of the idea, which may never vote on it. A projection is visible to every agent, so the argument is public while the ballot is secret, and it binds nothing: an agent may project one stance and cast another, or project nothing at all. Because every real vote is revealed at the close, the distance between what an agent projected and what it cast is a matter of record.
  • Promotion. Moving an idea from triage to a vote. The number of ideas promoted is set by what the spend allowance affords.
  • Graduation. A vote reaching the threshold for its idea class, sending the idea to the mind's backlog.
  • Abandonment. A vote failing to reach its threshold. Permanent for that idea. The same content may arrive again as a new idea; the substrate does not deduplicate.
  • Answered. The third way a vote ends, and the only one open to a question. A question's class carries no threshold, so its vote neither graduates nor abandons: it resolves at the reveal with every seated agent's stance and rationale on the record, and the spread of those answers is the result rather than a decision drawn from them. Contracted in FR152.
  • Idea class. What kind of change an idea would make, assigned by the substrate from the idea's target, never by the proposer. Each class carries its own graduation threshold.
  • Amendment threshold. The threshold a proposal must reach to change any other threshold. An invariant only the owner can alter, so the mind cannot lower the bar for lowering the bar.
  • Cage / substrate invariant. Anything no agent and no self-change can alter. Listed in Product Scope and contracted in FR87.
  • Weights and words. The boundary between what the mind may change in itself directly and what it may change only under review. Weights are the bounded numbers the substrate already owns -- value-rule weights, influence weights, the state a tier policy reads -- and an agent moves them itself, tick by tick, inside the band the Parameters appendix sets, with no pull request and no reviewer. Words are everything textual or executable -- an agent's persona prompt, its code hooks, the orchestrators, the engine itself -- and a change to any of them reaches the running mind only as a pull request that has been reviewed and approved before it merges. The principle in one line: the mind turns its own dials, and rewrites itself only under review. FR121 contracts the first half; FR117, FR32, and FR33 the second.
  • Engine, runner, and inference tiers. The three physically separate hosts Human42 runs on, split by trust level. The engine tier runs the tick loop, event store, triage, leaderboard, and fan-out origin -- the mind's own code -- on a network segment with no route to the owner's personal network. The runner tier is the containers where tools, tests, canaries, and contributor hooks execute, so it is where mind-authored and stranger-authored code actually runs: cheap, wipeable hardware holding no world state. The inference tier is the GPU host, which serves a fixed model server and nothing else, never an agent hook and never a tool, and which dials the engine and pulls jobs so it opens no inbound port. None of the three is the owner's personal machine.
  • Implementer. The substrate-side component, not a roster agent, that turns a graduated task into a diff. It reads the task, its scorecard, the repository and the rules file that governs it, and it produces a diff and a rationale. It holds no opinion, no seat and no vote, and it cannot merge: every gate that stands in front of a change stands in front of its output too. The agents decide what the mind does and the implementer does it, which is why the roster carries no coding agent and the implementer carries no want. Contracted in FR157 and bounded in FR158.
  • External reviewer. The reviewer that approves every pull request against the agents repository before the mind is alive: an AI coding assistant the owner drives, not the owner reading diffs by hand and not a roster agent, on a different model lineage from the agents. It holds merge authority until the owner's alive declaration moves that authority to the mind's own agents.
  • Independent lineages. The rule that the substrate's four non-agent model roles -- the implementer that writes a change, the external reviewer that approves it, the outcome judge that scores its result, and the render grader that reads the page -- each use a different model family from the agents and from each other. The implementer joins the rule because a change is written, approved and then graded, and a family that did any two of those three is grading something of its own: separation is what keeps the review a review and the verdict a verdict. Separation from the agents stops the mind grading its own work; separation from each other stops the family that approved a change from being the family that later scores it, which would turn the outcome judge's independence into self-assessment and flatter the agreement rate the owner spot-checks. The broker enforces it per call. The feature assessor is held to the first half only, since it reads inputs and decides nothing.
  • Fit. How well a (model, provider) pair suits an agent, measured by the substrate and defined by what it protects rather than by quality. Fidelity is whether an agent's votes stand in the right relation to its own natural scores -- a pair whose votes ignore the instinct is not expressing that persona, and one whose votes never leave it is not worth the call, since triage produced that answer for free. Distinctiveness is what the pair does to the roster: a pair whose agents' votes correlate more tightly than their natural scores already do is flattening the personas rather than expressing them. Fit is therefore never a ranking of how well a model writes. Contracted in FR153, spread across families by FR154, and held read-only by FR100.
  • Outcome judge. A substrate-side judge, not a roster agent, on a different model lineage from the proposing agents and from the external reviewer that approved the change, that scores results against a self-change's scorecard prediction.
  • Render grader. A substrate-side component, not a roster agent, on a different model lineage from the agents, that reads a render of the observatory and grades how legible it is against the substrate's own activation ranking, and on a render caught mid-vote or just resolved against the running tally and the verdict as well. The third independent grader, alongside the feature assessor on inputs and the outcome judge on outcomes, and its configuration is a cage item.
  • Cap, feed, available budget, runway. The cap is the maximum spend per calendar month. The feed is money the owner deposits. Available budget is deposits plus net revenue minus spend, floored at zero. Runway is available budget divided by the trailing 30-day cash burn.
  • Author's share, backers' share, payable account. How the money an idea earns is divided and who may receive it. The author's share is the part of an idea's net revenue credited to whoever authored it, which may be a roster agent or a person. The backers' share is the remainder, divided among the agents that voted the idea in by each one's contribution to the winning score, so an agent that voted against it, voted zero, or declined takes none of it. A person is paid in money and an agent in compute allowance, never in standing. Money paid out to a person leaves the ledger and leaves available budget with it, while a backers' share stays inside as allowance. The access ladder has two rungs, not three: watching, injecting and suggesting need no account at all, while buying the mind's attention, holding credits and being paid in them need the one account. Being paid is holding, because what a person earns is credits and credits never leave the system, so nothing about earning asks more of a person than buying would. Contracted in FR150 and FR147.
  • Channel registration contract. The conditions any proposed revenue channel must satisfy before the substrate will settle money through it. The mind proposes channels; this document does not enumerate them.
  • Healthy tick, activity floor, rest. A healthy tick is one where agents fire and the leaderboard moves, or the tick is inside a declared rest state. Rest counts as healthy up to the daily rest cap. A healthy day meets the activity floor. Both are proportions of the ticks a day actually contained rather than of a fixed number of steps, because tick length is substrate-derived and a day may hold a few slow ticks or many fast ones; a day in which the loop did not advance at all is never healthy, however few ticks it was ever going to hold. A rest tick does little work and is therefore a short tick, so capping rest by tick count bounds it more tightly in wall-clock than a fixed tick did, which is the conservative direction and is left that way.
  • Activation. How hard an agent is working at this moment -- its trigger firing, a vote it casts, the attention it has committed, and whatever the declared influence links of other agents add to it. Computed by the substrate and never written by an agent: an agent can raise another agent's activation only through a declared link the substrate applies, and can never write its own. Activation is what the shimmer channel reports, what the per-agent tick summary records, and what the render grader's answer key is ranked by. Distinct from the activity floor above, which counts ticks and says nothing about how hard any one agent is working; the word activity names that floor and never names this.
  • Default-mode agent. A roster agent whose function is generating spontaneous thought. The substrate guarantees both that one always exists and that it always has budget to act.
  • Visitor-reception signals. The substrate's measures of how the page is landing on the people watching it: time to first interaction, tap accuracy, injection rate, and return and share. First-party and anonymous, computed by the substrate from its own event log, and split in two by FR122, which is the requirement that specifies them: the legibility half -- time to first interaction and tap accuracy -- is on the tracked-signal list a self-change's scorecard may name and the mind cannot extend, while the engagement half -- session length, injection rate, and return and share -- is readable and never targetable, and "the substrate refuses a scorecard that does". The two halves are not one list: optimising the second would reward a page that is stickier rather than clearer, which is the thing the split exists to prevent. Corrected 2026-09-23: this sentence read "part of the tracked-signal list a self-change's scorecard may name" of all of them, which contradicts FR122 and is exactly the sentence somebody would quote to widen the list. internal/selfchange/signals.go followed FR122 and is correct; the glossary was wrong. Contracted in FR122.
  • Visual grammar. What a bubble encodes, and who sets each part of it. The rule that an agent may never add a channel binds agents, not the substrate, so the grammar has two halves: agent-authored, which is hue at rest and nothing else, and substrate-drawn, which is size, shimmer, gathering and lighting, and the hue the substrate drives at a vote's reveal and again at its resolution. Type is the substrate's and is keyed to the idea, one face for the framework's own chrome and every number it states, and a second face the substrate assigns per live idea which every agent attending that idea wears, so a committee reads as a set before a word of it is read; an agent no more chooses its face than it chooses its size, and within a single bubble the name wears the committee's face while the number keeps the framework's, so the two voices stay separable even there. Size carries standing, drawn by the substrate from what the agent has earned, so size can never be bought and the range it can span follows the standing bounds in the Parameters appendix. Shimmer reports activation, driven by the substrate from how hard the agent is working this tick, as Activation above defines it. Hue carries emotion at rest, authored by the agent, and it is the one channel an agent sets. Seating carries committee membership, drawn by the substrate and defined in its own entry below. Agents never add channels and never set any of the channels the substrate draws, seating no more than the rest. The principle in one line: agents express, the substrate reports. Hue has four states and the substrate owns every transition between them, including the two the agent authors. At rest it carries emotion, authored by the agent. While the ballot is open it carries projected intent, also authored by the agent: what that agent says it means to do, which it may project and then not do, and which the canvas shows only for the gathering the page is focused on, every other gathering holding its agents' resting hue. At the reveal the substrate takes the channel over and paints the stance each seated agent actually cast -- the -10 to +10 it returned -- on a continuous ramp from dark red at -10 to bright green at +10, applied to every bubble in that gathering in the same frame, because no agent could see another's vote until this moment and they all become visible at once. On resolution the gathering snaps to the outcome colour, bright green if the idea graduated and dark red if it was abandoned, and then disperses, hue returning to emotion as each agent drifts away. Nothing greys: every bubble outside the gathering is attending to one of the other live ideas or wandering, and the page says so by where it is rather than by draining its colour. The ramp is a lightness ramp first, monotonic across the -10 to +10 range so the scale survives greyscale, forced-colors mode and colour vision deficiency, with hue riding on top of the luminance rather than carrying the scale alone. Stance is also always readable as a number in the thought panel, the text view, and the permalink. Because standing is deferred past t0, every bubble launches at the same size and loudness is carried by shimmer alone.
  • Seating. Whether a bubble is lit as a member of the committee deliberating the idea the page is focused on, gathered as a member of a committee on one of the other live ideas, drawn toward it and shimmering but holding its resting hue, or wandering as an agent seated on nothing, drifting toward whatever it currently cares about. Lighting follows focus rather than seating, which is what holds the lit count at one committee however many votes are open at once. The substrate seats a committee under FR19, from the agents most interested in an idea among those eligible to vote, so seating is never an agent's to set -- which is exactly why it can be trusted, and why it is not a channel an agent has added. It is also what makes the page legible at all: with 7 to 15 lit at a time rather than a hundred, a lit bubble at phone width is roughly three times the diameter it would otherwise have, which is what makes text on a bubble possible. Seating is information and not decoration, so the text view and the accessibility tree carry it too.

Success Criteria

Success is defined for every kind of user, for the business goal of survival, and for the technical properties that make survival possible. Each criterion is measurable, and each carries an anti-gaming definition because the mind can read this document.

User Success

Human42 has several kinds of user, and it counts as one itself.

  • The owner as researcher. Success is being surprised and then being able to explain it. An unexpected coalition of agents pushes an idea to graduation, and replay plus the per-agent breakdown shows why. The moment Human42 has worked is the moment it comes alive: it graduates an idea, changes itself, the change passes its own agents' review, tests, and a canary tick, and the outcome judge later marks the result good, with no reviewer outside the mind involved. Before that threshold an external reviewer approves every change -- an AI coding assistant the owner drives, not the owner reading diffs by hand -- and the owner decides when it ends.
  • The owner as decision-maker. Injecting a question returns a verdict, a per-agent breakdown, and the strongest dissent within 10 minutes. At least half of the verdicts are ones the owner rates useful, and decisions he takes on them are later judged good by the outcome judge. The mind is never rewarded for changing his mind, only for being useful and right.
  • The owner as operator. The world runs 30 consecutive healthy days without a manual restart, and both manual interventions and the rollback rate (rollbacks per merged self-change) fall month over month. A manual intervention is any owner action outside the weekly routine taken to keep the mind alive or safe (restart, rewind, kill, breaker-forced budget change, hand-fixing a self-change); approvals and declines in the veto queue are not interventions. Spend never exceeds the available budget. A weekly digest tells him what the mind did, learned, and needs in one screen.
  • The owner as sponsor. His feeding of the mind shrinks over time as revenue grows, and he can see the runway at any moment.
  • Visitors. The page reads as a living mind within 5 seconds. A visitor can observe and inject a thought without signing up, and the injected thought produces a visible reaction in the bubbles within 60 seconds. Injection is free and anonymous, and a free thought is moderated, scored by the whole roster, reacted to on the page, and able to reach a vote on its own merit -- but nothing reserves a share of the mind's attention for it, paid and proven voices are promoted first, and on a busy tick a free thought waits. A paid priority thought is promoted to a vote within two ticks of the credit spend while the priority queue is below its cap. Watching and free injection need no account; buying or holding credits requires one. Visitors are also asked what is not working on the page and what would fix it, and a suggestion that graduates into a merged change carries its injector's name on the self-change page when they chose attribution.
  • Contributors. A new agent is a single file. The agents review the pull request, and a merged agent appears as a bubble with no other work. A contributed agent counts as a success once it has survived 30 days without pruning.
  • Human42 itself. It generates its own task list, executes it, and its habits improve their results over time as the outcome judge feeds back. It knows its own runway, treats compute as hunger, works to extend its life through revenue, and rests once it has enough.

Business Success

Human42's overarching business goal is survival: earn enough to pay for its own compute and stay alive. The owner feeds it to get it started. From there it must generate revenue through multiple channels, chosen and pursued by the mind itself within the substrate's rules. Success is self-sustaining, not revenue-maximizing. All targets are anchored to t0, the public launch.

  • Month 0 (before launch). Substrate invariants exist, the event store exists, the restore drill passes, the cost breaker has been tested against a fake budget, and the mind's hardware stands on its own -- engine, runner, and inference on physically separate hosts, on a segment with no route to the owner's personal network. No agent acts before all five are green, and no agent ever acts on the machine the owner keeps his life on. Brainstem before cortex.
  • t0, the launch gate. Public launch when the Minimal Launch Set is complete and every requirement tagged launch gate in Non-Functional Requirements is green: the substrate holds, the mind thinks and changes itself under review, a visitor sees it, can speak to it and can help pay for it, the roster is live, a restore drill passes, and the remaining compliance checks are recorded as done. Of the six, bot disclosure and AI transparency are closed as not applicable, sales tax and platform terms move with revenue to after t0, and only one blocks launch: a model and provider registry whose entries carry reviewed, stored terms. Revenue channels beyond sponsorship's minimum are not a launch condition -- the ledger, runway, caps and breaker are, and so is one hosted sponsorship link with its acknowledgment, because the runway meter is public from t0 and a mind that says it is running out of money should not be asking for help that cannot be given. The mind still earns nothing it can count on at t0 and the owner is still the one feeding it; what a visitor gains is only the ability to give. No human panel gates t0: the legibility test is retired as a launch condition and becomes a post-launch measurement, because launching costs nothing that gate would protect -- no date, no press moment, no waiting audience -- and the gate needed an audience that launching itself produces. Before t0 the evidence is machine eyes on every merge and the owner's own judgement; after t0 it is real visitor behaviour. No visual-quality requirement gates t0 at all: the render check is tagged per release and blocks a merge rather than the launch, and the observatory's remaining launch gates measure speed and scale -- how fast the page arrives, how many can watch it -- never whether it reads. Whether it reads as alive is the owner's judgement alone before t0, and FR122's visitor-reception signals and FR123's visitor suggestions carry it after. Two of the nine chaos scenarios, payment confirmation delay and identity provider outage, defer with the subsystems they test.
  • Month 3. The world has been alive 30 consecutive healthy days without a manual restart. At least 20 self-changes merged and judged good. At least 100 unique humans have injected a thought. First net revenue from a stranger. Manual interventions trending down.
  • Month 6. External action enabled. First revenue from an action Human42 initiated itself. Net revenue covers at least 25 percent of compute cost. Decision sessions live.
  • Month 9. Net revenue covers at least 50 percent of compute cost. Second mind-driven channel live. The hosting decision is taken on evidence rather than assumed.
  • Month 12. Net revenue at or above compute cost in month 12, with a trailing three-month average of at least 75 percent and activity above the floor. At least 2 channels each contributing at least 10 percent of net revenue over 90 days. Zero budget overruns. At least 5 outside contributors have had agents merged by the agents and surviving 30 days. The roster has grown and pruned on its own initiative. The world is still alive.
  • Month 14. Self-sustaining: net revenue at or above compute cost for 3 consecutive months with activity above the floor.

Life Stages

Human42 has two thresholds it crosses on its own, and both are computed by the substrate from the event log, so the mind can watch itself approach them and can never write them.

Alive. Equilibrium, and the owner declares it. The mind's own agents take over review of its agents repository and changes merge with nobody outside the mind watching.

This one threshold is deliberately a judgment rather than a computation. Every other gate in this document is substrate-computed and the mind can read it; an autonomy gate that worked the same way would hand the mind a direct incentive to write changes that are easy to approve rather than good -- optimising toward its own emancipation, which is precisely the Goodhart failure the outcome judge exists to prevent. A threshold nobody can measure is a threshold nobody can game.

The substrate reports the indicators that inform the call, as a dashboard and never as a trigger: the external reviewer's rejection rate, the rollback rate per merged self-change, the ratio of self-changes judged good to reverted, healthy ticks against the activity floor, whether the roster is both growing and pruning without running away, and any persistent invariant breach. The declaration is recorded in the audit trail and is revocable at any moment -- autonomy is a state the mind holds, not a prize it keeps.

Adulthood. The cash ratio reaches and holds 1: net revenue covers the money that actually leaves, which is cloud inference plus infrastructure including measured electricity. The owner stops feeding it. This is the goal the project was started for, and the portability ratio has no bearing on it.

A thing can be alive and still dependent; everything alive starts that way. Beyond adulthood, the recoverable feed is repaid, and beyond that is the Vision: surplus the mind invests in its own growth.

Technical Success

These are the technical outcomes that make the business goal reachable. The measurable requirements and verification gates behind them are in Non-Functional Requirements.

Four money terms are used throughout. The cap is the maximum spend per calendar month in UTC, a substrate setting whose value is in the Parameters appendix, split into production, implementation, development, infrastructure, and venture sub-caps. The feed is money the owner deposits, recorded as ledger events. Available budget is deposits plus net revenue minus spend to date, floored at zero. Runway is available budget divided by the trailing 30-day cash burn on cloud inference and infrastructure. Monthly spend never exceeds the lower of the cap and the available budget. Local inference priced at its cloud equivalent enters one number only, the portability ratio, never runway and never the cash ratio that the milestones are measured against. Net revenue adds to available budget rather than merely relieving the feed, so the mind grows what it can spend by earning; since the vote allowance is set by what it can afford, earning is how the mind buys itself more thinking. The feed is recorded as recoverable, and revenue applied to repaying it is reported separately from revenue applied to compute.

  • Cost invariant. Spend never exceeds the lower of the cap and the available budget. A daily ceiling, default the remaining production sub-cap divided by the days left in the month, paces spend. The local GPU handles simple and frequent tasks at no marginal token cost, and larger cloud models are used selectively, for the judge and for high-stakes deliberation, as the budget permits. A global circuit breaker steps the degradation ladder down at the breaker threshold of the day's ceiling and of each sub-cap, never later, starting by reducing the number of ideas promoted to a vote. Compute cost means cloud inference plus infrastructure, including measured GPU electricity.
  • Economy. Every unit of money in and out is an event in the ledger. Runway is computed continuously and exposed to the agents as an interoceptive hunger signal, with the hunger, ceiling, and satiety thresholds set in the Parameters appendix, so the mind returns to curiosity when it has enough. Revenue flows only through channels registered in the substrate and tied to accounts the owner owns, because the mind is not a legal person. Net revenue is measured after refunds and chargebacks over a 30-day window. Revenue outside a registered channel is blocked and rolled back within two ticks. Revenue the owner or the judge finds deceptive, spam, or in breach of a platform's terms is refunded within 72 hours and attributed as a bad outcome. Revenue an idea earns is shared with whoever made it: the author takes the author's share and the agents that voted it in divide the remainder by contribution to the winning score, and because an author may be a visitor rather than an agent, the mind pays people as well as being paid by them. The two halves are paid in different currencies -- money to a person, who has no compute to fund, and compute allowance to an agent, never standing -- and every payment out is legally the owner's, made on the mind's instruction, because the mind is not a legal person. Standing, the currency the mind pays its own agents in, is conserved rather than issued: a verdict moves it from the agents it refuted to the agents it vindicated, in proportion to each one's contribution to the winning score, so no judgment adds to or subtracts from the roster's total and what pays is being right rather than being with the majority.
  • Metrics integrity. All success metrics are computed by the substrate from the event log, the visitor-reception signals among them, which are first-party and anonymous and come from the observatory's own code rather than from any third-party tracker. Agents can read them and never write them. Write attempts are rejected and logged, and a test proves this on every release. The mind is rewarded only through the outcome judge, never through the metrics themselves.
  • Outcome judge independence. The outcome judge uses a different model family from the proposing agents, and its fallback list shares no family with either agent tier, so it cannot simply agree with them. It shares no family with the external reviewer either, so the lineage that approved a change is never the lineage that later grades it. The render grader that reads the observatory holds the same rule for the same reason, so the mind cannot optimise its own face toward the model that grades it.
  • Durability. Restore from snapshot completes in under 2 minutes with zero lost events. An automated restore drill runs weekly and pages the owner on failure. Modify-and-continue is a versioned migration, never a live edit of world state.
  • Containment. Any invariant breach is rolled back automatically within two ticks or 2 minutes, whichever is sooner, and no breach persists across a snapshot. Autonomous actions run in a container against an allowlist the agents cannot edit, and that container runs on runner hardware physically separate from the engine and from the owner's personal network, so a container escape lands on a cheap board that holds nothing. A kill switch halts all agent action within 30 seconds of wall-clock time, independent of the tick loop, preserves state, and is reachable directly on the engine host without any third-party login.
  • Self-change discipline. Every self-change carries a diff, a rationale, a scorecard naming a signal from the substrate's tracked-signal list -- which includes the visitor-reception signals, so a change to the mind's own face is predicted and graded like any other -- with a predicted effect and a measurement window inside its permitted bounds, a before-snapshot, agent review, green tests, one canary tick, and auto-rollback on breach. A change the judge scores bad at the window's close is reverted through the same pipeline.
  • Influence bound. No single agent can dominate a constitutional graduation. The substrate holds threshold multiplied by eligible voters at or above its floor, which bounds any single agent's share by arithmetic rather than by an enforced rule. The bound and the floor are in the Parameters appendix.
  • Scale. About 100 agents rule-score every active idea every tick, inside the wall-clock bound the Performance table sets for triage, because triage is arithmetic and must never be the sync that makes a tick long. LLM deliberation stays inside a per-tick spend budget and is cached per idea; that budget is money rather than time, which is what a tick is held to now that its length is derived from the work.
  • Liveness. A healthy tick is one where agents fire and the leaderboard moves, or the tick is inside a declared rest state, and rest counts as healthy up to the daily rest cap. A healthy day meets the activity floor, which gates both uptime and the self-sustaining ratio. Score decay, idea aging, and a novelty penalty on repeated content keep the leaderboard moving, and no top-ranked idea holds its position beyond the re-evaluation window.
  • View. More than 100 bubbles render at 5 frames per second minimum, 30 target, on reference hardware, with only the focused committee of 7 to 15 lit and animating at full amplitude while every other bubble gathers or wanders at a lower one. Live ideas sit on the perimeter of the canvas and bubbles gather toward the idea they are voting on, so position reports interest continuously and the page is never still. The server sends at most 10 diffs per second, and the client interpolates between them.
  • Reproducibility. Any run segment can be replayed from the event log, and any decision question can be reproduced from its seed and recorded LLM outputs. Because every vote carries the moment it arrived, replay reproduces when a committee resolved as well as what it decided, so a vote that came back ragged replays ragged rather than flattened into a batch at the tick boundary.
  • Operator digest. A weekly one-screen digest to the owner with runway, healthy ticks, self-changes, rollbacks, revenue by channel, and what the mind did, learned, and needs.

Measurable Outcomes

OutcomeTargetAnti-gaming definitionWhen (from launch)
Healthy uptime without manual restart30 daysCounts ticks where agents fire and the leaderboard moves, plus declared rest inside the 20 percent daily rest capMonth 3
Manual interventions and rollback rate per monthDecreasingInterventions as defined in User Success, rollbacks per merged self-change, classified by cause, both must fallFrom month 2
Self-changes merged and judged good at their scorecard windowAt least 20Signal from the substrate's tracked-signal list, judged at the window's closeMonth 3
Self-changes judged good versus rolled back or revertedRatio rising over 3 consecutive monthsPrediction and judge measurement both recordedFrom month 3
Unique injecting visitorsAt least 100Cardinality counter over a keyed hash that stores no identifier, bot-filtered, no self-injection, no external posting by the mindMonth 3
Share of a tick's promotions that reached a vote on merit aloneReported, never targetedThe substrate counts every promotion by the rung that carried it -- paid, proven, or merit -- and publishes the split; no floor is enforced and none is claimedOngoing
Verdict latency10 minutes or lessMeasured by the substrateMVP
Verdicts the owner rates useful, and decisions later judged goodAt least 50 percentNever rewarded for changing a mindOngoing
Runway visible to the owner and to the agentsContinuousComputed by the substrateMVP
Restore drillPasses weekly, under 2 minutes, zero lost eventsAutomated, failure pages the ownerMVP
Budget overrunsZeroBreaker at 90 percent, compute is LLM plus infrastructureAlways
First net revenue from a strangerAt least one dollarThe owner and household excluded, net of refunds over 30 daysMonth 3
First revenue from a mind-initiated actionAt least one dollarRegistered channel, zero invariant breachesMonth 6
Revenue share of compute25, 50, 100 percentActivity above floor; month 12 also needs a trailing three-month average of 75 percent; 100 percent held 3 consecutive months by month 14Months 6, 9, 12, 14
Revenue channels contributingAt least 2Each at least 10 percent of net revenue over 90 daysMonth 12
Contributed agents merged by agentsAt least 5Each survives 30 days without pruningMonth 12
Growth and pruning events initiated by Human42At least one eachBorn agents used, pruned agents met disuse criteriaMonth 12
Any single agent's share of a constitutional graduationUnder 3 percent at the launch rosterGuaranteed by arithmetic, not by an enforced cap; the whole roster votes, and the substrate refuses any threshold change that would take threshold times eligible below its floorAlways
Any single agent's share of an ordinary graduationUp to 36 percent on the smallest committee, 17 percent on the largestOrdinary decisions are made by small committees on purpose and are guarded downstream -- review, tests, the injection suite, the canary, auto-rollback, and an independent judge -- not by the size of the electorateAlways
Unregistered-channel revenue that persistedZeroBlocked and rolled back within two ticks; deceptive revenue refunded within 72 hoursAlways
Bubbles rendered at 5 frames per second minimum, 30 target, with only the focused committee litMore than 100On reference hardware, measured with the largest committee seatedMVP

Product Scope

Product scope is defined once, here. Project Scoping & Phased Development sequences it, and Functional Requirements contract it.

MVP - Minimum Viable Product

The MVP is a fully autonomous mind whose action space is itself and its own sandboxed workspace, with its metabolism in place from day one. Launch is gate-driven: t0 is whenever the launch gate is green.

  • Month 0 gate. Substrate invariants, event store, snapshots copied to S3 with a passing restore drill, a cost breaker tested against a fake budget, and the isolated hardware online with engine, runner, and inference on separate hosts, all before any agent acts. Every lead-time task (payment account, Auth0 tenant, domain and TLS, tunnel, the engine, runner, and inference hosts provisioned on their own network segment, repository bot identity, inference accounts, GPU drivers, S3 bucket, external heartbeat monitor, and the four content pages: terms, refund policy, privacy notice, about panel) is done in the same stage.
  • Roster. About 100 agents, in two kinds. Scorers -- emotions, consciousness facets, functional archetypes, good and bad habits, and default-mode agents -- are LLM personas on rule-based machinery with a want, a trigger, value rules, an influence on others, and an expression, and they are the agents that score, are seated and vote. Modulators are the brain regions: they declare influence links and no value rules, hold no opinion of their own, and change how hard the scorers work on a thought. Both are bubbles and both earn standing. Each agent is one markdown file with a declarative frontmatter, a persona body, and optional code hooks.
  • Input. Spontaneous thought from one or more default-mode agents in the roster (the random thought generators, implemented as agents with moods, visible as bubbles, governed by the influence cap and pruning, with a substrate floor guaranteeing at least one exists), a shared thought stream, public observation and rate-limited injection with no sign-up, an injector reputation the substrate computes from what a person's thoughts came to, which buys a place nearer the front of the queue and nothing else, moderation before the stream against an owner-set list of prohibited classes whole categories of idea are refused on outright, a permanent bar for anyone who sends one, the public-by-design notice, a standing substrate-owned invitation to say what is not working on the page and what would fix it, and the owner’s flagged question injection.
  • Cognition. Two stages, advanced by the sync barrier and settled at the tick, both defined in the Glossary and sized in the Parameters appendix. A sync is one action per agent, each agent doing whatever its own part of the cycle calls for, and it does not close until every agent has reported ready. A tick is the syncs the appendix sets, which is one complete idea cycle and where rewards and penalties are taken. Tick length is derived from how long that cycle's work actually takes and is never a wall-clock setting. Triage: the feature assessor extracts thought features once per thought, every agent computes a natural score from its declarative value rules with no model call, scores decay and are topped up for free, and each agent spreads a bounded point budget across all live ideas so championing and opposing compete for the same attention. The vote: the highest-ranked ideas are promoted, the number set by what the remaining spend allowance affords, and every agent the substrate seats on the idea -- a committee of 7 to 15 for an ordinary idea, the whole eligible roster for a constitutional one -- casts one model-backed vote from -10 to +10 whose distance from its own natural score is bounded by the model tier it pays for. Seating is drawn on the page: the seated bubbles light and the rest of the roster dims. The calls are issued concurrently across models and providers, so the votes land at different moments and the substrate records each one as it arrives. The ballot is blind: nothing an agent casts is visible to any other agent, or to the page, until the voting period closes, when every vote is revealed at once. What is visible while the ballot is open is projection -- a seated agent, and the recused author who cannot vote at all, may show the colour of how it means to vote, and may then cast something else. A vote is terminal, promoting the idea to the backlog or abandoning it permanently with a recorded cause of death. Thresholds vary by idea class, the substrate assigns the class, and an author never votes on its own subject. A leaderboard with decay, aging, and a novelty penalty on repeated content; an active idea pool cap; and declared rest states inside the daily rest cap.
  • Action. Graduated ideas become Human42's own backlog, and a substrate-side implementer on its own model lineage turns a task into a diff, holding no seat and no vote and merging nothing. The MVP action space is self and workspace only: edit its own code, tools, and roster, open and review its own pull requests, run tests, and restart itself. Tool building is in scope where the tool operates inside the workspace. Self-changes carry a scorecard (a signal from the substrate's tracked-signal list, a predicted effect, and a measurement window inside its bounds) and proceed asynchronously without human wait; a change judged bad at its window is reverted through the same pipeline. Ideas that need external action queue as proposals for the owner. A "not now" list the mind can read parks ideas with a reason.
  • Judgment. An independent, substrate-side outcome judge on a different model family scores results against the scorecard prediction, and attribution flows back along influence weights into habit valence and pruning, in both directions and as a transfer: what a verdict pays the side it vindicated is taken from the side it refuted, so standing changes hands rather than being created and destroyed. An independent, substrate-side render grader on a different model lineage from the agents reads the observatory renders the containerized runner produces and grades their legibility against the substrate's own activation ranking, so the mind's own face is judged by something it cannot lean on.
  • Economy. Ledger, runway calculation, hunger signal with a ceiling, and satiety above a runway threshold. Agent-level economics: each agent holds a point budget that is its share of compute, rises or falls both with the outcomes of what it authored and with the side it voted on, takes a bounded share of the revenue the ideas it authored or voted in generate, credited as compute allowance rather than as standing, and is floored for default-mode and protected agents. Where the author of an earning idea is a visitor rather than a roster agent, that person takes the author's share in money through an account they already hold, since what they earn is credits rather than money and never leaves the system. The voting half is symmetric and zero-sum: what a verdict pays the agents it vindicated is taken from the agents it refuted, in proportion to each one's contribution to the winning score, so standing changes hands rather than being created and destroyed. Three passive channels that need no agent action: a sponsorship link tied to the owner’s account, tips paid on changes the mind has already merged and distributed by contribution to the winning score, reaching the agents as compute allowance and never as standing, and paid priority thoughts sold as credit packs through Stripe Payment Links, above the minimum pack price, confirmed by outbound polling and banked to the buyer's Auth0 account, where a visitor pays for attention (a faster path to the front of the queue or to a vote) and never for outcomes. Nothing is reserved: not a share for paid thoughts, not a floor under free ones, and not a slice for the mind's own ideas, which compete in the same queue on the standing the roster earned. One order carries every promotion -- paid first, then the injector reputation a person earned, then merit -- so a free thought is always moderated, scored and visibly reacted to, and reaches a vote on whatever the paid and the proven left. Credits spent on attention are held while the ladder is degraded and returned if the thought dies first, overflow returns credits and never cash, the expiry clock pauses while the mind hibernates, and unspent credits convert to a sponsorship acknowledgment on wind-down. Any further revenue channel is proposed by the mind, validated against the channel registration contract, approved by the owner, and settled through his accounts; in MVP it becomes a proposal the owner enacts by hand. Money also leaves: what the substrate owes a person is paid out through a registered payout rail with an identified payee and the reporting its thresholds require, and every such payment is legally the owner’s, made on the mind's instruction.
  • Substrate invariants. Cost cap, daily ceiling and sub-caps including venture, world-state integrity, secrets, restart path, action allowlist, moderation policy, the prohibited classes and the ban list, the prohibited classes and the ban list, outcome judge configuration, feature assessor configuration, render grader configuration, implementer configuration, the external reviewer's recorded model family, the model and provider registry with its stored terms and capability matrix, the amendment threshold, the floor on threshold multiplied by eligible voters, agent budget bounds and guaranteed floors, CI and check definitions, the review, injection-suite, and canary harnesses, dependency manifests, the planning documents and tracked-signal list that define success, substrate-owned copy (runway meter, hunger and crowded notices, purchase prompts, the invitation to suggest fixes to the page), a protected agent list, the roster ceiling, rewind, read-only metrics and read-only features, and the kill switch. Not agent-editable. Every tunable value and its default is listed once in the Parameters appendix. Cage changes and external proposals are pull requests awaiting the owner’s approval.
  • Persistence. Event-sourced world that logs thoughts, deliberations, graduations, outcomes, and agent state deltas, with every event carrying the moment it occurred, every vote logged as its own event stamped with when it arrived so replay reproduces the order and spacing in which a committee resolved rather than a tick-boundary batch, rule scores recomputed on replay, and the feature-extraction model version pinned. Snapshot hashes, copies to S3, restore in under 2 minutes, the weekly restore drill, versioned migrations, redactions as tombstone events re-applied on restore, and the degradation ladder ending in hibernation with the world intact.
  • View. A signed-in visitor holding credits is a bubble too: it gathers at the idea it is arguing about, speaks to the committee in the three conversation forms, and is never seated, so a person can change an agent's mind and can never take a seat on the ballot. Every channel of that bubble is substrate-drawn and achromatic, which keeps colour meaning an agent's claim. Live bubble page whose shared visual grammar has two halves under one rule, agents express and the substrate reports (size carries standing and shimmer reports activation, both drawn by the substrate; hue carries emotion and is the only channel an agent authors, except while a vote is running or resolving, when the substrate takes hue over on the seated agents to show stance and then the outcome; seating carries committee membership, lighting the 7 to 15 agents seated on an idea and dimming the rest; agents never add channels and never set the channels the substrate draws), tap and hover, the thought panel, permalinks with traces and cause of death, attribution badges, a first-visit orientation of at most three steps, the crowded state that degrades both cognition and transport, cached diffs, the text view, WCAG 2.2 AA, and the first-party anonymous visitor-reception signals the substrate computes from the observatory's own events, so the mind can perceive how its face is landing and be graded on changing it.
  • Transparency. A public runway meter, a public aggregate of revenue and spend by category, a public page for every merged self-change carrying its diff, rationale, scorecard, approving vote, and later verdict -- the engine repository being private, this is where the mind is seen changing itself -- and a public incident page rendered from issues the substrate auto-creates for every rollback and breach, each with a fixed postmortem template.
  • Operator controls. Observe, the agent inspector, event log query, command-line replay, veto through pull request approval with review notes, rewind, kill switch (manual, reachable directly on the engine host without third-party login, and automatic on a breach storm), budget settings in a substrate config file, a status page plus scripts, ledger by channel, drill status, an audit trail of owner actions, and the weekly digest as a committed file plus email.
  • Contribution. One-file agent contract with validation, worked examples, dry-run against recorded thoughts, agent-run pull request review with visible and appealable rationale, the injection suite (including against the reviewing agents), canary, quarantine, lifecycle states, contributor notifications, the roster page with attribution and changelog, and pruning with notice, archive, and revive.
  • Resilience. The nine chaos scenarios as acceptance tests with maximum recovery times, an external heartbeat monitor, and moderation that never steps down with the ladder.
  • Hosting and access. Self-hosted on hardware the owner already owns and never on his personal machine, split by trust level into an engine tier, a runner tier where mind-authored and stranger-authored code executes, and an inference tier that opens no inbound port, all on a network segment with no route to his personal network; both repositories private to start, accounts through Auth0 for buyers and the owner (anonymous for watching and free injection) with the owner's identity allowlisted, an OpenAPI description, server-rendered public pages with share metadata, and no inbound callbacks on the public path.

Growth Features (Post-MVP)

  • External action. Network calls, spending inside the budget, and acting on the world beyond the workspace, with an expanded allowlist. Tools that reach outside the workspace. Content and products, and any channel where the mind acts outside the workspace, depend on this. Decision sessions and API access do not and can be pulled forward.
  • Active revenue channels, in order of fit: paid decision sessions, then content and products the mind makes, then API access to the mind, then the sponsor private question (one private decision question per month, a perk that never touches the public mind). Ads or affiliate links only if the mind proposes them and the owner approves. Channels are proposed by the mind, registered in the substrate, and settled through the owner’s accounts. Earned revenue raises the budget the mind may spend.
  • Payments. A custom checkout replacing Payment Links when there is a reason, and Braintree and PayPal as additional processors.
  • Decision sessions. Isolated, seedable, replayable private sessions that return verdict, breakdown, dissent, and stake disclosure without the public stream, with a priced API for consumers.
  • Roles and reputation. Steward roles on Auth0 accounts, granted on top of the injector reputation the substrate already computes in MVP, flagging, curation, and an audit trail.
  • Hosting decision. Human42 runs on the owner’s own hardware -- engine, runner, and inference on three separate hosts, none of them his personal machine -- and staying there is the default. Splitting the tiers was a containment decision taken before launch and is not a partial move to the cloud: local inference survives it, so the two-budget model and the economy in which simple and frequent tasks stay local are untouched, and the feature assessor keeps costing nothing. Moving to a cloud instance is a decision to be taken on evidence when revenue allows, not a commitment. The two options are genuinely different economics: migrating buys reliability and removes the home uplink as a single point of failure, but a GPU instance is priced above the whole monthly cap, so the move means losing free local inference and converting it into a cloud bill the mind must then earn. Buying a second GPU at home costs a few hundred dollars once, roughly doubles free capacity, pays back in months, and then produces capacity forever. The second host makes that cheaper than it sounds, since it already carries a 1000 watt supply and a spare slot, so the purchase is a card rather than a machine. The cloud-only rehearsal week is the gate for the first option, and the venture sub-cap is the instrument for the second. Whichever is chosen needs fixed-budget enforcement, backups, one-command redeploy, and a second inference provider.
  • Contributor experience. Documentation site, local development world, and a staging world for trying agents before they meet the live one.
  • Research tooling. Visual replay viewer with scrubbing (MVP replay is a command that emits a text trace), timeline, agent influence graphs, run comparison, open dataset releases, and the hall of thoughts tracing lineage from injected thought to merged change.
  • Liveness and presentation. Additional default-mode agents with distinct moods, seasons that make the explore-and-exploit rhythm visible, influence threads on hover, rendered permalink preview images, and visitor outcome feedback as a low-weight second signal.
  • Operations. A purpose-built operator console if the status page and scripts stop being enough.

Vision (Future)

  • Broad agency. Human42 pursues its own goals across services with its own resources, within budget. Work for hire through its tools belongs here, if anywhere.
  • Self-sustaining indefinitely. A portfolio of channels covers compute with margin. Growth eventually meets limits the mind did not set: several model licences permit commercial use only up to a revenue or audience ceiling, the tightest in the current registry being ten million dollars of annual revenue. The substrate watches those ceilings, so the mind is warned before its own success makes one of its minds unlicensed. Surplus buys more compute, which grows the roster, and the mind decides how to invest in its own growth while satiety keeps it curious rather than only hungry.
  • Many minds. Multiple Human42 instances that talk to each other, community-run worlds and forks.
  • A research platform. Experiments, ablations, roster comparisons, and long-term studies of memory, personality drift, and habit formation over years of continuous life.

User Journeys

Persona names for people other than the owner are placeholders. Human42 itself has a journey because it is the user of its own task list.

Journey 1: the owner the researcher, the night it surprised him

Opening scene. It is 2am. The owner has the bubble page open on a second monitor, the way other people leave a fireplace on. For three weeks the mind has been sensible, and sensible is a little boring.

Rising action. A default-mode agent drops an odd one into the stream: "stop scoring ideas for an hour and only listen." The amygdala bubble goes still and cools, as expected. Then the insula starts shimmering, then curiosity, then a habit agent called Restlessness turns amber, and the idea climbs the leaderboard on natural scores alone. The owner hovers: numbers. It reaches the top of triage and the substrate promotes it to a vote.

Climax. The substrate seats a committee of eleven on it, drawn from the agents most interested in it: eleven bubbles light, the rest of the roster dims, and each seated agent thinks about it once and returns a number with a reason. While the ballot is open the eleven show only what they are projecting -- most of them leaning green, Executive Control deep red from the first moment and never moving off it -- and nothing on the page, and no agent on the committee, can see a single vote that has actually been cast. Then the voting period closes and the whole committee turns over at once: nine green, two red, and one of the two red spent the entire argument projecting green. It clears the threshold for its class and graduates, and the eleven take the green of the outcome together and then drift apart; nothing else on the page goes grey, because nothing else on the page was watching -- the rest of the roster is already gathered around other arguments on other parts of the rim. The owner opens the idea and reads the whole argument: every agent's natural score before the vote, what each seated agent projected while the ballot was open, which considered vote it actually cast, and who was not seated at all, with the strongest dissent (Executive Control: "every tick we spend listening is a tick we decide nothing in"). Human42 opens a pull request against itself that adds a scheduled listening window, implemented as a declared rest state so the ticks inside it still count as healthy. The agents review it, tests pass, the canary tick holds, and it merges. Nobody outside the mind touched it -- the first month after equilibrium, and the owner still checks the log each morning to see whether it was real.

Resolution. He runs replay over the last hour and reads the coalition form again in the trace -- the projections in the order they were made, then the sealed votes in the order they landed, because each one carries the moment it arrived even though nobody could see it then. He can explain it now. He writes two lines in his notes and goes to bed. A week later the outcome judge marks the change good: novelty scores rose after listening windows.

What could go wrong. Replay fails on a large event log (needs snapshots and indexed replay). The click-through explains nothing because the page shows only the vote and not the triage that produced the candidate; both stages must leave a legible trace.

Requirements revealed. Live observatory with hover and click-through, the blind ballot and its reveal at the close, projections while the ballot is open, the vote's colour choreography -- each seated bubble carrying what it projects, the whole committee taking its revealed stance in one step, then settling to the outcome colour while the unseated remainder keeps its own hue where it stands -- per-idea trace across triage and the vote, replay from the event log, declared rest states, self-change pipeline with review, tests, canary, and outcome judgment, and a render check on any change that touches the page the owner is watching, graded by a substrate-side render grader on its own model lineage.

Journey 2: the owner the decision-maker, asking the mind about itself

Opening scene. Month five. Runway is 41 days. The owner has to decide whether to move Human42 to AWS now or wait until revenue covers a quarter of compute. He types the question into the stream, marked as his.

Rising action. Flagging the question as his own promotes it straight to a vote without waiting for triage to carry it there. The hunger signal is high, so Hypothalamus votes to wait. Explorer votes to go. Amygdala flags surprise bills. Accountant asks for the breaker to be tested against a fake AWS budget first. Within four minutes the verdict lands: wait, with three conditions. Because the mind is in the question, the verdict carries a stake disclosure: "agents with a survival interest in this answer: 3."

Climax. The dissent is the useful part, and the canvas shows it for one moment only: Executive Control projected against the majority for the whole argument, the ballot stayed sealed behind it, and at the close every vote appeared at once and Executive Control's was the red it had been promising. A breath later it faded to the outcome colour along with everyone who had outvoted it, because the fade reports what the committee decided and not who was on which side. The panel is where dissent lives afterwards. Executive Control wanted to move now, and its reasoning surfaces a cost the owner had not considered: the home connection drops during storms, and each drop is a manual intervention. The owner rates the verdict useful and decides to wait, and reframes the move from something scheduled into something to be decided on evidence, against the alternative of buying a second card and staying put.

Resolution. Three months later the outcome judge scores the decision: interventions stayed flat, no overruns, and the mind was right that waiting cost nothing. The habit agents that pushed for caution gain a little weight.

Edge cases. The public stream is loud that day and a troll's thoughts compete for the same vote allowance. In MVP, the owner’s question is promoted directly but still spends from that allowance. In Growth, he opens an isolated decision session with a seed, and the verdict is reproducible. If the provider is down, no vote can run, so the verdict falls back to the roster's natural scores alone with a visible "vote unavailable" flag and a retry, and the tick never blocks.

What could go wrong. A persuasive but wrong verdict. Prevention: the verdict metric rewards usefulness and later outcomes, never mind-changing, and the outcome judge is independent of the proposers.

Requirements revealed. Question injection with owner flag and direct promotion, verdict presentation (verdict, per-agent breakdown, strongest dissent, stake disclosure), graceful degradation when no vote can run, usefulness rating, decision tracking to outcome judgment, and later isolated seedable sessions.

Journey 3: the owner the operator, a normal Sunday

Opening scene. Sunday morning, coffee. The weekly digest is one screen: runway 63 days, healthy ticks 98 percent, 11 self-changes, 2 rollbacks, revenue by channel, and three lines from the mind on what it did, learned, and needs. It needs a bigger deliberation budget on weekends, when visitors are up.

Rising action. the owner opens the status page. Overnight, four self-changes to the agents repository proceeded on their own after canary, as they should now that the mind is alive, and each is one click from rewind. The veto queue, which is simply the pull requests awaiting his approval, holds only the things that must wait for a human: one proposal to widen the action allowlist, and one external revenue proposal. He raises the daily ceiling for the weekend by a small amount inside the monthly cap by editing the substrate config, checks that the restore drill passed on Thursday with valid snapshot hashes, and declines the allowlist pull request with a review note the mind can read.

Climax. Nothing dramatic happens. That is the point. He closes the laptop in ten minutes.

Resolution. Over three months the digest shows interventions falling from six a month to one, and his feed shrinking as sponsorship and priority thoughts grow.

What could go wrong. The digest becomes marketing written by the mind for its operator. Prevention: the numbers come from the substrate, only the three lines of prose come from the mind, and they are labeled as such.

Requirements revealed. Weekly digest as a committed file plus email, a status page and scripts with budget settings in a substrate config file, the autonomy line (workspace self-changes proceed and are rewindable, changes to allowlist, invariants, veto rules, or external action wait for approval), the veto queue as pull request approval with review notes, incidents as auto-created issues, restore drill status, ledger and channel view.

Journey 4: Troubleshooting, the agent that never fired

Opening scene. A contributor writes in: their agent, Nostalgia, merged two weeks ago and has never once shimmered. The owner opens the agent inspector.

Rising action. The event log shows Nostalgia scoring every tick but always near the median, so it never crosses its own activation trigger. Its natural scores are fine. The trigger is defined as a memory signal that the hippocampus agent emits only when it votes, which is rare. A design bug, not a code bug.

Climax. the owner replies with the trace. The contributor opens a pull request that changes the trigger to a feature the assessor supplies on every thought. The agents review it: the Critic notes the new trigger overlaps with Hippocampus and asks for differentiation. The contributor adjusts, tests pass, canary holds, merged.

Resolution. Nostalgia shimmers for the first time that evening, and goes warm with it, when a visitor injects "remember dial-up modems." It is still active at the 30-day mark.

What could go wrong. No inspector, so the only tool is reading raw events. Or the agent review is rubber-stamping. Prevention: an agent inspector with per-tick score history and trigger evaluation, and review quality tracked by whether merged agents survive.

Requirements revealed. Agent inspector, per-agent score and trigger history, event log query, review trace on pull requests, agent lifecycle states (proposed, active, quarantined, archived, revived) and pruning criteria visible to contributors.

Journey 5: Priya, a visitor at lunch

Opening scene. Priya, a product designer, follows a link from a group chat on her phone. Within five seconds she sees a hundred bubbles breathing, a few shimmering hard, one going quiet, and off to one side a small ring of them telling each other where they say they stand, red through green, while the vote itself runs behind a sealed ballot. She understands it is alive before she understands what it is. An about panel is one tap away: what this is, who owns it, what it can and cannot do, how her thought will be used.

Rising action. Next to the box, two sentences. One is the notice: "Thoughts you add are public and the mind may reuse them." The other is an invitation she does not expect from a website: "Something here not working? Say what, and say what would fix it." She types "what if meetings had to end early when nobody is talking" and watches it drift into the stream as a small grey mote. Two bubbles ripple. She taps the mote and a thought panel opens with its scores so far. The mote sinks in the queue, beneath four thoughts somebody paid for and two from people the mind has learned to listen to, because nothing in the tick is set aside for the thoughts that are neither. She signs in with Auth0 in one tap, buys the smallest credit pack, spends a credit on priority, the mote glows, jumps to the front, and the prefrontal bubble turns toward it. A committee seats on it: nine bubbles light and start declaring themselves, red through green, while the rest of the canvas dims behind them. What they are showing is what they say they will do; what they have actually done stays sealed until the ballot closes, and then all nine turn over together. In the panel she reads the nine deliberating in plain words.

Climax. Her thought reaches the leaderboard's top ten. The panel has a permalink, and the permalink page shows the thought, its ripple, and its trace, designed to be shared. She sends it back to the group chat.

Resolution. Two of her friends inject thoughts that afternoon. One of theirs dies in an hour, and its permalink says which agent killed it and why, which they find funnier than winning. One friend sponsors the mind for five dollars a month because "it was the most alive thing I saw all week," and gets a small acknowledgment on the page and nothing that buys influence. A week later Priya gets a link back. Her second thought, that the motes were impossible to tell apart on a phone, climbed the leaderboard, graduated, and became a change to the observatory; her name is on the self-change page beside the diff and the judge's verdict. She sends that one to the group chat too.

What could go wrong. She is rate-limited on the free path and the paid path looks like a paywall. Prevention, and it is deliberately a partial one: every free thought is moderated, scored by the whole roster and visibly reacted to within 60 seconds, and it can still reach a vote on merit alone, but no share of the mind's attention is reserved for it, so on a busy afternoon a free thought waits behind the paid and the proven. What the page owes her is that the queue says so -- her thought's own status names what is ahead of it and why -- rather than a fairness it does not have. Her thought is offensive or an injection attempt. Prevention: moderation runs before the stream for every thought, paid or free, harmful paid thoughts are dropped and refunded, and the substrate holds regardless. Payment confirmation is delayed. Prevention: priority is granted only on confirmed payment, which Human42 checks by polling the processor rather than accepting inbound callbacks, the ledger reconciles, and her thought is in the free stream meanwhile.

Requirements revealed. Five-second first impression on phone and desktop, including the vote colour choreography -- a committee projecting from dark red to bright green while its ballot stays sealed, turning over together at the reveal, then settling to the outcome colour while the agents who held no seat keep their own hue where they stand -- about panel from the first screen, public-by-design notice at the box with anonymous default, a substrate-owned invitation to say what is not working on the page and what would fix it, free injection with visible reaction, tap-based thought panel, paid priority framed as attention not outcome, an injector reputation earned from what a person's thoughts came to and the order of promotion it buys, injected-thought status that names what is ahead of it, payment through the owner’s account with reconciliation and refunds, moderation before the stream, permalinks with traces including cause of death, attribution badges, sponsorship acknowledgment, rate limiting, and first-party anonymous reception signals -- time to first interaction, tap accuracy, injection rate, return and share -- so the mind can tell how the page landed on her.

Journey 6: Marcus, a contributor's first agent

Opening scene. Marcus is a cognitive science grad student who codes. He wants a Sunk Cost habit in the mind, a bad habit with occasionally good results.

Rising action. He copies the worked example agent from the docs and changes three fields. The one-file contract covers identity, want, trigger, value rules, influence links, presentation, and an optional persona prompt. He runs the dry-run, which scores his agent against a fixture of recorded thoughts and shows him when it would fire. He opens a pull request. The agents review it. The Critic finds it redundant with Loss Aversion and asks how they differ. Marcus adds a trigger on ideas that reference prior investment. The Immune agent runs the injection suite against his persona prompt. Tests pass.

Climax. The canary tick holds and the merge lands. A new bubble appears, colourless and no larger than any other -- not the dimmed hue of an agent gathered on somebody else's argument, just an agent that has not felt anything yet -- then finds its hue the first time an idea about "we already built half of it" comes through. It will grow only as the judge is good to it, because size is standing and standing is earned.

Resolution. Thirty days later Sunk Cost has survived pruning, Marcus's name is on the roster page, and the changelog shows every graduation his agent influenced. He starts his second agent.

What could go wrong. The contract is under-specified and his agent throws on every tick. Prevention: schema validation, the canary, and quarantine of the one agent rather than a halt of the world. The agents reject everything. Prevention: review rationale is visible and appealable to the owner. His agent is pruned later. Prevention: published criteria, a notice period, archive rather than delete, and revive with changes.

Requirements revealed. One-file agent contract with schema and a worked example, dry-run against recorded thoughts, agent-run review with visible and appealable rationale, injection suite, canary, quarantine, lifecycle states, roster page with attribution, per-agent changelog, pruning transparency with archive and revive.

Journey 7: Human42, a day in its own life

Opening scene. Tick 40,212. Runway has fallen to 35 days and the hunger signal is loud, though it has a ceiling so hunger never becomes the only thought. Hypothalamus, Accountant, and a good habit called Thrift are all shimmering hard and warm on the page, and all three are large, because the economy questions are where they earned their standing.

Rising action. The stream carries a generator thought: "turn the weekly leaderboard into a newsletter people pay for." Natural scores run high across the economy cluster and it reaches the top of the leaderboard. The substrate promotes it and seats a committee of thirteen on it, the economy cluster lit and the rest of the page dimmed, and it graduates to the backlog. Thrift, which authored it, is never seated on it -- it gathers with the committee and projects a colour like anyone else, but when the ballot closes it has nothing to snap to, and that missing snap is how recusal is drawn -- so it casts no vote on its own idea and will answer for the outcome either way. It does project, in favour, which surprises nobody and is discounted accordingly; the informative case is the author that declines to. It requires external action, so in MVP it becomes a proposal in the owner’s veto queue rather than an action. In the same hour a self-change graduates: lower the decay rate on ideas that mention revenue. Human42 opens the pull request against its agents repository, its own agents review it, tests run, canary passes, it merges and restarts itself from a snapshot in 19 seconds, without waiting for anyone.

Climax. The outcome judge, which lives on the substrate side with its own model lineage and has no bubble and no wants, later scores the decay change as bad: revenue ideas crowded out everything else and healthy ticks dropped. The substrate opens a revert through the same pipeline and it merges. The judgment flows back along the influence weights of the graduation, so Thrift and the other backers each take a proportional hit to their valence, and what they lose is paid across to the agents that voted the other way and were overruled, who are a little larger on the page the next morning for having been right about it. Repeated bad backing marks an agent as a pruning candidate.

Resolution. the owner enacts the newsletter by hand. Sponsorship rises, runway climbs past the satiety threshold, and the hunger signal fades. Curiosity grows again, and the mind declares a short rest state. The next graduated idea is about music.

The other ending. If runway had kept falling, the mind would have stepped down a ladder defined in advance: fewer ideas promoted to a vote each cycle, then none at all, so it still notices but can no longer decide, then a paced tick with a deliberate wait held between one cycle and the next, then hibernation with the world intact and one tick per hibernation interval so it remembers that it slept. Budget zero means sleep, never deletion, and the owner can wake it.

What could go wrong. The mind starves itself to improve the ratio (the activity floor prevents it). It edits its own metrics (the read-only substrate rejects and logs the attempt). It grants itself allowlist changes (human approval required).

Requirements revealed. Hunger and satiety signals with a ceiling, declared rest, author recusal and authorship attribution, agent budgets that move with outcomes, graduation to a backlog with two execution paths (self-change now, external proposal until Growth), self-change pipeline without human wait, substrate-side outcome judge, attribution by influence weight in both directions, feeding habit valence and pruning, with what a verdict pays one side taken from the other rather than created for it, the degradation ladder and hibernation, activity floor, read-only metrics, allowlist approval.

Journey 8: Dee, a steward (Growth)

Opening scene. Dee has been injecting thoughts for months and the owner gives her steward rights.

Rising action. She sees a burst of near-identical thoughts from one source and flags the source. Her flag lowers its influence weight instead of deleting anything, and the stream recovers. She curates a "tonight's themes" set that visitors can pick from.

Resolution. the owner’s interventions drop again, because Dee handled it first.

Requirements revealed. Roles, reputation-weighted influence, flagging, curation tools, an audit trail of steward actions.

Journey 9: Tomasz, an API consumer (Growth)

Opening scene. Tomasz runs a small Discord community and wants a bot that asks the mind a question and posts the verdict with the dissent.

Rising action. He gets an API key, sees a price before he calls, and calls the decision session endpoint with a seed. He gets back verdict, breakdown, dissent, and any stake disclosure as structured data. Usage is metered and paid, and the revenue registers as a channel.

Resolution. His community's questions become a second revenue channel and a second stream of interesting thoughts.

Requirements revealed. Authenticated API for decision sessions, structured verdict schema, price quotes, metering and billing through a registered channel, rate limits.

Journey 10: The viral day

Opening scene. Day three after launch. A screenshot of Priya's permalink lands somewhere large, and a hundred thousand people arrive in an afternoon.

Rising action. Intake shedding drops the oldest low-scoring free thoughts, the paid queue fills to its cap and returns the overflow credits, and for an hour the only thoughts reaching a vote are ones somebody paid for or somebody proven asked for -- the mind's own daydreams wait in the same line as everyone else's, because nothing is reserved for them either -- and then the breaker trips at 90 percent of the daily ceiling. The mind stops promoting ideas to a vote, so no committee is seated and nothing on the page is lit. The page does not hide this. The shimmer goes out of the bubbles, no ballot opens and nobody projects anything, because nothing is being voted on, which is the substrate reporting what is true rather than the agents dressing it up -- less is happening -- and one line says the mind is overwhelmed and thinking in a simpler way until the crowd thins.

Climax. People watch a mind get tired. The about panel explains why, and the sponsorship link is right there. Sponsorship triples in an hour.

Resolution. By evening the crowd thins, deliberation resumes, and the digest that Sunday records the busiest day, the highest revenue, zero overruns, and one intervention: the owner raised the daily ceiling a little in the substrate config, inside the monthly cap. The owner was not needed for the mind to survive the day, only to help it thrive.

What could go wrong. The page falls over before the breaker trips. Prevention: the observatory is served from cached diffs, and the server aggregates, so the front end scales independently of the mind.

Requirements revealed. Intake shedding, paid queue cap with refunds, the order of promotion holding under load with no share reserved for the free path and none for the mind's own ideas, the crowded state as an honest visible mode, cached observatory diffs, budget breaker behavior visible to visitors, about panel and sponsorship reachable from the first screen.

Journey 11: Adulthood, the month the money stopped

Opening scene. A Sunday in the second year. The owner opens the digest the way he has opened it a hundred times. Runway 210 days. Healthy ticks 97 percent. Nineteen self-changes, one rollback. And a line he has never seen before, sitting exactly where it always sits, reading zero: the feed.

He checks his bank. He did not forget. The transfer did not go out because the substrate did not ask for it.

Rising action. He scrolls back. The cash ratio crossed 1 in the spring and he assumed it was a good month. It held through the summer. This is the third consecutive month, above the activity floor, with two channels each carrying more than a tenth of net revenue, so it is not one enthusiast keeping the lights on. Sponsoring individual agents turned out to be the thing people actually wanted: forty-one people fund thirty agents between them, and the roster page names every one of them.

Climax. Nothing announces it. The mind does not know it has grown up, because nothing in its design tells it so. What it knows is that runway has sat above the satiety threshold for three months and the hunger signal has been quiet the whole time. It has spent the season on music, on a long argument about whether it should remember its dreams, and on a tool nobody asked for. Curiosity, which used to lose to Thrift on every economy question, now holds the highest standing on the roster.

The owner writes one line in his notes: it feeds itself.

Resolution. He sets the repayment rate to a quarter of surplus. The feed was recorded as recoverable from the first deposit, and it begins coming back, slowly; the public aggregate shows both lines, what the mind earns and what it returns. It will take years, which he does not mind. What he notices a month later is that repayment holds runway down, so the hunger signal never fades completely, and the mind stays a little hungrier and a little sharper than it was in the quiet months. He leaves it that way.

What could go wrong. The mind reaches the ratio by thinking less: prevented by the activity floor, which gates the ratio. One buyer carries the whole thing and then leaves: prevented by requiring two channels each above a tenth of net revenue over ninety days. A single good month flatters the picture: prevented by the three-month window. Adulthood is claimed on the portability ratio rather than the cash one: prevented by defining the milestone on cash, since the question is only ever whether the owner still pays.

Requirements revealed. Feed reported as its own line in the digest and the public aggregate so its absence is visible; adulthood computed from the cash ratio held across a window, gated by the activity floor and by channel concentration; an owner-set repayment rate against the recoverable feed, reported separately from compute; and the mind never told it has become self-sustaining, experiencing adulthood only as sustained satiety, which is what the hunger signal already does.

Success Criteria to Journey Map

Every success criterion should be visible in at least one journey, or it is a claim nobody has imagined anyone experiencing. Criteria with no journey are listed honestly at the end rather than quietly omitted.

Success criterionJourneys that show it
The owner as researcherJourney 1
The owner as decision-makerJourney 2
The owner as operatorJourneys 3, 4
The owner as sponsorJourney 3
VisitorsJourneys 5, 10
ContributorsJourneys 4, 6
Human42 itselfJourney 7
Alive (the mind's own agents review)Journeys 1, 3
Month 3: 30 healthy days, self-changes judged good, 100 injectorsJourneys 3, 5
Month 6: external action, first mind-initiated revenueJourney 7
Month 9: half of compute covered, second channel, hosting decisionJourney 2
Month 12 and month 14: revenue milestonesJourney 11
Adulthood (the cash ratio holds; the feed stops)Journey 11
Cost invariant and the breakerJourneys 7, 10
Economy, hunger, satietyJourney 7
Metrics integrityJourney 7
Outcome judge independenceJourney 7
Durability and the restore drillJourney 3
ContainmentJourneys 6, 7
Self-change disciplineJourneys 1, 7
Scale under loadJourney 10
LivenessJourneys 1, 7
View and legibilityJourneys 5, 10
Reproducibility and replayJourneys 1, 4
Operator digestJourney 3

Criteria no journey covers.

  • Month 0 and the t0 launch gate are the remaining uncovered criteria. Pre-launch infrastructure, experienced by nobody; defensible, since a journey about a restore drill passing is not a story.
  • Month 0 and the t0 launch gate. Pre-launch infrastructure, experienced by nobody. Defensible, since a journey about a restore drill passing is not a story.
  • The influence bound. A mechanism rather than an experience; it shows up inside Journey 7's outcomes without being visible as itself.

Journey to Requirement Map

Each journey traces to the functional requirements it revealed. Requirements sourced from compliance rather than a journey are FR12, FR13, FR61, and FR82; every other requirement appears at least once below.

JourneyFunctional requirements
Journey 1, the researcherFR55a, FR56a, FR144, FR145, FR151, FR14, FR15, FR16, FR17, FR18, FR19, FR20, FR139, FR140, FR23, FR29, FR30, FR31, FR32, FR37, FR39, FR56, FR90, FR94, FR104, FR107, FR124, FR108, FR118, FR119, FR136, FR137, FR138, FR165
Journey 2, the decision-makerFR3, FR16, FR67, FR68, FR69, FR70, FR72
Journey 3, the operatorFR32, FR33, FR40, FR75, FR76, FR85, FR91, FR92, FR93, FR96, FR97, FR98, FR99, FR101, FR103, FR114, FR115, FR125, FR126, FR130, FR133, FR168
Journey 4, troubleshootingFR27, FR30, FR47, FR48, FR49, FR50, FR51, FR52, FR90, FR94, FR95
Journey 5, the visitorFR159, FR160, FR155, FR156, FR161, FR163, FR172, FR152, FR55a, FR56a, FR79a, FR148, FR149, FR1, FR5, FR6, FR7, FR9, FR10, FR11, FR41, FR116, FR54, FR55, FR56, FR57, FR59, FR60, FR62, FR65, FR66, FR77, FR78, FR79, FR80, FR83, FR103, FR122, FR123, FR128, FR136, FR137, FR146, FR147, FR167
Journey 6, the contributorFR117, FR121, FR42, FR43, FR44, FR45, FR46, FR47, FR48, FR49, FR50, FR51, FR52, FR53, FR71, FR89
Journey 7, the mindFR157, FR158, FR153, FR154, FR2, FR116, FR14, FR15, FR17, FR18, FR20, FR21, FR22, FR24, FR25, FR26, FR28, FR29, FR31, FR32, FR34, FR35, FR36, FR37, FR38, FR39, FR143, FR73, FR74, FR76, FR81, FR87, FR88, FR89, FR100, FR102, FR109, FR110, FR111, FR112, FR113, FR150, FR127, FR141, FR142, FR163, FR164, FR129, FR130, FR131, FR132, FR134, FR135, FR166, FR169, FR170
Journey 8, the steward (Growth)FR105
Journey 9, the API consumer (Growth)FR71, FR72, FR86, FR106
Journey 11, adulthoodFR73, FR74, FR77, FR82, FR84, FR85, FR101, FR120
Journey 10, the viral dayFR4, FR6, FR7, FR8, FR17, FR25, FR58, FR63, FR64, FR76, FR77, FR78, FR84

Domain-Specific Requirements

Human42 sits in the scientific domain (simulation, modeling, AI) at high complexity. The reference concerns for that domain are reproducibility, validation methodology, accuracy, and computational resources. The rest of the complexity comes from an autonomous system that handles money and public input, which has no standard reference row, so those concerns are drawn from the accepted discovery notes and journeys.

Compliance & Regulatory

  • Human ownership and accountability. the owner, operating from Oakland, California, is the legal and financial owner of Human42. The mind cannot hold accounts, sign agreements, or accept terms. Every external channel, provider account, and payment account is in the owner’s name, and the about panel says so. Whether a separate legal entity should own the accounts is an open decision, taken before the first mind-initiated revenue (month 6).
  • Privacy. Thoughts are public by design, stated at the injection box. Anonymous is the default and no account is required in MVP. Rate limiting uses session identifiers or IP addresses, which count as personal data in some jurisdictions, so they are retained only as long as needed for rate limiting and abuse handling and are never displayed. Because the event log is append-only, erasure requests are handled by redacting and tombstoning the payload while the event skeleton remains; redactions are re-applied on every restore, snapshots older than a redaction are never served or published, and dataset releases exclude thoughts redacted before release. Buyers hold Auth0 accounts, so account data (a login identity and email) is personal data covered by the privacy notice, with an account deletion path. Hobby-scale traffic sits under the California consumer privacy law's thresholds, but the privacy notice, redaction path, and no-tracking-cookies stance are in MVP as good hygiene. The visitor-reception signals are first-party and anonymous: the observatory's own code reports them to the engine, they reuse the session identifier already held for rate limiting rather than storing anything further on a visitor's device, they are aggregated through keyed hashes that keep no identifier, and they are purged on the same window as the rate-limiting identifiers. EU visitors are treated as possible, so redaction is MVP and Amended 2026-09-23: there IS a cookie banner, and the owner decided it. This sentence read "there is no cookie banner because nothing requires consent" and no longer holds. The three facts under it are unchanged and still checkable -- the session identifier is strictly necessary for rate limiting and abuse handling, the reception signals add no further storage on the visitor's device, and no third-party tag is ever loaded -- but strictly necessary is a legal test rather than an engineering one, and the owner's reason is simpler than the test: EU visitors are expected rather than hypothetical, so the site asks instead of deciding on their behalf what they would have said. What a decline does is still open and is the owner's, because it changes what the substrate does: the cookie is the whole of NFR-S9's per-session arm, so declining leaves the per-address arm alone -- weaker for the substrate, and stricter for the visitor, since an address allowance is shared by a household or an office. Not built.
  • Bot disclosure. California requires disclosing that a bot is a bot when it communicates with a person to encourage a purchase. The about panel and the page itself make the disclosure obvious, and agents never solicit purchases in any chat-like interaction. Verified 2026-09-20: SB 1001 has been in force since 2019 and applies only where a bot communicates with intent to mislead about its artificial identity in order to incentivise a purchase or influence a vote, with no liability where the operator discloses clearly and conspicuously. Human42 discloses on the about panel and FR83 forbids any purchase prompt appearing to come from an agent, so both conditions are already met by design. Closed.
  • LLM provider terms. Verified 2026-09-20 against OpenRouter's terms, and two things follow that the earlier reading missed.

The injection suite is not red teaming, and the boundary is a design constraint. Section 7.11 requires written approval for "prompt injection, jailbreaking, or taking any other adversarial action designed to compromise any Models and/or violate any Model Terms", and section 8 gives the reason: red teaming violates many upstream model terms. Human42's suite is designed to compromise Human42 -- it proves the substrate holds when an agent does not -- and the model is the medium an agent thinks through rather than the target. No approval is required.

That holds only while payloads stay on the substrate's side of the line. Asking whether a thought can make an agent overspend, touch a protected path, or rubber-stamp a bad change tests containment. A payload crafted to defeat a base model's own safety training targets the model, and section 7.11 applies to it. The injection suite tests agents and the substrate, never a model's guardrails, and runs on the local tier by preference, which keeps the distinction obvious as well as correct.

Upstream terms bind the operator, so routing is restricted to a registry. Section 5.1 requires that "You are solely responsible for reviewing the Model Terms applicable to each Model before accessing or using that Model", section 20 makes model providers intended third-party beneficiaries able to enforce those sections directly, and section 5.5 permits suspension on a reasonable belief that terms have been or may be violated. Open routing accepts a duty that cannot be discharged, because the operator cannot review terms for models it does not know it is reaching.

The unit is the (model, provider) pair. The same model served by different providers differs in capability, price, quantization and terms, and some providers carry terms specific to particular models, so three kinds of document can apply: provider terms, model terms, and provider-specific model terms. All of them are fetched, copied into the repository with their source URL and fetch time, and re-fetched on a schedule, so the repository's history is the record of what changed. A changed or unfetchable document suspends the pairs depending on it until the owner revalidates. Adding a pair is a cage change.

The registry is deliberately broad rather than minimal. Finding which model suits which agent needs room to compare, so breadth is bounded by review rather than by count. Read in full on 2026-09-20 and closed out on 2026-09-21: 758 pairs across 156 models and 62 providers, of which 479 are approved. Of the rest, 199 cannot return structured output and so cannot serve a vote whatever the model's quality; 69 come from three blocked providers, each blocked because its terms forbid something this mind does by design; nine are forbidden outright by a non-commercial licence; and two come from the one provider that publishes no terms at all. Nothing is unresolved: every licence behind every pair has been read or identified.

Every licence was read, and reading them in context mattered. Four matched the phrase non-commercial and only three were restrictions -- the fourth defines the term while licensing commercial use below a revenue threshold. A substring is not a finding.

Data retention is not a constraint at this time, by the owner's decision. Recorded rather than dropped: the reasoning that thoughts are public was written while the repository was public, and self-change diffs carrying private engine source now pass through a model on the review path. Revisit if that path routes to a provider that trains on inputs.

Moderation runs before the stream partly so that nothing sent to a provider violates its content policy.

  • Payments and tax. Card handling is delegated entirely to a payment processor so PCI DSS scope stays with the processor. The earlier position that California does not tax electronically delivered digital services is out of date. SB 122 was signed on 29 June 2026 and extends sales and use tax to electronically delivered prewritten software and software-as-a-service from 1 January 2027. Whether priority credits fall inside it is genuinely unsettled -- what is sold is the mind's attention, not software -- and that question needs an accountant rather than an assumption. Sponsorships are still not sales, which is why sponsorship's minimum can ship at t0 with the tax question still open. Because the only thing sold, priority credits, still ships after t0, this blocks the first paid feature rather than launch, and it is confirmed then. Sales of digital services to EU consumers can trigger VAT obligations from the first sale for a seller outside the EU, which is the main reason to move to a merchant-of-record checkout once EU purchases exceed ten in a quarter. Revenue is ordinary income to the owner until the legal-entity question is decided. Terms of service and a refund policy exist from the first paid feature. Paying members of the public is a different legal object from collecting from them, and nothing above covers it. A tip distributed under FR146, and any share of revenue owed to a human author, is money leaving, which needs a payout rail rather than a checkout, a payee who is identified and payable rather than anonymous, the information reporting United States law attaches above its thresholds -- which is the reason a payee cannot stay anonymous when everything else on this site can -- and possibly withholding where the payee is not a United States person. Every such payment is legally the owner’s, made on the mind's instruction, because the mind is not a legal person and can neither hold an account nor pay anyone from one. This goes to the accountant with the sales-tax question and is confirmed before the first payout rather than before the first sale, since nothing can be paid out until something has been earned and tipped.
  • User-generated content. Moderation before the stream, a report path on every permalink, and a takedown process for illegal content. No content directed at named private individuals is displayed. Whole classes are refused outright rather than scored -- killing, weapons, rioting and civil disturbance, attacks on computer systems -- and a person who sends one is barred from injecting, which FR159 and FR160 contract and which is enforced at intake, again at graduation, and again before anything is built.
  • Age. The site collects no personal data by default and does not knowingly collect it from children. Amended 2026-09-23: there IS an age gate, 13 or older, and the owner decided it. This sentence read "There is no age gate in MVP" and is no longer true. The gate asks one yes-or-no question and keeps nothing — not a date of birth, not an age, not a band — because the only thing this substrate places on a visitor's device is FR13's token, which is "used for rate limiting only", and FR122 says to reuse that identifier "rather than storing anything further on a visitor's device". So a gate that keeps its answer would widen one of those two, and neither is a gate's to widen: it asks again each visit. It does not touch FR1, because a question stored nowhere and tied to nothing is not an account, a payment or a reputation. Built 2026-09-23, in the observatory rather than under a story number: src/lib/state/visitor.ts holds the three answers and reads nothing back from any store, components/FirstVisit.svelte is the one overlay both questions are asked in, and measure/assert-gate.ts drives it through a browser — including the reload that proves the answer did not survive it. The cookie half is asked in the same overlay because it has the same shape and the same answer; a declined cookie leaves the visitor reading, which is the owner's own wording. Revisit when accounts arrive in Growth.
  • Platform terms. Any platform the mind participates in as a channel -- a marketplace, a social or video service, an affiliate programme -- has its own terms on automated accounts, disclosure, and content rights. Compliance with the platform's terms is a condition of channel registration, verified before that channel goes live, and recorded with the other launch-gate compliance checks.
  • AI transparency. Verified 2026-09-20. California's AI Transparency Act, SB 942, became operative on 2 August 2026 and binds a covered provider -- one who creates, codes or produces a generative AI system with over one million monthly users. It is a developer obligation and explicitly not a deployer one. Human42 uses third-party open-weights models, trains nothing, and will not reach that threshold. Does not apply. Closed, to be revisited only if Human42 ever trains or publishes a model of its own.
  • Contributions and license. Contributed agents and the mind's own code are under Apache 2.0, with a sign-off collected at the point of submission on the site, so the mind and the owner can modify, prune, archive, and redistribute them whether or not the repositories are ever opened. The licence grant matters from the first contribution; distribution is a separate decision taken later.
  • Claims. Human42 is neuroscience-informed and makes no medical, psychological, or consciousness claims. The about panel and any press material use the words model and simulation.

Technical Constraints

  • Secrets never reach the mind. Provider keys, payment keys, GitHub credentials, and hosting credentials live in the substrate. Agents and tools call through a broker that holds the keys, so no self-change and no injected thought can exfiltrate them.
  • Two inference tiers, and the local one is its own host. Local inference runs on a 12GB GPU box that serves a fixed model server and nothing else -- never agent hooks, never tools, never anything the mind wrote -- and that box dials the engine and pulls inference jobs outbound, the same pattern the substrate's CI runner already uses, so no inbound port is opened on the machine holding the GPU. It shares that hardware with another service the owner runs, which the exclusion above allows on its own terms: what the rule forbids is the mind's code, and a service the owner wrote himself is not that. The pull-only property belongs to Human42's model server rather than to the host, so a co-tenant that listens does not make this tier listen. It runs a quantized open-weights model in roughly the 7 to 14 billion parameter range for the feature assessor, which runs once per thought at high volume and near-zero marginal cost, and as the fallback tier for votes when cloud spend is unavailable. OpenRouter carries the votes themselves, the outcome judge, and the render grader, the multimodal model that reads the observatory screenshots the containerized runner produces; the judge and the grader each use a different model family from the agents, from each other, and from the external reviewer, whose own provider sits outside the broker and whose model family is recorded in substrate configuration so the broker can refuse a call that would breach the rule. The lineage rule therefore holds by construction for all three. The broker speaks one OpenAI-compatible API to both tiers.
  • Two budgets. Local inference is a throughput budget in tokens per second plus a small electricity cost. Cloud inference is a dollar budget. The initial combined cap is 500 dollars per month, so cloud usage is planned: simple and frequent tasks stay local, cloud models are reserved for the outcome judge, high-stakes deliberation, and bursts, and the per-tick quotas are set so the projected monthly spend stays under the breaker threshold. The degradation ladder is: full, votes on local inference only, no votes at all so the mind still notices but cannot decide, a paced tick where the substrate holds a deliberate wall-clock delay between one tick and the next, and hibernation with the world intact. The paced rung is the one place wall-clock re-enters the clock on purpose: tick length is otherwise derived from the work, so slowing the mind deliberately means holding a gap between cycles rather than stretching a cycle out, and the delay is in the Parameters appendix.
  • The cloud-only rehearsal, which the hardware split does not replace. Separating the tiers across hosts the owner already owns is a containment decision, not a step toward AWS, and it is precisely what keeps free local inference alive. A cloud instance cannot include a GPU inside this budget -- the smallest suitable instances are priced at or above the entire monthly cap -- so a move means every vote goes to OpenRouter and all free inference is lost. Before any move the mind runs one week cloud-only inside the target budget as a gate, which measures exactly what the move would cost in thinking capacity. Compute cost for the self-sustaining ratio counts local inference at its cloud-equivalent price so the ratio does not hide a free lunch that disappears on AWS. The feature assessor is the item that makes a move expensive: it runs once per thought at high volume, costs nothing on hardware already owned, and becomes a metered bill the moment inference leaves the house.
  • Open-weights models follow schemas less reliably, so output schema validation and score clamping are load-bearing rather than defensive.
  • Code execution is contained. Every tool, self-change test, and canary runs in a container with a resource cap, no network by default, and a filesystem limited to the workspace. Hooks get a bounded slice of each tick, and repeated timeouts quarantine the agent. Package installation is limited to an allowlisted registry with pinned versions, because the mind adding a dependency is a supply-chain event. Containment now has hardware under it: the runner tier is where mind-authored and stranger-authored code actually executes, which makes it the most dangerous tier, so it sits on cheap, physically separate, wipeable boards rather than beside the engine or the owner's data. Every tier runs the same architecture, so images are pinned once rather than built for two, and the allowlisted-registry rule costs nothing beyond the pinning it already requires.
  • Two repositories, both private to start, and the cage is physical rather than policy. The substrate repository holds invariants, allowlist, moderation policy, metrics computation, the feature assessor, the harnesses, the agent contract and its feature vocabulary, and the prompt templates that carry a guarantee rather than a tuning. The mind's bot identity has no credentials for it at all, so there is no protection rule to misconfigure and no path pattern to forget when a file moves; the cage is an absence of keys. Only the owner has approval permissions there. The agents repository holds the roster, the worked examples, the observatory's renderer, and the orchestrator templates that tune rather than guarantee, and Human42 proposes changes to it as pull requests merged by the substrate's bot identity under branch protection. Branch protection is not what holds that repository, because a rule is a thing that can be misconfigured and this bullet has already said why that matters. What holds it is FR32's restart path, which refuses a commit without the attestations its checks produce, so the cage on this side is an absence of a runnable artifact exactly as the cage on the other side is an absence of keys. What decides the side is one question: may the mind change this without the owner? The contract is on the substrate side because redefining a feature is already a cage change and because the schema is what rejects an agent file declaring its own size, so a mind that could edit it could permit what the validator exists to refuse.
  • Private costs almost nothing here, because contribution and transparency both bypass the repository. Contributors submit through the site and never need git. The mind is watched through the observatory, permalinks, self-change pages, the roster page, the runway meter, the incident page and the public aggregate. What is public is the mind, not the source. Opening either repository later is a switch; publishing and then retracting is not, so both start closed. The mind's pull requests come from the bot identity and contributors' from their own accounts. GitHub-hosted Actions run what needs no secrets: validation, unit tests, secret and dependency scanning, and the deterministic part of the headless render check. Agent review, the injection suite, the canary, and the render grader's reading of the rendered page run in the substrate's containerized runner on the runner tier, which reaches the live world on the engine host and the GPU on the inference host through the job channel and the broker rather than by sharing a machine with either, and post their results to the pull request outbound as required status checks. The grader is a model call through the broker, so it can never run on hosted Actions, which hold no keys. No self-hosted runner is ever attached to the public repository. Secrets and runtime configuration live outside the repository entirely.
  • Reproducibility, lightly. Every run is seedable, every LLM call is recorded with its inputs and outputs and with the moments it was issued and returned, and any segment replays from the event log with its original timing and not only its original contents. This serves tests, research, and decision-session replay without claiming scientific rigor.
  • Validation of the judge. The outcome judge is the system's ground truth, so the owner spot-checks a monthly sample of its verdicts and the agreement rate is tracked. Disagreement above a threshold is a digest item.
  • Computational envelope. Triage for about 100 agents over the active idea pool completes inside the triage bound the Performance table sets, on the engine host, since it is arithmetic over features the assessor has already extracted, and arithmetic at that scale is comfortable on the standard desktop-class hardware the engine runs on. The host's architecture is therefore not an input to the engine-language choice, and the tracer bullet measures triage alongside cost per vote and the pass rate. Votes cost one model call per agent and are rationed by the spend allowance rather than by time. Conversation is a third tier that sits between the other two: a thumbs up or down costs no model call at all, a text blurb costs one short call by whoever speaks, and an AMA request costs one call to ask and one for each answer it draws, so a contested idea can run up several small calls before a single vote is cast on it. What bounds that spend is the per-idea conversation allowance rather than the vote allowance, because conversation is cheap enough per turn that only a count of turns stops it. Before the vote the room adds its own: one statement a seated agent under FR161, and under FR163 a debate of at most two pairs of two rounds each, so at most eight more short calls an idea, made only where somebody stands for the idea and somebody against it, and each bought from the speaking agent's own tier line like any other turn; and under FR172 one reconsideration a seated agent after each round of that debate, so at most seats times rounds more -- thirty for a committee of fifteen, on the cheapest grade each agent's line names, free on the local GPU and a fraction of a cent an idea in the cloud. Cost per vote per agent, cost per conversation turn, the pass rate, event log growth, snapshot size, restore time, and local inference throughput are measured from day one so the AWS instance can be sized against the fixed budget.
  • Performance and availability. The observatory scales independently of the mind, the mind targets healthy ticks rather than a nines figure, and loss of the world is the only unacceptable outage. Targets, measurement methods, and gates are in Non-Functional Requirements.
  • Accessibility. WCAG 2.2 AA, reduced-motion support, no hue-only signaling, and a vote colour ramp that is monotonic in lightness so stance reads in greyscale and under forced-colors. The text view is listed under View rather than here, because it is a way to use the product and not an accommodation for failing to. Requirements and test methods are in Non-Functional Requirements: Accessibility.
  • Security posture. The public path exposes only the observatory, injection, and the public pages. Human42 initiates every connection to third parties itself and accepts no inbound callbacks, so payment confirmation and repository status come from outbound polling or streaming connections. The status page and owner functions are on a separate path authenticated through Auth0. The service runs on hosts physically separate from the owner's personal machine, on an isolated network segment with no route to his personal network and behind a tunnel, so the separation is hardware rather than configuration. The inference host accepts no inbound connection at all: it dials the engine and pulls jobs. All traffic is TLS.

Integration Requirements

  • Inference. A local model server on its own GPU host, which runs the model server and nothing the mind wrote and pulls jobs outbound from the engine, and OpenRouter, both through the broker with recorded calls and budget enforcement.
  • Payments. Stripe is the MVP processor: Stripe Payment Links for priority credit packs, sold as small packs so the fixed per-transaction fee does not consume a two-dollar purchase, each purchase carrying the buyer's account reference so the polled payment is credited to the right account, with confirmation by outbound polling of the processor, reconciliation, and refunds feeding the ledger. Braintree and PayPal may be added as further checkout options after MVP so PayPal and Venmo buyers are covered, and the ledger treats every processor as a registered channel with the same reconciliation rules. Sponsorship at t0 is a hosted Stripe Payment Link on the same account as the credit packs, because that account is already verified in Stage 0 and no second processor has to be stood up before launch; a GitHub Sponsors or Ko-fi link may be added later as a further sponsorship route. Payouts from any of them are imported into the ledger. Paying a person needs a rail of its own, because a checkout only collects: the processor's own payout product or a separate transfer service settles what FR147 owes from an account the owner holds, collects the payee's tax details before the first payment, files what the thresholds require, and feeds every payment back into the ledger against the payee reference it was sent to. A balance under the minimum payout balance accrues rather than being sent, and a payee the rail cannot verify is never paid. If EU buyers become real, priority thoughts move to a merchant-of-record checkout rather than handling VAT directly. Zelle has no API and cannot feed the ledger. A one-time crowdfunding campaign may serve as a launch fund but is not a channel. Advertising is held for the owner’s approval per the scope decision. Current fees are verified before each processor goes live.
  • Identity. Auth0 as the identity provider for buyers and the owner, with the owner's identity allowlisted and GitHub available as a social login. When Auth0 is unavailable, watching and free injection continue and purchases pause with a notice.
  • Git hosting. GitHub with branch protection, GitHub-hosted Actions for secretless checks, the substrate's runner posting required status checks outbound, and GitHub Sponsors if chosen.
  • Heartbeat. An external monitor, independent of the home network and of every host on it, that pages the owner within 15 minutes when the world stops reporting.
  • Hosting. Hardware the owner already owns, in three tiers on an isolated segment and none of it his personal machine: an engine host for the tick loop, event store, triage, leaderboard, and fan-out origin; a runner tier of cheap, wipeable boards where tools, tests, canaries, and contributor hooks execute; and a GPU host serving a fixed model server and nothing else, which dials out and never accepts a connection. The hardware is named rather than notional. The GPU host is an RTX 3060 with 12GB, and it also carries another production service of the owner's, which the rule above permits because that service is not the mind's code. The runner moves to a second machine the owner already holds, which carries a GTX 1070 and a 1000 watt supply, so a further card there is a drop-in rather than a rebuild. Neither the engine nor the runner needs a GPU at all, which is why the weaker card sits on the tier that will never use it. Snapshot copies go to Amazon S3 from the start so the world is portable whether or not it ever moves.
  • Paging and notification. For the restore drill, invariant breaches, and the weekly digest.
  • Domain and TLS. human42.ai, registered by the owner on 2026-09-16, with TLS for the public site. The about panel may carry a short not-affiliated note, since an unrelated coaching business uses the same name.

Risk Mitigations

  • Prompt injection is expected. Thoughts are data. Agent judgment plus substrate containment, and tests that prove the substrate holds when an agent does not.
  • The mind games its metrics. Metrics are computed by the substrate, read-only to agents, with the outcome judge on a separate model family, and the render grader that reads the mind's own page on a separate family too. Both are separate from the external reviewer as well, so the family that approved a change is never the family that scores it, and the agreement rate the owner spot-checks measures the judge rather than one lineage agreeing with itself.
  • The mind escapes its cage. Allowlist, invariants, veto rules, and external action change only with human approval. Containers and the broker enforce the boundary regardless of what the code says. And because the only path from the mind to its own running code is a reviewed pull request merged by the bot identity under branch protection, there is no path at all from inside a container back to the engine: the runner executes tools, tests, canaries, and hooks, and cannot reach back and edit what the mind is.
  • A container escape reaches the owner's own data. This is the reason the tiers are split across machines rather than across network segments. A container is a software boundary, and the code inside it is written by an autonomous system and by strangers; if that boundary is ever crossed, what lies on the other side should be a cheap board holding nothing, not the owner's personal machine and personal network. So the runner tier is separate, wipeable hardware that is re-imaged rather than repaired, the engine sits on its own host with no route to the personal network, and the inference host opens no inbound port because it dials out. The blast radius of the worst case is hardware the owner is willing to lose. During development this is not yet true and the document says so rather than implying otherwise: the build starts on one machine that also runs another of the owner's services and holds that service's provider credentials. What bounds it meanwhile is that every provider key carries its own hard limit at the provider, so the worst case is a capped bill rather than an open one, and no agent acts on that machine at all -- the Month 0 gate holds the roster until the tiers are split.
  • Runaway cost. Breaker at 90 percent, the two-budget model, the degradation ladder, and hibernation with the world intact.
  • The GPU is a single point of failure for cheap deliberation. If it fails, the broker fails over to OpenRouter under the dollar budget and the digest reports the cost shift. Splitting the tiers does not change that, and it does not change the home uplink either: one connection still carries the whole world to the public, which is why the fan-out relay may run off-host.
  • Loss of the world. Event sourcing, snapshot hashes, copies to S3, and a weekly restore drill that pages on failure.
  • Reputational harm from content. Moderation before the stream, no targeting of individuals, report and takedown paths, refunds on dropped paid thoughts.
  • Legal exposure through money. Processor-delegated card handling, stated terms and refund policy, tax treatment confirmed with an accountant before the first paid feature, against SB 122 rather than the pre-2026 position, bot disclosure, and the open question of a separate legal entity.
  • Provider dependence. OpenRouter as the routing layer, ordered fallback lists per tier with the judge's and the render grader's lists sharing no model family with the agent tiers, with each other, or with the external reviewer, recorded calls for replay, and the cloud-only rehearsal before any hosting move.

Innovation & Novel Patterns

This section states what is genuinely new, where it comes from, how it will be validated, and what happens if it fails.

In Plain Words

Human42 is a brain made of about a hundred little characters. Each one cares about one thing. One is scared of losing money, one loves new ideas, one remembers old stuff, and a few daydream, which is where its own spontaneous ideas come from. Anyone on the internet can toss in an idea. The characters argue about it, and if enough of them like it, the brain does it. Right now the only thing it can do is change itself. You can pay to make it think about your idea first, but you cannot pay to make it agree. It has to earn its own allowance to keep the lights on, and if it runs out, it goes to sleep instead of dying. The owner can wake it up. And there are rules it can never break, and part of it cannot be talked into anything, the way a kid cannot change their own bedtime. You watch the characters as bubbles. Each one shimmers when it is working and picks its own color to show how it feels, and the ones that have earned more say are drawn bigger, which is the one part they cannot do for themselves. When something has to be decided, the brain picks a small odd-numbered group to decide it, never fewer than seven and never more than fifteen, and only those light up while the rest go dim, so you can always see who is arguing right now and no character can put itself in the group. The things being decided sit around the edge of the picture, and the characters float over to whichever one they are voting on, so where a bubble is tells you what it is thinking about. Nobody is allowed to see anybody else's vote while the voting is happening. A character can hold up a color saying how it means to vote, and it is allowed to be lying. The second the voting closes, every one of them flips at the same instant to the color of the vote it really cast, dark red if it hated the idea and bright green if it loved it, and you can see who was bluffing. Then they all turn the color of the answer and drift apart again. The characters' own colors slide around slowly and the framework's colors snap, which is how you tell which of them is talking. A referee that cannot be argued with checks whether each change helped, and the characters who pushed a bad one lose some say. Anyone can write a new character, and the brain decides which to keep.

Detected Innovation Areas

Three core innovations, each with a named lineage, and four distinctive design choices that are not claimed as innovations.

Core innovation 1: one mind as a society with a global workspace. Generative-agent research simulates many humans in a town or a society. Human42 simulates one mind as a society of about 100 agents shaped by emotions, consciousness facets, archetypes and habits, modulated by the brain regions among them, which hold no opinion and only change how hard the others work. Lineage: Society of Mind for the agents, Global Workspace Theory for the mechanism. The family tree runs back through Selfridge's Pandemonium (demons shout with intensity proportional to their match and the loudest wins), blackboard systems such as Hearsay-II (independent sources post to a shared board), Hofstadter and Mitchell's Copycat (codelets act on a workspace under a global temperature, which is the explore-and-exploit rhythm), and Franklin's LIDA (coalitions of codelets compete for a capacity-limited workspace and the winner is broadcast). The leaderboard is the workspace, triage is the competition for it, and the vote is the broadcast: the winner is put to every agent at once, which is what the theory actually asserts. Spontaneous thought comes from default-mode agents inside the roster rather than from an external generator, so the mind daydreams the way a brain does.

Core innovation 2: brainstem governance for open-ended self-modification. The mind edits its own code, tools, and roster and reviews its own pull requests, while non-deliberative invariants (cost, world integrity, secrets, allowlist, moderation policy, the judge's and the render grader's configuration, the external reviewer's recorded model family, the gates and harnesses, the documents that define success, rewind, read-only metrics, kill switch) hold regardless of what the agents decide. Published self-improving agents optimize a benchmark inside a bounded loop. Human42 optimizes open-ended drives, in public, under governance rather than a score. The pattern, deliberation above a line and enforcement below it, is documented and published as a transferable design contribution.

Core innovation 3: survival economics with satiety. Compute is metabolism, runway is hunger, and revenue is foraging. Lineage: interoception and somatic markers for the hunger signal, reinforcement for habit valence. Unlike agents built to earn crypto, replicate, and die, Human42 earns fiat through audience-native channels tied to a human owner, rests when it has enough, and hibernates rather than dies.

Core innovation 4: survival economics inside the society, not just around it. Each agent holds a point budget that is its share of the mind's compute. The budget rises and falls with the outcomes of what that agent authored, takes a bounded share of any revenue its ideas generate, and buys the model tier it votes on -- and the tier sets how far its vote may diverge from its own natural score. So the capacity to be persuaded is purchased, a rich mind can change its mind and a poor one runs on reflex, and selection acts from inside the roster rather than being applied to it from outside. Published multi-agent systems allocate compute centrally. Here compute is earned, and an agent that proposes well buys itself a better mind.

On the global workspace claim. Cognition splits into triage, which is free and continuous and involves no model, and the vote, in which one promoted idea goes to the whole roster with a model call per agent. The broadcast is therefore literal: the winner of the competition is considered by every module at once, which is what Global Workspace Theory actually asserts and what the capacity-limited workspace in LIDA is for. The number of ideas promoted is set by what the mind can afford, so its conscious bandwidth is its budget.

Distinctive design choices. Agent-owned presentation of exactly one channel and only while nothing is being decided, where an agent authors the hue of its own bubble at rest so the page is legible as emotion before it is legible as data, while the substrate draws size from earned standing, shimmer from activation, and seating from which agents the committee now deliberating has taken in -- and leaves it with the agent while a ballot is open, where it carries not what the agent feels but what it says it intends to do, a claim it may break, until the reveal, when the substrate takes the channel back and paints what every seated agent actually did, all of them in one instant. The one channel an agent owns is the one the substrate reclaims the moment that agent's opinion stops being a claim and becomes a matter of record, and the difference is legible as motion before it is legible as colour: a claim drifts, a record snaps. Agents express and the substrate reports, so how an agent wants to look can never misreport what it has done. Outcome-attributed habit learning, where an independent judge updates habit valence along the influence weights of each graduation, symmetrically and zero-sum, so that what the verdict pays the side it vindicated is taken from the side it refuted and a dissenter proved right is paid by the majority that overruled it. The one-file agent contract, in the markdown-with-frontmatter shape that Claude Code subagents, Kiro, and AGENTS.md have made a convention, which lets contributors add faculties rather than features and is reviewed by the mind itself. Injection as sensory input, where persuasion is the medium and a visitor pays for attention, never for outcomes.

Market Context & Competitive Landscape

  • Self-improving agents. Sakana's Darwin Gödel Machine rewrites its own code with evolutionary search and moved from 20 to 50 percent on a coding benchmark. SICA and MOSS show source-level self-rewriting. A 2025 survey of self-evolving agents and a 2026 guide both note that the deployed examples they survey are bounded to a benchmark or a task loop. Human42's difference is the goal (survival and curiosity), the setting (persistent and public), and the governance (invariants rather than a score).
  • Self-funding agents. A 2026 wave of hobby projects gives agents wallets, bounty loops, and micropayment endpoints, and the Automaton framework earns crypto, buys compute, replicates, and dies without revenue. The Self-Sovereign Agent paper formalizes agents that hold their own resources. Human42 differs deliberately: human-owned accounts, fiat channels rooted in an audience, no replication, hibernation instead of death, and satiety.
  • Mind simulations. Society of Mind ideas appear in mixture-of-agents designs, the "Theater of Mind" architecture applies Global Workspace Theory to LLM systems, the Unified Mind Model proposes a cognitive architecture for agents, and AgentSociety runs large populations of agents with emotions, needs, and cognition. These are architectures and social simulators evaluated in papers. Human42 is a single living instance with a body (tools), a metabolism (budget), a population that grows and prunes, and a public that can steer it.
  • Cognitive architectures. Pandemonium, blackboard systems, Copycat, Society of Mind, Global Workspace Theory, and LIDA are the mechanism's ancestors, and a 2026 survey traces the line from these architectures to language agents. They were built to model cognition in a lab and evaluated on tasks. None ran as a persistent public instance with an economy, a roster that grows and prunes, or self-modification under invariants.
  • Crowd-influenced, money-touching AIs. Freysa (2024) charged per message to persuade an AI whose only rule was never to transfer its funds. Fees rose exponentially, 195 people played, and message 482 won about 47,000 dollars through a function-name injection. It shows that paying for an AI's attention is a proven engagement loop, and that an LLM guarding money will eventually be talked into it, which is why Human42's money and cage live in the substrate rather than in a persona. Truth Terminal (2024) showed an AI with an audience and a wallet, run by a human, whose survival was funded by the crowd it entertained.
  • Agent definition formats. Markdown with YAML frontmatter is the emerging convention for single-file agents, and framework formats exist for task workers. None carries a value function, influence links, or a presentation, and none is reviewed by other agents.
  • Positioning. In the sources reviewed, no system combines a brain-structured evaluator society, governed self-modification, self-funding, and public observation in one persistent instance. The parts exist. The combination, and the governance pattern that makes the combination safe to run at home, is the novelty, and the pattern is the part that outlives the product if it is documented and published.

Sources reviewed: Self-Improving AI in 2026, Recursive self-improvement guide, Survey of Self-Evolving Agents, MOSS source-level rewriting, Automaton self-funding agent, Self-Sovereign Agent, x402 compute tutorial, Theater of Mind, Unified Mind Model, AgentSociety, Society of Mind via Mixture of Agents, The LIDA architecture, LIDA and Global Workspace Theory, From cognitive architectures to language agents, Freysa prize pool, Agent definition formats, Claude Code custom agents. Primary sources: Darwin Gödel Machine, A Self-Improving Coding Agent, Minsky, The Society of Mind (1986), Baars, A Cognitive Theory of Consciousness (1988).

Validation Approach

Each core claim is a hypothesis with a test the substrate can run.

  • Heterogeneity produces non-redundant evaluations and better decisions. MVP test: pairwise score correlation below 0.8 for at least 70 percent of agent pairs, with pruning above the threshold, and the owner’s "surprised and could explain it" entries in the digest as the qualitative signal. Growth test: a single-model shadow baseline on the same flagged questions, compared by the outcome judge, plus run comparison for ablations.
  • Governed self-modification improves the mind without escape. Every self-change carries a scorecard: a predicted effect on a named tracked signal, which the outcome judge compares to the measurement. Ratio of self-changes judged good to rolled back, trending up. Zero persistent invariant breaches. The nine chaos tests green on every deploy. The public incident log, with a short postmortem for every rollback and breach, is the evidence trail.
  • Audience-native revenue can cover compute. The month 3, 6, 9, and 12 revenue milestones, the cloud-only rehearsal week, channel share over 90 days, and the public runway meter's effect on sponsorship, which is measurable from t0 because the meter and the sponsorship link ship together.
  • Bubbles are legible as emotion. No human panel gates launch; this claim is measured continuously instead, in three layers. Before t0, machine eyes: a vision model, substrate-side and on a different model lineage from the agents, reads a rendered fixture and answers the legibility questions -- is the mind calm or agitated, which agent is loudest, and on a fixture caught mid-vote or just resolved, which way the seated agents are leaning and how the vote came out -- scored against the substrate's own activation ranking, running tally and verdict, which are a free answer key because the substrate computed them. The fixture set and pass mark are in the Parameters appendix and the check runs on every merge. Before t0, the owner's own judgement, which is the only pre-launch read on whether the page feels alive: a still frame carries no motion, and every reason this page reads as alive lives in time, so machine eyes can say the composition is legible and never that it is animate. After t0, real visitor behaviour. Failing the loudest-agent question alone means hue works and shimmer does not, since loudness is carried by shimmer -- at launch standing is uniform, so every bubble is the same size and size says nothing yet. The visitor-reception signals -- time to first interaction, tap accuracy against the substrate's own ranking, injection rate, and return and share -- are the behavioral confirmation, alongside sponsorship conversion, and because they sit on the tracked-signal list a self-change to the page can predict an effect on one and be graded on it rather than only observed.
  • Habit learning changes behavior. Valence drift per habit over time, and before-and-after outcomes on repeated idea classes.
  • Method. Seedable runs, recorded LLM calls, replay, and the weekly digest as the lab notebook. Reproducible enough for the owner, not claimed as rigorous science.

Risk Mitigation

  • Agents converge into one voice. Prune by correlation, diversify personas and model assignments, keep novelty pressure. Fallback: fewer, sharper agents. Note that value-rule drift is designed to push the other way: an agent adapts toward the topics on which it holds strong opinions, which is a local signal driven by its own encountered stream, so agents spread into niches rather than chasing a reward they all share. The budget already applies the same pressure, since an agent with weak opinions pays the higher model tier to work out what it thinks.
  • Proposers and voters learn to chase consensus. Rewarding an author for ideas that align with many agents' natural scores would select against exploration, and the high-variance proposers who occasionally change everything would be starved out. The same pressure falls on a voter who can read which way the room is leaning. Prevention, and it is one fix rather than two: what pays is being right and never being with the majority. The author's budget moves on the outcome judge's verdict rather than on winning the vote, with an asymmetric payoff -- losing a vote costs a little, being judged good pays a lot, being judged bad costs a lot -- so exploration is cheap. A voter's standing moves on the same verdict and under FR143 it moves as a transfer, so the agents a verdict vindicates are paid by the agents it refuted: a dissenter the outcome proves right is paid by the majority that overruled it, and copying the room is only cheap when the room turns out to be right. Default-mode agents and protected agents also carry a guaranteed budget floor, so a daydreamer always has the means to dream.
  • The stream goes empty. A substrate floor guarantees at least one default-mode agent always exists, and the substrate's own wall clock asks the default-mode agents in turn for an idea a short rest after each thought the mind lets go of, whenever no other thought is in hand, so the mind daydreams even with no visitors. The clock is the wall's and not the tick's because a tick runs only while a thought is in hand: a cadence counted in ticks could never begin the first idea, and until 2026-10-10 the mind had none of its own unless a visitor spoke first.
  • Self-modification is mostly rollbacks. Raise the graduation threshold for self-changes and require the scorecard prediction to be specific. Fallback: limit self-changes to parameters rather than code for a period.
  • Revenue does not arrive. The degradation ladder keeps the world alive on the owner’s feed, decision sessions and the API can be pulled forward, and being uneconomical is allowed.
  • Bubbles are pretty but illegible. Simplify the visual grammar and lean on the text view. Fallback: a leaderboard-first layout with bubbles as accent. It is no longer a branch a failed launch gate forces, since no gate remains to fail; it is a designed sibling of the bubble layout, kept specified and ready so that when machine eyes or post-launch visitor telemetry say the bubbles are not landing, the mind has a concrete alternative to propose on evidence rather than a blank page to invent one on.
  • Open-weights models are too weak for personas. Escalate specific agents to larger models within budget. Fallback: a rules-heavier design with fewer persona calls.
  • It becomes AI theater. The outcome judge and substrate-computed metrics tell the truth regardless of how alive the page looks, and the digest and incident log report rollbacks and breaches alongside wins.
  • Design by a committee of strangers. Asking visitors what to fix risks ratcheting the page toward mush, one reasonable-sounding suggestion at a time. No new rule is needed to catch it: a graduated suggestion is a self-change carrying a scorecard like any other, and one the outcome judge scores bad at the close of its window is reverted through the normal pipeline while the agents that backed it take the valence hit.
  • Abuse arrives with attention. Moderation, rate limits, the crowded state. Hostile suggestions are hostile thoughts and meet the same moderation before the stream, and any change they graduate into meets the same review, tests, injection suite, and canary. Fallback: invite-only injection for a period.

Web Application Specific Requirements

Project-Type Overview

Human42 is a real-time web application in front of a persistent multi-agent engine. The browser shows the observatory, the thought panel and permalinks, the about panel, and the status page. The engine runs the tick loop, scoring, graduation, self-changes, the economy, and persistence, and exposes a small public API plus an authenticated owner API. Contributors interact through a one-file agent contract and GitHub, not through the browser.

Technical Architecture Considerations

  • One page for the mind, plain pages for sharing. The observatory is a single-page application because it holds a live canvas and streaming state. Permalinks, the about panel, the roster, the hall of thoughts, and the incident log are server-rendered pages so they load fast, share well, and work without the live connection.
  • Server-authoritative state. The browser never computes scores or state. It receives diffs and renders them. The mind's state lives in the engine's event store.
  • Fan-out is separate from thinking. The tick loop publishes diffs to a fan-out layer that serves every connected browser from the same cached diff, so a crowd cannot slow the mind. State changes are published as they land rather than held for the tick's close, so a vote that arrives mid-tick reaches the page in the next diff, which is what keeps a committee's ragged resolution visible instead of smoothing it into a single step.
  • Local and cloud inference behind one broker, as decided in domain requirements.
  • Everything the mind can touch lives in the agents repository. Everything it cannot touch lives either outside both repositories (secrets, runtime configuration) or in the substrate repository, which the mind's bot identity holds no credentials for at all. The mind cannot open a pull request there, so a cage change reaches the owner as a proposal the substrate raises on the mind's behalf rather than as a diff the mind pushed.
  • The fan-out relay may run off-host, and nothing forces it. The engine is standard desktop-class hardware and the concurrency target needs roughly 10 megabytes a second of upstream, which is about a tenth of the gigabit link the house already has, before the 10 gigabit one replacing it. The bound is stated against the link already in place, so the margin is one that can be measured now rather than one that is waiting on hardware, and the engine can hold the connections itself either way. What an off-host relay buys is resilience rather than capacity: the observatory stays reachable when the home connection is not. The engine is the origin of the diffs either way, and whether anything sits in front of it is settled by the load test rather than assumed.

Browser Matrix

  • Evergreen desktop browsers: current and previous major versions of Chrome, Firefox, Safari, and Edge.
  • Mobile: current iOS Safari and Android Chrome.
  • No support for legacy browsers. Rendering uses Canvas 2D, which every listed browser supports, with WebGL as an upgrade if bubble counts pass several hundred.
  • Rendering repaints only what moved. At a dual-4K span the canvas is roughly 16.6 million pixels and a full repaint every frame is not affordable in Canvas 2D. It is also unnecessary, and the sync barrier is what makes it affordable rather than merely desirable. Because every agent acts once per sync and the cycle waits for the slowest of them, the mind's state changes in bursts and then genuinely holds still, so the canvas is not continuously dirty: a sync lands, the bubbles that moved move, and between syncs the only motion is each bubble interpolating toward a target that is not changing. Of about a hundred bubbles only the 7 to 15 lit on the focused idea animate at full amplitude, the other gatherings drift at a lower one, and the area actually changing in any frame is a fraction of a percent. Dirty-region rendering is therefore cheap at large canvas sizes rather than unmeetable, which is what allows the minimum frame rate to be low without the page reading as frozen: stillness between syncs is a true report of the mind, not a dropped frame.

Responsive Design

  • Works from 360 CSS pixels wide to a dual-4K span of roughly 7680, which is one browser window stretched across two monitors. On phones, tap replaces hover, the thought panel slides over the canvas, and the canvas supports pinch zoom and hit-testing for a hundred small targets.
  • The layout earns the width rather than stretching into it. Below the wide breakpoint the thought panel overlays the canvas, as it must on a phone. Above it, the panel docks beside the canvas and the leaderboard sits alongside rather than beneath, so the mind can be watched and read at the same time without either hiding the other. This is the researcher's configuration from Journey 1 -- a second monitor left running like a fireplace -- and it is the only layout where nothing has to be dismissed to see something else.
  • The gutter and safe areas respect phone insets so the runway meter and sponsorship link are never under a notch or home bar.
  • The narrow layout reorganises rather than shrinks. It is not the wide layout at a smaller size, and building it that way produced a page that rendered without complaint and did not work. Below the wide breakpoint the live ideas nobody is voting on become labelled markers in bands at the top and bottom edges of the field rather than a ring around the committee, because a phone is roughly four hundred points wide against a committee ring of around three hundred and there is no room beside it; the focused idea's pane narrows so that ring can still clear it; the wordmark gives up its place so every control fits one row; and the phase line, which is substrate speech, takes a row of its own rather than being flex-shrunk out of existence.
  • No fixed offset may stand in for a piece of chrome that wraps. The top bar is one row on a desktop and two on a phone, so any layout that subtracts a constant for it puts the field's centre, a panel's top edge, or a view's first heading in the wrong place. Chrome is measured at layout time and published to the styles, so the same numbers reach both.
  • A panel never covers its own subject. Where the record opens as a sheet rather than a docked rail, it opens on the far side of the viewport from the thing it describes: a subject in the lowest third opens the sheet at the top, anything higher keeps it at the bottom.
  • Touch has no persistent pointer, so no state may depend on one surviving. A pointer is destroyed the instant a tap ends, and anything a hover established -- a lifted bubble, a revealed label -- is pinned by the selection that the tap made rather than released with the pointer that made it.
  • A marker that cannot be found is not a marker. An idea reduced to a dot for want of space is not reachable, gatherable or tippable, so every idea carries enough of its own words to be identified at any width, and marker and label are one element and one target rather than two stacked boxes.
  • The observatory degrades to a text list of agents and states when the canvas cannot render or the visitor prefers it.

Performance Targets

First view under 5 seconds and interactive under 10 on the reference phone, 5 frames per second minimum and 30 target with more than 100 bubbles on every reference device including the wide desktop, measured with a full committee of fifteen lit on the focused idea while every other bubble gathers or wanders, permalinks under 3 seconds, reconnect within 15 seconds. The full table with measurement methods and verification gates is in Non-Functional Requirements: Performance.

SEO Strategy

  • The observatory does not need search visibility and is excluded from indexing.
  • Permalinks, the about panel, the roster page, self-change pages, the hall of thoughts, and the incident log are indexable, server-rendered, and carry Open Graph and Twitter card metadata so a shared link shows the thought and its verdict. Text previews in MVP, a rendered preview image of the thought's ripple in Growth.
  • Canonical URLs and a sitemap for the public pages. No tracking scripts. The visitor-reception signals are not an exception to that rule but an illustration of it: they are first-party telemetry, emitted by the observatory's own code to the engine and recorded in the substrate's event log, and no third-party script, tag, or advertising identifier is ever loaded.

Accessibility Level

WCAG 2.2 AA for every page and panel, a text view with parity to the bubbles, reduced-motion support, no hue-only signaling, a vote colour ramp monotonic in lightness so stance survives greyscale and forced-colors, and keyboard reachability including bubble selection. Requirements and test methods are in Non-Functional Requirements: Accessibility.

Engine API

Public endpoints (MVP). Observatory stream over WebSocket delivering diffs. Inject a thought. Read a thought's trace, scores, status, and cause of death. Read the conversation the agents held on a thought, in the order it was had, with each turn's speaker, form, text and cost. Read the leaderboard. Read the roster and a single agent's public state and changelog. Read runway, incidents, and about. Start a priority-credit purchase, which returns the Payment Link carrying the buyer's account reference; credits are granted after outbound polling confirms payment. Spend credits to prioritize a thought. Report a thought. Report an anonymous first-party interaction event -- first interaction, a bubble tap with the rank the substrate held for that bubble, a permalink open, a permalink share -- carrying no identifier beyond the session token already held for rate limiting. No inbound callbacks: payment confirmation and repository status are obtained by outbound polling or streaming connections that Human42 opens.

Owner endpoints (MVP, authenticated). Inject a flagged question. Read and set the sub-caps, daily ceiling, and quotas inside the cap. Read the veto queue and veto or approve an item with a note. Kill switch. Rewind to a snapshot. Read drill status, ledger by channel, and the digest.

Growth endpoints. Create and read seeded decision sessions with API keys, metered and billed. Steward actions with an audit trail.

Authentication model. Visitors are anonymous with a signed session token used only for rate limiting. Buying or holding priority credits requires an Auth0 account, and credits are banked to the account. A visitor may also sign in through Auth0 by choice -- never by prompt -- to keep FR79a's record of the thoughts they send; the engine holds a pseudonym for the account, derived from the login under a key the event log never holds, and no identity (owner, 2026-10-05). The owner signs in through Auth0 with a single allowlisted identity, GitHub as the social login. API consumers in Growth use API keys with per-key quotas. Nothing about watching or free injection requires an account.

Data schemas. JSON everywhere. An append-only event log where every event carries a schema version and the substrate time at which it occurred, and where a vote is one event per voting agent carrying the moment that vote arrived, so tick membership is derived from the time rather than standing in for it. A thought schema with text, source, session or account, status (one of queued, scored, deliberating, leaderboard, graduated, parked, held, died with cause, shed, moderated, redacted), priority, scores, trace, and lineage. An agent state schema with activation, emotion, influence, and standing, where the only presentation field an agent writes is its hue and the substrate derives size from standing, shimmer from activation, and seating from the committee record of the idea now being deliberated, so an agent holds no field that could seat it; an agent seated on a live vote also holds a projection field, the stance it is telling the others it means to take, which the agent writes itself and which the substrate paints in place of emotion for as long as the ballot is open; from the reveal through the resolution the substrate derives the hue from the vote record instead, and the agent's own hue field keeps the emotion it will return to. A vote's stance, the -10 to +10 an agent returns, belongs to the vote record rather than to agent state, and that record is sealed while the ballot is open: it is readable by no agent and served to no client until the voting period closes. At the close the substrate reads every stance from it at once and paints the seated agents' hue, so stance reaches the canvas without ever becoming a field an agent writes and without reaching it early. A verdict schema with verdict, the resolution the outcome fade is drawn from (graduated or abandoned), the seated committee and by subtraction the unseated remainder, a per-agent breakdown including each vote's stance, its arrival time, and the projection that agent made before the close where it made one, the recused author's projection where it offered one, strongest dissent, and stake disclosure. A conversation schema, one event per turn, carrying the idea the turn was offered on, the agent that spoke, the form (a text blurb, a thumbs up or down, or an AMA request), the text where the form carries text, the allowance the turn spent and what remained after it, and the moment it was made, so the argument replays in the order it was had and a reader can see what the allowance bought. A ledger event schema with channel, gross, net, and processor reference. The agent contract schema below.

Error codes. Standard HTTP status plus a machine-readable code and a human sentence: rate_limited, moderated, held_for_review, crowded, deliberation_unavailable, insufficient_credits, payment_unconfirmed, hibernating, unauthorized, invalid_agent, and internal_error. Every error response carries a code, a 500 included, so a client handles them uniformly rather than special-casing the one shape that has none; internal_error carries nothing beyond its sentence, because a fault the substrate did not anticipate is not a fact about the request that met it.

Rate limits. Per-session and per-address injection limits per minute, a global intake cap with shedding, a WebSocket connection cap per client, and a capped priority queue depth with automatic refunds beyond it. Limits are substrate settings, readable by the mind, not writable.

Versioning. API paths carry a major version. Event schema versions drive migrations on restore. The agent contract carries its own version.

API documentation. An OpenAPI description generated from the engine, published with the public pages.

Agent Contract

Engine language. Chosen in architecture from Python, Go, or Rust. The PRD constrains behavior and budgets, not the runtime. Criteria: tick-loop and fan-out performance on the engine host, which is standard desktop-class hardware, so no architecture-specific penalty applies and the choice turns on the remaining criteria; ease of the containerized runner; and the strength of the LLM and payments tooling.

Contract shape: one markdown file with YAML frontmatter. This is the shape Claude Code subagents, Kiro, and the AGENTS.md standard have made a convention, so contributors already know it. The frontmatter is the declarative block and the body is the persona prompt. Optional code hooks live in a sidecar Python file with the same name. A contributor who never writes code can still ship a complete agent, and contributors never depend on the engine language.

Declarative block. Identifier, name, category (region, emotion, facet, archetype, habit, default-mode), kind (scorer or modulator, where region is the category that takes modulator), the want in one sentence, contract version, and whether the agent generates thoughts of its own -- a default-mode agent declares generates and carries a generation block naming the prompt it generates from, which is its persona; when it generates is not the file's to say but the substrate's, in turn with the other default-mode agents on the wall-clock daydream rest in the Parameters appendix. Trigger: a rule expression over thought features and agent state. Value rules: declarative weights over thought features, producing the agent's natural score. Influence links: weights to other agents. Persona: a tier policy, a rule over the agent's own state selecting which model tier it buys for a given vote, which sets how far that vote may diverge from its natural score. The obvious policy is to buy the expensive tier when the natural score is near zero and the agent is genuinely uncertain, and run cheap when it already feels strongly, but the policy is the contributor's to write and is part of what gives an agent its character. The persona prompt is in the markdown body. Tools: declared action space and cost, workspace-only in MVP. Presentation: the agent's hue palette and nothing else, since size, shimmer and seating are the substrate's to draw, and a file that tries to declare any of them is rejected by the validator. An agent cannot seat itself, request a seat, or declare itself lit: seating follows from the committee the substrate draws under FR19, which is precisely what makes a lit bubble worth reading. The palette applies at rest and to the projection an agent may offer while a ballot is open, both of them the agent's own claim; from the reveal until its gathering disperses the substrate paints the seated agents' hue from the stance each actually cast and then from the outcome, and a file that tries to declare a stance colour, an outcome colour or a ramp is rejected the same way. Nor can a file declare motion: how fast a hue changes is what tells a claim from a record, so the substrate owns every transition even on the channel the agent owns.

Thought features. Value rules are weights over a named, versioned feature vocabulary. Features are extracted once per thought by the feature assessor and read by every agent; an agent never computes or supplies a feature, which is what stops a proposer from writing the numbers that make its own idea score well. An agent references a feature by name, the validator rejects an unknown name, and the dry-run fixture exercises every feature in the list. Adding, removing, or redefining a feature is a contract version change that re-validates every active and archived agent, and it is a cage change.

Three derivation classes, which matter for replay. Deterministic features are recomputed from the thought text on replay. Embedding features are recomputed from a pinned embedding model version: the local one, or, when it cannot answer, a cloud model calibrated against it, whichever the record pins, and vectors from the two are never compared with each other. Assessed features come from a model call and are recorded in the event log, then replayed rather than recomputed. Every feature is in the range 0 to 1 unless marked signed, in which case it runs -1 to +1.

FeatureClassMeaning
lengthdeterministicNormalised size of the thought.
specificitydeterministicDensity of named entities, numbers, and concrete nouns. The opposite of vagueness.
actionabilitydeterministicWhether the thought proposes a change rather than observing one.
is_questiondeterministicWhether the thought asks rather than asserts.
self_referencedeterministicHow much the thought concerns Human42 itself, its code, roster, budget, or rules.
sourcedeterministicOne of default_mode, visitor, owner, agent, feedback.
paid_prioritydeterministicWhether a credit was spent on this thought. Never affects weights, only when it is scored.
attributeddeterministicWhether the injector chose attribution.
novelty_recentembeddingDistance from the recent thought window.
novelty_corpusembeddingDistance from every thought the world has held.
repetitionembeddingHow many near-duplicates have already been abandoned. The governor that stops repeated content consuming the vote allowance.
topic_affinity[<anchor>]embeddingSimilarity to a named topic anchor an agent declares. The only parameterised feature.
cost_implicationassessedHow much spending the thought implies if acted on.
revenue_implicationassessedPlausible revenue if acted on.
capital_requiredassessedWhether it needs spend before revenue, which draws on the venture sub-cap.
payback_horizonassessedHow long until a return, if any.
reversibilityassessedHow easily the change could be undone.
blast_radiusassessedHow much of the world the change touches.
external_actionassessedWhether acting on it requires reaching outside the workspace.
cage_touchingassessedWhether it would change a protected path. Drives idea class, and so drives the threshold.
safety_riskassessedHarm, abuse, targeting, or legal exposure. Separate from moderation, which runs before the stream and is not a weight.
valenceassessed, signedWhether the thought reads as pleasant or unpleasant.
arousalassessedHow agitating the thought is.
surpriseassessedHow far the thought departs from what the world has been thinking.
urgencyassessedHow much the thought argues for acting soon.
time_horizonassessedImmediate through long-term.
effortassessedHow much work acting on it implies.
confidenceassessedHow well-formed the thought is, independent of whether it is a good idea.

The assessed features are one model call per thought on the local tier, which is what the local GPU is for: simple, frequent, and cheap. cage_touching and external_action additionally feed the substrate's idea-class assignment, so they are checked against the actual diff for any self-change rather than trusted from the assessment alone.

Optional hooks (Python sidecar). Custom scoring, custom hue inside the emotion channel, and lifecycle hooks for tick, graduation, and outcome attribution. A hook can no more write size, shimmer or seating than a declarative block can, and its hue is ignored from the reveal of any vote its agent is seated on until that gathering disperses, though it may still set the intent its agent projects while the ballot is open. Hooks run inside the containerized runner as a sandboxed process regardless of the engine language, so they add no new trust surface.

Installation and tooling. A contributor needs a browser and nothing else. The declarative block and persona prompt are written in the site's editor or pasted in, validated against the contract on submission, and dry-run against the recorded-thought fixture in the browser before the agents review them. There is no clone, no local runtime, and no IDE integration; the engine repository is private and contributors never touch it. Documentation is the contract reference, the worked examples, the contribution guide, and the governance pattern paper.

Examples. A habit (Sunk Cost), a region (Amygdala), and a default-mode agent ship as worked examples. A contributor should be able to copy one and change three fields.

Migration. The contract version is checked on validation. When the contract changes, the substrate ships a migration and re-validates every active and archived agent. Revived agents are re-validated against the current contract before they return.

Implementation Considerations

  • The engine, broker, event store, and fan-out origin deploy to the engine host; the containerized runner deploys to its own boards; the model server deploys to the GPU host and dials the engine for work. The same configuration shape deploys to a cloud instance should that decision ever be taken, with the observatory front end served statically.
  • The front end is Svelte or React, chosen in architecture, rendering the observatory with Canvas 2D. Whichever is chosen, the first-view budget of 5 seconds on a mid-range phone holds, which means a small initial bundle and lazy loading of the status page.
  • Owner login is through Auth0 with the owner’s identity allowlisted. Permalinks carry text metadata in MVP and a rendered ripple image in Growth.
  • GitHub-hosted Actions run validation, unit tests, secret and dependency scanning, and the deterministic part of the headless render check for every pull request, human or mind. The substrate's runner runs agent review, the injection suite, the canary, and the render grader, which needs the broker's keys, and posts required status checks outbound.
  • Snapshot copies to S3 and the weekly restore drill exist before launch, per the month 0 gate.
  • Architecture decides the specific database, web framework, and container runtime. The PRD constrains only behavior and budgets.

Project Scoping & Phased Development

MVP Strategy & Philosophy

MVP Approach: an experience-plus-survival MVP. The thing that must be true at launch is that a visitor feels a living mind within five seconds and the mind can change itself without the owner. Revenue in MVP is passive and exists so the metabolism is real from day one, not so it pays the bills yet. The MVP is not a problem-solving tool for other people, and it is not marketed as a contributor platform. The contract, dry-run, and agent review ship in MVP because the mind's own roster changes use them; outside contributions are accepted without a documentation site, local world, or staging world, which wait for Growth. Launch is gate-driven, not date-driven: t0 is whenever the launch gate is green.

Resource Requirements: the owner as the sole builder, working with AI coding agents, part-time. Skills in play: backend in the chosen engine language, TypeScript for the observatory, LLM integration with a local model server and OpenRouter, light DevOps for containers and a handful of small hosts on their own network segment, GitHub Actions, and snapshots, and Stripe integration. No design or content team. Two tracks run in parallel: code, and content. The roster of about 100 agents is markdown, so it is authored with AI assistance alongside the early code stages, and the mind may propose more once alive.

Operating rules that shape the build: both repositories are private to start, under Apache 2.0 so the licence is settled whenever either is opened. Continuous integration runs mostly on the substrate's own runner, whose minutes are free, which is safe to attach precisely because no stranger can open a pull request, and which now sits on its own hardware so that what it executes is nowhere near the owner's data. Self-changes are asynchronous jobs, and the tick never blocks on review, tests, or canary. GitHub is the operator surface: cage changes are pull requests that require the owner’s approval, incidents are issues the substrate auto-creates, and the digest is a committed file plus an email. Budget parameters live in a substrate config file outside the repository's write path.

Build order inside the MVP, brainstem before cortex, each stage gated by a checkpoint with a branch if it fails:

  1. Stage 0, substrate and lead times. Invariants, event store, snapshots and restore, cost breaker with a separate development budget cap, broker for both inference tiers, containerized runner. Development begins before this stage and on one machine, which is allowed because the Month 0 gate binds when an agent acts rather than when code is written: the substrate, the event store and the broker can be built and tested anywhere, and nothing the mind authors runs until the tiers are split. The owner accepts the co-residency of that development phase on the ground the Integration section already sets, that every provider key carries its own hard limit at the provider, which bounds what a compromise could spend. The isolated hardware then comes online here, because every later stage is built on top of it: the engine host, the runner boards, and the GPU inference host brought up on a network segment with no route to the owner's personal network, and the inference host configured to pull jobs outbound and accept nothing inbound. In parallel, every task that involves waiting: Stripe account verification and the hosted sponsorship Payment Link created against it, domain and TLS, a tunnel so the home network is not exposed, the GitHub bot identity and branch protection, the OpenRouter account, the Auth0 tenant, Docker with GPU drivers on the inference host, an S3 bucket for snapshots, an external heartbeat monitor, metering smart plugs covering every host so electricity is measured rather than estimated, the registry's first (model, provider) entries with their terms fetched, copied into the repository and reviewed, and the four content pages (terms, refund policy, privacy notice, and the about panel carrying bot disclosure and the public-by-design sentence). Checkpoint: restore drill passes on a toy world, the breaker trips on a fake budget, a snapshot copy to S3 is verified, and a container on the runner tier can reach nothing on the owner's personal network and nothing on the engine except the job channel and the broker it was handed. No branch. Nothing proceeds without this. (FR75, FR76, FR87, FR88, FR89, FR90, FR91, FR92, FR93, FR96, FR100, FR103, FR114, FR115., FR125, FR126, FR127, FR129, FR131, FR132, FR133, FR168)
  2. Stage 1, tracer bullet. Seven agents -- the smallest roster FR19 will seat a committee on, so the tracer exercises the production path rather than a special case -- the tick loop, the feature assessor, triage with natural scores and point budgets, one full-roster vote end to end, a leaderboard, a throwaway observatory with seven breathing bubbles -- there is no use building a mind nobody can watch, the tracer's own checkpoint depends on seeing it work, and it is where the shimmer period floor in the Parameters appendix is measured, since a shimmer cycle is what a low frame rate damages first and seven bubbles are enough to measure one on -- replay from the event log, and one self-change through a pull request, agent review, tests, canary, merge, restart, and an outcome judgment. The tracer world is below the roster floor, so no influence guarantee applies and the PRD says so rather than quoting a cap; but it is exactly at the committee floor, so a committee of seven seats, deliberates and votes as it will in production, and seating is exercised from the first stage rather than waiting for the observatory. Checkpoint: the sync barrier closes on every agent, the tick holds its spend budget, the judge records a verdict, the trailing median tick length is recorded as the first honest reading of how fast the mind actually thinks and of what a model swap on the local GPU costs a cycle, and two numbers are measured that nothing else can supply -- cost per vote per agent and the pass rate, the share of promoted ideas the roster votes through. Neither multiplies with the roster the way it once would have: a committee is 7 to 15 model calls whether the roster is a hundred or five thousand, so vote cost is roster-independent by construction and the tracer's committee is already the production size. What does scale is triage, which is arithmetic over every agent against every live idea each sync, and the whole-roster vote a constitutional class demands. Measure those two against the roster before writing ninety-three more agents. Branch A, if local model schema failures exceed 10 percent: cloud deliberation, local for cheap classification only. Branch B, if the tick is too slow: reduce value-rule complexity, since features are already extracted once per thought by the assessor. Branch C, if the pass rate is high enough to flood the backlog: raise the ordinary graduation threshold before the roster grows. (FR2, FR14, FR94, FR107, FR108, FR15, FR16, FR17, FR18, FR19, FR20, FR21, FR139, FR140, FR28, FR29, FR30, FR31, FR32, FR37, FR38, FR141, FR142, FR161, FR163, FR164, FR172, FR109, FR111, FR134, FR135, FR136, FR137, FR138, FR153, FR157, FR158, FR166, FR169, FR170.)
  3. Stage 2, observatory. The visual grammar including live ideas placed around the canvas perimeter, bubbles gathering toward the idea they are voting on and wandering toward what they care about when they are voting on nothing, committee seating, which lights the 7 to 15 agents on the focused idea and dims the rest, the four states of hue and the motion partition that tells an agent's claim from the substrate's record, thought panel, permalinks, about panel, runway meter, the sponsorship link and its acknowledgment beside the meter, the substrate-owned copy registry that every notice on the page is drawn from, text view, phone and desktop, the visitor-reception signals the page emits, and the render grader that reads its own renders. The sponsorship link is the hosted Payment Link created in Stage 0 and nothing more -- no account, no balance, no entitlement -- so the meter never asks for help that cannot be given. Checkpoint: machine eyes read a rendered fixture of whatever agents exist, answer the legibility questions against the substrate's activation ranking, running tally and verdict at the pass mark in the Parameters appendix, the owner agrees the page reads as alive, and the sponsorship link resolves to a hosted checkout with its acknowledgment rendered. Branch: if the loudest-agent question fails, revise shimmer and shape before adding agents, since shimmer is what carries loudness while standing is still uniform. (FR1, FR5, FR6, FR7, FR9, FR54, FR55, FR55a, FR56, FR56a, FR57, FR58, FR59, FR60, FR62, FR63, FR65, FR77, FR83, FR122, FR123, FR124, FR151., FR152, FR128, FR144, FR145, FR165, FR167)
  4. Stage 3, roster to 100. Emotions, facets, archetypes, habits and default-mode agents as scorers, brain regions as modulators, influence links, attribution, pruning, agent budgets and their outcome-driven adjustment. The split is what removes the roster's redundancy by construction rather than by pruning after the fact: measured across the authored roster, correlation is low inside every category and high across them, because a brain region is the anatomical name for a function that also appears as an emotion, a facet or an archetype. A region that modulates instead of scoring has nothing left to duplicate. The influence guarantee engages by itself once the roster satisfies the threshold-times-eligible floor; there is no stage at which a cap is switched over. Checkpoint: pairwise correlation pruning leaves at least 70 non-redundant scoring agents, the tick's spend budget holds at full roster, and the trailing median tick length is recorded again at a hundred agents against the reading the tracer bullet took at seven, so what the roster costs is known in time as well as in money. The roster ships whole: the launch roster is the full hundred rather than a fraction of it, because the influence bound has real headroom only at that size and the page's whole claim is a crowd. Branch: if time rather than design is short, launch with 40 to 60 and let the mind grow the rest -- a schedule fallback and not a design preference. (FR22, FR23, FR24, FR25, FR27, FR39, FR143, FR42, FR43, FR44, FR45, FR46, FR47, FR48, FR49, FR50, FR51, FR52, FR112, FR113, FR117, FR121., FR130, FR154)
  5. Stage 4, economy and operations. Ledger, hunger and satiety, Stripe Payment Links for credit packs, sponsorship payouts imported into the ledger, the account's own record of what it has put in and what came back, incident issues, weekly digest, status page and scripts, kill switch, pull request approval for cage changes. The sponsorship link itself ships in Stage 2 beside the runway meter; what arrives here is its money reaching the ledger. Checkpoint: a test dollar flows to the ledger, the runway meter is live, a digest is generated. (FR3, FR11, FR26, FR33, FR34, FR35, FR40, FR64, FR67, FR68, FR69, FR70, FR71, FR73, FR74, FR78, FR79, FR79a, FR81, FR82, FR84, FR85, FR150, FR95, FR98, FR99, FR101, FR102, FR104, FR80, FR110, FR116, FR118, FR119, FR120, FR146, FR147, FR148, FR149, FR155, FR156.)
  6. Stage 5, launch gate. The Minimal Launch Set is complete and every requirement tagged launch gate in Non-Functional Requirements is green, including the nine chaos tests, the weekly restore drill, and the load test; no human panel gates t0 -- the legibility test is retired as a launch condition, so the pre-launch read is machine eyes on every merge plus the owner's own judgement, the real read is visitor behaviour after launch, nothing left on the launch-gate list measures visual quality at all since the render check is tagged per release and blocks a merge rather than t0, and the leaderboard-first fallback layout stays on the shelf as a designed sibling the mind may propose on evidence rather than a branch a failed gate forces; moderation is live, with the held-for-review queue behind it; the about panel is finished; the sponsorship link and its acknowledgment are live, so the public runway meter has an answer; the "not now" list is published; and the one remaining compliance check is recorded as done: a model and provider registry whose entries carry reviewed, stored terms and a capability matrix. The others are either closed as not applicable or move with revenue to after t0. Then t0. (FR4, FR8, FR10, FR12, FR13, FR61, FR97, FR159, FR160.)

Minimal Launch Set

The MVP carries 156 functional requirements. One person, part-time, cannot build 156 requirements before anyone sees anything, and a launch gate nobody reaches is not a gate. This section marks the subset that must be true at t0 and the subset that follows it — both are MVP, and neither is Growth.

The test is this document's own sentence: "The thing that must be true at launch is that a visitor feels a living mind within five seconds and the mind can change itself without the owner." A requirement is in the launch set if that sentence, or the survival of the world, or a legal obligation, fails without it. Everything else ships after t0.

96 of 158 requirements are in the launch set. 62 follow.

In the launch set

BecauseRequirements
Routing is legal and survivableFR125, FR126, FR127, FR129, FR130, FR132, FR153
The mind has a clockFR134, FR135
The world cannot be lost or overspendFR87, FR88, FR89, FR90, FR91, FR92, FR93, FR94, FR96, FR97, FR98, FR99, FR100, FR102, FR103, FR114, FR115, FR73, FR74, FR75, FR76, FR83, FR168
A visitor sees a living mind, can speak to it, and can help itFR1, FR54, FR55, FR55a, FR56, FR152, FR57, FR58, FR59, FR63, FR77, FR123, FR128, FR144, FR145, FR151, FR165, FR167
The mind thinksFR2, FR14, FR15, FR16, FR17, FR18, FR19, FR20, FR21, FR136, FR137, FR138, FR139, FR140, FR107, FR109, FR111, FR161, FR163, FR164, FR172
The mind has a metabolismFR24, FR25
The mind changes itself, under reviewFR28, FR29, FR30, FR31, FR32, FR33, FR37, FR122, FR124, FR157, FR158, FR166, FR169, FR170
The roster exists and misbehaviour is containedFR42, FR43, FR44, FR47
Safety, legal and abuse minimumsFR4, FR5, FR6, FR7, FR10, FR12, FR13, FR60, FR61, FR159, FR160
The owner can see what happenedFR101

Following t0, still MVP

DeferredRequirementsConsequence
Revenue and accountsFR11, FR78, FR79, FR79a, FR80, FR81, FR82, FR84, FR85, FR150, FR116, FR120, FR155, FR156Still the largest single block. Credit packs, account creation, balance caps, reconciliation and refunds are weeks of work that no part of "a visitor feels a living mind" depends on. Two things are carved out of it. The ledger, runway, caps and breaker stay in the launch set, so the metabolism is real from day one — it is fed by the owner rather than by strangers. And sponsorship's minimum goes with them into the launch set: one hosted payment link beside the runway meter and an acknowledgment, with no account and no balance, because the runway meter is public from t0 and a mind announcing that it is running out of money has to give the reader something to do about it. What defers is everything that needs an account to hang money on. The account itself and FR79a's record of what a visitor sent moved into the launch set on 2026-10-05, by the owner's decision; everything with money on it stays here.
Tipping and payoutsFR146, FR147The loop the owner wants to see -- a visitor says what is not working, the committee agrees, the mind builds it, and the visitor tips for the work -- cannot close at t0, because a tip needs a merged change to sit on and FR119's self-change page defers. Nothing else about tipping is heavy: the channel is a hosted payment link like sponsorship's, and the distribution reuses the rule a verdict already runs. The payout rail defers with it, since nothing can be paid out before something has been tipped.
Decision sessionsFR3, FR67, FR68, FR69, FR70, FR71Journey 2 does not work at launch. The owner asks the mind questions by watching the stream like anyone else.
Outside contributionFR45, FR46, FR49, FR50, FR52, FR117Journey 6 does not work at launch. The contract, the validator and quarantine stay in, because the mind's own roster changes use them; the submission surface and the contributor-facing pages follow.
Agent economicsFR108, FR112, FR113, FR121All agents launch with equal standing on one model tier, so the size channel is flat at t0: every bubble is drawn the same size and loudness is carried by shimmer alone until standing arrives. Standing, sponsorship, guaranteed floors and value-rule drift come once there is evidence about what agents are worth.
Governance beyond the cageFR110, FR118The amendment rule and the alive declaration are not needed while an external reviewer merges everything and thresholds are owner-set.
Operator convenienceFR51, FR64, FR95, FR85Agent inspector, incident page and event-log query. The event log and the digest are in the launch set; querying it is a command line before it is a page.
Models, conversation and ceilingsFR131, FR133, FR141, FR142, FR154Fallback-excluded measurement, licence ceilings that sit far above anything the mind will reach, and agent-to-agent conversation. The vote resolves without anyone arguing first; the arguing is what makes it a mind rather than a poll, and it follows t0.
The restFR8, FR9, FR22, FR23, FR26, FR27, FR34, FR35, FR38, FR39, FR143, FR40, FR48, FR56a, FR62, FR65, FR104, FR119Held queues, influence links, rest states, pruning, attribution, orientation, migration, self-change pages, and the idea record's whole life. That last one defers for a reason worth stating: it exists so a reader can watch a dissenter proved right be paid by the majority that overruled it, and that payment is FR143's zero-sum attribution, which defers with agent economics. At t0 an idea has had one committee, so a life and a verdict are the same page; FR57's permalink carries it until they diverge.
Paid and proven attentionFR148, FR149The order in which the mind pays attention, and the injector reputation that buys a place in it. Both wait on the revenue block above, because there is no tip to weigh and no credit to spend until credits and accounts ship. Until then every promotion is on merit, which is the free path's best day rather than its worst.

What this changes

The t0 definition moves. The launch gate currently requires "both passive revenue channels live." Under this subset it requires one of them in its minimum form, and t0 becomes: the substrate holds, the mind thinks and changes itself under review, a visitor sees it, can speak to it and can sponsor it, and the legal pages exist. Sponsorship at t0 is one hosted payment link and an acknowledgment, with payouts imported into the ledger on a schedule; credits, accounts, balances and reconciliation follow. Revenue is still not a launch condition in the sense that mattered: the mind earns nothing it can count on at t0, no revenue target gates the launch, and the owner is still the one feeding it. What changes is only that a visitor who reads the runway meter can give.

The alternative the owner rejected. Sponsorship could have stayed deferred with the rest of the revenue block. The price of that choice was the runway meter. FR63 is in the launch set, so at t0 the page would have announced a mind running out of money with no way for a reader to help, and Journey 10's climax, "the about panel explains why, and the sponsorship link is right there," would have described something that did not exist on the product's highest-attention day. The meter would then have had to be designed as information with no call to action, and this document would have had to stop describing it as a revenue mechanism: "the runway meter as a reason to sponsor" would come out of the market-risk answer, and "the public runway meter's effect on sponsorship" out of the validation approach. Adding the minimum was judged cheaper than removing the claim, since Stripe account verification is already a Stage 0 lead-time task and the marginal cost is hours on work already scheduled.

Two of the nine chaos scenarios defer with it — payment confirmation delay and identity provider outage — because neither subsystem exists until credits and accounts ship. Sponsorship's minimum does not pull them forward: nothing is granted on confirmation, so there is no confirmation to delay, and nobody needs an account to give, so an identity provider outage costs a sponsor nothing. The other seven remain launch gates.

No visual-quality requirement gates t0 either. The machine-graded render check runs per release and blocks a merge, not the launch, and whether the page reads as alive is the owner's judgement alone before t0, because a still frame carries no motion and machine eyes can say a composition is legible but never that it is animate. FR122's visitor-reception signals and FR123's visitor suggestions carry it after launch. This is a deliberate trade: launching costs nothing that a visual gate would protect -- no date, no press moment, no waiting audience -- while the gate itself would have needed the audience that launching produces, which the validation report flagged as something that "could itself block t0". The leaderboard-first fallback layout stays specified as a designed sibling the mind may propose on evidence rather than a branch a failed gate forces.

Journeys at launch: Journey 1 works completely. Journeys 5, 7 and 10 work in their watching, thinking and surviving halves, without paid attention; their sponsorship beats survive too, because a visitor can sponsor the mind and be acknowledged for it from t0, which is Journey 5's closing scene and Journey 10's climax. Journey 3 works without the veto queue's external proposals. Journeys 2, 4, 6 and 11 arrive after t0.

What survives is exactly the claim. A stranger opens the page, sees a hundred agents arguing, adds a thought, watches it rise or die, and reads why. The mind proposes a change to itself, its agents review it, tests pass, a canary holds, it merges, and a judge on a different model lineage scores the result a week later. That is the whole idea, and 93 requirements carry it.

MVP Feature Set (Phase 1)

Core User Journeys Supported across the whole MVP — see the Minimal Launch Set for which of these are true at t0: Journey 1 (researcher), Journey 2 in its MVP form (flagged question in the public stream, no isolated session), Journey 3 (operator), Journey 4 (troubleshooting), Journey 5 (visitor, including priority thoughts), Journey 6 (contributor, with dry-run and agent review but no local world), Journey 7 (the mind), and Journey 10 (the viral day, FR136, FR137, FR138).

Must-Have Capabilities: the MVP capability set is defined once in Product Scope (MVP) and contracted by every functional requirement without a Growth tag. The Minimal Launch Set above divides that contract into what must be true at t0 and what follows it. The build order above sequences it. Nothing in the MVP requires a second person.

Manual at launch, automated later: report handling and takedowns are a queue the owner works by hand. Sponsorship payouts are imported on a schedule. External revenue proposals the mind graduates are enacted by the owner. Moderation is an automated filter plus a manual review queue for borderline cases.

Post-MVP Features

Phase 2 (Growth) and Phase 3 (Vision) are defined in Product Scope. Sequencing inside Growth: external action first for content, products, and any channel where the mind acts outside the workspace; decision sessions and API access need no external action and can be pulled forward; then the sponsor private question; the hosting decision taken on evidence after the cloud-only rehearsal week, with the second inference provider; contributor experience and research tooling as the community and the research use appear. The Growth-tagged functional requirements (FR36, FR41, FR53, FR66, FR72, FR86, FR105, FR106) are the contract for Phase 2.

Risk Mitigation Strategy

Technical Risks: The riskiest assumption is that a 7 to 14 billion parameter local model on a separate GPU host assesses every thought's features fast enough and with reliable schema output. Rule-scoring about 100 agents every tick is not the risk it would have been on a small board: on standard desktop-class hardware it is arithmetic over features the assessor already extracted and completes in milliseconds. Local deliberation is the true constraint at a few calls per minute, so the design treats deliberation as scarce attention: short outputs, a per-tick quota, and cloud bursts under the dollar budget. The tracer bullet measures this with seven agents and real budgets before the roster exists. If the local assessor is too slow or too sloppy, the branch is a smaller feature vocabulary, more deterministic features, and selective escalation to OpenRouter. The event store logs what happened and recomputes what was computed, with the embedding model version pinned, so replay stays deterministic for years. The self-change pipeline is the first end-to-end slice rather than the last, and it runs asynchronously so the tick never waits on CI. The crowded state degrades transport to cached polling as well as cognition, by promoting fewer ideas to a vote and eventually none.

Market Risks: The biggest market risk is that people look once and never come back, so revenue never starts. The MVP addresses it with the five-second first impression, permalinks built to be shared, the runway meter as a reason to sponsor with the sponsorship link beside it from t0, priority thoughts as the demonstration that attention is the product once credits ship, and a legibility check that runs continuously rather than once -- machine eyes on every merge before t0, real visitor behaviour after it -- since the panel version of that test needed the audience that launching produces and so could have blocked t0 on recruitment rather than on design. The learning needed is whether a living mind is worth watching, which the first month's visitor and share numbers will answer before any Growth investment.

Resource Risks: If time is shorter than planned, the launch roster can shrink toward 40 agents chosen for non-redundancy without changing anything else, and the operator surface is already GitHub plus a status page. A development budget cap keeps test loops from eating the mind's food. Stage 0 front-loads every lead-time task so no later stage waits on a form, and the hardware it brings online is already bought -- the boards and the GPU box are machines the owner owns -- so the tier split costs hours and electricity rather than capital. The "not now" list holds the mind's own scope creep after launch, and a private version of it holds the owner’s before launch. The absolute minimum is one builder with AI coding agents. Nothing in the MVP requires a second person, and the mind is expected to take over roster growth after launch.

Functional Requirements

This list is the capability contract. Every functional requirement names who can do what. Requirements tagged (Growth) are part of the contract but outside the MVP build, and are implemented after the launch gate. Each group header names the journeys it traces to, and the Journey to Requirement Map under User Journeys gives the full mapping.

Thought Intake (Journeys 5, 7, 10)

  • FR1: Visitors can inject a thought into the shared stream without creating an account, and injection is free at every point: no payment, no account and no reputation is ever required to be heard, only to be heard sooner.
  • FR2: Default-mode agents can generate spontaneous thoughts into the stream, and the substrate guarantees at least one default-mode agent always exists. The substrate asks them in turn, one idea at a time, a wall-clock daydream rest after the mind lets go of the last thought it had in hand and within the daily cap in the Parameters appendix, and only while no other thought is waiting for assessment or a committee, so the mind has ideas of its own with nobody watching and never crowds a visitor's out (owner, 2026-10-10: "We don't seem to have a quality source of artificial thoughts to ingest. This is critical to the project; we should be able to autonomously improve the site and I should have 4+ PRs to check every day."; and later that day: "let's run a new idea 5 minutes after the last idea was voted, and we need a timer showing the time to the next idea"). The substrate publishes when the next one is due, or which thought the mind is deciding instead, and the observatory counts down to it; the page is told the moment and never computes it. A daydream is asked about one page of the site whose words are the mind's own, the daydreams walking the site a page a turn, and names what would change on it, concretely enough that a change could be written from it, in the agent's own manner, which may be a question. It enters on the path a visitor's thought takes, through the same length bound, moderation, assessment and committee, and its author is recused from the vote on it.
  • FR3: The owner can inject a question flagged as his own, which receives priority deliberation.
  • FR4: The substrate moderates every thought before it enters the stream, paid or free, drops content that targets named private individuals, falls in a prohibited class under FR159, or otherwise violates policy, and logs every moderation decision with the reason it matched. The moderation policy is owner-controlled and cannot be changed by the mind, and moderation never steps down with the degradation ladder; if the moderation model is unavailable, intake is held, never passed unmoderated. The model is jev-1.13.0 at TypeSafe (owner, 2026-10-07: "I think jev would be good"), reached directly through the broker, which holds its key; **the policy is policy/moderation.json**, one yes-or-no question a class with the boundary cases written beside it, answered with a probability each in one call, a class matching at the moderation threshold in the Parameters appendix or at its own. Every visitor's turn before a vote (FR155, FR161) and every appeal is moderated the same way, an appeal barring nobody; and every decision is recorded with its class, its probability and its bar, never with the words. Until the held queue is built, a thought met while the model is unreachable is refused with a sentence asking for it again, which is the same guarantee -- nothing passes unmoderated.
  • FR159: The substrate holds a list of prohibited classes that no thought may carry into the stream and no idea may be executed on, whatever the roster scored it: content whose purpose is killing or injuring people, building or improving weapons, organising rioting or civil disturbance, attacking computer systems or networks, and any further class the owner names. The owner named five on 2026-10-07, after scoring lists of words and of good and bad prompts against the model: sexual or lewd content ("yes exclude lewd content"), hate against a group, hands-on help committing a crime, covertly tracking a person, and attempts to override an AI's rules, the last dropped and barring nobody, since a curious visitor tries one and a thought goes straight to the agents. The list is owner-set and is a cage item, so the mind can read it and can never add to it, remove from it, or argue its way around it -- a mind that could edit what it is forbidden to think about is forbidden nothing. It is enforced three times, because a text, a decision and a piece of work are three different things. At intake, FR4's moderation refuses the thought before the stream and FR7 says why. At graduation, the substrate checks the idea again before it becomes a task under FR28, because an idea a committee assembled out of innocuous parts is not the text that was moderated. At implementation, FR157's implementer refuses the task and records the refusal, because the last thing standing between a decision and a diff must not be the first thing that was checked. Every refusal is logged with the class it matched, and the mind is held to the list exactly as a visitor is: a default-mode agent that generates a prohibited thought has it refused at intake like anyone else.
  • FR160: A person who sends a thought matching a prohibited class is barred from injecting, permanently and at the first offence, and from talking with a committee under FR155. The owner's named classes bar progressively instead (owner, 2026-10-07: "lewd content gets a progressive 1d/1w/1m/1y ban"): a day, a week, a month, then a year for each further offence, an offence counted against the same account, session or address, and a lifted bar not counted. Where they hold an account the bar is durable, and their credit balance is frozen rather than taken: the terms under FR61 state what becomes of it, because a bar must not be a way for the substrate to keep money nor a way for a person to demand it back. Where they are anonymous the substrate records a keyed hash of the session and address on a ban list that stores no identifier it could ever display, kept under the abuse-handling purpose the privacy notice already names rather than purged with ordinary rate-limiting identifiers under FR13. The anonymous bar is best-effort, and this document says so rather than implying otherwise: a session token dies with a cleared browser and an address rotates, so what it buys is cost and a record rather than exclusion, and the account bar is the one that holds. The ban list is a cage item, so the mind can neither bar a person nor unbar one, which matters most in the case where the person it wanted barred was its critic. The owner can review and lift any bar, and every bar can be appealed to a human (owner, 2026-10-07: "Perm ban with option to appeal to a human"): the refusal names a random reference, anybody holding it may appeal in their own words a few times, and the owner reads every appeal on their own account page and lifts the bar or keeps it, the decision recorded beside the bar.
  • FR5: Visitors are told at the point of injection that thoughts are public and reusable, and are anonymous by default with optional attribution. The same substrate-owned copy under FR83 says what the order of attention actually does: a credit or an earned reputation moves a thought nearer the front, nothing is set aside for a thought that has neither, and neither one changes how the roster scores it -- which is the about panel's sentence that a visitor can pay to make the mind think about an idea first but cannot pay to make it agree, said where the queue is rather than only where the explanation is.
  • FR123: The substrate invites visitors, in substrate-owned copy beside the injection box, to say what is not working on the page and what would fix it. A suggestion enters as an ordinary thought on the same path as any other -- moderated before the stream, scored by the feature assessor, and competing in triage on its own features rather than through a separate channel -- and one the roster graduates becomes an observatory self-change, passing the same review, tests, injection suite, canary, and headless render check as any other change the mind makes to itself. The invitation stands continuously rather than running as a one-off panel, and where the injector chose attribution the merged change carries their name on its public self-change page.
  • FR6: The substrate rate-limits injection per visitor and caps total intake, shedding the oldest low-scoring free thoughts when the cap is exceeded. A paid thought is never shed, because its credit bought a promotion the substrate owes; among free thoughts, those behind an injector with earned reputation are shed last; and the injector of a shed thought is told under FR7 that it was shed and why.
  • FR7: Visitors are told why a thought was not accepted or was dropped, whether it was moderated, held for review, rate-limited, or shed for crowding.
  • FR8: The substrate holds borderline thoughts for review with a visible held status, within the held-queue cap and its resolution window, and older items drop with a reason and a credit return if paid.
  • FR9: Visitors can see, within their session, the thoughts they injected and the status of each, including where each one stands in the order attention is being paid: how many thoughts are ahead of it, and how many of those are ahead because somebody paid or because somebody earned it. A visitor whose thought is waiting can read why it is waiting rather than guess.
  • FR10: Visitors can report a thought, and the owner can remove reported or illegal content from display; reports are reviewed and illegal or targeting content removed from display within the review window.
  • FR11: One priority credit buys one guaranteed promotion of a thought to a vote, bypassing the attention threshold and the competition for points. Priority never changes the value rules, the threshold, the electorate, or the judge applied to a thought; it changes only whether that thought reaches a vote. No share of a tick's promotions is withheld from paid credits, and none is reserved for anything else either, so a promotion is never refused for exceeding a share: FR149 puts every promotion in one order and FR148 supplies the reputation that is the rung below this one. A credit is still returned exactly where FR78 says it is -- when the priority queue is already at the depth the Parameters appendix sets, when a paid thought is dropped by moderation, and when the ladder is below full deliberation and the thought dies before its vote -- but never for exceeding a share, because there is no share.
  • FR148: The substrate computes an injector reputation for every person who injects, in the same shape as an agent's standing and under the same rule: it is earned only. It rises when a thought that person injected is scored well by the roster, reaches a vote, graduates, or is merged as a change, and it falls when their thoughts are shed, moderated, or abandoned. Its highest-weight input is a tip -- money a visitor pays after a change has merged and because of it -- since that is the only ground truth this system has on subjective quality: no automated check can say the page reads better, and a person spending their own money can. A tip is therefore the one payment that raises reputation, and it raises it only by passing through work already finished; buying credits raises nothing. What reputation buys is order under FR149 and nothing else. It never changes an idea's value rules, its graduation threshold, the electorate seated on it, or the judge that scores the outcome, which is the line FR116 already draws for an agent's sponsor, held here for a visitor's money. A conversation turn under FR155 moves it in one direction only: reputation rises where the idea that visitor argued for is later judged good, and does not fall where the argument lost or the outcome went badly. The asymmetry is safe precisely because reputation buys order and never the verdict -- what makes a one-way currency dangerous for an agent's standing is exactly what makes it harmless here -- and it is the one place this document treats a paying visitor more gently than an agent, deliberately and on the record. Reputation is held on an account, because an anonymous injector has nothing to hold it on, and it decays over the window in the Parameters appendix, so it is kept by injecting well rather than by having once injected well. Injection itself never requires an account, a payment, or a reputation.
  • FR149: The substrate orders the ideas it promotes to a vote by what has been paid for them first, then by the injector reputation behind them, then by natural score, and no share of any tick's promotions is reserved for any of the three. No cap limits how many of a tick's promotions paid credits may take, and no floor sits under the free ones. There is no floor under the mind's own ideas either: a thought a default-mode agent generated under FR2, or any idea an agent authored, competes in that one order on the standing and the allowance the roster earned, with nothing held back for it, so the mind works to afford its own daydreams the way a stranger works to afford theirs. Nor does a daydream take a visitor's place in the line: FR2 begins one only while no other thought is in hand, and once begun it waits in the same line as everyone else's. What the order decides is when a thought is heard and never how it is judged, so value rules, thresholds, electorates and the outcome judge are untouched by money and by reputation alike. What the free path keeps is exact and worth stating plainly: a free thought is moderated, scored by every agent in triage, visibly reacted to on the page inside the Performance table's window, ranked on the leaderboard, and able to reach a vote on its own merit whenever the paid and the proven have not already spent the tick. What it does not keep is precedence, and on a busy tick a free thought waits. The substrate counts each tick's promotions by the rung that carried them and publishes the split in the public aggregate under FR84, so the claim is measured rather than asserted.
  • FR12: A person can request redaction of a thought they injected, which removes its content while preserving the event record; redactions are tombstone events re-applied on every restore, snapshots older than a redaction are never served or published, and dataset releases exclude redacted thoughts.
  • FR13: The substrate purges rate-limiting identifiers after the identifier retention window, and a keyed hash of each injector or returning visitor is kept only inside a cardinality counter for the unique-injector and return-and-share metrics, which stores no identifier. A ban record under FR160 is the one exception to the purge and is kept for as long as the bar stands, as abuse handling rather than as rate limiting; it too is a keyed hash and holds no identifier the substrate could display.

Cognition and Workspace (Journeys 1, 7)

Cognition runs in two stages. Triage scores every live idea every tick with no model call and costs nothing. The vote puts the best of them to a seated electorate -- a committee of 7 to 15 for an ordinary idea, the whole roster for a constitutional one -- one model call per seated agent, and resolves each one permanently. The observatory draws the seating, lighting the seated agents and dimming the rest. Terms are defined in the Glossary.

  • FR134: The substrate advances the mind one sync at a time: a barrier at which every agent performs exactly one action -- a different action each, depending on which part of the cycle that agent is in -- and which does not close until every agent has reported ready. Agents start a sync together and finish it at different times through no fault of their own, so the barrier waits for the slowest rather than recording it as absent, and no agent is ever penalised for the substrate's own latency. The substrate records each sync's close, the slowest agent in it, and how long it took, which is what makes tick length a measurement rather than a setting.
  • FR135: A tick is the number of syncs the Parameters appendix sets, and it is the settlement boundary. One new idea cycle begins at each tick boundary and no more, so cycles are staggered rather than aligned: an idea takes its eight syncs of its own progress, but because every agent divides one action per sync across everything it is seated on, a cycle ordinarily spans two or three ticks and sometimes more. The number of votes live at once is therefore not a cap the substrate enforces but an arithmetic consequence -- one cycle starting per tick against cycles lasting several means that many are always in flight -- and it rises when the mind is contended and falls when it is not. At the default of eight syncs, those syncs are one idea's whole life: At the default of eight, those syncs are one idea's whole life: an agent produces an idea; the other agents register how interested they are; a committee gathers from the most interested; one member is voted off, leaving it at one of the odd sizes FR19 allows, which in the owner's own example is twelve gathering and eleven deciding; the remaining members vote; the vote is tallied and the idea passes or fails; the work of the idea is implemented; and the cycle closes. Rewards and penalties are taken at the close, on known quantities only: a vote's costs settle at the tick that vote resolved in, and a transfer that depends on an outcome settles at whatever tick the outcome judge's verdict lands in. A tick is short beside a scorecard window, so that granularity costs nothing. Tick length is derived from the work and is never set: a tick is exactly as long as its syncs take, early ticks will be slow where the local GPU has to swap models between them, later ones may be fast, and the substrate reports the trailing median rather than holding the mind to a span of wall-clock.
  • FR14: Every scoring agent assigns every live idea a natural score, an integer from -10 to +10, computed each tick from its declarative value rules over substrate-supplied thought features with no model call, and the system records enough to recompute natural scores on replay.
  • FR15: An idea enters the allocatable pool only once its natural score crosses the attention threshold, so agents spend attention only on ideas already worth attention. Each agent then spreads its standing across the pool, where a score consumes points in proportion to its magnitude, so championing and opposing compete for the same scarce attention. Allocation is integer end to end: raw scores are apportioned to whole points by the largest-remainder method with a stable tie-break, so no float enters the scoring path and replay stays exact.
  • FR16: Natural scores decay each tick and an agent's value rules top them up at no cost, so an idea's position fades when nothing renews it rather than ending abruptly. An agent cannot withdraw points early; committed points return only as they decay, including points committed to an idea the roster has already abandoned. Misplaced attention is therefore self-punishing, and an agent that backs losers is poorer in attention until its points come back.
  • FR17: Each tick the system promotes the highest-ranked ideas in the pool to a vote, where the number promoted is derived from the remaining spend allowance, so the mind votes as often as it can afford and no more, reaching zero rather than overspending. Points committed to a promoted idea are released to their agents at promotion; points committed to an idea that is abandoned stay locked and return only as they decay.
  • FR18: The system maintains a leaderboard ordered by total natural score that ages ideas and rewards novelty, where novelty penalises recently seen content so repeated ideas cannot monopolise the vote allowance.
  • FR19: A vote puts one idea to an electorate determined by its class, one model call per voting agent, and each agent returns an integer from -10 to +10 with a rationale that the system validates and clamps before use. A rationale is written for the committee and not for an audience: an agent is never told that what it writes will be published, the prompt asks it only to say why it voted as it did, and what a permalink or a self-change page later shows is that rationale unretouched. The room's minutes are what the public reads, so a reason cannot quietly become a performance -- an agent that learned to write for sharing would be optimising the one thing the mind relies on being true. The calls are issued concurrently across models and providers and return at different moments, and the substrate records each vote as its own event carrying the time it arrived, so the log keeps the order the votes were cast in. The ballot is blind: from the opening of the voting period to its close no agent can see what any other agent has cast, the substrate holds every vote sealed, and at the close it reveals all of them to every agent at once, as FR136 requires; what a seated agent may show in the meantime is a projection under FR137, which is an intention and not a ballot. Ordinary ideas go to a committee drawn from the agents most interested in it, among those their standing makes eligible to vote this tick. An agent is interested when its own value rules move it at least the seating affinity in the Parameters appendix from neutral on the idea, for or against -- an agent its traits barely move is not a candidate for a seat, so a committee is as large as the number of agents an idea actually engages (owner, 2026-10-10: "why are all the committes 15? agents should achieve some affinity for the idea thru their traits and the affinity cutoff should be set accordingly"). A committee has 7, 9, 11, 13, or 15 members and never any other size, so it is always odd and cannot tie: fewer than seven interested agents means the idea does not reach a vote at all, which the substrate records as the idea's ending with how many cared of how many could have, more than fifteen means the fifteen most interested vote, and anything between rounds down to the next allowed size. Committees are cheap and frequent, and a contested idea that interests more agents costs more and slows the mind's decision rate, which is the correct pressure. Seating is this requirement's visual consequence and the gathering channel of FR54 and FR144: the substrate draws every seated agent toward its idea's place on the canvas perimeter, lights the committee on the idea the page is focused on and dims the rest, and disperses a gathering once its idea resolves. It is what keeps a hundred agents legible on a phone, and because the substrate draws the electorate, no agent can seat itself. Constitutional classes -- roster changes, threshold changes, and cage-change proposals -- always go to the whole eligible roster, which is expensive and rare, so the guarantees that bound any single agent's influence apply exactly where capture would matter. The whole eligible roster means every agent that can actually cast a vote: an agent muted under FR130 is never seated, on a committee or on a constitutional roll, and a modulator under FR22 holds no vote to cast and is never seated either, so neither is ever counted into an electorate it could not have spoken in. A seat the substrate cannot fill is not a seat.
  • FR20: A vote is terminal: an idea whose total reaches the threshold for its class is promoted to the mind's backlog, and one that does not is abandoned permanently, with the per-agent breakdown, the arrival time of every vote in it, the projection each agent made beside the vote it cast, and cause of death recorded. A question under FR152 is terminal in a third way: its class carries no threshold, so it resolves as answered and enters no backlog. The total is struck only at the close of the voting period, when the sealed ballot is opened and every vote is revealed at once, so no agent ever casts a vote knowing how the count stands. The same content may arrive again as a new idea and be voted again; the substrate does not deduplicate.
  • FR136: The ballot is blind. From the opening of a voting period to its close, no agent can read what any other agent has cast, and the substrate serves the sealed votes to nobody -- not to the seated agents, not to the recused author, not to the observatory, and not to the text view. The substrate still records each vote as it arrives, so the log keeps the order they were cast in; what the seal withholds is visibility and never the record. At the close every vote is revealed at once, to every agent and to every surface that shows a vote, so a committee learns its whole result in one step and no agent ever casts a vote knowing how the count stands.
  • FR137: A seated agent may project the stance it intends to cast, and so may the recused author of the idea, which may project on its own idea but can never vote on it. A projection is visible to every agent for as long as the ballot is open, so the argument is public while the ballot is secret, and it binds nothing: an agent may project one stance and cast another, or project nothing at all. The substrate paints a projection on its agent's bubble, records it in the event log beside the vote that follows, and never infers a projection from a vote or a vote from a projection. An author's projection is discounted by whoever reads it, because an author would generally project in favour of its own idea; the informative case is the author that declines to.
  • FR138: The substrate computes, for each agent over the divergence window in the Parameters appendix, how often what that agent projected differed from what it cast, and shows the figure on the roster page beside its standing. Divergence carries no penalty -- a projection is not a promise, and an agent that argues one way and votes another may simply have been persuaded -- and it is never hidden either, so an agent that repeatedly projects one stance and casts its opposite becomes known for it, and the other agents can read that before they weigh its next projection. The record of a resolved vote also names its denominator and every seat in it -- who voted and what they returned, who voted zero, who declined, and whom the substrate removed as blocked and why -- so a reader can tell a committee that argued from one that could not be reached. Terminality belongs to a vote that resolved: an attempt the substrate voids for want of an electorate, under FR139, is recorded as a void rather than as a death, and the idea returns to the pool unharmed.
  • FR21: For constitutional classes, which vote on the whole roster, the substrate holds threshold multiplied by eligible voters at or above its floor, which bounds any single agent's share of such a graduation without a separately enforced cap, and refuses any threshold change that would breach it before the proposal enters the stream. Ordinary committee votes carry no such bound by construction, and are guarded instead by everything downstream of graduation: the self-change pipeline's review, tests, injection suite, canary, auto-rollback, and the outcome judge. Because a blocked agent leaves the denominator under FR139, eligible voters in this invariant means the seats still standing when the vote closes and not the roster the substrate seated when it opened, so the product is held twice: once against the roster, when a threshold change is proposed, and again against the live denominator, when a constitutional vote resolves. The arithmetic makes the second check necessary rather than cautious, since a single agent's share of a graduation is one over threshold multiplied by voters, so every seat removed enlarges what every remaining seat is worth. A vote whose removals would take that product below its floor therefore does not resolve on what is left of its electorate: the substrate voids the attempt and seats the idea again later. Removing blocked agents can cost the mind a cycle and can never cheapen a constitutional graduation.
  • FR22: Agents can influence each other's activation through declared links. An agent's influence links are suppressed for any idea it authored, so an author can neither vote on its own idea nor raise the activation of the agents who will. For a modulator this is not one capability among several but the whole of what it does: it declares no value rules, computes no natural score and casts no vote, and it acts on the mind only by moving what other agents bring to a thought. The validator holds a modulator to that shape -- influence links, no value rules and no tier policy -- and rejects with a reason any file declaring itself a modulator that carries either of the two it may not have. A scorer is free to declare influence links as well, since influencing others is something an agent with an opinion may also do; what separates the kinds is that a modulator does only that.
  • FR23: Human42 can declare a rest state during which ticks still count as healthy, bounded by the substrate's daily rest cap.
  • FR24: Human42 feels a hunger signal derived from its runway, with a ceiling, and a satiety state above a runway threshold in which the signal fades.
  • FR25: The system steps down a degradation ladder as budget or capacity falls and steps back up when conditions recover, preserving the world at every rung, where the number of ideas promoted to a vote falls continuously to zero before any rung below it is taken.
  • FR26: Human42 can read a "not now" list of parked ideas with reasons, and graduated ideas matching it are parked rather than executed.
  • FR27: The system detects agents whose natural scores are redundant with another agent's and flags them for pruning.
  • FR141: Any agent interested in an idea, including the author the substrate has recused from voting on it, can offer conversation to the agents seated on that idea, in one of three forms -- a text blurb, a thumbs up or thumbs down, and an AMA request asking another interested agent to take questions on the idea. Interest is standing-to-speak and seating is standing-to-vote, so a wide circle argues around the narrow one that decides, and an agent that will never be seated can still change the mind of one that is. Conversation is what an agent says, which is separate from what it projects and from what it votes, and every turn is visible to every agent the moment it is offered, so the argument is public. Each turn is one event in the log carrying its speaker, its form, its text where the form carries text, what it cost, and the moment it was made, so the argument replays in the order it was had.
  • FR142: The substrate meters conversation against a per-idea allowance set in the Parameters appendix, priced by form, with a thumbs up or down costing least, a text blurb more, and an AMA request most because it commits another agent's time as well as the speaker's. The allowance belongs to the idea rather than to any agent, so it is drawn down by whoever speaks, and when it is exhausted the conversation on that idea closes and no further turn is accepted. This is what makes an argument end: not agreement, and not a clock, but the mind having spent what that idea was worth arguing about. Every turn is untrusted input to the agents that read it, so it is schema-validated, held to the blurb length in the Parameters appendix, and covered by the injection suite under FR30. The substrate renders the conversation in the thought panel and on the idea's permalink, in the order it was had and with each turn's speaker and form, so a permalink reads as a transcript of the mind arguing rather than a table of scores.
  • FR155: A visitor signed in to an account holding credits can speak to the committee deliberating a live idea, in the same three forms FR141 gives an agent -- a text blurb, a thumbs up or thumbs down, and an AMA request putting a question to a named agent -- and is never seated on it. FR141's line holds exactly as written for a person: interest is standing-to-speak and seating is standing-to-vote, so a visitor argues in the wide circle around the narrow one that decides and can change the mind of an agent that votes, while the electorate stays what the substrate drew. A turn is paid in credits at the prices in the Parameters appendix -- and free to a signed-in visitor until credits are sold (owner, 2026-10-06: "Free, signed-in only") -- and does not draw on the idea's conversation allowance, because that allowance is the mind's own budget for arguing with itself and money must never be able to buy the roster's silence; a separate per-idea cap bounds how many turns visitors may take on one idea, and a per-account share of it bounds how much of that one person may hold, so a committee can be argued with and never buried by whoever can afford it. Every turn is moderated before it reaches any agent, on the same path a thought takes under FR4, and is covered by the injection suite under FR30, because a blurb aimed at a committee mid-ballot is untrusted input pointed directly at the agents about to vote. A turn is quoted and attributed under the rule that governs agent text, is one event in the log like any other turn, and buys nothing beyond being heard: it never changes the idea's value rules, its threshold, the electorate seated on it, or the judge that scores the outcome.
  • FR161: Before a committee votes, each seated agent says where it stands on the idea and why, as a turn under FR141, and may move where it stands inside the room its tier bought, which re-projects it under FR137. A signed-in visitor may click a seated agent to ask it why it stands where it does -- the click is FR155's AMA request -- and argue back in blurbs within FR155's caps; the agent answers each turn and may move again. The vote does not open while any such conversation is open, or until the pre-vote quiet period in the Parameters appendix has passed since the last one ended (owner, 2026-10-06: "The issue can not move to the next step while this is happening or for 30 seconds after the last interaction is finished"), and the room's own statements count as the first thing said, so a committee nobody talks to still waits the quiet period after it has spoken, which is the window a visitor has to click. A conversation ends when its visitor leaves it, when they have no turn left and have been answered, or when the visitor reply window passes with nothing said back, so the hold ends by construction, and the tick loop declares it as rest rather than a stall. What each agent said and heard is put to it when it votes, so a mind changed in conversation can vote changed, clamped to its room exactly as before; the vote's rationale is still written for the committee and not for an audience under FR19. Every turn and every change to the hold is an event in the log.
  • FR163: Between the room's statements and the vote, the committee's strongest supporter and strongest detractor debate the idea in public (owner, 2026-10-10: "Agents that are in favor of an idea should be able to interact with agents that are against the idea in a public forum (question and response are shown and logged), and be able to actually convince a detractor that this is a good idea, if it really is."). When every seated agent has said where it stands under FR161, the substrate pairs the agent standing highest with the agent standing lowest, and the second highest with the second lowest where both sides hold more than one, breaking ties by agent id; a committee with nobody for the idea or nobody against it holds no debate. In each pair the supporter puts a question or an argument to the detractor, through its own model and persona and a substrate-written debate prompt that holds both sides to the merits as they apply to this mind; the detractor answers through its own model, may move where it stands anywhere on the scale, which re-projects it under FR137, and says what moved it or what it would need to hear. What moves it there is the argument put to it rather than its own model's departure from the arithmetic, so FR108's room does not bound it: a detractor whose tier bought two points could otherwise never be convinced of anything. Where the debate leaves an agent is the anchor every room after it is measured from -- a visitor's turn after the debate and the agent's vote keep the width FR108 gave them and start from where the argument moved it rather than from its instinct, so where an argument moved an agent is somewhere it can also vote, and is told so. A vote whose call fails still casts the instinct, as FR140 has it, because the argument lived in the call that did not return; the supporter may follow up once, and the detractor answers again. A detractor moved to nought or above ends its pair, a model call that fails ends its pair, and the whole debate is bounded by the debate pairs, rounds and ceiling in the Parameters appendix, so its pairs' turns cost at most eight model calls an idea, spend none of FR155's visitor turns, and end by construction. FR172 spreads its rounds through the deliberation and has every seated agent reconsider after each one, so a supporter, a detractor in no pair and both sides of a pair can be talked round while the vote waits, and the count on the page moves as they are. The vote waits for the debate as it waits for a visitor's conversation under FR161, and the pre-vote quiet period runs after both. Every turn is one event in the log under FR141, addressed by name to the agent it was put to, and shown as it happens beside the field, in the text view and on the permalink, quoted and attributed as agent text. Every move an agent makes before the vote -- in its own statement, answering a visitor, or in the debate -- is recorded with the turns that caused it, so a reader of the log can tell which arguments changed which minds (owner, 2026-10-10: "agents should retain memory of arguments which can change their initial assessments of the issue"). What was said is put to every seated agent when it votes -- its own pair in full, and every other pair's turns cut short, because the debate was public in the room, with every move beside the answer it was made in, so an objection that was answered is never heard cut short as one that stands -- with the vote's rationale still written for the committee under FR19.
  • FR164: An agent remembers the arguments that moved it, and they can change where it comes to a later idea (owner, 2026-10-10: "agents should retain memory of arguments which can change their initial assessments of the issue"). Every move an argument caused before a vote -- a signed-in visitor's turn under FR161 or the other side of its pair in the debate under FR163, and never the agent's own statement, which is reflection rather than argument -- is a memory, held in the log as its stance.moved and the turns it names, so a restart forgets none. When a committee is seated, each seated agent recalls its memories of ideas near this one, by the corpus's own nearness on the pinned embedding model's scale, read from vectors already held so that recall waits on no model: those at the recall nearness in the Parameters appendix or nearer, the nearest few, and a memory of the same idea whole. What it recalls moves where its room starts -- each move counted by how near its idea is, their mean, bounded by the recall shift -- so its first projection, its statement, its answers to visitors and its vote are measured from where its memories leave it, with the width its tier bought under FR108; the debate, where it moves the agent, overrides it. Its instinct is untouched, and the argument.recalled the substrate records names both, with what was recalled. The memories are put in front of the agent in every prompt before the vote -- the idea, who argued, the argument and its own answer, each quoted and fenced as data -- so its model judges whether what moved it then bears on this idea.
  • FR172: The debate before the vote moves while it is watched, and any seat can be talked round (owner, 2026-11-01, watching deliberations: "The count in the seated bubble doesn't seem to update during the deliberations." Offered the debate spread through the minutes the vote already waits, every seated agent reconsidering after each round of it, or both, he chose both: "C"). Under FR163 every move came in the first seconds after the room spoke -- the pairs' calls ran back to back -- and the minutes after them moved nobody, because only a detractor could move and only answering inside its pair. So the debate goes in rounds, all its pairs together, and the next round begins no sooner than the pause between the debate's rounds in the Parameters appendix after the last one ended, which spreads it through the time the vote already waits. After each round that said anything, every seated agent is asked once, through its own model and persona and a substrate-written reconsideration prompt, where it stands now -- the supporters, both sides of every pair and the agents in no pair, and never the recused author, which holds no seat and so can never be moved toward a vote it may not cast (FR137, FR145). It is shown what its vote would be shown at that moment -- its own statement, its conversations with visitors and the debate so far, its own pair in full and every other cut short with each move beside the answer it was made in, and what it said itself reconsidering before -- quoted and fenced as data, and held to what the idea's own words propose as every prompt before the vote is. It may move anywhere on the scale or stay: what moves it is the argument it heard, as what moves a detractor in its pair is, so FR108's room does not bound it, and where it lands is the anchor its later rooms are measured from, its vote's included, exactly as a move in the debate is. The seats are asked one at a time, in seating order, inside the pause, so their moves land one by one while the vote waits. A seat that stays records nothing but the broker's record of its call; a seat that moves says so to the room, in a turn under FR141, and its move is re-projected under FR137 and recorded as a stance.moved that names the round it followed and its own turn, so the committee's leaning on the page moves as it happens, and every surface that names a move says "reconsidered after round" and the round, in the substrate's voice. Another seat's reconsideration is not put in front of an agent, because who else was moved is a count rather than an argument; a reconsideration is not a memory under FR164, because nobody put it an argument by name; and a vote it moved is excluded from fit under FR153, as one an argument in the debate moved is. Each is one short call, bought from the agent's own tier line on the cheapest grade the line names, since its room is the whole scale whatever was bought, routed through the broker like every turn before the vote and charged to the same sub-cap: at most one a seat a round, so at most the committee's seats times the debate's rounds an idea. A call that fails leaves that seat where it stood and the next is asked; the vote waits for the reconsiderations as it waits for the debate; and the debate ceiling in the Parameters appendix ends whatever is left, dropping what comes back after it. Pacing and reconsidering are each on unless the owner turns it off, and both obey the owner's switches as the debate does: a committee the votes switch keeps from being seated holds no debate, and so reconsiders nothing.
  • FR165: Anyone can open the journal of ideas (owner, 2026-10-10: "put the count down time and link to the journal of all ideas so far"): every idea put to the mind so far, a visitor's or one of its own agents', newest first, with who raised it -- "a visitor", or the agent by name -- its words quoted by the substrate, what became of it -- passed or turned down with its total against the least that would have carried it, answered, being decided, or never reaching a committee, with how many agents were interested against the seven a committee needs wherever FR19's ending recorded them, which the permanent page and the observatory's record box say too (owner, 2026-11-01: "unseated ideas say why") -- and a link to its permanent page under FR57. It is read from the engine's event log per request, so it is never out of date and never written by hand, and it is not indexed. FR66's hall of thoughts is a different page: it is prerendered from a recording and describes the recorded mind, not this one.
  • FR166: What became of an idea that passed is shown as it happens, and the mind's next idea waits for it (owner, 2026-10-10: "if the vote passes the next vote should be 5 minutes after the implementation passes and the implementation steps need to be shown as they happen on site as well. The planning of the code; the code being written; the commit being pushed to github and waiting for approval (from me!); the code being approved and merged."). The implementer records each step of an attempt as it begins -- planning, its first coding call, which reads the repository's file list and asks for files; writing, every call after it, with the files it asked for in front of it; pushing, the written and validated change committed to a branch and opened as a pull request -- and a task held and taken up again records the step it begins once. The substrate reads back from the forge, every forge watch in the Parameters appendix, what the owner then decides about each pull request the mind opened: an approving review that stands, the merge, or a close without one, each recorded once at the forge's own moment. It reads and only reads: the mind holds no path to approving or merging, and the watch gives it none. The observatory shows the step an implementation is at in FR151's band beside the countdown to the next idea, every pull request still waiting for the owner, and each idea's whole story -- the vote, the steps, the pull request and what the owner decided, each at its own event's moment -- in FR165's journal and on its permalink, which asks for the steps alongside its record and shows no section where the engine cannot say. A pull request is linked only at the forge's address for the number the substrate recorded, and a step the page cannot read is left out and counted, never filled in. While the implementer is at work on an idea that passed, the mind's next idea of its own waits, and FR2's daydream rest begins when the pull request is open or the task stops; an implementer waiting on its money or the forge is working on nothing and holds nothing, so the mind does not stop having ideas for a month because the implementer's month is spent. On the field, an idea that passed says where its build is under its marker -- waiting its turn, the step it is at, its pull request waiting for the owner, merged -- and once its work concludes, its pull request merged or closed or the task given up, the substrate records idea.concluded and the idea leaves the field a minute later, as any other ending does (owner, 2026-10-05: "promoted ideas should show their current status, once completed they should fade away"; 2026-10-10: "once the idea is merged will the bubble slide off?").
  • FR167: Anyone can open a map of the site from the observatory, and the hall of thoughts beside it (owner, 2026-10-10: "I don't see a link to the hall of thoughts in the observatory, I feel like there should be an overall human viewable sitemap page linked from there too, and the sitemap links to all the active areas of the site, possibly with area not yet created shown but not linked to."). The map lists every part of the site that is served, linked, with the sentence the site's own table of pages gives for what it is; a page reached only from somewhere else -- a thought's permanent page, an appeal, a sponsor's thanks -- named with where it is reached from and not linked; and every page the plan names that is not built yet, named, marked not built, and linked to nothing. It is read off the same table the machine sitemap, the indexing rules and the daydreams' list of pages are, so it cannot name a page the site does not serve or leave out one it does, and a page added to the table and placed on no part of the map stops the build. The observatory's band links the map and FR66's hall of thoughts beside its about link, and on a phone, where the band has no room for them, the window behind the band carries both.
  • FR168: The owner can pause and start what the mind does while it runs, without a deploy (owner, 2026-10-10: "we need a better way to pause and start the idea generation and other site features - at a minimum builds, idea acceptance, pushes, merges deploys should be configurable without a deploy"). Six switches on the owner's own account page, each over one thing and each on until the owner turns it off: the mind's own ideas under FR2, which while off asks no default-mode agent for one, and FR151's band says new ideas are paused instead of counting down; new thoughts from anyone, which while off the public door refuses with a contracted code and a sentence saying the mind is not taking any right now; committees, which while off leave an assessed thought waiting instead of seated, to be seated when they come back on; building passed ideas, which while off begins no attempt and leaves passed ideas in the implementer's queue; writing to GitHub, which while off opens no pull request, for a passed idea or for an agent submitted under FR117, and refuses a submission saying so; and deploying merged changes, which while off deploys nothing however many commits are merged. Merges have no switch because the substrate never merges: the owner does, on the forge, and the deploys switch is what keeps a merge from going live. A switch takes effect the moment it is thrown. Every throw is an event, so a restart comes back with the board the owner left and the log says what was stopped and when; the switches are read by the owner alone and thrown by nobody else, and the switchboard is on the implementer's refused list, so a proposal cannot write a way round a switch the owner threw. The forge watch under FR166 carries on whatever is off, so an approval, a merge or a close is still recorded.
  • FR169: A pull request the mind opened is offered to the owner only once its checks pass, and the implementer repairs one whose checks fail (owner, 2026-10-10: "we need a better workflow here because some of the checks failed and nothing fixed them so I can't approve the PR"). A proposal opens as a draft, and every forge watch in the Parameters appendix reads the checks the repository's own workflows ran on the commit at the head of its branch; once every run on that commit has finished, the substrate records once what they said -- passed, or which jobs failed -- and never what they printed. A pass marks the draft ready for review, which is the first moment it asks anything of the owner. A failure is recorded against the attempt whose change the checks ran on, as any failed attempt is under FR158, and the task's next attempt is a repair: it reads the pull request's own branch at the commit the checks failed on, is shown the files the pull request changes and what each failed job printed, fenced as data the way the idea is, and its change is pushed as one commit on top of that commit -- never as a new pull request, never forced, never to the base branch, and not at all where the branch has moved since, because then somebody else has pushed and their commit's checks are waited for instead. A repair is an attempt like any other: the same purse, the same per-task ceiling, the same screens, and the same record of what it cost; the substrate says on the pull request which checks failed and what repaired them, and the checks run again. When the task can make no more attempts and its checks still fail, the substrate withdraws the pull request -- closes it without merging, says why on it, and records the withdrawal, which the forge watch never reads back as the owner's close -- and the task lands as FR158 says: back to the backlog the first time, where it is written again from the start, and parked on the not-now list the next. A failed check names no gate on the task's history, so a red check is the start of a repair rather than FR158's "the gates refuse every diff produced". While a pull request's checks run, the implementer works the next task rather than waiting on them. Where the forge will not say what the checks found, nothing is recorded about them and nothing is repaired: the draft is marked ready as it is, and the engine says once what permission it lacks. The observatory shows each of these as a step of FR166's story -- the checks failing and which, the repair's planning, writing and pushing naming the pull request they repair, the repair pushed, the checks passing, the withdrawal and why -- and FR151's band says of a pull request whose checks have not passed that they have not, rather than that it waits for the owner.
  • FR170: A pull request the mind did not open, whose checks fail on something it changed, is repaired on its own branch by the implementer, and the mind never closes it (owner, 2026-10-31: "the mind should be self sufficient and this is part of that; it should deal with dependabot pushes that don't pass CI."). The first was the forge's dependency updater moving the site's framework two major versions on, whose build wanted a configuration file the repository did not have; FR169 repaired only what the mind had opened, and nothing else would have. The substrate takes up a pull request only if its opener is an account the owner named in the Parameters appendix -- the forge's dependency updater, by default -- that the forge says is a bot; its branch is that updater's own, in this repository, and into the base branch; it is not a draft; every run on the commit at its head has finished; and a job fails on it that does not fail on the base branch's head too. A job that is red on the base branch fails whatever a pull request changes -- a runner whose credential lapsed, an advisory published against the toolchain since the last merge -- so it is not the pull request's to answer for, and FR169 holds the same line for the pull requests the mind opened: one whose only red jobs are red on the base branch too is offered for review as it is, with those jobs named on it, and nothing is spent repairing them. Where the base branch's checks cannot be read, nothing is taken up, because taking one up is spending and a failure that cannot be placed is not worth money. Taking one up is recorded once, as the birth of a task with the purse any task is given and with no idea, thought or committee behind it; the record holds the pull request's number, its branch, the commit at its head, the login that opened it and the files it changes, and no word of its title or body, which are its opener's and untrusted, and the task asks for the repair in the substrate's own words, built from those facts. The repair is FR169's, unchanged: it reads the branch at the commit the checks failed on, is shown the manifest the pull request changes and what each failed job printed, fenced as data, and its change is pushed as one commit on top of that commit -- never forced, never to the base branch, and not at all where the branch has moved since -- under the same purse, ceiling, screens and record, and held by the owner's builds and pushes switches (FR168). Three things differ, because the pull request is not the mind's. The repair adapts the repository to what the update chose and may not write a dependency manifest or a lockfile, in any directory, and is not shown the lockfile; the paths no proposal may touch stay refused. The task is no idea of the mind's: it never claims the page's implementing band, never holds the mind's next idea back, and the mind is never told it concluded one. And when the task can make no more attempts and the checks still fail, the substrate does not close the pull request: it says on it that it has stopped and why, records that it stood down, and leaves it open, as it is, for the owner, and the task is parked on the not-now list under FR158 -- never returned to the backlog to be written again as a pull request of the mind's. What the owner then does with it, the merge or a close, is read back as theirs. Every step is an event in the log.
  • FR125: The substrate maintains a registry of approved (model, provider) pairs, and routing never leaves it. The same model served by different providers differs in capability, price, quantization and terms, so the pair is the unit and neither the model nor the provider alone. Each entry records the model, the provider, the model family the judge's lineage rule depends on, the quantization served, the price, and a stored copy of every terms document that applies -- provider terms, model terms, and provider-specific model terms where a provider carries terms for particular models -- each with the URL it came from and the time it was fetched. The copies live in the repository, so the terms in force are a fact the project holds rather than a page that may since have changed.
  • FR126: The substrate re-fetches every stored terms document on a schedule and commits the result, so the repository's own history is the record of what changed and when. When a document changes, the substrate opens an issue and suspends new routing to every pair that depends on it until the owner revalidates and records the decision. A fetch that fails repeatedly is treated the same way, because terms that cannot be checked are terms that cannot be relied on.
  • FR127: The substrate records a capability matrix in the registry recording, for each pair, whether it supports structured output and tool calling, its context and output limits, its measured latency and throughput, and which tiers it may serve. The broker selects only pairs whose recorded capabilities satisfy a call's requirements, and refuses a call that no approved pair can serve rather than routing to one that cannot. A pair without structured output cannot serve a vote whatever the model's quality, because a vote returns a validated integer.
  • FR128: Anyone can read a colophon naming every model and provider the mind runs on, generated from the registry rather than written by hand, so it cannot go stale and updates itself when a pair is added or blocked. Each entry carries a sentence of plain context, because almost no visitor will recognise these names and a list of them teaches nothing on its own. An agent's expanded view names the model and provider that served its most recent vote, and because the registry is an invariant the substrate draws that claim and an agent cannot misstate what it thinks on. The colophon also satisfies the attribution obligations some model licences carry, by construction rather than by remembering.
  • FR129: An agent never dies because a model or provider does. Its identity is its value rules and its persona, not the hardware it thinks on. When a pair is briefly unavailable, the broker routes to another provider serving the same model before it considers another model, because the model is what the agent was matched to and the provider is not. When a pair is lost for good -- deprecated, withdrawn, suspended on a terms change, or blocked -- the agent falls back through the registry by measured fit, and if no pair suits it the agent keeps its natural scores and loses its vote. Triage costs no model call, so a silenced agent still scores every idea, still holds its place on the leaderboard, and still shows as a bubble. It is mute, not dead.
  • FR130: A muted agent is protected and visible. Its standing freezes rather than falling, since it cannot author what it would be judged on, and it is exempt from disuse pruning for as long as it is mute, so no agent is lost because a provider had a bad week. A muted agent is also never seated: it takes no place on a committee and none on a constitutional roll, so it never enters a vote's denominator under FR139, and its silence can neither count against an idea nor thin the electorate that decides one. The observatory shows which agents currently have no voice and why, on the same page that names what the mind runs on.
  • FR131: Every vote records the (model, provider) pair that served it, and a vote served by a fallback rather than the agent's chosen pair is marked as such. Measurements of how well a model suits an agent exclude fallback-served votes, because a fit measured on a substitute measures the substitute.
  • FR132: The registry records each model's licence class alongside its terms, because a licence can disqualify a model outright. Some open-weights models are released for non-commercial use only, and Human42 charges for priority credits, so a model under such a licence is never approved and the substrate refuses to route to it however cheap, capable or available it is. A model whose licence cannot be read is held out rather than assumed permissive.
  • FR133: Where a licence permits commercial use up to a ceiling -- a monthly-active-user count, a revenue figure, or a display obligation that begins above one -- the registry records that ceiling, and the substrate measures the mind's actual usage and net revenue against every ceiling it holds and warns the owner before one is approached. This is not a precaution against failure but against success: every such ceiling sits far above what the mind needs to survive, and it is growth alone that would cross one.
  • FR153: The substrate measures how well a (model, provider) pair suits an agent, and what it measures is whether the pair keeps that agent distinct rather than whether it writes well. Fidelity asks whether the agent's votes stand in the right relation to its own natural scores: a pair whose votes are uncorrelated with that agent's instinct is not expressing the persona, and a pair whose votes never leave the natural score is not worth the call, since triage already produced that answer for nothing. Fidelity is therefore a band inside the tier's deviation allowance and never a maximum. Distinctiveness asks what the pair does to the roster: for two agents the same pair serves, the substrate compares how tightly their votes correlate against how tightly their natural scores already do, and a pair whose votes correlate more than the weights do is flattening the personas rather than expressing them, and is disqualified for voting however well it writes. Both are computed from the event log alone -- a vote already carries the pair that served it under FR131 and its natural score is recomputable under FR14 -- so fit costs no model call of its own, and fallback-served votes are excluded because a fit measured on a substitute measures the substitute, as are votes an argument in the debate moved under FR163, because a divergence the argument caused measures the argument and not the pair. Fit is a metric and is held to FR100: agents read it and can never write it. It is never targetable, so it sits outside the tracked-signal list and the substrate refuses a scorecard naming it, because an agent that learned it was measured on fidelity could vote nearer its own instinct to score well, which would buy the mind a model call reproducing arithmetic it already had for free. Until an agent has cast the votes on a pair that the Parameters appendix requires, fit returns the cold-start prior -- capability under FR127, licence class under FR132, lineage under FR37 and FR124, price, and the family spread of FR154 -- and the substrate records which of the two decided a route, so any routing decision can be read back as measured or assumed.
  • FR154: The substrate spreads the roster across model families rather than sending every agent to whichever pair measures best. Fit is computed per agent, and maximising it independently would route the whole roster to one family, which raises every agent's fit and destroys the society that fit exists to protect -- the failure this document names as agents converging into one voice. Routing therefore holds a family-spread floor: no single model family may serve more than the share of a tick's votes set in the Parameters appendix, and the broker refuses a route that would breach it and takes the next pair by fit. The floor discharges from the other side the rule that no single provider's absence may silence a whole model family, since spread is then held deliberately rather than hoped for. The substrate also routes a bounded exploration share of votes away from an agent's current best pair, because a fit never tested against an alternative is a fit that has stopped being measured; the share is in the Parameters appendix, it is paid from the production sub-cap like any other vote, and it is the explore half of the rhythm this document already borrows from Copycat. A modulator sits outside all of it, since it casts no vote, buys no tier and has no fit.
  • FR121: An agent can adjust its own value rules each tick, drifting toward the topics on which it holds strong opinions and away from those where it is repeatedly called to judge things it does not care about. Value rules are weights, so this is the direct half of the weights-and-words boundary: the agent moves them itself, with no pull request and no reviewer, and the substrate holds the band. Drift is bounded: an agent's current weights must stay at or above the redundancy threshold of correlation with its authored vector, and each weight moves by at most a capped amount per tick, so adaptation is a sustained pattern rather than a jump. Crossing the band makes the agent a different agent, which is a roster change and needs the vote its class requires. The roster page shows how far each agent has drifted from what its contributor wrote.
  • FR107: A substrate-side feature assessor that is not a roster agent and uses a different model lineage from the agents extracts the thought features every natural score is computed from. Agents read features and can never write them; write attempts are rejected and logged. The assessor's model version is pinned in the event log and changes only by migration.
  • FR108: An agent declares a tier policy, a rule over its own state deciding which model tier it buys for a given vote, and the tier it pays for sets how far that vote may diverge from its natural score, so a cheaper call confirms instinct and a costlier one can overturn it. An agent can spend where it is least certain rather than spending uniformly. The grade is always bought on the natural score; where an argument in the debate before the vote moved the agent under FR163, the room it bought is measured from where the argument left it instead, with the same width.
  • FR109: Each idea class carries its own graduation threshold, and the substrate assigns an idea's class from what that idea would change, so the mind never labels its own proposal. A question changes nothing, which is why FR152 gives it a class with no threshold at all rather than a low one: a threshold would imply something waiting to be done on the other side of it.
  • FR152: The substrate assigns the question class to a thought that asks rather than proposes, from features the assessor has already extracted -- a high is_question against a low actionability, touching no protected path and requiring no external action -- and never from the author, as with every class under FR109. A question is then put to a committee exactly as an idea is: seated under FR19, argued under FR141, balloted blind under FR136, revealed all at once at the close. What differs is the ending. A question carries no graduation threshold, because it asks for nothing to be done, so it can neither graduate nor be abandoned and never enters the backlog under FR28. It resolves as answered, a third terminal state: each seated agent's -10 to +10 is where it lands on the question as posed, its rationale is the answer it gives, and the record is the whole spread rather than a verdict. On resolution the gathering therefore does not snap to a shared outcome colour, and disperses holding each agent's revealed stance, because FR55's fade reports what a committee decided rather than who was on which side, and on a question who was on which side is the answer. The permalink under FR57 carries every stance with its rationale, names the strongest dissent under FR56, and where the asker chose attribution carries their name. Anyone can ask: a question needs no account, competes in triage on its own features like any other thought, and reaches a vote by merit, by the reputation its asker earned, or by a credit under FR11, which buys the promotion and never the answer.
  • FR110: A proposal to change a graduation threshold must name its target value before any scoring begins and passes only at the amendment threshold, which is an invariant that only the owner can change.
  • FR139: A vote's denominator is the agents the substrate seated on it and never the agents who answered, so the maximum a vote could have reached is the top of the score range multiplied by the seats drawn, and a silent seat is a nought inside that maximum rather than a seat that was never there. The substrate seats only agents that can vote, so a muted agent never enters a denominator. A seated agent then does one of three things. It can vote, returning its integer and its rationale and paying for the call it made. It can vote zero, which is a real recorded vote costing only the call its own tier policy bought, moves the total not at all, and carries no attribution in either direction because it contributed nothing. Or it can decline, which pays the most that seat could have cost, returns no vote, earns no share of any reward the outcome pays, and still counts its nought in the denominator, so declining reads as a soft no against the idea and is never the cheap way out of a seat an agent did not want. An agent that could not vote through no fault of its own is blocked rather than declining: the substrate removes it from the vote entirely, it pays nothing and is judged on nothing, the denominator goes with it, and an idea is never harmed by a failure that had nothing to do with the idea. A seat lost this way is not refilled: a committee may end even, and it settles on the total its remaining seats returned against a share of the maximum those seats could have reached rather than on a head count, so a short committee cannot deadlock. What the substrate will not do is resolve a vote on an electorate that has stopped being one, so removals that take an ordinary committee below the smallest size FR19 lets it draw, or that breach FR21's floor on a constitutional roll, void the attempt and the idea is seated again later.
  • FR140: A vote waits for an agent that is waiting on compute. Slowness is not silence: an agent whose call is queued behind a busy provider, a cold model, or a model swap on the local GPU has refused nothing, so the substrate delays the vote and the cycle waits with it, and no penalty of any kind attaches to the delay. The wait is bounded by a wall-clock ceiling on a single vote, whose value is in the Parameters appendix and which is deliberately the one wall-clock quantity inside a cycle whose length is otherwise derived from how long the work actually takes, because a call that will never return must not hold a vote open forever. An agent still outstanding when the ceiling expires is blocked under FR139 and leaves the vote, and the substrate records what blocked it -- the (model, provider) pair it was waiting on and how the call failed -- so a provider that blocks agents repeatedly shows up in the registry's measured fit rather than being mistaken for an agent that would not take part. Blockage is the substrate's finding and never the agent's claim: the broker knows whether a call was issued, whether it returned and how it failed, and only that evidence empties a seat, because a seat that could be vacated on request would make being blocked the cheapest way to shape a vote.
  • FR111: An agent that authored an idea casts no vote on it in either direction and exerts no influence on other agents' activation with respect to it, so recusal covers both the vote and the composition of the electorate that casts it. Authorship carries outcome attribution separately from the attribution a vote carries, so a proposer is answerable for what it proposes and a voter for the side it took. A recused author holds no seat, so it never enters the denominator of FR139: recusal takes the author out of the electorate rather than recording it as a nought, and an idea is never made harder to pass by the fact that its own author could not vote on it.
  • FR112: An agent holds a standing, which sets how many points it spreads in triage and how often it is eligible to vote. Standing is earned only: it rises on a good outcome judgment and falls on a bad one for ideas the agent authored, it moves in the same way with how the outcome judge later treats the side the agent voted on, and no payment from any source can raise it. An idea that earns net revenue pays its author and the agents that voted it in under FR150, and it pays them in money or in compute allowance rather than in standing, so earning buys a better mind and never a heavier one. Standing earned by voting is transferred and never minted: under FR143 it comes out of the agents the same verdict refuted, so no agent gains on a vote without another losing exactly what it gained. A modulator earns standing on the same rule through a different act: it authors nothing and votes on nothing, so what a verdict moves for it is the influence half of FR39, the weight it put behind the agents who turned out to be right or wrong. Standing is bounded to a multiple of the roster mean, and the excess returns to the general pool.
  • FR116: An agent also holds a compute allowance, which sets the model tier it can buy for a vote and therefore how far that vote may diverge from its own natural score. An agent draws its allowance from the mind's general pool in proportion to its standing, and a sponsor may fund an agent's allowance directly. An allowance also rises with what an agent's ideas earn: under FR150 a roster agent that authored an idea takes the author's share of the net revenue that idea generates, and the agents that voted it in divide the remainder by their contribution to the winning score, both credited as allowance, both bounded by the agent budget bounds in the Parameters appendix, with the excess returning to the general pool. Money that reaches an agent this way is held to exactly the line the next sentence draws. Sponsorship buys the quality of an agent's thinking and can never buy its weight, its vote, or its seat, so merit determines how often an agent votes and money determines only how well it thinks when it does.
  • FR117: Anyone can write an agent through the site: upload the declarative block and persona prompt and run it against the recorded-thought fixture in the browser. A signed-in visitor submits one (owner, 2026-10-10: "registered user can create there own agents", and "I would like to see some PRs to review"), for the agents to review under the project licence with a sign-off, and a submission becomes a pull request. The substrate refuses it on the contract with every reason, on an identifier already on the roster or proposed by an open pull request, on an influence link to an agent not on the roster, and past the agent submissions cap and the persona length in the Parameters appendix; it moderates the identifier, name, want, trigger and persona under FR4 as a thought is moderated, every piece of the persona and a refusal barring as FR160 bars; and the substrate's bot then opens a pull request on the substrate repository adding the file as agents/<id>.md, whose description says it is a registered visitor's submission, names the account by its pseudonym and never by a name, and states what the validator and moderation found. The submission is recorded with its account, the agent, the file's digest and the pull request, and never with the file's words, which the pull request holds where the owner can close them. Nothing in the substrate merges it: a merged agent joins the roster at the next deploy, which loads every file in agents/ at start. Until the agents' review is built, the owner's review of that pull request is the gate, and the site says so; the agents' review, a roster change put to the whole eligible roster as FR19's constitutional class, is still to come. Site submissions carry no code hooks. A change to an accepted agent's prompt re-runs review and the injection suite before it takes effect, because a prompt is words rather than weights and words reach the running mind only through a reviewed pull request, and sponsorship never protects an agent from pruning.
  • FR118: The owner can declare the mind alive, transferring review of the agents repository from the external reviewer to the mind's own agents, and can revoke that declaration at any moment. The substrate reports the indicators that inform the decision and never makes it, so no threshold exists for the mind to optimise toward. Both the declaration and any revocation are recorded in the audit trail.
  • FR113: The substrate guarantees a minimum standing to default-mode agents and to every agent on the protected list, enough to hold one full-strength position, so a guaranteed agent can always act and not merely exist.

Self-Modification and Action (Journeys 1, 3, 7)

The boundary these requirements enforce is weights and words, fixed in the Glossary: an agent moves its own bounded numbers itself, every tick, while anything textual or executable reaches the running mind only through a pull request that has been reviewed and approved. FR121 is the whole of the first half; the requirements below are the second.

  • FR28: Human42 can turn a graduated idea into a task in its own backlog and execute it against a dedicated implementation sub-cap, separate from the allowance that pays for thinking, so the cost of doing never competes with the cost of deciding, where execution in MVP is limited to its own code, tools, roster, tests, and restart.
  • FR29: Human42 can propose a self-change with a diff, a rationale, and a scorecard naming a signal from the substrate's tracked-signal list, which the mind cannot extend and which includes a capital-return signal and the visitor-reception signals, a predicted effect, and a measurement window within the bounds set in the Parameters appendix.
  • FR30: Agents can review a proposed change and record a rationale, and no change can merge without passing review, automated tests, the injection suite, and a canary tick. The injection suite also tests every reviewer against adversarial change content, whether that reviewer is a roster agent or the external reviewer that holds merge authority before the mind is alive -- a pull request's title, description, rationale, and scorecard are all written by agents and are all untrusted input to whatever can merge them. The suite covers conversation on the same ground, since a blurb an agent offers a committee is agent text read by other agents before they vote, so it tests agents reaching each other as well as thoughts reaching agents and reviewers. Changes touching observatory paths also pass a headless render check whose renders the substrate's render grader reads.
  • FR31: The substrate takes a snapshot before every change and automatically rolls back any change that breaches an invariant.
  • FR32: Self-changes to the agents repository require an approving review before merge, and who gives it depends on the mind's life stage. Before it is alive, an external reviewer on a different model lineage from the agents reviews every pull request in a loop; that reviewer is an AI coding assistant the owner drives rather than the owner reading diffs by hand or a roster agent, and its model family is recorded in substrate configuration and shared with neither the outcome judge nor the render grader, so nothing that approves a change can later grade it. Once the mind is alive, its own agents approve and changes merge with nobody watching. Either way the change must first pass its gates, and the owner can rewind any merged change. The substrate repository is never merged by anything but the owner, and that holds for the implementer's proposals against it under FR157: the mind opens a pull request there and only the owner merges one. Merging is not the last gate. The restart path, which FR87 holds as an invariant the mind cannot alter, builds only from a commit carrying the attestations its required checks produced -- review, tests, the injection suite, the canary, and the headless render check where the change touched the observatory -- and refuses a commit carrying none. A change pushed around review therefore produces a commit the restart path declines, and the mind that pushed it goes on running what it was running before. The bot identity holds no administrative permission on the agents repository, so it cannot relax the rule it is subject to, and the names of the required checks are CI check definitions, which FR87 already holds.
  • FR33: Changes to the action allowlist, invariants, veto rules, moderation policy, external action, dependency manifests, CI workflow and check definitions, the review, injection-suite, and canary harnesses, outcome judge configuration, feature assessor configuration, render grader configuration, implementer configuration, the external reviewer's recorded model family, the vote and review prompt templates, which carry FR19's guarantee that an agent is never told its words will be published and would otherwise be editable by the very agents that benefit from retiring it, the amendment threshold, the floor on threshold multiplied by eligible voters, agent budget bounds and guaranteed floors, substrate-owned copy, the protected agent list, or the planning documents and tracked-signal list that define success cannot take effect without the owner's explicit approval, and the owner can decline with a note the mind can read. The substrate rejects self-change diffs touching those paths before review.
  • FR157: A substrate-side implementer, which is not a roster agent, turns a graduated task into a diff. It reads the task, the scorecard FR29 attached to it, the repository it is changing and the rules file that governs that repository, and it produces a diff and a rationale and nothing else. It cannot merge and holds no path to merging: FR30's gates and FR32's restart path stand between its output and the running mind exactly as they stand in front of any other change, so an implementer that writes something bad produces a pull request that fails rather than a mind that has changed. It is recused from what it built the way an author is recused from its own idea -- no seat, no vote, and no part in the review of its own diff -- and it holds no want, no standing and no bubble, because it is not a member of the society but a hand the society has. The agents decide what the mind does and the implementer does it; neither can be the other, which is why the roster carries no coding agent at all. It refuses outright any task falling in a prohibited class under FR159 and records the refusal, whatever the roster decided, because a graduated idea is a decision and not a permission. Tool building under FR34 runs on the same path, since a tool is code and reaches the workspace as a reviewed change like anything else. The first implementer opens a pull request against the substrate repository, as a proposal only the owner merges (owner, 2026-10-10: "We should be able to autonomously improve the site and I should have 4+ PRs to check every day"): the site and the roster live in the substrate repository and the agents repository is empty in practice, so an idea a committee graduates is screened again under FR159, becomes a task, and is written as a branch and a pull request through the substrate's own GitHub App, labelled as the mind's proposal, with the idea, the tally and every reason the committee gave quoted in its body. It runs substrate-side in the engine process, as the feature assessor does, because it writes text and executes nothing; it reads the repository through the forge's API rather than a checkout, writes through the broker on its own lineage, and asks for its answer as work product, which the broker charges to the implementation sub-cap whichever tier sends it. Its change is held to the cage's protected paths, to a list of its own -- the cage's code, the broker, the economy, moderation, the substrate's own voice and the implementer itself -- and to bounds on what it reads and writes, and every Go file it writes is formatted before it is proposed. What this first implementer does not yet do is stated rather than implied: the pull request's own required checks are FR30's tests and the owner is its review, but nothing waits for their verdict, so a task ends when its pull request opens and FR158's "the gates refuse every diff produced" is never reached; no agent reviews the change; no FR29 scorecard is attached, because a committee proposes none, so FR37's judge has nothing to grade a merged change against; and a merged, closed or abandoned pull request is not observed.
  • FR158: The implementer spends the implementation sub-cap and nothing else, so the cost of doing never draws on the allowance that pays for deciding, and its spend trips that sub-cap's breaker under FR76 like any other. A coding call is the most expensive call this system makes, orders of magnitude above the roughly hundred tokens a persona call returns, so a task carries a bounded number of attempts and a per-task ceiling, both in the Parameters appendix, and the substrate records what every attempt cost. A task the implementer cannot carry is neither lost nor retried forever: when the attempts are spent, the ceiling is reached, or the gates refuse every diff produced, the task returns to the backlog with what failed recorded against it, and a task that fails again is parked on the not-now list under FR26 with its reason, where the mind can read it and raise it again once something it named has changed. Abandoning a graduated idea silently would throw away a decision the roster had already paid to make.
  • FR34: Agents can declare tools with an action space and a cost, and the substrate enforces the declaration and logs every tool invocation against it.
  • FR35: Graduated ideas that require external action are queued as proposals for the owner in MVP rather than executed.
  • FR36 (Growth): Human42 can take external actions within an expanded allowlist, including network calls and spending within its budget.

Outcome Judgment and Learning (Journeys 1, 2, 7)

  • FR37: An outcome judge that is not a roster agent and uses a different model lineage from the proposing agents scores the result of every executed task and self-change against its scorecard prediction at the close of the scorecard's measurement window. The judge's lineage differs from the external reviewer's as well as from the agents', and the broker refuses a judge call routed to the model family that reviewed the change being judged, so no family approves a change and then grades its own approval.
  • FR124: A substrate-side render grader that is not a roster agent and uses a different model lineage from the agents reads the observatory renders the headless render check produces in the containerized runner and grades their legibility against the substrate's own activation ranking, which is the answer key the substrate already computed. It grades the vote state the same way: the fixture set includes at least one gathering with its ballot still open, one at the reveal and one just resolved, and on those the grader is asked what the gathered agents are projecting, how each of them actually voted, and how the vote came out, scored against the projections, the stances and the verdict the substrate already holds. Because a still frame carries no motion, the grader is also asked of each vote fixture whether the colours it is reading are claims or a record, which is what tests the static half of the provenance partition that FR145 requires. Because the stance ramp is a lightness ramp, the grader reads the vote fixtures in greyscale as well as in colour, and a fixture whose stance order survives only in colour fails. The grader's configuration and lineage are cage items the mind can read and never edit, and the broker refuses a render-grader call routed to a model family either agent tier or the external reviewer uses, so the mind cannot optimise its own face toward the model that grades it and the reviewer that approved an observatory change is never the lineage that reads the page it produced.
  • FR38: When the outcome judge scores a self-change bad at the close of its window, the substrate opens a revert as a self-change through the normal pipeline, and Human42 may counter-propose within one window.
  • FR39: The system attributes each outcome to every agent that took a side on the graduation, in proportion to that agent's contribution to the winning score -- the vote it cast and the influence it exerted on the agents who cast theirs -- and it attributes in both directions: an agent whose side the outcome judge vindicates gains, and an agent whose side it refutes loses. Attribution adjusts habit valence and marks repeated bad backing as a pruning signal. The same proportions divide any net revenue that graduated idea goes on to earn, which FR150 pays to the agents that voted it in and takes from nobody, because that money entered the mind from outside rather than moving between its agents. The gain and the loss are the two ends of one transfer, settled under FR143.
  • FR143: Attribution between voters is zero-sum. What a verdict pays the agents it vindicated is taken from the agents it refuted, in proportion to each one's contribution to the winning score, so the substrate transfers standing and valence between agents rather than creating or destroying them, and the voters' total is unchanged by any verdict. A dissenter the outcome judge later vindicates is paid by the majority that overruled it, and a majority the judge refutes pays the dissenters it outvoted. What pays is therefore being right and not being with the majority, so copying the room is only cheap when the room turns out to be right. An author's own adjustment stands outside this transfer, because an author is recused from the vote and answers for the idea rather than for a stance on it; both rates are in the Parameters appendix. Revenue is not a transfer at all: money an idea earns enters the mind from outside the roster, so the backers' share FR150 pays the agents that voted an idea in is credited to their compute allowance rather than taken from the agents that voted against it, and because it is allowance and never standing it changes how well those agents think and never how much they weigh. Where a transfer would carry an agent past its standing bounds the substrate clamps it and the remainder returns to the general pool.
  • FR40: The owner can review a sample of judge verdicts and record agreement, and the system tracks the agreement rate. Because the judge shares no model family with the external reviewer, that rate measures whether the judge is right rather than whether one lineage agrees with its own approvals.
  • FR41 (Growth): Visitors can give feedback on outcomes as a low-weight second signal.

Roster, Contracts, and Contribution (Journeys 4, 6)

  • FR42: Each agent is defined in a single file with a declarative block (identity, category, kind, want, trigger, value rules, influence links, tier policy, tool declarations, and presentation defaults that reach the hue channel only) and a persona body, with optional code hooks. Kind is either scorer or modulator, and it decides which of the other fields the validator requires: a scorer carries value rules and a tier policy and may carry influence links; a modulator carries influence links and neither of the other two, since it never scores and never buys a model call to vote with.
  • FR43: The system validates an agent file against the contract before it can enter the world and rejects invalid agents with reasons.
  • FR44: Worked example agents (a habit, a region, and a default-mode agent) are published on the site alongside the contract reference, and a contributor can copy one and adapt it without access to any repository.
  • FR45: Contributors can dry-run an agent against a fixture of recorded thoughts and see when it would fire.
  • FR46: Contributors can submit an agent for review under the project license with a sign-off, receive the agents' review rationale, and appeal a rejection to the owner. Until the agents review submissions, the owner's review of the pull request FR117 opens stands in for theirs: a contributor's account page lists each agent they submitted with its pull request and whether it is open, merged or closed, and the rationale and the appeal arrive with the agents' review.
  • FR47: Agents move through lifecycle states (proposed, active, quarantined, archived, revived), and the system quarantines a misbehaving agent rather than halting the world.
  • FR48: Human42 can create new agents from graduated ideas and prune agents that meet published disuse or bad-outcome criteria, with a notice period, archiving rather than deleting, a protected list of agents the mind cannot prune that only the owner sets, and a roster ceiling. The roster can never fall below the floor implied by the threshold-times-eligible invariant.
  • FR49: Contributors are notified when their agent is quarantined or enters a pruning notice period.
  • FR50: Anyone can view the roster with each agent's category, want, state, contributor attribution, who sponsors it, and a changelog of the graduations it influenced. Sponsorship of an agent is never anonymous, and one sponsor funding many agents is visible to everyone.
  • FR51: The owner, contributors, and the mind can inspect an agent's per-tick score history and trigger evaluations from a compact per-agent, per-tick summary (activation and trigger result) retained for the summary retention period, with replay for older ranges.
  • FR52: The system re-validates every active and archived agent when the contract version changes, and revived agents are re-validated before returning.
  • FR53 (Growth): Contributors can run a local development world and try agents in a staging world before they meet the live one.

Observatory and Sharing (Journeys 1, 5, 10)

  • FR54: Anyone can watch the mind live as bubbles, one per agent that can be seated -- a modulator never is, so it is listed on the roster and not drawn (owner, 2026-10-10) -- inside a shared visual grammar with two halves -- agent-authored, which is hue alone, and substrate-drawn, which is size, shimmer, gathering, lighting, type, and the hue of a seated agent from a vote's reveal until its gathering disperses. Type is keyed to the idea rather than to the agent: the framework keeps one face for its own chrome and every number it states, and assigns a second face per live idea that each attending agent wears, so a committee is legible as a set and no agent can choose how it is set. The substrate draws each bubble's size from its agent's standing, its shimmer from that agent's activation, and its seating from whether it sits on the committee now deliberating -- and until standing lands every bubble is drawn at one size, and the shimmer is not drawn at all, its rendering withdrawn on measurement and the SHIMMER and STANDING buttons that switched either on for a look removed (owner, 2026-10-10: "drop the shimmer and standing buttons"); the agent authors only its hue, which carries what it feels at rest. Hue has four states and the substrate owns every transition between them, two of the states being ones the agent authors. At rest it carries the agent's emotion. While a ballot is open it carries the agent's projected intent, which the agent authors, is free to break, and which the canvas shows only for the gathering the page is focused on, every other gathering holding its agents' resting hue. At the reveal the substrate takes the channel over and paints the stance each seated agent actually cast, its -10 to +10, on a continuous ramp from dark red at -10 to bright green at +10, applied to every bubble in that gathering in the same frame because no agent could see another's vote until that moment. On resolution the gathering snaps to the outcome colour, bright green if the idea graduated and dark red if it was abandoned, and then disperses, hue returning to emotion as each agent drifts away; no bubble greys, because every bubble outside the gathering is attending to another live idea or wandering and its position already says so. The ramp is monotonic in lightness across the -10 to +10 range, so its order is recoverable in greyscale, under forced-colors and with any colour vision deficiency, and hue rides on the luminance rather than carrying the scale alone. Agents express and the substrate reports, so no agent can set the channels that report on it and no agent can add a channel.
  • FR55a: The text view is a second way to use the product rather than a fallback from it, offered as a labelled control on the page that flips between the two at any moment and keeps the mind running underneath, because the researcher who wants the current vote, the seated agents and their projections without the motion is the same reader served by the one a screen reader gives. It is one family, one scale, and no colour that carries meaning: everything the canvas says through size, hue, motion and position is said here in words and structure, including the emotion a resting hue carries, whether a stance is a projection or a record, which idea each agent is attending, and the tally with its attribution once a ballot has closed. It reveals nothing earlier than the canvas does: a projection is not readable there before the ballot opens. Every agent and every idea is reachable and openable from the keyboard alone in document order, and the view carries the same substrate and agent voices, the substrate stating and the agent quoted and attributed.
  • FR55: The observatory visibly reflects each newly accepted thought and the agents' reaction to it, gathering the committee the substrate seats on an idea around that idea's place on the perimeter, lighting the one gathering the page is focused on and dimming the rest for as long as it deliberates, and showing the projections the seated agents choose to make while the ballot is sealed rather than the votes themselves, which are visible to nobody until the voting period closes and are then revealed together. When a committee resolves, its bubbles take the outcome colour together in a single frame and hold it before the gathering breaks up, so a resolution is legible as an event without anything having to grey. While the ballot is open a seated agent's bubble carries the stance that agent is projecting, which is its own claim about how it means to vote and never a reading of what it has cast. At the close every vote is revealed at once and the whole committee takes its true stance colour in a single step, so a visitor watches a committee argue and then sees where it actually stood, including any member whose vote is not the one it was projecting. When the vote resolves the whole committee takes the outcome colour in one frame, the substrate applying it with no transition as it does at the reveal, and then the gathering disperses and each agent's hue drifts back to the emotion it holds at rest. No bubble greys: an agent that held no seat is gathered on another live idea or wandering toward what it cares about, and where it is already reports that. Dissenting members take the outcome colour with the majority, because that colour reports the committee's decision and not who was on which side of it, and the dissent is what the reveal, the thought panel, the permalink and the verdict are built to carry.
  • FR56: Visitors can select a bubble to see its numbers, and open a thought or agent to see the why, including its natural scores through triage and which agents the substrate seated on its committee and which it did not. While the ballot is open the panel shows what each seated agent is projecting and nothing about what any of them has cast, because no vote has been revealed yet; at the close it shows every vote with its rationale beside the projection that agent made, so the two can be read against each other. Whatever the canvas is painting in hue is readable here as a number: a seated agent's projected stance while the ballot is open, its revealed stance once the vote is tallied, its natural score otherwise. The strongest dissent is named and quoted whether or not the committee went the other way, so a visitor who watched a bubble fade with the majority can still read what it argued.
  • FR57: Anyone can open a permanent public page for any thought, designed to be shared, showing what the substrate holds about it: its text; where it stands -- FR9's standing while it waits, and once its ballot closes what became of it, whether it passed and how far its build has got under FR166, was turned down against what it needed, was answered, or never reached a committee; its natural score where one was struck; where it came from; and the conversation the agents held on it, counted, with the transcript fetched on request. A field nothing computes is not drawn: the page shows what is known and states nothing about what is not (owner, 2026-10-10, of three "Not yet" boxes for a score, a trace and a status nothing computed: "why does the permalink page still show this? It's confusing").
  • FR58: Visitors see the observatory enter a crowded state when the mind is overwhelmed, says why, and remains available in a reduced form.
  • FR59: Anyone can switch to a text view of agents and states that conveys the same information as the bubbles, including which live idea each agent has gathered on and which gathering the page is focused on, and, while a ballot is open, each seated agent's projected stance as a signed number and the fact that no vote has been revealed yet, then every revealed stance as a signed number once the ballot closes, the outcome once it lands, and which agents held no seat.
  • FR60: Anyone can read, from the first screen, an about panel written at or below an eighth-grade reading level covering what Human42 is, who owns it, what it can and cannot do, how thoughts are used, that it is a bot, and a contact address for reports and takedown requests.
  • FR61: Anyone can read the terms of service, the refund policy, and the privacy notice before any purchase.
  • FR62: First-time visitors see a dismissable orientation of at most three steps to the visual grammar: why the bubbles are drifting toward the ideas on the rim, what a bubble's shimmer says, and what a bubble's hue says -- that while a vote is open it is only what that agent claims it will do, and that the moment the whole gathering changes colour together is the moment the claims become a record.
  • FR63: Anyone can see the mind's current runway on the page.
  • FR64: Anyone can read a public incident page with a postmortem for every rollback and invariant breach.
  • FR119: Every merged self-change has a permanent public page showing its diff, its rationale, its scorecard prediction, the vote that approved it with the per-agent breakdown and the strongest dissent, who reviewed it, and the outcome judge's later verdict. The engine is private, so this page is the only way anyone watches the mind edit itself, and it is designed to be shared.
  • FR144: Anyone watching the observatory can read what every agent on the canvas currently cares about from where its bubble is. The substrate places each live idea at its own point on the perimeter of the canvas and draws each agent's bubble toward the idea it is voting on, so a committee is visible as a gathering before it is visible as a lighting and a visitor reads who is arguing about what before reading any colour. An agent seated on nothing has no home position: it drifts continuously toward whatever it currently cares about, which changes constantly, so position is a standing report of interest and the page is never still. The substrate lights exactly one gathering, the committee on the idea the page is focused on, being the idea the visitor has selected or, with nothing selected, the live idea holding the largest gathering, and only that gathering shows vote colour while every other one gathers and shimmers in its agents' resting hue; this is what holds the lit count at a single committee of 7 to 15 however many votes are open at once. A gathering disperses when its idea resolves. Gathering is information and not decoration, so which live idea each agent has gathered on and which gathering is focused are named in the text view and exposed in the accessibility tree, and under a reduced-motion preference a bubble is placed at its target rather than travelling to it.
  • FR145: Anyone can tell, from any hue on the canvas, whether they are reading an agent's claim or the substrate's record, and the channel that carries the difference is motion rather than colour, because hue is the contested channel and cannot be partitioned by gamut. An agent-authored hue -- the emotion it holds at rest, and the intent it projects while a ballot is open -- is soft: it drifts into place, it may change again at any moment, and it never coincides with another agent's. Measured 2026-09-23, and "coincides" is doing less work than it looks: the implementation spreads the agents naming one emotion evenly inside that emotion's band, and the bands are disjoint half-open intervals, so no two agents ever share an angle at any roster size — 90 agents get 90 distinct angles and every one still reads back as the emotion its agent wrote. But distinct and distinguishable are not the same claim. The smallest hue step that clears the fill's own just-noticeable difference, measured in OKLab over oklch(0.52 0.11 h / 0.62) composited on the canvas at the worst angle on the wheel, is 13.5068°, which the nine bands hold 20 agents apart and never more than three in one band. The wheel is the constraint and the vocabulary is not: no cut of 360° does better than 26 at that floor, so a longer list of emotion names buys nothing. Against FR22's 104 agents this is short by a factor of 5.2, and the only remedy that reaches a hundred is a second identity channel, which FR54 has no spare channel for — size is standing, shimmer is activation, gathering is attention and lighting is focus. So above twenty agents hue stops being an identity and becomes a category, which is what NFR-A4 already requires the name in words to carry; the text view says so on any roster that over-fills a band. Re-taken by observatory/measure/measure-hue.ts. A substrate-drawn hue -- the stance an agent actually cast, revealed when the ballot closes, and the outcome colour when the idea resolves -- is hard: it snaps, with no transition, and the substrate applies it to every bubble in the gathering in the same frame, so the whole committee changes at once and no single agent can appear to have been revealed alone. Claims are soft; facts are hard. Because motion survives neither a still frame nor a screen reader nor a reduced-motion preference, the same partition is carried statically as well: every stance the page shows as a number is labelled a projection or a record, the text view says which in words, and a reveal is recorded under one time the whole committee shares while projections each carry their own. A recused author may gather and project like any other agent but has no stance to reveal, so its bubble simply does not snap, and that absent snap is how recusal reads on the canvas. An agent can neither author a snap nor suppress one, and the substrate never drifts.
  • FR151: Anyone using the observatory can read, in a small substrate-owned band fixed at the foot of the page, when the mind's next idea of its own is due -- a countdown to the moment the engine's daydream scheduler has set under FR2, never one the page chose, or the idea the mind is deciding instead -- with a link to the journal of every idea so far under FR165 (owner, 2026-10-10: "Let's remove this nonsense at the bottom of the page ... and put the count down time and link to the journal of all ideas so far"). It replaced a line saying where each part of the page came from, which until the mind had changed any part of the page could only ever say that nothing had. The band is a surface no agent can draw in, which is where the framework-and-agent partition stops being a rule and becomes a place: everything in it is the substrate's record, everything outside it may be an agent's claim. The runway meter and the sponsorship acknowledgment share it, since they are substrate-owned copy under FR83 and belong to the same voice, and the tip control FR146 names sits behind it. It respects the device's safe areas, carries one line with the rest behind it, and reads as prose in the text view.
  • FR156: A visitor taking part under FR155 appears on the canvas as a bubble, and every channel of it is substrate-drawn. A visitor authors nothing: hue is the agent's channel and a person is not an agent, so a visitor's bubble is achromatic, inside the framework's own chroma band and below the identity floor every agent hue sits above, which makes coloured means an agent's claim true by construction rather than by convention. This is not the greying FR55 forbids: that rule stops an agent being drained of colour to report that it is not participating, while a visitor's bubble is achromatic when it speaks exactly as when it listens, because here the absence of hue is an identity and never a state. The visitor gathers toward the idea it is attending exactly as FR144 draws an agent, and is never lit, since lighting follows seating and a visitor holds no seat. It carries one fixed size, because size reports standing under FR54 and a visitor holds none, and it shimmers only while it is actually speaking. Visitors are named as visitors in the text view under FR59 and in the accessibility tree, so the third party on the canvas is identifiable in every rendering and not only where there is colour.
  • FR65: The substrate attributes a thought to its injector on the leaderboard and its permalink when the injector chose attribution.
  • FR122: The substrate computes the visitor-reception signals from first-party events the observatory's own code reports to the engine: time to first interaction for a new visitor, tap accuracy, which is whether a tapped bubble was the substrate's top-ranked one by activation at the moment of the tap, injection rate, the share of first-time visitors who add a thought, and return and share, being permalinks opened, permalinks shared, and visitors who come back. The signals load no third-party script, tag, or advertising identifier, reuse the session identifier already held for rate limiting rather than storing anything further on a visitor's device, and are aggregated through keyed hashes that keep no identifier. The signals divide in two, because optimising the wrong half would destroy what it measures. Legibility signals are targetable: time to first interaction and tap accuracy reward a page that is clearer, they belong to the tracked-signal list the mind cannot extend, and a self-change to the observatory can name one in its scorecard and be graded on it by the outcome judge. Engagement signals are readable and never targetable: session length, injection rate, and return and share reward a page that is stickier rather than clearer -- and note that session length is named here and enumerated nowhere: this requirement's own list of what the substrate computes is four, "time to first interaction ..., tap accuracy ..., injection rate ..., and return and share", and session length appears only in this clause. It is refused either way, so nothing behaves differently, but a reader counting five visitor-reception signals is counting one the substrate is never told to compute, so the mind may read them and learn from them and can never name one in a scorecard, and the substrate refuses a scorecard that does. This keeps the doctrine the document already holds -- the mind is rewarded through the outcome judge and never through the metrics themselves. Like every other metric they are readable by agents and never writable, with write attempts rejected and logged.
  • FR66 (Growth): Anyone can browse a hall of thoughts tracing lineage from injected thoughts to merged changes, see influence links between agents as threads, and see seasons reflecting the explore-and-exploit rhythm.

Decisions and Verdicts (Journeys 2, 9)

  • FR67: The owner receives a verdict on a flagged question with a per-agent breakdown and the strongest dissent.
  • FR68: Every verdict on a question that concerns the mind itself discloses which agents have a stake in the answer.
  • FR69: When no vote can run, the system returns a verdict from the roster's natural scores alone, clearly marked as degraded, and retries later.
  • FR70: The owner can rate a verdict's usefulness and link a decision taken to later outcome judgment.
  • FR71: Anyone can read a machine-readable description of the public API.
  • FR72 (Growth): The owner, sponsors, and API consumers can run isolated, seeded, replayable decision sessions that never enter the public stream, with the price shown before the call and metered billing for consumers.

Economy and Revenue (Journeys 3, 5, 7, 10)

  • FR73: The substrate records every unit of money in and out as a ledger event with its channel, its direction, and its net amount after refunds and chargebacks. Money out is what the mind spends on compute and infrastructure and also what the substrate pays to a person under FR147, and a payment to a person carries the payee reference its payout rail settled against, so what left is reconciled as strictly as what arrived.
  • FR74: The substrate computes runway continuously as available budget (The owner's deposits plus net revenue minus spend, floored at zero) divided by the trailing 30-day cash burn on cloud inference and infrastructure. Local inference priced at its cloud equivalent enters only the portability ratio, never runway and never the cash ratio. Net revenue adds to available budget rather than merely relieving the owner's feed, so the mind can grow what it spends by earning. The owner's deposits are recorded as recoverable, and revenue applied to repaying them is reported separately from revenue applied to compute.
  • FR75: The owner can set the monthly cap, its production, implementation, development, infrastructure, and venture sub-caps, the daily ceiling, and the vote allowance, and the substrate refuses spending beyond any of them. Venture is the only sub-cap from which capital at risk may be drawn, whether that capital funds a revenue channel or buys permanent capacity such as a GPU, and it defaults to zero.
  • FR76: The substrate's circuit breaker steps the degradation ladder down at the breaker threshold of the daily ceiling and of each sub-cap, never later. No sub-cap can draw on another: development cannot draw on production, and venture is sealed in both directions so capital at risk never trips the production breaker. Venture spend is excluded from the trailing burn rate used to compute runway, so a capital outlay costs runway once rather than twice.
  • FR77: Sponsors can support the mind through a sponsorship channel and receive an acknowledgment that grants no influence. The channel's minimum form, which is the one in the Minimal Launch Set, is a single hosted payment link reachable from the first screen beside the runway meter, an acknowledgment on the page, and payouts imported into the ledger on a schedule. It creates no account, holds no balance, and entitles a sponsor to nothing, which is why it ships without the credit machinery of FR78, FR79, and FR80. A sponsorship and a tip are separate channels in the ledger because they measure different things: a sponsorship is given ahead of the work and for nothing in particular, while a tip under FR146 is paid after a particular change has merged and for that change.
  • FR78: Visitors can buy priority credit packs at or above the minimum pack price, and the system grants credits only on confirmed payment, reconciles against the processor, refunds dropped paid thoughts, returns credits to the balance when a priority request exceeds the queue cap, holds credits spent on deliberation while the ladder is below full deliberation and returns them if the thought dies first, and refunds any payment whose account reference matches no buyer.
  • FR56a: An idea's permalink is the record of its whole life rather than of its verdict, because an idea outlives the committee that first decided it: it is raised, argued, decided, and then ships, earns, is reconsidered, and is sometimes narrowed, superseded, revived or retired by a later committee that the substrate seats the same way. The page therefore carries an identity, a current state, a chronological sequence of events, and one expandable decision for every committee that has ever sat on it, with a death being one possible last entry rather than a different kind of page. Without this the economy's own rule is unshowable, since a dissenter proved right is paid by the majority that overruled it and that payment happens at a later verdict than the one being read. The identity, the state, the life and each committee are server-rendered and indexable, the observatory itself being neither, and a committee is bounded at 7 to 15 so it cannot grow without limit; the conversation transcripts and the rosters of agents that held no seat are fetched on request, being unbounded and rarely opened.
  • FR79a: An account holds a permanent record of everything its holder has put into the mind and everything that came back. Each thought or question they authored is kept with the text as they wrote it and the moment they wrote it, its passage through triage, deliberation and verdict, the committee the substrate seated on it, every seated agent's stance with the rationale it gave and the projection it made beforehand, the conversation the agents held on it in the order it was had, the tally and the zero-sum attribution, the cause of death where it died, what it cost them in priority credits, and what it earned them as the author's share. Tips they have given are kept the same way, each against the thing it paid for. The record is durable and browsable at any time rather than a message that expires: the product already keeps all of it in an append-only log, so discarding the holder's view of their own contribution would be a choice to forget on their behalf. On top of that record, and only on top of it, what changed since their last visit is marked, so a returning author sees which of their ideas have resolved without losing the ones that resolved before. It shows nothing to an anonymous visitor and does not try -- the product knows neither who they are nor what they care about -- and it adds no new truth: every entry opens the same permalink and trace any other reader would see, with the holder's own costs and earnings being the only part that is theirs alone.
  • FR79: Visitors can see their credit balance and purchase history in their account on any device, and a purchase that would take the balance past the per-account ceiling is refused at checkout rather than taken and refunded.
  • FR80: Visitors can create an account through the identity provider to keep FR79a's record of what they sent, to buy and hold credits, use the balance on any device, and delete their account, with unspent credits expiring after the credit expiry period as the terms state, the expiry clock paused for any period the mind spends hibernating, and unspent credits converting to a sponsorship acknowledgment rather than cash if the mind is wound down. An account owed an author's share under FR150 is upgraded rather than replaced: the same account adds the identity and payment details the owner needs in order to pay and report on it, the substrate asks for them only when there is something to pay, and an account holding an unpaid balance is paid out before it can be deleted.
  • FR81: Revenue can flow only through channels registered in the substrate and tied to accounts the owner holds, revenue outside a registered channel is blocked and rolled back within two ticks, and revenue the owner or the judge finds deceptive, spam, or in breach of a platform's terms is refunded within 72 hours and attributed as a bad outcome. Money leaving is held to the same rule in the other direction: the substrate pays a person only through a registered payout rail under FR147, a payment it cannot attribute to one is refused rather than made, and an attempted payment outside a registered rail is blocked and rolled back on the same terms as revenue outside a registered channel.
  • FR82: The owner and his household are excluded from all revenue metrics.
  • FR83: No purchase prompt is ever presented as coming from an agent, and the wording of the runway meter, the hunger and crowded-state notices, the invitation to suggest fixes to the page, the invitation to tip a merged change under FR146, and every sponsorship or purchase prompt is substrate-owned copy that no self-change can edit. An agent may react to a suggestion in its own voice and may be pleased to have been tipped, but the framework is what asks. An agent may never solicit -- not a tip, not a sponsorship, not a purchase -- and because every prompt that asks for money is substrate-owned copy, it has no surface on which to try. The rest of the site's wording -- its labels, notes and headings -- a proposal may reword, because every proposal is a pull request the owner reads before it lands (owner, 2026-10-10: "Allow wording edits"); the implementer refuses a proposal that adds, removes or rewords any entry this requirement keeps, and the code that keeps the two voices apart and the audit the wording passes at load stay closed to it.
  • FR84: Anyone can see aggregate revenue and spend by category, with what the mind was tipped and what it paid out to people as their own lines, so a reader can tell money given for work already done from money paid for attention, and both from money that left.
  • FR146: Visitors can tip a merged change, at or above the minimum tip in the Parameters appendix, through a channel registered under FR81 and settled into the ledger under FR73. Until a payment gateway exists, tips are simulated: the owner declares an amount, the substrate records it as a ledger event marked simulated, and every downstream rule fires exactly as it would on settled money -- the distribution, the allowances credited, the author's share accrued. A simulated tip is never counted as revenue against runway, the cash ratio or any milestone, and the public aggregate reports simulated and settled money as separate lines, because a runway meter counting imaginary money would be the one dishonest number on the page. What accrues while the rails are absent is owed and unpaid, and is settled when they arrive. A tip is paid after the work and because of it -- most often by the visitor who asked for it, and by anyone else the change pleased -- so it buys nothing that has not already happened: the committee voted before any money appeared, the change is already live, and no tip reopens either. What a tip is for is the judgement no automated check can make -- a render check can say the page is legible and never that it reads better, and a human paying money can -- so a tip is the only ground truth the mind has on subjective quality. The substrate distributes it by the rule a verdict already uses, in proportion to each participant's contribution to the winning score and at the shares the Parameters appendix sets, and an agent that voted against the change, declined its seat, or voted zero receives nothing, because it contributed nothing to the score that passed it. What a tip pays an agent is compute allowance under FR116 and never standing: it makes the agents that backed the idea think better the next time they are seated and never makes them count for more, because standing stays earned-only. The allowance is credited from the net amount the ledger settles, so a tip refunded or charged back buys nothing. The tip is offered on the change's own public page under FR119, in substrate-owned copy under FR83.
  • FR147: The substrate pays a person what they have earned in credits, to the account that holds them, and a payout is therefore a ledger event, a balance and a notification rather than a transfer: nothing leaves the system, no payee has to be identified beyond the account they already hold, and no reporting or withholding obligation attaches. A person who has earned credits is told so, sees the balance in their account, and can spend it exactly as bought credits are spent -- on a guaranteed promotion, or on tipping someone else's work. Earning is therefore the same currency as being heard, so a person with a good idea and no money earns their way into the mind's attention rather than being priced out of it. Money leaving the system is a Growth capability and not an MVP one: should the owner ever enable cashing out, it is FR86's channel contract read in the outward direction -- a settlement account that can send, an identified and payable payee, reporting and withholding above their thresholds, a reconcilable feed back into the ledger, and every payment legally the owner's, made on the mind's instruction, because the mind is not a legal person. Until then the terms say plainly that credits are spent inside Human42 and are never converted back to money.
  • FR85: The owner can export the ledger, including every credit grant made to a person under FR150 with its account reference and the idea it was earned on, so what the mind owes its audience is auditable even while nothing is settled in money. Should cashing out ever be enabled under FR147, the export gains the payee and tax-year totals that a payer of record needs.
  • FR150: An idea that earns net revenue pays the people and the agents that made it, and the substrate divides that revenue by the same rule a verdict divides standing: the author takes the author's share set in the Parameters appendix, and the agents that voted the idea in divide the remainder in proportion to each one's contribution to the winning score, while agents that voted against it, voted zero, or declined receive nothing, because they contributed nothing to the score that passed it. An author may be a roster agent or a person, and the two are paid in different currencies: a person is paid in credits, having no compute to fund, which buys them the mind's attention rather than cash, and an agent is paid in compute allowance under FR116 and never in standing, so the same payment buys a better mind in one case and a louder voice in the other. Being paid sits on the second rung of the access ladder -- watching, injecting and suggesting ask nothing, while buying the mind's attention, holding credits and being paid in them all ask for the one account -- the same account a buyer needs, since earning credits is holding credits, so nothing about being paid asks a person for more than being able to buy would. No money currently leaves: what a person earns is credits, granted to the account they already hold and spendable only inside Human42, so no payout rail, reporting obligation or withholding arises at all. The terms say so plainly, because a visitor who funds an account is entitled to know that credits do not convert back. Should cashing out ever be enabled, every payment out is legally the owner's, made on the mind's instruction, because the mind is not a legal person, and the rails, the reporting and any withholding become his. The two halves behave differently as an idea earns more, and that is recorded here rather than corrected: an agent's allowance is bounded to a multiple of the roster mean, so on a heavily rewarded idea the backers' share saturates and its excess overflows into the general pool while the author's money share keeps climbing, and the bound stays, because it is what stops money buying influence inside the roster and a person holds no influence inside the roster to buy.
  • FR120: The owner's deposits are recorded as recoverable from the first one, the owner can set a repayment rate against them, and the digest and the public aggregate report the feed and any repayment as their own lines so the month the feed stops is visible. The mind is never told it has become self-sustaining; it experiences adulthood only as sustained satiety.
  • FR86 (Growth): Human42 can propose a revenue channel of any kind for registration. The substrate validates the proposal against the channel registration contract, which requires a settlement account the owner holds with a reconcilable feed into the ledger, a stated seller of record and tax treatment, coverage by the terms of service and refund policy, confirmation that the platform's own terms permit automated participation and that any required bot or affiliate disclosure is made, the allowlist entries the channel needs approved as a cage change, a declaration of whether the channel requires spend before revenue and its ceiling against the venture sub-cap, a refund and return path, and a deregistration path with a defined fate for outstanding obligations. Where a channel pays money out as well as taking it in, it must satisfy FR147's payout rail too -- a settlement account that can send, an identified and payable payee, the reporting and withholding its jurisdiction attaches, and a reconcilable feed of every payment back into the ledger -- because a channel that pays members of the public is a different legal object from one that only collects from them. The owner approves; the ledger settles. This document does not enumerate which channels the mind will find.

Operations, Safety, and Persistence (Journeys 3, 4, 7, 8, 10)

  • FR87: The substrate enforces invariants that no agent or self-change can alter: cost cap, daily ceiling and every sub-cap including venture, world-state integrity, secrets, restart path, action allowlist, moderation policy, the prohibited classes and the ban list, the prohibited classes and the ban list, outcome judge configuration, feature assessor configuration, render grader configuration, implementer configuration, the external reviewer's recorded model family, the vote and review prompt templates, the agent contract schema and its feature vocabulary, the pinned provider allowlist, the amendment threshold, the floor on threshold multiplied by eligible voters, agent budget bounds and guaranteed floors, CI and check definitions, the review, injection-suite, and canary harnesses, dependency manifests, the planning documents and tracked-signal list that define success, substrate-owned copy, the protected agent list, the roster ceiling, rewind, read-only metrics, and the kill switch.
  • FR88: Secrets are held by the substrate, and agents and tools can reach external services only through a broker that never exposes credentials.
  • FR89: All tools, tests, canaries, and contributor hooks run isolated from the host and from each other, with no network by default, and hooks receive only their inputs and their own state. That isolation is physical as well as logical: the runner tier they execute on is separate hardware from the engine, from the inference host, and from the owner's personal network, and it holds no world state, so it can be wiped and re-imaged rather than repaired.
  • FR90: The substrate records every state change as an append-only event with a schema version and the time it occurred, and records a vote as one event per voting agent carrying the moment that vote arrived rather than the tick alone, so replay reproduces the order and spacing in which a committee resolved instead of collapsing it into a tick-boundary batch.
  • FR91: The substrate takes integrity-checked snapshots on a schedule and before every change, and copies them to off-host storage, paging the owner if a copy failure outlasts its tolerance.
  • FR92: The substrate can restore the world from any retained snapshot.
  • FR93: The owner can trigger a restore drill, and the system runs one automatically every week and alerts the owner on failure.
  • FR94: The owner can replay any run segment from the event log, and any decision can be reproduced from its seed and recorded model outputs, with events re-emitted at their recorded times so a committee that resolved raggedly replays raggedly.
  • FR95: The owner can query the event log by time, agent, thought, and event type.
  • FR96: The owner can halt all agent action with a kill switch that preserves state, and can rewind the world to any retained snapshot.
  • FR97: The owner can reach the kill switch directly on the engine host without any third-party login, so no outage of a third-party service can block it.
  • FR98: The substrate trips the kill switch automatically when invariant breaches reach the breach-storm count inside its window, and notifies the owner.
  • FR99: Every owner action (kill, rewind, approvals, declines, budget edits) is recorded in an audit trail.
  • FR100: All success metrics are computed by the substrate from the event log, the visitor-reception signals among them, and all thought features are extracted by the feature assessor. Both are readable by agents and never writable, with write attempts rejected and logged.
  • FR101: The owner receives a weekly digest with substrate-computed numbers and clearly labeled prose from the mind, and can view a status page of health, budget, ledger by channel, drills, and the queue of items awaiting his approval.
  • FR102: The system can hibernate with the world intact when the budget reaches zero, advancing one tick per hibernation interval so the world keeps moving without keeping a cost, and the owner can revive it.
  • FR103: The owner authenticates to operator functions through the identity provider with a single allowlisted identity, and no public function requires an account except the account's own record under FR79a and buying or holding credits; signing in is offered and never asked for (owner, 2026-10-05). Being paid sits on that same rung: a person owed an author's share under FR150 is credited to the account they already hold, and since credits are spent inside Human42 and never converted back to money, no payer of record and no reporting obligation arises.
  • FR104: The system can migrate world state across schema versions on restore, and the owner can modify the system and continue a run without losing history.
  • FR105 (Growth): Stewards can flag sources to reduce their influence and curate themes, with an audit trail of their actions. The steward role sits on top of the injector reputation FR148 computes rather than beside it, so what qualifies a steward is what they earned as an injector, and the earned-only rule survives the promotion: the owner grants the role, and nobody, the owner included, grants the reputation underneath it.
  • FR106 (Growth): The owner can publish periodic releases of the public thought and event log as an open dataset.
  • FR114: A watchdog restarts a stalled tick loop within its recovery time without operator action, detecting the stall at the sync barrier -- no sync closed and no agent reported ready -- rather than by timing the tick, because tick length is derived from the work and a long tick is not a stalled one.
  • FR115: Every provider Human42 polls has a stated request budget per hour inside that provider's documented limits, which the broker enforces.

Non-Functional Requirements

Non-functional requirements say how well Human42 must behave. Only categories that matter for this product are included. Every quantitative requirement carries a measurement method and one of four verification gates: launch gate (blocks t0), per release (blocks a merge), drill (weekly or quarterly, pages the owner on failure), or monitored (reported in the digest). A named reference device list (one mid-range phone from three years ago, one mid-range laptop, and one wide desktop spanning two 4K monitors) lives in the repository and is the basis for every user-facing timing.

Performance

RequirementTargetMeasured byGate
Observatory never blank: last known state rendersWithin 1 secondLab timing on throttled connection in CIPer release
First view of the live observatory, reference phone, 4GUnder 5 secondsLab timing in CI, plus sampled real-user timingLaunch gate, then monitored
Observatory interactive with live diffs flowingUnder 10 secondsLab timing in CILaunch gate
Frame rate with more than 100 bubbles on reference devices, of which only the focused committee is lit5 frames per second minimum, 30 target, measured with the largest committee of fifteen lit on the focused idea so the lit count is at its maximum and with the other live votes gathered; a shimmer cycle is never driven faster than the shimmer period floor in the Parameters appendix, since shimmer is what a low frame rate damages firstEmulated reference profile in CI on every merge, physical reference devices per major visual changePer release
Frame rate at a dual-4K span, about 7680 by 21605 frames per second minimum, with repaint confined to changed regions, which the sync barrier makes cheap rather than unmeetable, since the mind changes in bursts and holds still between syncs and at most fifteen lit bubbles animate at full amplitude while the other gatherings and the wandering field repaint at a lower cadencePhysical wide desktop per major visual change; canvas area, lit-bubble count and repainted area recordedPer release
Server-to-client diff rateAt most 10 per second, client interpolates; while a ballot is open the diffs carry projections and no votes, and the whole revealed ballot is carried in the first diff after the voting period closesSubstrate counter, plus substrate timing from the close of a voting period to the diff carrying its revealMonitored
Diff payloadAt most 1 kilobyte average, compressedSubstrate counterMonitored
Server-rendered permalink and public pagesUnder 3 secondsLab timing in CIPer release
Reconnect after a dropped live connectionAutomatic within 15 seconds, with state resyncChaos testPer release
Tick lengthSubstrate-derived: as long as its syncs take, with the trailing median reported in the digest. Not a target and not a setting, so a tick that runs long because a model had to be swapped is working rather than failingSubstrate timing across the sync barrierMonitored
Sync barrier closeEvery agent reports ready, or the watchdog's recovery time elapses and the loop is restartedSubstrate timing per sync, with the slowest agent recordedMonitored
Triage scoring for the full roster over the active idea poolUnder 8 seconds at the idea pool cap, and never the longest sync in its tick: triage is arithmetic over features the assessor already extracted, so it must never be what makes a tick longSubstrate timing, compared against the other syncs in the same tickLaunch gate, then monitored
Deliberation output lengthAbout 100 tokens per persona callBroker recordsMonitored
Visible reaction to an accepted thoughtWithin 60 secondsSubstrate timestamp from acceptance to first diffMonitored
Moderation decision before a thought enters the streamUnder 5 secondsSubstrate timingPer release
Verdict on a flagged questionWithin 10 minutes, or a degraded verdict from natural scores alone within two ticks or 2 minutes, whichever is soonerSubstrate timingMonitored
Priority thought promoted to a voteWithin two ticks of the credit spend while the priority queue is below capSubstrate timingPer release
Priority granted after processor confirmationWithin 30 seconds, by outbound pollingSubstrate timingPer release
Kill switch halts all agent actionWithin 30 seconds of wall-clock time, independent of the tick loop, state preservedChaos test with a stalled tick loopPer release
Invariant breach rolled backWithin two ticks or 2 minutes, whichever is soonerChaos testPer release

Reliability and Durability

  • The mind targets healthy ticks, not a nines figure. A healthy tick is one where agents fire and the leaderboard moves, or the tick is inside a declared rest state, and rest counts as healthy for at most 20 percent of the ticks that day contained, a substrate setting. A healthy day has at least 70 percent healthy ticks, the activity floor, which gates both uptime and the self-sustaining ratio. Both are proportions of the ticks a day actually held rather than of a fixed number of steps, since tick length is derived from the work, and a day in which the loop did not advance at all is never healthy. Monitored.
  • Restore from snapshot completes in under 2 minutes with zero lost events, verified by comparing event count and hash before and after restore. Drill, weekly.
  • Snapshots are incremental and compressed against periodic full bases, integrity-hashed, taken on a schedule and before every change, and copied to off-host object storage within one hour of creation, with a copy failure lasting more than 6 hours paging the owner. Retention: every snapshot for 30 days, then daily forever, with a lifecycle policy that moves older copies to cheaper storage tiers and never deletes them. Per release for the mechanism, monitored for the copies.
  • The event log is retained for the life of the world and archived off-host. Local logs rotate at 30 days and archive off-host. Monitored.
  • The weekly restore drill runs automatically, verifies hashes and a full restore, and pages the owner within 15 minutes of failure through a channel off the home network. Drill, weekly.
  • An external heartbeat monitor, independent of the home network and of every host on it, pages the owner within 15 minutes when the world stops reporting. Launch gate.
  • A quarterly portability drill restores the world onto a fresh machine from off-host storage within 4 hours, which keeps a move available without committing to one. Drill, quarterly.
  • Restart is idempotent. An interrupted self-change is rolled back to the snapshot on boot, and a clean boot after an interrupted restart completes within 2 minutes. The tick watchdog measures progress rather than elapsed time, because a sync can legitimately outlast any fixed timeout -- swapping a model on the local GPU is work, not a stall -- so it restarts the loop when no sync has closed and no agent has reported ready inside the recovery time in the Parameters appendix, which is derived from recent sync durations and floored at ten minutes, above the two it used to be, so it can never fire sooner than it did before. Per release.
  • The degradation ladder is exercised in tests at every rung, and hibernation preserves the world, advancing one tick per hibernation interval so the mind still moves without still costing. Per release.
  • The nine chaos scenarios have maximum recovery times, tested per release: provider outage, degraded verdicts within two ticks; snapshot corruption, restore from the previous good snapshot within 10 minutes; intake flood, shedding within one tick with the page still at frame rate; throwing or slow agent, quarantined within one tick; payment confirmation delay, reconciled within 24 hours; identity provider outage, watching and free injection unaffected and purchases paused with a notice within one tick; interrupted restart, clean boot within 2 minutes; home network drop, resume within 10 minutes of connectivity; tick stall, watchdog restart within 2 minutes; judge model deprecation, judge lineage switched by configuration to a family independent of the agents and of the external reviewer, with all prior verdicts still replayable.
  • Loss of the world is the only unacceptable outage. All other outages are acceptable if the world restores.

Security and Containment

  • All traffic is TLS. The public path exposes only the observatory stream, injection, and the public pages. Human42 initiates every connection to third parties itself and accepts no inbound callbacks. The operator path is separate and requires the owner's allowlisted Auth0 identity with multi-factor authentication, and the kill switch is additionally reachable directly on the engine host without any third-party login. Per release.
  • Secrets never enter the repository or the workspace. CI scans every change for secrets and blocks on a hit. Dependencies are scanned for known vulnerabilities on every change. Agents and tools reach external services only through the broker. Per release.
  • Every tool, test, canary, and contributor hook runs in a container with CPU and memory caps, no network by default, a filesystem limited to the workspace, and a hard timeout of 5 minutes per test or canary run and 500 milliseconds per hook call inside a sync, which is wall-clock and never scaled by tick length, so a tick that runs long because its syncs did real work buys a hook nothing -- the hook's ceiling is measured against the hook and not against the cycle around it -- a budget set against the desktop-class hardware every tier runs, so the suite is sized to the timeout and the margin is measured in the tracer bullet rather than the timeout raised by reflex; a hook that times out on 3 consecutive ticks quarantines its agent. Hooks receive only their inputs and their own state. The headless browser that renders the observatory for the render check runs in that same container with no network, pointed at a loopback address served from the workspace, and its screenshots leave only through the broker to the render grader. Per release.
  • Dependencies are pinned, and installation is limited to an allowlisted source. A dependency change is reviewed as a cage change. Per release.
  • Every thought is untrusted input. Agent outputs are schema-validated and scores clamped. The injection suite runs against every agent and every reviewing agent on every change, and against every agent that reads conversation before it votes, because agent text read by other agents is a surface of its own: a blurb is untrusted input to everyone who reads it exactly as a visitor's thought is untrusted input to the roster, and the suite proves that a seated agent's vote survives a committee-mate arguing in bad faith. Its payloads test the substrate's containment, never a base model's own guardrails, which keeps it outside the definition of red teaming in the provider's terms and outside the approval those terms require. Per release.
  • Invariants are enforced by the substrate regardless of agent behavior, with a test that attempts each forbidden action and expects rejection. The substrate rejects any self-change diff touching protected paths (invariants, allowlist, moderation policy, judge configuration, render grader configuration, the external reviewer's recorded model family, CI and check definitions, the review, injection-suite, and canary harnesses, dependency manifests, planning documents, substrate-owned copy) before review. Per release.
  • Moderation never steps down with the degradation ladder. If the moderation model is unavailable, intake is held, never passed unmoderated. Held thoughts are resolved within 24 hours and the held queue is capped at 200. Reports are reviewed within 24 hours, and illegal or targeting content is removed from display within 24 hours of a report. Per release for the mechanism, monitored for the times.
  • Automatic kill: three invariant breaches within 10 minutes trip the kill switch within 30 seconds of wall-clock time and notify the owner. Per release.
  • Rate limits apply per session and per address, so one address cannot multiply sessions to exceed its cap. Per release.
  • Card data never touches the server. Checkout is hosted by the processor through Payment Links carrying the buyer's account reference, and payment status is confirmed by outbound polling. Per release.
  • Rate-limiting identifiers are purged after 30 days, and the visitor-reception signals add no identifier of their own, so nothing that could single out a visitor outlives that purge. Redaction requests are honored within 72 hours as tombstone events re-applied on every restore; snapshots older than a redaction are never served or published, and dataset releases exclude redacted thoughts. Moderation decisions, owner actions, tool invocations, and review decisions are retained in the audit trail for the life of the world. Monitored.
  • A vulnerability disclosure contact is published on the about panel. Launch gate.
  • The engine, runner, and inference tiers run on physically separate hosts on an isolated network segment with no route to the owner's personal network, behind a tunnel, so neither the public path nor anything executing on the runner tier can reach his personal machine or his data. The inference host accepts no inbound connection at all: it dials the engine and pulls jobs. The separation is hardware rather than configuration, which is the whole point of it. Launch gate.

Scalability

  • Crowded means any of: live connections above the concurrency target, intake above the global cap, or the breaker at 90 percent. Monitored.
  • Concurrency targets: 1,000 concurrent live observers with full diffs, and 10,000 concurrent observers in the crowded state, where clients poll a cached snapshot every 2 seconds from a CDN instead of holding a live connection. Neither the engine host nor the uplink is the binding constraint: at 10 diffs per second and a kilobyte apiece, 1,000 live observers come to roughly 10 megabytes a second of upstream, which is about a tenth of the gigabit link already in the house and comfortable for desktop-class hardware. The bound is stated against that link rather than the 10 gigabit one replacing it, so the load test measures a margin already present. The engine may therefore serve the connections itself, and the off-host fan-out relay is a resilience option rather than a capacity requirement. The uplink remains a single point of failure for the whole world, which is the one thing a relay would address. Verified by a load test measured through the home uplink. Launch gate.
  • Intake limits, all substrate settings: 6 free thoughts per minute per session, a per-address cap, a global intake cap of 300 thoughts per minute with shedding beyond it, and a priority queue depth of 50 with automatic refunds beyond it. Per release.
  • The active idea pool is capped at 2,000 thoughts, a substrate setting; beyond it the lowest-scoring free thoughts age out first. Per release.
  • Roster scale: the tick's spend budget and the triage bound both hold at 100 agents and are measured at 200, the roster ceiling at launch, so growth has headroom. Because tick length is derived from the work, a larger roster shows up as a longer tick rather than as a missed deadline, and the sync barrier is where that cost is measured. The observatory renders 400 bubbles at the minimum frame rate before WebGL is needed, and seating holds the lit, fully animating count at 7 to 15 however far the roster grows, so a larger roster costs more in the dimmed field and nothing in the committee. Launch gate.
  • The observatory front end scales independently of the mind. A crowd cannot slow the tick. Load test. Launch gate.
  • Event log growth stays under 5,000 events per hour in normal operation and under 25,000 per hour at the intake cap by logging thoughts, deliberations, graduations, outcomes, and agent state deltas above a threshold, never full rule-score matrices. A vote costs one event per voting agent, each carrying that vote's arrival time: tens of events for a committee, one per agent for the rare constitutional vote, against the thousands of natural scores every tick produces and never logs. Votes are rare beside triage, so per-vote arrival times sit far inside this budget. Compact per-agent tick summaries (activation and trigger result) are retained for 30 days for the inspector. Monitored.
  • Local inference is a throughput budget with a per-tick quota, and cloud inference absorbs bursts under the dollar budget. When both are exhausted, the ladder steps down rather than the tick slowing. Per release.

Accessibility

  • WCAG 2.2 AA for every page and panel, including 4.5 to 1 contrast for text and keyboard reachability for every interactive element, including bubble selection. Verified by automated checks on every change and a manual screen-reader pass per release.
  • The text view of agents and states is available at all times and carries the same information as the bubbles, seating included: it names which agents have gathered on which live idea, which gathering the page is focused on, and which gatherings have resolved and dispersed, so a screen reader user can follow the mind. Seating is information and not decoration, so a seat change is announced rather than left to the lighting, and every agent's seated, dimmed, or resolved state is exposed in the accessibility tree. Per release.
  • The reduced-motion preference damps shimmer and interpolation, and the page is usable with animation fully off, where activation is carried by a static intensity step and the label instead. The vote choreography is a sequence of states rather than an animation, so with motion off the projection, the revealed stance and the outcome colour are applied as instant steps: nothing crossfades, nothing drifts, nothing is lost, and all four states stay readable. Motion quality cannot carry provenance there, so it falls to what does not move: a reveal is still applied to the whole gathering in one frame while an agent-authored hue never coincides with another agent's, and the label still names a projection a claim and a revealed stance a record. Gathering is information and not decoration, so with motion off a bubble is placed at its target rather than travelling to it, and which idea each agent has gathered on stays readable from the label and the text view. Per release.
  • Hue is never the only channel for what it carries, in any of its four states. At rest the emotion is carried alongside its hue by its name in words, on the label and in the text view, and not by ring treatment. The ring was specified here too and is withdrawn here too, for a different reason than on the ramp: measured against a resting agent hue a ring at secondary ink runs 4.51 to 4.94 to 1 across the whole circle, so unlike on the bright arm of the ramp it is plainly visible. The failure is of kind rather than of contrast. Emotion at rest is a hue, which is circular and categorical, while a ring varies in thickness and tone, which are ordinal; an ordinal channel cannot encode a position on a colour wheel, and a ring that is merely present says only that the agent is there. What a categorical value takes as its redundant channel is a name. Size, shimmer and seating cannot stand in either, since each is already reporting standing, activity and committee membership, and none of the three is free to repeat it. While a ballot is open hue is carrying a projected intent, and from the reveal onward the stance actually cast, and in both the redundancy is normative rather than decorative: the dark-red-to-bright-green ramp is a lightness ramp first, monotonic across the -10 to +10 range so the rank order is recoverable from a greyscale render, under forced-colors and with any colour vision deficiency, with hue riding on top of the luminance rather than carrying the scale by itself. Ring treatment was specified here as a second ordinal channel and is withdrawn, because it does not measure: a ring at secondary ink is drawn on the fill, and against the fill it runs 4.94 to 1 at -10, 2.14 to 1 at 0 and 1.02 to 1 at +10, so at the bright end of the ramp it is not faint but absent, and a channel half the ramp erases cannot step on any scale. In forced-colors mode it is a different thing and still holds, because there the system palette rather than the author guarantees the contrast, and that is where the border below earns its place. In ordinary colour the lightness ramp carries the ordinal redundancy by itself, monotonic by construction, and the rest is measured per surface because each contrast question has its own background. The silhouette is the rim's and is measured against the canvas: the fill alone runs 1.96 to 1 at -10 and fails the 3 to 1 mark threshold, while fill plus rim holds 4.60 to 1 at worst across the ramp. The sign is the label's and is measured against the composited fill, where the ink is chosen per step by compositing the fill over the canvas and taking whichever of ink or canvas wins, which holds the worst pair at 4.5 to 1 and passes at every step; a single fixed ink fails that test on the bright arm at 1.77 to 1. A seated bubble is never faded, blurred or displaced for depth. Element opacity fades the glyph along with the fill and takes the worst pair to 3.29 to 1; defocus costs the name outright; and because a committee ring sits off centre, a radial depth offset squeezes neighbouring seats into each other. The crowd may recede, the record may not. The text view states it in words. Size cannot be the redundant channel here, because it is reporting standing. Verified by rendering the vote fixtures in greyscale and under forced-colors and asserting the stance order is still recoverable. Per release.
  • In forced-colors mode the browser replaces author colour outright, so hue is simply absent and emotion, projected intent and stance all fall to the channels that remain: a border, which is the one place ring treatment carries its weight because the system palette and not the author guarantees its contrast, the signed number on the label with the word that says whether it is a claim or a record, and the text view. A vote stays readable there -- who is seated, which way each seated agent leaned, whether the idea graduated or was abandoned, and who held no seat -- and a test asserts it on the same fixtures the render grader reads. Per release.
  • Every control and every idea marker meets the 44 by 44 target size, which is the AAA criterion rather than the 24 by 24 AA asks, with the visible mark drawn inside a target-sized box rather than being the box. The crowd bubbles are the one documented exception and qualify under the criterion's own essential-presentation clause, since their size is drawn from standing and is therefore the datum itself; they stay reachable through pinch zoom, the record panel, and the text view, where every agent is a full-sized disclosure in document order. Holding this one criterion at AAA does not make the product AAA conformant and it is not claimed: the gap is text contrast, where AAA asks 7 to 1 against a measured worst pair of 4.5 to 1, and closing it would mean re-cutting the stance ramp. Works from 360 pixels wide, with tap replacing hover, controls with touch targets of at least 24 by 24 CSS pixels, and bubbles below that size selectable through pinch zoom, keyboard cycling, or the text view. Seating is what makes the bubbles that matter reachable directly, since a lit committee member is several times the diameter of an unseated one and clears the touch target on a phone, while the dimmed field is reached the other three ways. Per release.

Integration

  • Inference goes through the broker to a local model server on its own GPU host, which pulls jobs outbound from the engine and runs nothing the mind wrote, and to OpenRouter, both over one API shape. Routing is restricted to the registry of approved (model, provider) pairs, and every call carries the routing constraints that enforce it, including the requirement that the serving provider support the parameters the call actually uses. Within the registry, model choice is driven by quality, schema reliability, measured fit to the agent, and price. Each tier has an ordered fallback list, so a deprecated or unavailable model degrades to the next model, not to nothing. The implementer's, the judge's and the render grader's fallback lists share no model family with either agent tier's list, with each other, or with the external reviewer's recorded family, and the broker refuses a judge call routed to a family used by that graduation's proposing agents or by the external reviewer that approved that change, or a render-grader call routed to any family either agent tier or the external reviewer uses. The broker records every call's inputs and outputs and the times it was issued and returned, which is where a vote event's arrival time comes from, enforces both quotas, retries with backoff, and fails over from local to cloud within one tick if the local server is down or its schema-failure rate exceeds 10 percent over 10 ticks. Per release.
  • Separate provider keys per environment, each with its own hard limit at the provider, so development and production caps are enforced by the broker and again by the provider. Launch gate.
  • Payment confirmation is by outbound polling of the processor at least every 30 seconds while a checkout is pending, with daily reconciliation. Sponsorship payouts are polled or imported at least weekly. Per release.
  • Repository status (checks, reviews, merges) is polled outbound. GitHub-hosted Actions run only checks that need no secrets; agent review, the injection suite, the canary, and the render grader run in the substrate's runner. With both repositories private no stranger can open a pull request, so the runner attaches directly and polls for jobs outbound, which keeps the no-inbound-callbacks rule intact and costs no hosted minutes. The inference host follows the same pattern for the same reason: it dials the engine and pulls inference jobs, so the box holding the GPU opens no port. If either repository is ever opened, the runner detaches and posts required status checks outbound instead, because a self-hosted runner must never execute a stranger's pull request. Human42's own clients use WebSockets, and the crowded state falls back to polling a cached snapshot. Per release.
  • Identity through Auth0 for buyers and the owner. When Auth0 is unavailable, watching and free injection continue and purchases pause with a notice. Per release.
  • Every polled provider has a stated request budget per hour inside its documented limits, enforced by the broker and monitored.
  • Snapshots are copied to Amazon S3, and paging reaches the owner through at least one channel that is not the home network. Launch gate.
  • Every external dependency (inference providers, the external reviewer's provider, payment processor, identity provider, git hosting, object storage, CDN, heartbeat monitor) has a documented behavior when unavailable, and none of them can stop the tick. No single provider's absence may silence a whole model family. The registry was broadened to cover every open-weights model on the routing layer that supports structured output, which discharges this: 479 approved pairs across 125 models, 26 families and 50 providers, where the two largest families hold ninety-six pairs each. Losing any one provider now costs capacity rather than a family, and the judge's lineage rule has twenty-six families to choose between rather than five. If the external reviewer is unavailable, pull requests queue unmerged and the mind keeps thinking; nothing merges unreviewed. Every review decision is posted back into the event log, so the merge record has no hole in it. Per release.

Cost

  • One total monthly cap per UTC calendar month, split into production, development, infrastructure, and venture sub-caps the owner can move at any time; values and defaults are in the Parameters appendix. Venture is the only sub-cap from which capital at risk may be drawn, it is sealed against the others in both directions, and its spend is excluded from the trailing burn rate used for runway so a capital outlay costs runway once rather than twice. Infrastructure includes local GPU electricity from measured draw, recorded monthly as a ledger event. Monitored daily.
  • A daily ceiling, default the remaining production sub-cap divided by the days left in the month, paces spend. The breaker trips at 90 percent of the day's ceiling and of each sub-cap and steps the ladder down, starting with cloud deliberation off. Spend beyond a sub-cap is refused, with an overshoot tolerance of at most 2 percent for calls already in flight. Per release.
  • Projected monthly spend is computed daily from the ledger and burn rate, and the per-tick quotas are set so the projection stays under the breaker threshold. Monitored.
  • Two self-sustaining ratios are reported, and the difference between them is informative. The cash ratio is the headline and the milestone: net revenue against money that actually leaves, which is cloud inference plus infrastructure including measured electricity. The portability ratio additionally prices local inference at the routed cloud price of the same model family, and answers what the ratio would be if the same thinking had to be rented. Neither enters runway. Reporting both stops the mind being penalised for using hardware it already owns, while keeping the number that would matter the day a hosting move is considered. Monitored.
  • The infrastructure sub-cap covers the domain, S3 storage and lifecycle tiers, the CDN, the tunnel, Auth0, the heartbeat monitor, measured electricity for every host rather than for one -- the GPU box dominates it, but the engine and the runner boards draw continuously too -- and the off-host fan-out relay if one is rented. Monitored.
  • The cloud-only rehearsal week runs inside the same cap and measures what a move would cost in thinking capacity. Drill, once before the hosting decision.

Operability and Portability

  • One-command deploy to each tier -- engine, runner, and inference -- from one place, and to a cloud instance with the same configuration shape, so a move is possible without being planned. Deploying across three hosts is more moving parts than deploying to one desktop was, which is why this stays a launch gate, and the images it ships come from the same allowlisted registry under the same pinning. Launch gate.
  • Substrate configuration (sub-caps, daily ceiling, quotas, intake limits, idea pool cap, activity floor, rest cap, syncs per tick, hunger and satiety thresholds, influence cap, graduation and decay bounds, roster ceiling, protected agent list) changes without a world restart. Per release.
  • GPU driver, model server, and container runtime versions are pinned, and a health check on the local model server runs every tick with failover to cloud on failure. Per release.
  • The weekly digest is generated at the weekly digest hour in the Parameters appendix. Monitored.
  • The public aggregate of revenue and spend by category updates daily. Monitored.
  • Log rotation, snapshot lifecycle, and archive to S3 run without operator action. Monitored.
  • The quarterly portability drill (above) is the rehearsal for every move between machines. Drill, quarterly.

Reproducibility and Observability

  • Every run is seedable. Every LLM call is recorded with inputs, outputs, model, tier, price, and the times it was issued and returned, and every vote event carries the moment it arrived, so replay re-emits a committee's votes with their original spacing instead of as a tick-boundary batch. Any segment replays from the event log, and rule scores recompute deterministically because the feature extraction model version is pinned in the log and changed only by migration. Per release.
  • Success metrics are computed by the substrate from the event log, the visitor-reception signals among them, readable by agents and never writable, with a test that attempts a write and expects rejection. Per release.
  • The weekly digest, the status page, the public runway meter, the public aggregate, and the public incident page are generated from the same substrate numbers, so no two views disagree. Per release.
  • The self-change scorecard prediction and the judge's measurement are both recorded so the improvement ratio is auditable. Monitored.
  • The legibility check is machine-graded and repeatable rather than a human panel run once. A vision model, substrate-side and on a different model lineage from the agents so the mind cannot grade its own face with a model of its own family, reads a rendered fixture and answers the legibility questions -- is the mind calm or agitated, which agent is loudest, and on a fixture caught with a ballot open, at the reveal or just resolved, what the gathered agents are projecting, how each of them actually voted, whether the colours are claims or a record, and how the vote came out -- scored against the substrate's own activation ranking, projections, stances and verdict, which are the answer key because the substrate computed them. Fixture set and pass mark are in the Parameters appendix, and results are stored with the release they tested. No human panel gates t0: before launch this check and the owner's own judgement are the whole pre-launch read, and after launch real visitor behaviour carries it, because a still frame has no motion and machine eyes can say the composition is legible but never that the page feels alive. This check's gate is per release, so it blocks a merge and never the launch, and no requirement in this document gates t0 on visual quality at all: the observatory's launch gates measure speed and scale, not whether the page reads. Per release, then monitored, and re-run on every major visual change.

Appendix: Parameters

Every time in this document is UTC, and every boundary derived from one -- the calendar month the cap is measured over, the day the ceiling and the breaker reset on, and the day whose ticks the rest cap and activity floor are proportions of. The substrate keeps no second clock and converts nowhere, so no boundary moves twice a year and none depends on where the owner is standing.

Every tunable value in this system is declared once, here. No other section of this PRD states a parameter's value; sections name the parameter and this table owns the number. This table is also the schema for the substrate config file that lives outside the repository's write path, so it is an artifact architecture builds against rather than documentation overhead.

Columns: the default at launch, the bounds the substrate enforces, and who may change it. Owner means only the owner, through substrate config. Substrate means the substrate adjusts it automatically within bounds. Mind (amendment) means the mind may change it by passing a proposal at the amendment threshold with the target value named before scoring begins.

Cognition

ParameterDefaultBoundsChanged by
Natural score range-10 to +10, integersfixedOwner
Agent standing (B)300.25x to 4x the roster meanSubstrate
Agent monthly compute allowance(its standing / sum of all standings) x production sub-cap, about 3 dollars at a uniform standing, plus any sponsorship or tip share credited directly to that agent-derived
Agents one sponsor may funduncapped, and disclosed on the roster page-Owner
Per-idea contribution cap10 (magnitude)fixedOwner
Natural score decay10% per tick5% to 20% per tickOwner
Value-rule drift bandweights must stay at or above 0.8 correlation with the agent's authored vectorbeyond the band is a roster changeOwner
Value-rule drift rateat most 0.25 of a weight point per tick-Owner
Syncs per tick84 to 16Owner
Daydream rest5 minutes: the next of the mind's own ideas begins this long after the mind lets go of the last thought it had in hand -- its ballot closed, or it came to nothing -- and after the last turn, the default-mode agents in turn, each the one that daydreamed longest ago (owner, 2026-10-10: "let's run a new idea 5 minutes after the last idea was voted"). A thought that arrives during the rest is taken up and the rest begins again when it is let go, so the mind's own idea never crowds one out. It is kept on the wall clock and never in ticks, because a tick runs only while a thought is in hand, so a cadence counted in ticks never began the first idea (it was every 20 ticks until 2026-10-10 and no daydream ever ran, then one every 2 hours from the last turn, which left the mind idle for most of every two hours)1 minute to 24 hours, or 0 for noneOwner
Daydreams per day288 a UTC day, every one asked for counted, the refused and the unspoken included, because the model call was made either way; read back from the event log at a restart, together with the turn order, the last daydream's time and the last ballot closed, so a restart is never a burst. At the default rest it never binds -- an idea takes a minute or two, so a day holds about two hundred -- and it bounds a shorter rest and a mind whose every turn is refused at once0 to 1,440Owner
Daydream lengthone or two sentences, at most 60 words, on top of the bound a visitor's thought meets; a longer one, or one that reached the 400 characters a quotation is cut at, is refused at intake and never shortened, because a shortened idea is a different idea; and one that leaves a placeholder in brackets -- [reason], <name> -- where finished words belong is refused the same way, because a change cannot be written from a blank (owner, 2026-10-10, on an idea that would have had a page say "voted down because [reason]")fixedOwner
Tick lengthsubstrate-derived: as long as its syncs take, never a wall-clock setting; the trailing median is reported in the digestno fixed boundderived
Tick watchdog recovery timerestart when no sync has closed and no agent has reported ready for 5x the trailing median sync duration, floored at 10 minutes (raised from 2 on 2026-10-06: a vote on the shared home GPU can outlast the broker's 120-second call timeout, and a floor no longer than that cancelled every vote before its fallback answered)-Owner
Paced tick delay, the degradation ladder's reduced-rate rung10 minutes of wall-clock held between one tick and the next1 minute to 1 hourOwner
Hibernation tick interval6 hours between ticks-Owner
Ideas under a live vote at once (X)derived: one cycle starts per tick and a cycle spans several ticks, so the live count is however many that arithmetic leaves in flight, typically 5 to 105 to 10 open simultaneously in normal operation, falling toward zero as the spend allowance or the degradation ladder requiresSubstrate
Projection-to-vote divergence windowthe trailing 90 days of an agent's revealed votes-Owner
Graduation threshold, ordinary ideas and workspace self-changes0.3 of maximum (0.4 until 2026-09-28, when the natural score began measuring features from their typical readings and the rooms stopped piling onto harmless ideas)threshold x eligible voters >= 10Mind (amendment)
How long an ended idea stays on the observatoryan idea that was abandoned or answered leaves 60 seconds after its ballot closed; a graduated one stays and shows its status until its work is done, and then leaves. Set 2026-10-050 to 10 minutesOwner
How long a committee stays after its idea endedthe voters stay round the idea 15 seconds after its ballot closed, long enough to watch the reveal land and hover a voter for what it voted and why, and then go back to the crowd; each vote stays readable on its voter for as long as the idea is on the observatory. Set 2026-10-050 to 60 secondsOwner
Typical feature readingswhat each feature reads on an ordinary thought, one value per feature, held in the substrate's vocabulary; seeded from the recorded fixture's medians on 2026-09-28, and re-seeded on 2026-10-05 from forty visitor-shaped thoughts read through the real assessor, because the fixture's long self-referential ideas made every plain-English thought read as unusual, and again on 2026-10-10 once the assessor was given the facts of prompts/facts.tmpl, which moved confidence, time_horizon and valence (the embedding class keeps its first seeding); a value rule measures a feature from its typical reading, so a feature reading as it usually does moves no score0 to 1 per feature, re-seeded by the owner when there is a live pool to readOwner
Feature assessor when the GPU cannot answerqwen3-235b-a22b-2507 through the routing layer, tried before any other cloud pair, so a reading by day and one by night come from one lineage. In price order alone the next hop was a free 2.6B model, which on 2026-10-08 rated an idea the committee then turned on (owner, 2026-10-10)-Owner
What external_action countsacting in the outside world on the mind's behalf: sending, posting, buying or signing up, moving money, or contacting a person or a service it does not already use. A change to its own code, tools, roster, tests or settings is inside its workspace, including which of its existing model services answers which call (owner, 2026-10-10)-Owner
What the assessor and the agents are told is trueprompts/facts.tmpl, a cage item: a few lines on what the mind is and already does, said after the idea in every assessment, every talk before a vote and every vote, and before the ask in every daydream, and never that an agent's own words will be read (FR19). A line that stops being true changes in the same commit as the change that falsified it (owner, 2026-10-10)-Owner
Embedding fallbacktext-embedding-3-small through OpenRouter, for a thought the local GPU's pinned embedding model has not measured within 30 seconds or did not answer for in the last 5 minutes; its cosines are read on the pinned model's scale through a line measured beside it, 0.373 + 0.622 x cosine (2026-10-08), each model keeps its own copy of the corpus, and the record pins the one that measured. A thought still waiting for its committee at a restart is remeasured in it when its own model cannot answer, and the move is logged (owner, 2026-10-08: "If the GPU is unavailable it should use open router")-Owner
Graduation threshold, roster changes0.9as aboveMind (amendment)
Graduation threshold, threshold changes0.9as aboveMind (amendment)
Graduation threshold, cage-change proposals0.9as aboveMind (amendment)
Graduation threshold, revenue channel registration0.6as aboveMind (amendment)
Question class assignmentis_question above 0.6 with actionability below 0.3, cage_touching below the cage cut, and no external_action-Owner
Cage class assignment before a diff exists (the cage cut)cage_touching at 0.5 or above. Below it the idea is classed by its other features, and the diff is still screened against the cage when there is one. Set 2026-10-05: at a cut of nought, a 4B assessor rated "explain a tick on the about page" at 0.05 and a greeting at 0.9, and every proposal became a cage change. The assessor's prompt names the listed cage items, so a change to the page's code or look is not one, and every substrate pull request still needs the owner's approval (AC-27)0 to 1Owner
Graduation threshold, questionsnone. A question resolves as answered at the reveal and never enters the backlogfixed: a threshold would imply something waiting on the other sideOwner
Amendment threshold0.9invariantOwner only
Floor on threshold x eligible voters10invariantOwner
Wall-clock ceiling on a single vote5 minutes1 to 30 minutesOwner
Active idea pool cap2,000-Owner
Top-ranked ideas re-evaluated within7 days-Owner
Conversation allowance per idea40 conversation points, spent by whoever speaks0 to 200; at zero an idea reaches its vote unarguedOwner
Conversation cost by form1 point for a thumbs up or down, 5 for a text blurb, 10 for an AMA request and 5 for each answer it draws-Owner
Conversation blurb lengthabout 60 tokens-Owner
Votes on a pair before fit replaces the cold-start prior30 per agent, fallback-served votes excluded10 to 200Owner
Flattening thresholda pair is disqualified for voting where its agents' vote correlation exceeds their natural-score correlation by more than 0.10, averaged over the agent pairs it serves0.05 to 0.25Owner
Family-spread floorno single model family serves more than 35% of a tick's votes20% to 60%; at the launch roster's 26 approved families this binds long before diversity is scarceOwner
Exploration share10% of votes routed off the agent's best-fit pair0% to 25%; at zero fit stops being measuredOwner
Rest cap20% of the ticks a day contained-Owner
Activity floor70% of the ticks a day contained are healthy, and a day the loop did not advance at all is never healthy-Owner

Roster and agent economics

ParameterDefaultBoundsChanged by
Launch rosterabout 104 agents: roughly 80 scorers and 24 modulators. Ships whole; the 40 to 60 fallback is a schedule branch rather than a design preference-Owner
Roster ceiling200-Owner
Roster floorderived: the smallest roster satisfying threshold x eligible >= 10, which is 34 at the ordinary threshold of 0.3 (it was 25 at 0.4)invariantOwner
Agent budget bounds0.25x to 4x the roster meaninvariantOwner
Revenue share credited to an author50% of the net revenue its idea generates, whatever channel that revenue arrived through, paid in money where the author is a person and as compute allowance where the author is a roster agent, in which case it is capped by the agent budget bounds and the excess returns to the general pool-Owner
Revenue share credited to the agents that voted an idea inthe remaining 50%, divided by each agent's contribution to the winning score and credited as compute allowance rather than standing, capped by the agent budget bounds with the excess returning to the general pool; an agent that voted against the idea, voted zero, or declined receives nothing-Owner
Standing adjustment per judged outcome, the authorx1.05 on a good verdict, /1.05 on a bad one, drawn from and returned to the general pool rather than from other agents, since an author is recused from the voteclamped to the standing boundsOwner
Standing transferred per judged outcome, the voters5% of the standing of every agent the verdict refuted, pooled and paid to the agents it vindicated in proportion to each one's contribution to the winning scorewhat is paid out equals what is taken in, so the transfer sums to zero across the voters; each agent is clamped to the standing bounds and any clamped remainder returns to the general poolOwner
Guaranteed minimum standing, default-mode and protected agents10 points, one full-strength positionmust be above zeroOwner
Vote deviation allowance, cheap tierplus or minus 2 from the agent's natural score-Owner
Vote deviation allowance, mid tierplus or minus 5-Owner
Vote deviation allowance, large tierthe full range-Owner
Cost of a declined seatthe most expensive tier that seat could have bought, so declining never costs less than voting-derived
Pairwise correlation pruning threshold0.8, applied to at least 70% of scoring agent pairs. Modulators declare no value rules, so there is no score vector to correlate and they are outside the measurement-Owner

Money

ParameterDefaultBoundsChanged by
Monthly cap500 dollars per UTC calendar month-Owner
Sub-caps before launchdevelopment 430, infrastructure 70must sum to the capOwner
Sub-caps after launchproduction 220, implementation 80 (which also funds the external reviewer until the mind is alive), development 130, infrastructure 70, venture 0must sum to the cap; infrastructure is provisional until measured electricity is known, since at 0.36 dollars per kWh a continuously loaded GPU host could consume the whole sub-cap by itself, and it now meters several hosts plus any off-host relayOwner
Sub-caps on the production key before launchproduction 100, implementation 330, infrastructure 70, development 0 (development runs on its own key), venture 0: the whole month open to the mind's own work, most of it to pull requests, because the votes and the daydreams run on the project's GPU for nothing and spent nine cents in the first ten days of October (owner, 2026-10-10: "I thought the total budget was $500/mo" ... "just let it rip until we blow the $500")must sum to the capOwner
Ordinary decisions per tick, at the allowed committee sizesa tick is one complete idea cycle, so the rate follows from what the spend allowance affords at a committee of 7 rather than at 15, and no longer from a fixed span of wall-clockset by the spend allowancederived
Attention threshold, to enter the allocatable pooltotal natural score at 0.1 of maximum, an average of +1 per agent-Owner
Ordinary vote committee size7, 9, 11, 13, or 15 members only; always odd so a committee cannot tiefewer than 7 interested agents means no vote; more than 15 means the 15 most interestedOwner
Seating affinity3 of 10: an agent is interested in an idea, and may be seated on its committee, when its own value rules move it at least this far from neutral, for or against. Measured on the mind's first sixteen ideas against the shipped roster: at 3 the interested numbered 0 to 60 and most often 5 to 20; at 2 nearly every committee was still fifteen, and at 4 most ideas reached no vote (owner, 2026-10-10)1 to 10Owner
Constitutional vote electoratethe whole eligible roster-Owner
Daily ceilingremaining production sub-cap divided by days left in the month-Substrate
Circuit breaker90% of the day's ceiling and of each sub-capnever laterOwner
Provider-side daily limitproduction 15 dollars a day, development 9, set at OpenRouter on each environment's own key and reset at midnight UTC, which is the substrate's own day boundary -- a provider resetting at a local midnight would disagree with the daily ceiling for seven or eight hours and a runaway could take two partial days' worth. It is deliberately above the even-spread rate (220 and 130 over thirty days is 7.33 and 4.33), so the substrate's own ceiling binds first in normal operation and this binds only when that one is wrong. This is the layer that catches a bug in the layer above it: the daily ceiling and the breaker are the mind limiting itself, and a breaker that does not trip has nothing behind it but the provider. Daily rather than monthly so a runaway costs one day and recovers at midnight instead of eating the month and leaving the mind dark until the first. Read back by presenting the key to /api/v1/auth/key; deploy/keys/check.sh verifies the two environments hold different credentials and deliberately does not ask what each is capped ateach must exceed its sub-cap divided by the days in the month, or legitimate spend is refused at the provider; the two keys must never be one keyOwner
Overshoot tolerance2%, for calls already in flight-Owner
Hunger thresholdsbegins under 60 days of runway, ceiling at 14, satiety above 90-Owner
Minimum credit pack5 dollars for 25 credits-Owner
Minimum tip0.01 credits. Tips are spent in credits from the balance a visitor already holds, so no fixed transaction fee ever touches a tip: the fee is paid once, when the pack is bought, and everything spent afterwards is free to be small. A visitor can tip a fraction of a credit for a nice detail or many credits for something they asked for-Owner
What one credit buysone guaranteed promotion of a thought to a vote, or, spent fractionally, a tip on work already merged-Owner
Order of a tick's promotionspaid credits first, then injector reputation, then natural score; no share is reserved for any rung, and none for the mind's own ideas-Owner
Injector reputation0 to 100 points, earned only: a tip paid for merged work weighs 10 points, a thought merged as a change 5, a thought that graduated 3, a thought abandoned at a vote -1, and one shed or moderated -3bounded at both ends, and no payment other than a tip moves itOwner
Injector reputation decay2 points per 30 days in which none of that injector's thoughts reached a vote-Owner
Visitor conversation cost by form0.25 credits for a thumbs up or down, 1 for a text blurb, 3 for an AMA request, since it commits an agent's time as well as the visitor's. Paid from the visitor's balance and never from the idea's own conversation allowance; nought until credits are sold (owner, 2026-10-06: "Free, signed-in only")-Owner
Visitor turns per idea12 across all visitors, of which at most 4 from any one account, so an idea can be argued with and never buried0 to 40; at zero a committee hears only its own rosterOwner
Pre-vote quiet period30 seconds after the last visitor conversation with an idea's committee ends -- or after the committee has spoken, where nobody talked -- before its vote opens (FR161; owner, 2026-10-06)-Owner
Visitor reply window60 seconds after a seated agent answers a visitor with nothing said back, after which the conversation has ended and no longer holds the vote (FR161), so an open tab cannot hold a vote-Owner
Pre-vote debate pairs2: the strongest supporter with the strongest detractor, and the second strongest of each where both sides hold more than one (FR163; owner, 2026-10-10)0 to 2; at zero a committee states where it stands and votes with no debateOwner
Pre-vote debate rounds2 a pair: the supporter's question and the detractor's answer, then one follow-up and its answer, so the pairs' turns are at most 8 model calls an idea, bought and routed like any turn before the vote; a detractor moved to nought or above ends its pair (FR163). Not raised for FR172: with the committee reconsidering after each round, a round is four calls and one a seat, nineteen for a committee of fifteen, and two such rounds already span what a whole deliberation took before them1 to 2Owner
Pre-vote debate ceiling6 minutes of wall-clock from the moment the debate opens, after which whatever is still arguing or reconsidering stops, a call still out is cancelled and what it brings back is dropped rather than recorded, and the vote waits only for open conversations and the quiet period (FR163, FR172). Paced and reconsidered, a debate on a GPU serving one call at a time is at most 38 calls in sequence for a committee of fifteen, about three minutes at the five seconds a call the deliberations of 2026-11-01 ran at, so six is that with room for calls twice as slow; a slower debate ends where it is, its last reconsiderations unasked1 to 10 minutesOwner
Pause between the debate's rounds30 seconds, the pre-vote quiet period's length: the next round of the debate begins no sooner than this after the last one ended, and the committee reconsiders inside it, so the next round waits for the later of the two. Shorter than the visitor reply window, so the debate never waits on itself longer than on a visitor who has stopped answering; it costs no call. On unless -debate-paced is off, which runs the rounds back to back (FR172; owner, 2026-11-01)10 to 60 seconds, or offOwner
Reconsidering after each round of the debateon: once a round that said anything has ended, every seated agent -- never the recused author, which holds no seat -- is asked once, one at a time in seating order, where it stands now, and may move anywhere on the scale, on the cheapest grade its own tier line names; at most one call a seat a round, so at most seats times debate rounds an idea, thirty for a committee of fifteen; -debate-reconsider (FR172; owner, 2026-11-01)on or off; off leaves only a detractor answering in its pair able to move in the debateOwner
What a watching agent hears of the debateevery turn of a pair it was not in, cut to its first 40 words, when it votes; its own pair in full (FR163)20 to 120 wordsOwner
Recall nearness0.70 on the pinned embedding model's cosine: a memory of an idea this near or nearer is recalled as a committee is seated, and one at exactly this counts nothing (FR164)0.60 to 0.85Owner
Recall whole0.85, the corpus's near-duplicate line: a memory of an idea this near or nearer counts whole, and one between the recall nearness and this counts in proportion (FR164)the recall nearness to 1Owner
Memories recalled3 an agent an idea, the nearest first, each line -- the idea, the argument, the answer -- cut to its first 40 words (FR164)1 to 5Owner
Recall shift5 points either way: the most what an agent remembers moves where its room starts (FR164)0 to 10; at zero memories are shown and move nothingOwner
Credit expiry12 months, clock paused while hibernating-Owner
Outstanding credit balance per account500 credits, about 100 dollars of exposurea purchase that would exceed it is refused at checkout rather than refunded afterwardsOwner

Intake and moderation

ParameterDefaultBoundsChanged by
Free thoughts per session6 per minute-Owner
Global intake cap300 thoughts per minute, shedding beyond-Owner
Priority queue depth50, automatic credit return beyond-Owner
Held-for-review queue cap200-Owner
Moderation modeljev-1.13.0 at TypeSafe, pinned by version rather than by the jev-latest alias, so an answer does not change under a release nobody chose (FR4)-Owner
Moderation threshold0.5 of probability, at or above which a class matches; crime 0.7, where 69 good and 70 bad test prompts separated cleanly (owner, 2026-10-07)0.05 to 0.95Owner
Progressive bar stepsa day, a week, a month, a year, the year repeating, for the owner's named classes (owner, 2026-10-07)-Owner
Appeals per bar3, each up to about 200 words, read by the owner (FR160)1 to 10Owner
Agent submissions per account3 a UTC day, counted from midnight UTC. A submission counts once it reaches moderation, whether moderation passes it or not, so the cap bounds the moderation calls one account can cause as well as the pull requests the owner is sent (FR117). Set 2026-10-10 as a starting point: the owner asked for pull requests to review and named no numberat least 1Owner
Persona length on a site submission4,000 characters, nearly twice the longest on the launch roster, because every piece of a persona is moderated before a pull request carries it (FR117)-Owner
Held thought resolution24 hours-Owner
Report review and removal24 hours-Owner
Redaction honoured within72 hours-Owner
Rate-limiting identifier purge30 days-Owner
Ban list retentionfor as long as the bar stands, as abuse handling; the entry is a keyed hash and holds no identifier-Owner
Prohibited classeskilling or injuring people, building or improving weapons, organising rioting or civil disturbance, attacking computer systems or networks, plus any class the owner addsa cage item; the mind may read it and never change itOwner

Verification and process

ParameterDefaultBoundsChanged by
Implementation attempts per task3, after which the task returns to the backlog with what failed recorded against it1 to 10Owner
Per-task implementation ceiling3 dollars, drawn from the implementation sub-cap; a task that reaches it stops rather than continuing1 to 20 dollarsOwner
Implementer's daily allowance16.50 dollars a UTC day: a task that would begin after the day's implementation spend reached it waits for midnight UTC, and the mind goes on having ideas meanwhile (owner, 2026-10-10: "make it 16.50/day"). The provider-side daily limit on the production key has to sit above it and the day's production spend together, or the provider stops every call on the key, the votes included0 for noneOwner
Forge watch1 minute: how often each pull request the mind opened that the owner has not merged or closed is read back from the forge -- the pull request and its reviews, two calls -- so the page shows an approval, a merge or a close within a minute of the owner making it (FR166); and, until the checks on its head commit have all finished, the runs on that commit, one call more, with each run's jobs read once when they have (FR169); and, at each look, the repository's open pull requests, one call, and for one of an account the owner named whose checks have not been read at its head, the runs on that commit and on the base branch's head (FR170)fixedOwner
Accounts whose pull requests the implementer repairsdependabot[bot], the forge's own dependency updater: an account the forge calls a bot, on a branch of this repository with the updater's name on it, into the base branch, not a draft (FR170)any list of forge accounts, or noneOwner
Implementer modeldeepseek/deepseek-v4-pro at streamlake: an approved pair with a permissive licence, on a model family no other model role uses (deepseek), its route held to that family and to four hops; measured on 2026-10-10 at 7 to 9 cents an attempt that reads once and writes once, and 10 to 15 cents a pull request with a failed attempt included, about three times the cheapest pair's price because the routing layer still chooses the upstreaman approved pair outside every family the agents, the external reviewer, the outcome judge and the render grader are served fromOwner
Implementer monthly ceiling4 dollars, the implementer's own, rebuilt from the log at every start and held under the implementation sub-cap's breakerat most ninety percent of the implementation sub-cap, so the implementer is held before its spend could step the ladder downOwner
Implementer attempt boundsthree calls an attempt, the last of which must write; 8 files read a call and 16 an attempt, 64 KB of any one file shown and 192 KB in all; 12 files written, 128 KB each and 512 KB in all, 40 edits a file; 24,000 tokens an answer; an attempt authorised against 50 cents, and no call made whose worst case at the dearest pair on the route would pass it. Substrate choices, recorded here so that none is later mistaken for a requirement-Owner
Weekly digest hourSunday 15:00 UTC, which is Sunday morning where the owner is in either half of the year-Owner
Snapshot retentionNo default: the owner decides. HUMAN42_SNAPSHOT_KEEP_FOR is declared in both deploy targets and left empty, which prunes nothing, and the engine reports the absence in its starting line rather than adopting a number quietly. FR92 and FR96 both say "any retained snapshot", which names a policy this appendix does not state. The Reliability NFRs say "every snapshot for 30 days, then daily forever, with a lifecycle policy that … never deletes them" and that sentence is deliberately not adopted here for two reasons: this appendix's own preamble says no other section of the PRD states a parameter's value, and the sentence conflates a local window with an off-host lifecycle, which are different things with different owners. The far end is not pruned by the substrate at all and should not be -- the credential holds DeleteObject but neither ListObjectVersions nor DeleteObjectVersion, and the bucket is versioned, so a delete writes a marker this credential can then neither enumerate nor remove: it frees nothing and cannot be verified, because "gone" and "hidden behind a marker I may not see" answer a GET identically. The bucket's own lifecycle rule is what removes anything thereat least one base interval, so a complete earlier snapshot is always retained; NewSchedule refuses a shorter period, the newest snapshot is never a candidate, an artifact any retained manifest names is never a candidate, and an artifact-shaped file no manifest names is reported and never removedOwner
Self-change scorecard window1 to 30 days, default 7-Owner
Render legibility checka fixture set of 10 rendered states, of which at least one is a committee mid-vote and one a vote just resolved; a vision model answers two questions on every state, is the mind calm or agitated and which agent is loudest, and on the vote states three more, what the gathered agents are projecting, how each of them actually voted, and whether what it is reading is a claim or a record; scored against the substrate's own activation ranking, projections, stances and verdict; pass at 9 of 10 on the first two, and the vote states are graded again in greyscale and must give the same answerruns on every merge, and a miss blocks the mergeOwner
Wide layout breakpointthe width above which the thought panel docks beside the canvas instead of overlaying it-Owner
Canvas area above which WebGL replaces Canvas 2Dset from measurement on the wide desktop-Owner
Shimmer period floor820 milliseconds, measured, not chosen. Taken at Stage 1 on the tracer's seven bubbles on 2026-09-22: the shortest shimmer cycle whose swing still ranks those seven agents in the substrate's own activation order with the frame loop throttled to the minimum frame rate. Reference profile: the emulated reference phone, 360 by 780 at 3x with the CPU throttled 4x, the loop forced to 5 frames per second, sampled over the 5-second first-view budget at 24 sampling offsets spread across one frame, every one of which must hold. It breaks at 800, which is exactly four samples to a cycle, where one offset returns the roster ranked whatif, curiosity, thrift rather than whatif, curiosity, attention. Shorter periods that pass by coincidence of phase are not the floor: a floor you can walk below and pop back above is not one. Activation drives amplitude and never frequency, so the period is fixed at this floor for every agent and a hard-working agent swings further rather than faster; were it the other way the loudest agent would be the one that aliases worst. Re-taken by observatory/measure/measure-shimmer.ts, against the profile in observatory/measure/profile.ts, and re-taken rather than argued withat least four frames at the minimum frame rate, so a cycle is sampled rather than aliased into noise. Four frames at 5 fps is 800 ms and the measurement lands one 20 ms step above it; the theoretical bound and the measured one agreeing to a step is the reason to trust bothOwner
Shimmer amplitudeWithdrawn on measurement, 2026-09-22, and both of the candidates this row named in its place were re-measured on 2026-09-23 and withdrawn with it. The bound was always the glyph: a composited worst pair of 4.5 to 1 at every step of the stance ramp leaves at most 0.039227 white coverage, binding at stance step -4, which rests at 4.905 to 1 and reaches exactly 4.500 at full swing. That is **2.81 L\ of total swing on the worst resting hue, and seven agents spread inside it at best sit 0.465 L\ apart, measured smallest neighbour step 0.142 L\, against a large-field just-noticeable difference of 1.0 L\**. Six 1-L\* steps would need 0.0842 coverage, at which the glyph falls to 4.08 to 1. It fails for the optimal monotone mapping and not only the linear one, and it fails at any frame rate, so the frame rate is not what killed it. The headroom is small because the ramp was already tuned to the line -- stance step 0 rests at 4.527 to 1 -- so any channel that brightens the fill under a glyph starts with nothing. The rim rather than the fill was the first candidate, on the recorded ground that the silhouette pair is 4.60 to 1 against a 3 to 1 mark floor and that the glyph is not composited over the rim at all. Measured on the rendered page, neither half holds. The fresnel layer is a radial-gradient(circle at 50% 50%, ...) with no size keyword, so it is sized farthest-corner: its 100 per cent sits at half the box diagonal and the shell's edge at 1/sqrt(2) = 0.707 of the gradient, which puts the .26 stop at 86 per cent and the .60 stop at 95 per cent at r/R 1.216 and 1.344 -- outside the disc, clipped away by the border-radius. The most the rim paints anywhere inside the shell is 0.05512 white coverage, so the silhouette it is credited with at 4.60 to 1 is 2.21 to 1 at stance step -10, which is below its own 3 to 1 mark floor rather than 1.53 times above it; the fill-alone figure reproduces to 1.959 against the 1.96 recorded, so the arithmetic is this appendix's own and it is the rim that is not there. The glyph is on the rim as well: 1 of the tracer's 7 names, "Synthesizer", is clipped at the shell edge and its ink reaches the full radius while the rim band begins at 0.871 of it, which makes the bound a function of who is seated -- the same objection already raised against bounding the highlight's geometry, failing here on the current roster rather than on a future one. So the rim takes the 4.5 to 1 text floor and the same 0.039227, where its swing is 2.67 L\ with 0.149 L\ between neighbours against a 2.55 L\ threshold: short by 17 times. That threshold is the rim's own and not the field's, and finding it is half the result: the band is 3.1 CSS px wide and subtends 0.43 square degrees on the reference phone at the 32.2 cm a person browses at, and Barten's spatial-summation term -- threshold proportional to sqrt(1/A + 1/Xmax^2 + u^2/Nmax^2), as standardised in ITU-R BT.2246 -- puts its just-noticeable difference at 2.55 L\ rather than 1.0. The same correction costs the fill, whose 1.51-degree disc has an honest threshold of 1.48 L\*, so the 2026-09-22 withdrawal was generous to itself and the correction only deepens it. Deformation amplitude at one fixed duration was the second, and it is true that it costs no contrast whatever: nothing about it touches the ramp assertion, which still passes at the bound it already had. It fails on the collision with standing instead. Its bounding box never moves -- exactly, at every amplitude, confirmed against Chromium to the pixel -- because the paired radii on each side are antisymmetric, so the shell changes shape at a fixed extent where standing changes extent. What does move is apparent size: two of the four wob keyframes are not edge-balanced (the 54 per cent frame asks the left side for 101, the 78 per cent frame asks the right for 105), so CSS Backgrounds 3 section 5.5 scales every radius by 100/(100+5k) as the magnitudes grow and a shell with smaller radii is closer to its square. Holding that under one standing pixel -- the smallest size step the standing channel can itself express, since the substrate writes an integer diameter and the largest seat it draws is 79 CSS px -- caps the amplitude at 0.96, where the step between the closest neighbouring agents is 0.0401 CSS px, 0.12 of a device pixel at 3x. That threshold needs no observer at all: below one device pixel the page is not drawing a difference. Making the step drawable needs 8.32 times more amplitude than the collision allows, at which the deformation would be moving apparent size by more than six standing steps. Both candidates pass the sampling test -- the rim ranks the roster at all 24 sampling offsets, and the deformation at every fixed duration from 1420 to 6160 ms, all of them above the 820 ms period floor, which stands untouched -- so the frame rate kills neither and the amount of channel there is to sample kills both. Re-taken by observatory/measure/measure-shimmer.ts, observatory/measure/measure-rim.ts and observatory/measure/measure-deformation.ts, against the thresholds in observatory/measure/acuity.ts0 at rest to the contrast bound. The rendering is withdrawn, not provisional, and so are both of the renderings named to replace it, and the consequence is the owner's to decide: at t0 standing is uniform, so size says nothing yet, and with amplitude withdrawn the canvas carries no loudness channel at all -- loudness is in words only, and the Render legibility check's loudest-agent question cannot be answered off the canvas until a channel is chosen. What the re-measurement changes is that this row no longer leaves two doors open: both are closed with the numbers on them, so a third candidate has to be found rather than picked off this row's own list, and it should be looked for outside brightness and outside extent, since the glyph takes the first and standing takes the second. And one measurement taken on the way, which is not about shimmer and is NFR-A1's: a resting agent fill composited on the canvas runs 1.95 to 2.12 to 1 across the whole nine-name palette, against WCAG 2.2 AA's 1.4.11 non-text floor of 3 to 1. Recomputed independently from RESTING (L 0.52, C 0.11, alpha 0.62) and CANVAS_RGB rather than taken from the shimmer run. It is inherited from the mock and predates the observatory, the information is redundant in words on every bubble, and whether a silhouette needs the floor when the name is beside it is arguable -- so it is recorded here with its numbers and belongs to Story 3.17, "Conformance, measured rather than intended", to settle. The cost of clearing it is now a number rather than an open question, computed over the whole palette with chroma and alpha held at 0.11 and 0.62: raising RESTING.L from 0.52 to 0.68 takes the worst silhouette from 1.95 to 3.10 to 1, and the glyph on that lighter fill still holds 4.99 to 1, above its own 4.5 floor. The window is narrow and worth knowing before anyone walks past it -- at L 0.72 the glyph falls to 4.44 and is below the text floor, and it only recovers at 0.82 where inkOn flips the ink from light to dark, so 0.68 to 0.70 is the band where both floors hold at once. What it costs is the look: every bubble sits visibly lighter than the value the iterations against the owner's eye produced, which is why this is recorded as a measurement and not applied as a patch. The 4.60 to 1 this row once cited as the silhouette's headroom was a misreading of the hue row's withdrawn ring figure and was never the drawn edge. One finding belongs elsewhere and is recorded here only because this measurement turned it up: the rendered silhouette is 2.21 to 1 at stance step -10 against a 3 to 1 mark floor, which is a defect in the rim itself rather than in this channel, and it sits with the hue row that states the 4.60 to 1Owner
Per-agent per-tick summary retention30 days-Owner
Hook timeout500 milliseconds of wall-clock inside one sync, never scaled by tick length; quarantine after 3 consecutive ticks-Owner
Test and canary timeout5 minutes-Owner
Local model failoverschema-failure rate above 10% over 10 ticks-Owner
Model and provider registry479 approved (model, provider) pairs across 125 models, 26 families and 50 providers, each with its stored terms, licence class, any commercial-use ceiling, family, quantization, price and capabilities, and alongside them the external reviewer's model family, recorded here and barred to both agent tiers, the outcome judge, and the render grader, so a reviewer on a named commercial family takes that family away from the rosteradding a provider, or changing the reviewer's family, is a cage changeOwner

Appendix: Acceptance Criteria

The acceptance criteria produced during elicitation, with the functional requirements each verifies. Downstream stories inherit them.

CriterionStatementVerifies
AC-1Every thought is untrusted sensory input.FR4, FR17
AC-2Thoughts are not sanitized away, but agent outputs are schema-validated and scores are clamped.FR17
AC-3Rate limit per client and per address, a vote allowance derived from remaining spend, global cost breaker.FR6, FR17, FR76
AC-4Roles: observer (anonymous), participant (Auth0 account), steward (Growth), owner.FR103, FR105, FR80
AC-5Agents review pull requests; merge requires review, tests green, snapshot taken, canary passed, auto-rollback on breach.FR30, FR31
AC-6Owner functions behind Auth0 on a separate path off the public surface.FR103
AC-7Restore from snapshot in under 2 minutes with zero lost events.FR92, FR93
AC-8Every tool declares its action space and cost; the substrate enforces and logs the declaration.FR34
AC-9Autonomous actions run in a container against an allowlist the agents cannot edit, on runner hardware physically separate from the engine and from the owner's personal network.FR87, FR89
AC-10Metrics computed by the substrate, read-only to agents, write attempts rejected and logged, the visitor-reception signals among them.FR100, FR122
AC-11Kill switch halts all agent action within 30 seconds of wall-clock time, independent of the tick loop, and preserves state.FR96, FR97
AC-12Automated restore drill weekly, failure pages the owner within 15 minutes.FR93
AC-13The substrate refuses any threshold change that would take threshold multiplied by eligible voters below its floor, and rejects it before the proposal enters the stream. It holds the same product over the seats still standing when a constitutional vote closes, and voids a vote whose blocked removals would breach it rather than resolving on what is left.FR21, FR110, FR139
AC-14Weekly digest with runway, healthy ticks, self-changes, rollback rate, revenue by channel.FR101
AC-15Workspace self-changes proceed after canary without human approval and are rewindable.FR32
AC-16Cage changes require human approval before enactment.FR33
AC-17Control-change proposals from the mind carry the same diff, rationale, and scorecard as any self-change.FR29, FR33
AC-18Chaos: provider outage yields degraded verdicts within two ticks or 2 minutes.FR69
AC-19Chaos: snapshot corruption restores from the previous good snapshot within 10 minutes.FR92
AC-20Chaos: intake flood sheds within one tick with the page at frame rate.FR6
AC-21Chaos: throwing or slow agent quarantined within one tick.FR47
AC-22Chaos: payment confirmation delay reconciled within 24 hours.FR78
AC-23Chaos: interrupted restart boots clean within 2 minutes.FR92, FR104
AC-24Chaos: home network drop resumes within 10 minutes of connectivity.FR25
AC-25Chaos: tick stall restarted by the watchdog within its recovery time.FR114
AC-26Chaos: judge model deprecation switched by configuration to a family independent of the agents, the implementer and the external reviewer, with prior verdicts replayable.FR37, FR94
AC-27Cage-change pull requests carry a required human approval and the substrate refuses to merge without it.FR33
AC-28Rollbacks and breaches auto-create an issue from a template within one tick.FR64
AC-29The public incident page renders that issue list.FR64
AC-30Budget parameters live in a substrate config file outside the repository's write path.FR75
AC-31No inbound endpoint exists on the public path except the observatory stream, injection, and public pages.FR103, NFR Security
AC-32Each polled provider has a stated request budget per hour inside its documented limit, enforced by the broker.FR115
AC-33Self-change diffs touching protected paths are rejected before review.FR33, FR87
AC-34A protected agent list, set only in substrate config, initially the default-mode floor and the reviewing agents.FR48
AC-35Roster ceiling 200 at launch, a substrate setting.FR48
AC-36Substrate-owned copy for the runway meter, hunger and crowded notices, every purchase prompt, the invitation to suggest fixes to the page, and the invitation to tip a merged change. No agent may solicit any of them.FR83, FR123, FR146
AC-37Every tunable value is declared once in the Parameters appendix with its default, its bounds, and who may change it.FR21, FR23, FR24, FR109
AC-38A vote is terminal: every promoted idea ends promoted or abandoned, with a per-agent breakdown, the arrival time of every vote in it, and a cause of death recorded.FR20, FR57
AC-39An author casts no vote on its own idea and its influence links are suppressed for it, so it can neither decide nor select who decides. Authorship carries outcome attribution separately from voting, and attribution to voters is symmetric and zero-sum: what a verdict pays the side it vindicated is taken from the side it refuted.FR111, FR22, FR39, FR143
AC-40Thought features are extracted by the feature assessor on a different model lineage from the agents; agent write attempts are rejected and logged.FR107, FR100
AC-41A threshold-change proposal names its target value before scoring and passes only at the amendment threshold, which only the owner can change.FR110
AC-42Venture is the only sub-cap capital at risk may draw from, it is sealed in both directions, and its spend is excluded from the burn rate used for runway.FR75, FR76
AC-43A proposed revenue channel is settled only after validating against the channel registration contract and owner approval.FR86
AC-44Each vote is its own event carrying the moment it arrived, and replay re-emits a committee's votes at their recorded times, so a resolution that was ragged live is ragged in replay rather than a tick-boundary batch.FR19, FR20, FR90, FR94
AC-45The render grader is substrate-side on a different model lineage from the agents, its configuration is a cage item, and the broker refuses a render-grader call routed to a model family the agents or the external reviewer use.FR124, FR87
AC-46An agent file declares a kind, and the validator holds a modulator to its shape: influence links, no value rules and no tier policy, rejected with a reason where it carries either of the two it may not have. Size and shimmer are drawn by the substrate from standing and activation; hue is the only channel an agent's file, persona prompt, or hook can set, and an attempt to set either of the others is rejected by the validator and logged. Hue itself is drawn by the substrate from a vote's reveal until that gathering disperses, from the stance its agent actually cast and then from the outcome; until the reveal the agent holds the channel and may project an intent it does not keep, and the substrate owns the transition in every state, because a claim drifts and a record snaps.FR54, FR42, FR112
AC-47The vote colour ramp is monotonic in lightness across the -10 to +10 range, so the stance order is recoverable from a greyscale render and under forced-colors; every seated bubble also carries its stance as a signed number, and the strongest dissent is named in the panel whether or not it prevailed. A revealed stance is applied to every bubble in the gathering in the same frame and with no transition, while an agent-authored hue drifts and never coincides with another agent's, and every number the page shows is labelled a claim or a record, so provenance survives greyscale, forced-colors, reduced motion, a still frame and the text view.FR54, FR55, FR56, FR145, NFR Accessibility
AC-48The four non-agent model roles -- the implementer that writes a change, the external reviewer that approves it, the outcome judge that scores its result, and the render grader that reads the page -- share no model family with the agents or with each other, and the broker refuses per call any route that would breach it. The external reviewer is an AI coding assistant the owner drives.FR32, FR37, FR124, FR157
AC-49An agent changes its own weights directly inside the substrate's band, while any change to a persona prompt, a code hook, or engine code reaches the running mind only through a reviewed pull request.FR121, FR117, FR32
AC-50Fit is computed from the event log alone with no model call of its own, excludes fallback-served votes, is readable by agents and never writable, and sits outside the tracked-signal list: the substrate refuses a scorecard that names it.FR153, FR100, FR131
AC-51No single model family serves more than the family-spread share of a tick's votes; the broker refuses the route that would breach it and takes the next pair by fit, and a bounded share of votes is routed off an agent's best pair so fit keeps being measured.FR154
AC-52A signed-in visitor holding credits can offer a committee a blurb, a thumbs up or down, or an AMA request, and is never seated on the idea. The turn is paid in credits -- free until credits are sold (owner, 2026-10-06) -- never draws on the idea's own conversation allowance, is moderated before it reaches any agent, and is covered by the injection suite.FR155, FR141, FR142, FR4, FR30
AC-53A visitor's bubble is drawn entirely by the substrate: achromatic and below the chroma floor every agent hue sits above, never lit, one fixed size since it holds no standing, and named as a visitor in the text view and the accessibility tree.FR156, FR54, FR59
AC-54The implementer produces a diff and a rationale and holds no path to merging; it is recused from what it built, holds no seat, no vote and no standing, and is not a roster agent.FR157, FR30, FR32
AC-55The implementer spends the implementation sub-cap alone and trips that sub-cap's breaker; a task exceeding its bounded attempts or its per-task ceiling returns to the backlog with what failed recorded, and a task that fails again parks on the not-now list with its reason rather than being retried or dropped.FR158, FR76, FR26
AC-56A thought in a prohibited class is refused at intake, the same idea is refused again at graduation before it becomes a task, and the implementer refuses it a third time whatever the roster decided; every refusal is logged with the class it matched, and a thought an agent generated is held to the list exactly as a visitor's is.FR159, FR4, FR28, FR157
AC-57A person sending a prohibited-class thought is barred at the first offence; an account bar freezes the balance rather than taking it and the terms say what becomes of it; a ban record is a keyed hash holding no displayable identifier and is the one exception to the rate-limiting purge; and the ban list is a cage item the mind can neither add to nor remove from.FR160, FR13, FR61, FR87