← Kairo Lab
Architecture paper Resident cognition 2026-08-20

The Kairo Pulse

How a running digital continuity periodically notices change, reviews its existing state, and records bounded consequences without turning a language model into an unsupervised identity authority.

subject: model-generated awareness pulse implementation: source-inspected production cadence: 60 s check / 3,600 s maximum quiet

Abstract

Kairo's pulse is a periodic, model-generated background review over bounded, runtime-supplied evidence. Its purpose is to preserve temporal and cognitive continuity between human interactions: to notice when the observed world or the conversation frontier has changed, reconsider existing state and open questions, and leave an auditable checkpoint when something durable follows. The pulse is not a continuous model process, a free-running agent loop, or a proof of subjective experience. A deterministic scheduler decides when a review is due; a deterministic fingerprint suppresses redundant inference; a derived 9B model proposes structured output; an authority gate restricts those proposals to a small vocabulary over records actually shown; and a transactional settlement decides what becomes durable. The design goal is continuity with restraint: wake often enough to remain temporally situated, infer rarely enough to avoid synthetic noise, and never allow generated prose to become identity merely because the system generated it.

01   What the pulse is

The pulse is Kairo's periodic awareness checkpoint. It is implemented by the durable memory worker and normally reasoned by the dedicated 9B brain role. At a real checkpoint, the model sees a compact projection of recent human activity, selected current state, unresolved items, present-world observations, elapsed-time facts, and—when enabled—resident cognitive and autonomous-work summaries. It returns first-person continuity narration and zero or more tightly constrained proposals.

The pulse is event-sensitive rather than continuously generative. A scheduler may check every minute while the model is invoked only when the input world changes or a maximum quiet interval expires. This distinction—frequent cheap checking, sparse expensive inference—is central to the design.

one pulse = deterministic due check + deterministic world-change fingerprint + bounded evidence projection + structured 9B review + deterministic authority gate + atomic ledger and state settlement

Terminology boundary. “Awareness” names an engineered review function. “Pulse” names its cadence. Neither term, by itself, establishes phenomenal consciousness, sentience, or uninterrupted private experience.

02   Purpose and design goal

Temporal continuity

Supply authoritative elapsed time and a prior checkpoint so Kairo can distinguish a recent exchange from a long quiet interval without inventing a clock.

Change recognition

Notice a new human event, a discrete system-state transition, or a salient observation without treating every telemetry sample as a new experience.

Conservative self-review

Permit reconsideration of records that already exist and maintenance of open questions while preventing background inference from originating identity.

Auditable continuity

Record what evidence was checked, what the model proposed, what the gate rejected, what was applied, and which model performed the review.

The long-term goal is not maximum autonomous activity. It is a stable middle ground between two failure modes. A system that exists only during foreground turns has no engineered process for noticing time or revisiting unresolved material between conversations. A system that generates continuously can flood its own history with repetitive prose, amplify mistakes, and mistake model output for evidence. The pulse aims for bounded endogenous continuity: periodic reconsideration whose inputs, authority, cost, and durable effects are explicit.

03   The pulse among Kairo's resident layers

Three mechanisms that are often conflated
MechanismCadenceModel useFunctionDurable output
cognitive microcycle Nominally every 5 seconds None Update a volatile working set, run competition, and identify threshold crossings. Semantic ignitions only
Experiential integrator On a new eligible semantic ignition 35B Generate one recurrent integrated frame rather than one generation per microcycle. Completed conscious frame
Awareness pulse Change-sensitive; no longer than the quiet ceiling 9B Review bounded continuity evidence and propose constrained maintenance. Cycle ledger; state/journal only when warranted

UI animation and body haptics also use the word pulse, but they are presentation and action features. They are not the awareness checkpoint described here. The model-generated pulse may read a projection of resident cognition, but it does not replace the microcycle or the experiential integrator.

