A framework for testing functional properties of the architecture
(Part C). None of it claims consciousness; every measure has an
operational definition in research.Measures.
- Ablations (attention, memory retrieval, affect, metacognition,
commitments, volition, global workspace, curiosity, association, goals,
narrative, notifications) and workspace overrides (force a matching
candidate in or out of admission) live in a fork's cognitive
configuration. Original minds refuse them on create and update; only
snapshot restores may carry them, so they are part of the configuration
digest. Excluded candidates are recorded with fate "excluded".
- Self-model experiments override a fork's self-model (capabilities,
identity, goals, knowledge gaps) without touching policy. When an
action's effective policy disagrees with the self-model, cognition
records a self_model_mismatch and corrects the entry; experiments report
self-model accuracy and correction latency.
- Counterfactual experiments replay a mind's recorded stimuli from a
snapshot with chosen events omitted; the report lists what differed in
beliefs, wants, intentions, memories, attention and capability
decisions, in a form introspection can cite.
- Experiments record a protocol (kind, independent variable, controlled
variables, measures), per-variant volition, plan, downstream-by-category
(events reachable from each stimulus through recorded links),
introspection and self-model measures and event ranges; comparisons add
want, intention and plan-capability overlap, measure ranges, a
descriptive architecture share and a downstream delta; reproducibility
is labelled against the previous run of the same definition.
- research.Agency computes want→intention, intention→action, abandonment,
commitment fulfilment and conflict, blocked intentions, replanning,
outcome success and introspection accuracy; MetacognitiveCalibration
relates confidence and expressed uncertainty in replies to later belief
revision, with Brier scores for each half of the period.
- The sandbox test harness gains volition, planning, agency and research
but not the motivation hook, whose wall-clock decay would make replay
comparisons timing-dependent.
The cognitive registry was assembled by hand in three places. Ablation
experiments need the daemon, the test harness and replay sandboxes to
name the same processes and hooks, so they now share
cognition.NewRegistry; hooks are added only when their store exists,
which keeps the harness's previous behaviour.
Snapshots, replays and experiments now record the runtime they ran under:
build (module version, VCS commit, modified tree, commit time, Go version,
platform), schema version, a digest of the non-secret configuration that
ignores secret and credential changes, personality version, policy digest,
model routing including per-mind overrides, prompt versions, deterministic
subsystem versions and timezone. A replay compares its identity with the
snapshot's and is an exact-candidate, a different-build (differences
listed) or incompatible (schema differs; the replay stops before running).
The first non-exact step is analysed into events only in the recording,
events only in the replay, and the components they belong to, labelled as
inferred; live model calls are named as their own source of difference.
Migration 0022 is additive; unrecorded identities are reported as such.
A statement made to a mind is now three things kept apart: the observation
that it arrived, an append-only assertion (attributed actor, stance,
certainty, modality, negation, reported or quoted speech, hypothetical
status, interpretation confidence and notes), and, only for factual
assertions, one piece of evidence for a proposition belief attributed to
whoever actually stands behind it. Reported speech is attributed to the
person reported and weighed as second-hand; hypotheticals, questions and
imperatives create no belief; expressed doubt counts against; a possibly
sarcastic remark is recorded with low interpretation confidence rather
than guessed at. Interpretation is deterministic code; a model may enrich
the claim list but never sets stance or confidence.
Association no longer treats conversational turns as world events:
hypotheticals, questions, requests and consecutive turns by one speaker
cannot seed causal hypotheses.
Adds internal/epistemics, migration 0018, the assertions API, assertions
on belief pages and in belief detail, a shared end-to-end test harness
(tests/harness), end-to-end tests for eight speech patterns, and updates
the milestone test to the new provenance.
- 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