- Wants: active wants by effective strength with origin, means, drives,
values, goal, reinforcement, suppressions and each conflict with its
resolution rule; closed wants with their resolution.
- Intentions grouped by status with blocked reasons and plans, plus the
wants that did not become intentions and why. An intention page shows
sources, subordinate intentions, formation terms, every plan revision as
a dependency graph, decisions and the correlated timeline; operators can
abandon it.
- Commitments with polarity, exception, matcher, weight and due time,
live conflicts between commitments, a creation form and close controls.
- Plans with estimate against budget; a plan page with the dependency
graph, per-step expectations, observations and linked approvals,
requests, executions and subordinate intentions, resources, completion
and abort conditions, assumptions, alternatives, revisions and
validation; operators can cancel a plan or release a blocked step.
- Agency timeline labelling each event as wanted, intended, committed,
planned, requested, approved, acted, observed or reconsidered.
- "Why did this happen?" pages built from agency.Explain, reachable from
events, executions in the approval centre, plan steps and intentions.
- A research dashboard per mind (volition and agency rates, introspection
accuracy, action claims, self-model accuracy, calibration by confidence
band, experiments on the mind) and a global research page grouping
experiments by protocol; every figure sits next to its operational
definition and the disclaimer. Experiment pages show the protocol,
reproducibility, build, per-variant research measures, divergence
extras and counterfactual findings.
- The mind tabs gain Volition; the navigation gains Research.
A mind's configuration may override model routing per role (llm_roles);
the router honours it for that mind only and fails closed when the named
model is missing or disabled, so a comparison between providers can never
silently fall back to the default. Experiments may declare variants: each
becomes its own fork of the same snapshot with its own configuration,
personality or routing, receives identical stimuli, and is measured. The
results carry one entry per variant and a deterministic comparison: first
divergent stimulus, belief and attention overlap, mean score difference on
shared propositions, and the ranges of memory counts, goal counts, cost and
capability requests. Single-subject definitions are unchanged.
- snapshots: checksummed JSON archive of every mind-scoped state table plus
identity/personality/config and the event position; stored, downloadable
- fork: restore into a new mind with all ids remapped; event references are
kept so history before the fork is shared by reference
- export/import: same archive; import is hostile-input validated (size,
allow-listed tables, row caps, column names, checksum, forced mind_id)
- compare: deterministic counts, belief diffs by proposition, personality
and config diffs, event mix
- replay: Runtime.Step for synchronous drivers; sandbox fork driven one
stimulus at a time under a forbidden capability context; recorded model
responses via a replaying router; steps labelled exact / approximate /
diverged with recorded-vs-replayed digests
- experiments: definition (overrides, stimuli, expectations, seed, duration),
background run in a disabled subject mind, stored and exportable results
- migration 0015, API, UI (Snapshots and Replay tabs, Experiments section,
compare page), noemactl snapshots/compare/replay/experiments, docs