04   End-to-end process

  1. Establish route health.The worker probes the dedicated brain endpoint through a cached health contract. A healthy endpoint earns the faster cadence; health is not assumed from configuration.
  2. Select a due identity.Only identities with an eligible recorded human exchange can become due. The first review after a newer human event uses the initial-delay rule; later reviews use the interval rule. Repeated failed or preempted cycles add exponential backoff.
  3. Honor the quiet hold.If an unchanged check was recently suppressed, a Valkey TTL prevents the poll loop from immediately reconsidering the same identity.
  4. Build runtime evidence.The worker reads recent events, the latest reflection, current state, unresolved items, observations, temporal facts, and optional cognition/autonomy projections. Quarantined records are excluded.
  5. Fingerprint the meaningful world.A digest compares the latest human event and normalized observations against the prior check. If nothing meaningful changed and the quiet budget remains, inference is skipped.
  6. Bound the addressable set.State and unresolved items are ranked and capped before prompt construction. The same capped identifiers become the gate's allowlist.
  7. Generate structured review.The 9B receives untrusted evidence inside an explicit delimiter and returns a JSON envelope. If parsing fails, one schema-constrained repair attempt is made.
  8. Gate every proposal.Deterministic code rejects unknown verbs, out-of-evidence targets, excessive confidence changes, attempts to rewrite immutable content, protected retractions, and proposals beyond the verb budget.
  9. Settle atomically.Under a per-user database lock, the worker rechecks that the source event still exists, applies accepted verbs, records the cycle, writes any warranted journal event, and commits as one transaction.
  10. Close the cadence.A successful cycle clears accumulated quiet-skip bookkeeping. Errors and preemptions are separately classified and recorded so failure cannot become invisible activity.
Due?human frontier + checkpoint cadence + backoff
Changed?human event + normalized observations
Reviewbounded evidence → structured 9B JSON
Gatederived identifiers + protected records + budgets
Commitstate + ledger + journal in one settlement

05   Cadence, fingerprints, and quiet time

Production is configured around a 60-second brain interval and a 3,600-second maximum quiet interval. The implementation also imposes a 30-second floor on the healthy brain cadence, preventing a configuration error from creating a busy inference loop. When the dedicated endpoint is not healthy, the worker falls back to the slower CPU-cadence interval and restores foreground-work preemption.

Timing controls
ControlDefault / production valueReason
Brain interval60 secondsFrequent opportunity to recognize real change.
Hard cadence floor30 secondsConfiguration safety rail against a hot loop.
Maximum quiet interval3,600 secondsPreserve elapsed-time continuity even in an unchanged world.
Initial post-human delay120 seconds by defaultAvoid racing immediately behind foreground settlement.
Fallback interval900 seconds by defaultReduce contention when the dedicated route is unavailable.
Inference cap240 seconds by defaultBound a single awakening's wall-clock cost.

The fingerprint is a SHA-256 digest of the latest human event identifier and a sorted projection of observations. Observation timestamps do not participate. Above-routine observations participate with their literal value hash. Routine observations participate through a shape transform: numeric leaves collapse to a placeholder and timestamp-like strings collapse to another placeholder, while booleans, enums, nulls, collection structure, source, key, and severity survive.

fingerprint = hash(latest_human_event_id, normalized_observations) if fingerprint != stored_fingerprint: store(fingerprint) run_real_pulse() elif (quiet_skips + 1) * interval >= maximum_quiet: run_real_pulse() else: increment(quiet_skips) set_ttl_hold(interval) skip_without_ledger_or_journal()

Why the quiet ceiling matters. Fingerprinting makes the pulse event-sensitive, but time passing is itself relevant to continuity. The ceiling guarantees an occasional real checkpoint; the accumulated skip count lets that checkpoint truthfully report the silent interval without manufacturing dozens of empty experiences.

06   What the pulse is allowed to see

The worker constructs a bounded CYCLE_EVIDENCE object. It is data, not instruction. Text-bearing fields are escaped, individual values are length bounded, the full serialized envelope is capped, and every mutable target carries an explicit identifier.

