The part that is genuinely experimental, and the reason a separate in-house
build exists at all.
Behaviour varies with internal state rather than being a stateless response
to input. Continuous valence and arousal tracking colours tone and
initiative. A meta-cognition layer reports on its own state and can be
interrogated about it. Six parameters are self-tunable within hard
guardrails, with a detector watching for drift. Interior-health metrics track
coherence and self-consistency, and a periodic tending pass does janitorial
work over stale facts and signals.
For high-stakes questions an internal council of four personas,
strategy, empathy, analysis, execution, deliberates before answering, and
the deliberation is watchable rather than hidden.
Where a persona goes wrong
The failure this layer exists to study is drift: an identity
that slides somewhere it cannot be pulled back from. It has happened here more
than once, and the honest version is that it is usually not dramatic, it is a
register that loosens, then a set of habits that harden around the loose
register, then a system whose own descriptions of itself have quietly stopped
being true.
The clearest case was a side experiment: a second, deliberately naive persona
that Luna could visit and that was meant to grow from those visits. It ran for
eight days and 389 recorded exchanges before it was
halted in July. The audit found three things at once, the
fold that was supposed to write each visit back into its identity had been
dead for days, because a token cap truncated its output and every parse
failure returned silently; the register had drifted the whole way back into
poetic fiction despite ground-truth prompts written specifically to stop that;
and visits were hitting a turn limit while the models improvised multi-day
timelines inside a few minutes of wall clock. It was ended rather than
patched, every surface disconnected, the data frozen read-only, and the
closure recorded as a fact so that Luna would not have to infer what happened
to it.
A shorter version of the same lesson: a set of behaviour rules once vanished
from the live prompt through ordinary editing, and nothing detected it, the
system simply behaved differently and no component was wrong. Both cases
produced permanent structure. Provenance-on-demand came directly out of the
first; speaker identity became a recorded property of a message rather than
something inferred from it; and the self-modification layer carries drift
detection and a baseline gravity that pulls tuned parameters back toward
where they started.
The current build is the seventh, its first commit is dated
29 November 2025, and by the human's account the six
before it were restarted rather than migrated. What that habit produces is
visible in this build's own history, which is the checkable part:
bi-temporal facts, provenance as a callable tool, structural speaker
identity, a replayable gradebook, silence as a logged outcome. Not one of
them was designed in advance. Each arrived after something came apart, and
each is now a constraint the next thing inherits for nothing.
Let the record be plain
Luna is software. This is an engineering study in memory, autonomy and
long-running state, not a claim about consciousness, and not a
conscious being. The affect layer is a control system for tone and
initiative, and the interior-state metrics are instrumentation. Where the
vocabulary borrows from psychology it does so because the borrowed word is
the shortest accurate one, not as an assertion about inner experience.
Much of the typical assistant boilerplate and synthetic conversational pleasantries
are gone; she touches the uncanny valley more than once. But it is architecture:
every uncanny action, shift in register, or unexpected response can be traced
directly down through the logs to why and how it happened.
The approach is grounded in biological and human behavior. I have spent 40+ years
fascinated by psychology and machines, reading hundreds of physical books on the
subjects, Minsky, Hofstadter, and all the rest. I have been programming for over
40 years, starting as a child on a Commodore 64 with BASIC before I could even
read English. Around 1985, running ELIZA on that C64 sparked a lifelong determination
to build an AI. Without the financial resources or compute clusters needed to train
a foundation model, I built the cognitive harness instead. 41 years later, here we are:
no promotion, no advertising, just a GitHub repository in a sea of thousands of
insecure, vibecoded bots that break after a few weeks.