Skip to content

Decisions (ADRs)

Each architecture decision record says what was decided, why, and what else was considered. They are numbered in the order they were made; a later record may amend an earlier one, and says so.

# Decision
0001 Derive the world seed instead of authoring it on the scenario
0002 Exclude unconditionable personas at the index, not after sampling
0003 Personas react to impressions, not to individual stimuli
0004 Briefs reference their category ontology by version rather than embedding it
0005 World identity derives from the whole scenario, not the variant
0006 The trace records whole turns in self-verifying partitions
0007 Digest metrics are computed from the weights they carry
0008 Calibration claims carry measured evidence above fixed floors
0009 Identities are derived, and every pin is verified where its object is present
0010 A persona's view is recorded with its turn, verified, and sees only earlier ticks
0011 Worlds resume by replaying their trace, and the runner is the partition's only writer
0012 Fallback models are pinned, and every model call records the route that served it
0013 Loading a brief touches no network; evidence is fetched by a separate command into a sidecar
0014 Category ontologies and audiences are drafted from the corpus and confirmed by a person
0015 A population is built once and carried, never rebuilt
0016 The engine is a research instrument, and its default persona corpus is research-only
0017 A grounded field says whether it was measured or extracted
0018 Calibrate against measured marginals rather than fusing one person from several
0019 The social graph is generated, and what cannot be measured is swept rather than fixed
0020 The pre-flight has two stages: what the corpus holds, then what the draw achieved
0021 The engine speaks one OpenAI-compatible endpoint and imports no provider
0022 Telemetry is exported as OpenTelemetry, carries no persona content by default, and is not the trace
0023 Model calls are requested in batches, answered in request order, and fail as outcomes
0024 A completed attitude is sampled by the engine from a distribution the model gives
0025 A cached sample is never shared across replicates
0026 Elicitation computes the published SSR formula, not a softmax over cosines
0027 Anchor statements are frozen before they are validated, and never tuned on the data that judges them
0028 Elicitation validates the text-to-rating mapping on human data, and records the simulation claim as owed
0029 Anchors are a study input with recorded provenance, and the gate judges every one of them
0030 A persona's state travels with its job, and the trace is the only store
0031 The agent answers in batches, in request order
0032 An unscorable reaction keeps its verbatim, and is scored when a version passes
0033 A tick is recorded whole, or not at all
0034 One trace view over two backends, and one implementation of every derived shape
0035 Run state is derived from the trace, and a checkpoint is only ever a cache
0036 A resume refuses a run whose inputs or engine moved
0037 A budget rung belongs to the run, and a world replays the rung it ran under
0038 A digest reports what a run measured, and says plainly what it could not
0039 A digest is one world's, and a scenario carries the spread between its worlds
0040 Anomalies are rules over what was measured, and report what they cannot measure
0041 Objection clusters are deterministic, and labelled by a verbatim rather than a summary
0042 A report is derived from the record, and carries what produced it
0043 The interface is a single-operator local application
0044 An ontology is an immutable versioned study input, authored against the codebook
0045 The web layer derives nothing
0046 A prompt is reconstructed and verified, never stored
0047 A study's description drafts its audiences, never its category's conditioning set
0048 Channels, survey waves and launch reach are scenario content
0049 A population's categorical gates are judged as one family
0050 A running study shows decisions before they are record
0051 A version shows its personas its own description and price
0052 A version is named outside its identity
0053 Objections are chosen from what turns recorded, and grouped by average linkage
0054 Finished-world analysis reuses a scoped trace snapshot