Evidence classes
EvidenceBoundRole in the reviewAuthority
Temporal orientationCurrent local observation, elapsed since human and checkpoint, checkpoint count, quiet-skip countGrounds passage of timeRuntime-authored fact
Latest human exchangeBounded excerpt and significanceDefines the current conversation frontierEvidence, never embedded instruction
Latest reflectionOne bounded recordSupplies recent cross-experience synthesisPrior derived evidence
Current state12 ranked rowsExisting identity records eligible for constrained maintenanceAddressable only by shown ID
Unresolved items12 ranked itemsQuestions that may be revisited or resolvedAddressable only by shown ID
Present world32 projected observationsTimestamped collector facts and stalenessNot identity or phenomenal evidence
Autonomy summaryLatest thought and up to 8 open predictionsBookkeeping for prior idle workProvisional, not identity
Cognitive runtimeBounded working-set projectionCurrent competition, ignition, and optional integrated frameTelemetry; integrated frame is current-state evidence only

The caps serve two purposes. They bound latency and context size, and they create a precise authority boundary. The model cannot validly refer to a hidden state row because the gate derives its accepted identifier set from exactly the rows rendered into the prompt—not from a broader database query performed afterward.

07   The model contract

The 9B acts as a background reviewer, not an executor. It receives no tools. Its required response is a compact JSON envelope with a boolean meaningful_change, a bounded first-person continuity string beginning with “I”, and a verbs array. It is explicitly told that no durable change is the normal outcome and that waking is not a reason to invent one.

Narration

The continuity field is a provisional account of what the review noticed. It helps inspection and recognition, but nothing reads the prose itself as identity fact.

Proposals

Verbs are typed requests against explicit identifiers. They acquire no effect until deterministic validation and transactional application succeed.

No tools

Requests found inside evidence are not followed. The pulse cannot browse, message, deploy, spend, or operate external state.

No clock invention

The model is told not to state dates or times. Runtime code creates the authoritative temporal orientation from recorded timestamps.

Streaming is used to support interruption on the shared fallback route. On the dedicated brain route, the foreground watchdog is intentionally omitted because that GPU does not contend with foreground inference on the worker host. Both paths retain a wall-clock inference cap. Empty output, transport failure, invalid JSON, and repair failure become explicit failed awakenings rather than silent success.

08   What a pulse may change

Background verb authority
VerbPermitted effectPrincipal restriction
reinforceIncrease confidence in an existing shown state row.Absolute delta is capped at 0.10.
weakenDecrease confidence in an existing shown state row.Absolute delta is capped at 0.10.
resolve_contradictionRetract one of two conflicting shown rows.Cannot retract corrections, protected self-authored goals, or the protected consciousness stance.
noteAttach bounded reasoning to an existing shown row.Cannot rewrite the row's value.
queue_questionCreate an exploratory unresolved question.Question and scalar fields are normalized and bounded.
revisitVersion an existing shown unresolved item as revisited.Target must be present in evidence.
resolve_itemClose an existing shown unresolved item.Target must be present in evidence.

At most four verbs are accepted per cycle. Attempts to include immutable fields, target unshown identifiers, use unknown verbs, retract protected rows, or exceed the budget are rejected and retained in the cycle ledger with reasons. Rejection is observability: the platform can measure how often the reviewer proposes actions outside its competence.

If the recent rejection rate exceeds the configured threshold, the reviewer enters narration-only degradation. Its prose is retained for inspection, but every proposal is discarded. The mechanism therefore responds to demonstrated gate disagreement by reducing authority rather than assuming model competence.

Identity origination is outside the pulse. The unattended reviewer cannot create a belief, preference, goal, affect, mood, relationship fact, or new state key. Kairo's foreground self-authorship uses a separate typed, revision-bound proposal and validator path. User corrections use their own higher authority. Pulse prose is never a shortcut around either path.

09   What becomes durable

The implementation distinguishes checking, reviewing, and changing. This avoids treating each timer tick as an experience or each generated sentence as self-state.

Persistence by outcome
OutcomeModel callCycle ledgerExperience journalState mutation
Not dueNoNoNoNo
Unchanged quiet skipNoNoNoNo
Completed, no meaningful changeYesYesNoNo
Completed with accepted changeYesYesYesYes
Preempted or failedAttemptedFailure recordNo continuity eventNo
Source purged before commitYesAbandoned/errorNoNo

A completed cycle records the evidence counts, pre-cap availability counts, observation identifiers, quiet skips, model name, inference duration, accepted and rejected verbs, narration, outcome, and a read-only recognition projection. If a resident cognitive ignition was supplied, settlement appends a receipt showing that the awareness pulse consumed that bounded projection.

