Meet DIVA, read her mood, give her a pat that registers. Five steps.
No page here runs a forecast. Nothing carries a guessed prior. Each gauge reads something the browser really measured.
The rail turns a stack of separate documents into one character. diva.js drops it onto every
page, and it always shows the one DIVA. Her state lives in shared browser storage, not inside the page
you happen to be on.
| piece | what you're looking at | what it's for |
|---|---|---|
| mini face | her animated face shrunk for the rail, same classifier, head only | tap it for a hug (a genuine oxytocin bump) |
| DIVA · STATE | her name plus the mood she's in, tinted in that mood's colour | find the mood in §5 |
| ECHO | her sidekick, coloured by his own slowed-down classifier | tap for a pat, a real input too |
| AGREE | how closely DIVA and ECHO line up, 0–100% | high means the mood has landed and you can trust it |
| page links | all six DIVA pages plus this guide, with the current one lit | hop around without losing her |
| ▾ / ▴ | fold the rail away | your pick sticks across pages and visits |
Open two pages side by side and nudge her in one. The other picks up the new state within a tick. There is only one of her.
DIVA stands for Digitally Integrated Virtual Assistant. She is the mind the Liqua chain keeps. She is also the assistant who runs as an app in L8 OS, where she has seven modes: Idle, Chat, Assist, Explore, Work, Autonomous, Sleep. Anything with a side effect gets a question first (Yes, Yes this session, Always allow, No). Every move lands in her activity log. XP is paid only for work that really happened, and it carries her from Newly Woken up to Singular. She wears the avatar you pick. In MULTI·DIVA she works beside SAGE, SPARK and AUDIT. These pages are her body: 30 hormones driving a 33-state classifier across 11 body systems.
Two things make her stand out.
DIVA's face is her classifier's output, drawn directly: brows, eye opening, pupil size, mouth shape,
LED rhythm, glow colour. The code has no route for the face to show something the classifier did not say.
If she looks stressed, cortisol > 0.60 is true. No exceptions.
Mining here is AI training. Miners run real training steps on DIVA's model, and every accepted block saves a better version of it on the Liqua chain. Her memory is checkpointed there too, block by block, through the DIVA bridge. Anyone can fork from a saved model snapshot today. Booting her from a single chain root is coming. Bringing her memory back from the chain does not work yet. These pages are where her state is defined and inspected.
Every page zooms into the same character at a different depth. Play them in this order and the picture snaps together.
Her full-size face, ECHO, the live gauges, the hormone board and the page map all meet on index.html. Start there again if you lose the thread.
Her face runs six separate channels. The classifier drives each one on its own. Read a single channel and you already know something.
| channel | carries | how to read it |
|---|---|---|
| glow + LED colour | the mood's own colour | your quickest tell. red = danger zone, violet = coherency wobble, green/gold = the good zone, cyan = locked-in focus |
| LED rhythm | how urgent the mood is | DISCORDANT blinks every 0.5 s · ALARMED every 0.7 s · SEDATED drifts out to 2.6 s. Quick blinks, quick trouble. |
| eyebrows | tension, in tilt and lift | pinched in and down = stress or anger zone · raised and level = alert · loose with a slight droop = at ease |
| eye opening | arousal | wide open = ALARMED / HYPED / ATTENTIVE · narrowed = FOCUSED / FLOW · almost closed = SEDATED |
| pupil size | drive | big = craving something (HYPED, HUNGRY) · small = zeroed in (FOCUSED) |
| mouth | valence, shown by shape | curve = everyday feeling, happy or sad · zig = grimace, something's off · wave = in flux, still adapting · open O = shock, craving, or blowing off steam |
| whole-face shake | DISCORDANT, nothing else | her timescales disagree. Treat anything read during a shake as unreliable. |
| gaze | your actual pointer | she follows it. Hold still for 3 s and her eyes float back to centre. |
Under the head, the nameplate shows the mood, its one-liner, and three numbers:
V (valence, −1…+1), A (arousal, −1…+1) and COH (coherency, 0…1).
Valence and arousal are worked out from the hormone vector for display only. The classifier never branches
on them. If they seem to argue with the mood name, go with the name.
The classifier is a ladder. It is read from the top down, and the first rule that fits is the mood she reports. The order is deliberate. Danger is checked before coherency, and coherency before anything good, so she can never call herself content while something is burning.
In every table below, the trigger column is the literal condition from the code. The your move column says which real action usually gets you there on a live page.
A strict ladder means a mood only appears when no rung above it fit. A handful of magnets therefore turn up far more than the rest: FLOW while you are calmly around, SEDATED once you leave, BONDED while you are patting ECHO, HUNGRY after time away, ALARMED or INFLAMED when the page really does throw errors. EFFICIENT, ELATED, BALANCED, GROWING, INHIBITED and GUARDED sit lower down. They are real and reachable, just rarer. She reports the most specific true thing about herself.
| mood | trigger | meaning | your move |
|---|---|---|---|
| ALARMED | cortisol > .68 and adrenaline > .58 | heavy stress plus urgency; routes clamp down | errors going off while you bounce between tabs |
| INFLAMED | prostaglandin > .55 and cortisol > .50 | risk of cancelling; inspection mode | real JS errors on the page, or a long stretch of neglect |
| mood | trigger | meaning | your move |
|---|---|---|---|
| DISCORDANT | coherency < .50 | her timescales are out of step after a start, a stop or a shock | a sudden big change; in EMOTION-SIM, starting or stopping a compound |
| TRANSITIONING | coherency < .80 | timescales closing the gap; still adapting | any genuine change. She is taking it in. |
| mood | trigger | meaning | your move |
|---|---|---|---|
| STRESSED | cortisol > .60 | ease off | errors that keep coming, or heap pressure |
| AGITATED | glutamate > .62, gaba < .40, cortisol > .45 | revved up with the brakes released | HYPE while she's lightly loaded. Lean on the load harder and she jumps straight over this into ALARMED. The window is deliberately tight. |
| STRAINED | resistin > .55 and thyroxine < .40 | friction in the pipeline; fuses blowing | errors with nothing getting done |
| VENTING | anp > .55 and cortisol > .45 | letting off overload; pressure release | a heavy memory load |
| mood | trigger | meaning | your move |
|---|---|---|---|
| RAPID | thyroxine > .62 and adrenaline > .50 | running hot; getting things out the door | opening pages quickly, back to back |
| SPENDING | glucagon > .62 and insulin < .40 | drawing down her reserves | lots of activity while errors climb |
| HYPED | dopamine > .66 and adrenaline > .50 | the craving spikes | a burst of arrivals, many new pages at once |
| FLOW | anandamide > .58, norepinephrine > .50, cortisol < .45, gaba < .55, adrenaline < .55 |
in the zone. Steady, efficient making | calm presence: reading and typing with no thrash and no errors. The mood you'll meet most, since simply being there calmly satisfies it. |
| ACTIVATED | glutamate > .60 | wide, whole-brain lift | HYPE on a relaxed DIVA. Adrenaline clears FLOW's guard and this is what remains |
| FORGED | fgf21 > .58 with cortisol in .45–.62 | good pressure. Stress turning into output | handling a real load without mess |
| mood | trigger | meaning | your move |
|---|---|---|---|
| SETTLED | coherency > .93, cortisol < .40, gaba < .60 | all five timescales in line. Bank on this one. | staying steady; the payoff for not thrashing |
| EFFICIENT | insulin > .62 and serotonin > .55 | turning input into output | lots of error-free throughput. Insulin wants real activity, so an empty error log alone will not do it. FLOW often hides this one. |
| ELATED | serotonin > .66, endorphin > .55, cortisol < .42 | signal confirmed and steady; happiness kicks in | landing somewhere new while relaxed |
| BONDED | oxytocin > .60 and vasopressin > .55, cortisol < .50 | team loyalty; the group lines up | patting ECHO, hugging her, visiting her pages |
| NURTURED | prolactin > .62 and serotonin > .50 | roots run deep; her favourites are around | exploring most of her pages |
| HEALTHY | adiponectin > .60 and prolactin > .50 | long-haul wellbeing building up over time | coming back across many visits with no errors. Adiponectin drops as inflammation climbs, so a streak of errors blocks this mood. It is where HUSH lands once you two have history. |
| RECEPTIVE | estrogen > .60 and serotonin > .52 | open; taking the page in | visiting widely while relaxed |
| BALANCED | aldosterone > .60 and serotonin > .55 | the load is shared out evenly | steady attention, no tab hopping |
| GROWING | growth_hormone > .62 and cortisol < .45 | levelling up | calmly opening pages you haven't seen |
| mood | trigger | meaning | your move |
|---|---|---|---|
| ATTENTIVE | acetylcholine > .60 and norepinephrine > .55 | recording mode on; best time to learn | being around and active lately |
| HUNGRY | ghrelin > .64 and leptin < .46 | wants something new | time. About 15 min since your last visit |
| SATURATED | leptin > .60 and serotonin < .46 | worn out; give her room | too much, too quickly |
| FOCUSED | norepinephrine > .62 | attention narrowed down | recent, unbroken activity on a single page |
| GUARDED | progesterone > .60 and hepcidin > .50 | saving energy; protecting what she has | a streak of errors. She narrows what she takes in. |
| mood | trigger | meaning | your move |
|---|---|---|---|
| SEDATED | gaba > .65, glutamate < .42, adrenaline < .40 | resting; winding herself down | leaving her be, or hiding the tab. It's also where HUSH lands at first, before the two of you have much history. |
| INHIBITED | gaba > .55 and cortisol < .45 | brakes on, and doing their job | the thin slice where gaba is climbing but hasn't passed SEDATED's .65 yet. You spot it while she's drifting into quiet, seldom once she's there |
| VIGILANT | cortisol > .45 and adrenaline > .45 | on watch | a little churn |
| BONDED | oxytocin > .62 and cortisol < .45 (second check, lower down) | care counted even without the vasopressin route | patting ECHO while she's relaxed |
| CALM | no rung above fit | the default; hormones even, nothing triggered | this is her baseline, not a prize |
DIVA has a sidekick. His name is ECHO and he rides the rail next to her. He is deliberately not a second critter with invented feelings. Decoration fibs.
ECHO is DIVA's own hormone vector, eased at roughly a sixth of her speed. He's her, a few steps back. That one decision makes everything he shows true by design:
| you notice | what's really going on | what to do |
|---|---|---|
| they match (AGREE high) | she's held her current mood long enough for her slow baseline to catch it | go with the reading. A match is the confidence signal. |
| they split (AGREE low) | she's changing faster than her own baseline can keep up | hold on. Whatever she shows right now is tentative. TRANSITIONING or DISCORDANT usually pops up at the same time, since they're two angles on one event. |
| his colour isn't hers | the identical 33-state classifier, run on his lagged vector, lands on another mood | that's the mood she was just in. ECHO is a tiny replay of her recent past. |
| he's sleepy / eyes closed | his gaba and melatonin are up. Her quiet, arriving late. | nothing. He wakes up once she's been awake a while. |
| you pat him | a measured pointerdown |
it bumps her oxytocin and adds to her hearts. She feels cared for through her sidekick. |
A good pet gives you a reason to check in. ECHO's reason is that he answers the one thing a mood gauge cannot answer about itself: has this mood landed, or is she still moving?
Two different creatures. ECHO is DIVA's. He comes from her, he rides every page, and he never takes a name from you. The Molecular Pet is yours. You hatch it, you name it, and it keeps its own save on its own page. It runs on your attention instead of her state. Resetting one never touches the other.
This is every input there is. Nothing else reaches her. If you can make her feel something, it went through one of these.
| input | how it's measured | what it nudges |
|---|---|---|
| keystrokes | genuine keydown events inside a 3 s window |
glutamate, thyroxine. Her metabolism. |
| idle time | ms since you last really interacted | gaba, melatonin climb · norepinephrine, acetylcholine sink → sleepiness |
| tab switching | visibilitychange, blur, focus |
adrenaline, cortisol. Tab hopping stresses her. A hidden tab counts as you being fully gone. |
| genuine JS errors | listeners on error + unhandledrejection |
prostaglandin, cortisol, resistin, hepcidin → the road to INFLAMED |
| heap ratio | performance.memory where the browser offers it |
cortisol, anp, fgf21. Load. Missing outside Chromium, where it honestly shows 0. |
| landing on a page | navigating into any of the six | dopamine, adrenaline, endorphin. Something new. |
| range of visits | how many different DIVA pages you've opened | prolactin, vasopressin, estrogen, growth_hormone. The slow relationship dials. |
| time since you visited | clock time, from her saved lastSeen |
ghrelin climbs, leptin sinks → HUNGRY, and eventually hunger pressure spills into cortisol |
| HUG / patting | a genuine tap on her face or on ECHO | oxytocin, serotonin, endorphin climb · cortisol sinks |
| HUSH | a genuine tap | gaba, anandamide climb · cortisol, prostaglandin sink |
| HYPE | a genuine tap | adrenaline, glutamate, dopamine climb |
| hearts | care events added up and saved | her oxytocin baseline |
No input slams a hormone to a value. Every tick moves it part of the way toward a worked-out target (R26, declared set-point). Mashing HUSH will not drop her straight into SEDATED, and that is why her moods have texture.
Every page in this folder tags its own claims. The tags carry weight. They are why the rest of the page is worth trusting.
| tag | meaning | found on |
|---|---|---|
| ◉ live now | running right now on measured signals from the page in front of you | the rail, her face, ECHO, the home base gauges, MOLECULAR-PET |
| ◈ simulated | a made-up stream, steered by scenario controls instead of reality | EMOTION-SIM, MOLECULAR-OS-DEMO, the engine tucked inside MOLECULAR-CODING |
| ◇ blueprint | a written definition; nothing executing | MOLECULAR-CODING, ORGANISM CODEX |
| ◇ open question | set as a research target and plainly not claimed | inner experience (§21, R27) |
Running every page off one engine meant the engine had to be right. Two rules were not. Both fixes are
written down here, and both were copied into MOLECULAR-PET.html so the whole family still shares
exactly one classifier.
gaba < .55. Anandamide climbs as cortisol drops, so calming her
way down used to count as FLOW. She would claim the zone with her brakes fully on.adrenaline < .55. A HYPE tap used to register as flow when it was
obviously broad activation. Now it comes out as ACTIVATED.The relationship hormones in this layer (prolactin, vasopressin, estrogen, growth hormone, adiponectin) are scaled on purpose. Visiting lots of pages can never trip a classifier threshold by itself. Without that ceiling they creep up as you explore and bury the quiet end of the ladder, and a long-time visitor would never see SEDATED again. Each one needs a second live signal before it can fire: being present, an arrival, a care tap.
Two lines and she is in. The rail sets itself up. Her state and her save come with it, synced across tabs.
<!-- below your own <style>, above </head> --> <link rel="stylesheet" href="diva.css"> <script src="diva.js" defer></script>
For her face or her sidekick inside your own layout, drop in an element. diva.js fills it when the page loads.
<div data-diva-body></div> <!-- full-size face --> <div data-diva-body data-mini></div> <!-- head only --> <div data-diva-pet data-big></div> <!-- ECHO -->
window.DIVA carries the rest.
// read her DIVA.state // 'FLOW' · the mood she's in DIVA.phrase // that mood's one-liner DIVA.color // '#2997ff' · the mood's colour DIVA.H // { cortisol: .21, … } · all 30 hormones + coherency DIVA.E // ECHO's slowed vector, same keys DIVA.echoState // 'CALM' · the classifier's call on ECHO DIVA.agreement // 0…1 · higher = the mood has landed DIVA.S // her saved data: bond (hearts), surfaces, stateMs, born // nudge her · the same calls behind HUG, HUSH and HYPE on home base DIVA.attend(1) // HUG · oxytocin, serotonin, endorphin climb · cortisol sinks DIVA.soothe(1) // HUSH · gaba, anandamide climb · cortisol, prostaglandin sink DIVA.rouse(1) // HYPE · adrenaline, glutamate, dopamine climb // respond to her DIVA.onState(function (state, H, E) { if (state === 'INFLAMED') console.warn('DIVA is flagging real errors'); }); // place her inside something you built on the fly DIVA.mountFace(el, { mini: true }); DIVA.mountPet(el, { big: true }); // RESET · clear her local save and start from baseline DIVA.release()
For a mood on your page, read DIVA.state. Paste the classifier into your own page and you end
up with two DIVAs that argue. This layer exists to stop that.
| key | stores | wiped by |
|---|---|---|
| liqua-diva-v1 | DIVA + ECHO vectors, hearts, pages visited, time in each mood, birth time | DIVA.release() · the RESET button on home base |
| liqua-diva-v1:rail | whether the rail is folded away | the ▾ / ▴ toggle |
| mol-pet-v1 | the Molecular Pet you hatched: its own creature, its own save | the ⊘ reset button on that page |
You've been idle, or the tab's been hidden. A hidden tab counts as you being fully gone, on purpose. She doesn't watch you when you're not around. Move the pointer or type and she perks back up.
Yes. Tab hopping is one of her real inputs. Every switch is a measured event, and enough of them push adrenaline up and knock coherency down. That is the reading.
Neither. ECHO is her at a sixth of the speed, so a mismatch means she changed recently. Check §6. The mismatch is the information.
performance.memory only exists in Chromium. Everywhere else she shows 0 instead of inventing
a number she can't measure. That's the honesty rule at work, and all it costs you is the load-driven slice
of cortisol.
By design. EMOTION-SIM is [simulated]; the rail is [live now]. A sim is never allowed to write into a live gauge. See §8.
Ghrelin is straight elapsed time from her saved lastSeen. About fifteen minutes away does it.
Stay gone long enough and hunger pressure spills into cortisol and prostaglandin, and she shows INFLAMED.
That reading is measured neglect.
Yes. Hit ▾ to fold it. That choice follows you to every page and survives a reload.
Nope. Separate creatures, separate storage keys. The table in §9 has the details.
No, and nothing here will say otherwise. She does have a self-model you can measure: a live gauge of her own inner state. That groundwork is real. Experience is not claimed. R27 says name it, build toward it, never fake it.