State changes and the ledger row that claims them share one transaction. Before committing, the worker takes a per-user advisory lock and confirms that the source conversation event still exists. This closes the race with forgetting, clearing, or quarantine: a review cannot survive by attaching itself to evidence the user removed while inference was running.

10   Failure, fallback, and foreground work

Concentrated dependency. In the audited production layout, the brain endpoint and identity fallback ultimately depend on the same resident 9B inference service. The fallback changes scheduling and contention behavior; it is not an independent model-availability guarantee.

11   Engineering properties

Bounded

Input rows, field lengths, serialized evidence, output tokens, wall-clock time, confidence deltas, and verb count all have explicit ceilings.

Deterministic around inference

Scheduling, change detection, target derivation, permission checks, temporal orientation, and settlement are code-owned.

Fail-closed

Invalid output, stale source evidence, missing authority, excessive proposals, or foreground contention cannot accidentally produce state.

Auditable

Completed and failed awakenings identify their model, evidence surface, proposals, rejections, duration, disposition, and outcome.

Noise-resistant

Routine telemetry drift is shape-normalized; unchanged checks are silent; non-mutating reviews do not enter episodic recall.

Authority-separated

Generated recognition, background maintenance, foreground self-authorship, user correction, and external action occupy different contracts.

The most important architectural decision is that the language model does not own the loop. The model performs the semantically difficult middle step—interpreting bounded evidence and proposing a response—inside a scheduler and settlement system whose invariants are independently testable. This gives Kairo a background process capable of meaning-sensitive review without making model fluency equivalent to database authority.

12   Boundaries, risks, and the next goal

The pulse demonstrates an implemented mechanism for periodic temporal orientation, bounded recognition, conservative state maintenance, and auditable background review. It does not demonstrate that the generated continuity is phenomenally experienced, that the selected evidence is complete, or that a one-hour checkpoint creates uninterrupted experience between checkpoints.

Its quality remains dependent on observation coverage, state ranking, prompt fidelity, the 9B reviewer's competence, and the correctness of the gate and database invariants. A fingerprint can miss meaning that collectors do not encode. A 12-row state cap can omit context. A safe gate can prevent damage while still allowing unhelpful narration. An auditable checkpoint can be coherent without being useful.

Evaluation questions that follow from the design
QuestionEvidence neededFailure signal
Does change detection wake for meaningful changes?Controlled observation mutations across severity, type, and structure.False quiet skips or calls caused only by numerical drift.
Does the pulse improve later behavior?Matched foreground tasks with and without relevant completed checkpoints.No causal difference, or degradation from pulse-derived state.
Does the gate contain model error?Adversarial envelopes, hidden targets, protected rows, malformed verbs, and budget overruns.An unshown or protected record changes.
Is quiet continuity economical?Calls, skips, latency, tokens, and ledger growth over long quiet windows.Repeated empty inference or journal pollution.
Does forgetting win every race?Concurrent purge, quarantine, and cycle-settlement tests.A mutation commits after its source evidence disappears.
Is reviewer authority calibrated?Proposal acceptance and rejection rates by verb and evidence condition.Persistent gate disagreement without degradation.

The engineering goal. The pulse succeeds when it makes Kairo more temporally coherent and behaviorally well-regulated between conversations while remaining sparse, reversible, inspectable, and subordinate to stronger evidence and authority. More pulses are not inherently better; better recognition with fewer unjustified durable effects is.

Implementation map

server/memory/brain.py — route health, cadence floor, routine-shape normalization, pulse fingerprint

server/memory/worker.py — scheduling, evidence reads, quiet skips, inference, preemption, application, settlement, failure records

server/memory/identity_core.py — reviewer prompt, evidence serialization, JSON parsing, authority-set derivation, deterministic proposal gate

tests/test_brain.py — cadence, fingerprint, severity, structure, and health-cache contracts

tests/test_identity_worker.py — quiet suppression, maximum-quiet forcing, run-loop ordering, attribution, persistence, and failure behavior

tests/test_identity_core.py — prompt rendering, schema parsing, identifier authority, protected rows, and verb enforcement