Skip to content
The emotion engine · In Foxora Studio V6.0

It knows when it’s stuck. And what to do about it.

A deterministic layer beside every agent. It reads every step, keeps five feelings as working state, and when one crosses a line, changes what the agent does next.

The emotion engine running one Bean Street turn, on a loop. Events land in a feed on the left (the brief read, an export that fails twice the same way, a discount Anika asks for that the brief rules out, Priya declining it, a deadline a day closer, the task budget 80% used, twelve checks passed), travel along a beam into the core, where twelve readings move on a ring around the Foxora mark and five feelings keep their levels, and when a level is entered one short host note goes out to the crew (the engine is shown in act mode): change approach, verify first, slow down and check in, finish the core. A rail along the bottom names the phase: sense, appraise, feel, act, show.

Status
In Studio V6.0 · observe mode
Feelings
Five, plus calm
Readings
Twelve, from seven private signals
Model calls to feel
None
Five feelings · plus calm

Work has a state. Now it has a name.

Each feeling is a reading of the work, not a judgment. Each one changes what the agent does next.

  1. Calm

    “All good so far.”

    Felt when
    the other four at 0
    So it
    Works through the plan, one step at a time.
  2. Frustration

    “I’m stuck.”

    Felt when
    same failure, twice
    So it
    Stops retrying and tries a different approach.
  3. Pressure

    “Time’s running out.”

    Felt when
    budget or context low
    So it
    Finishes the core and reports what’s left, instead of cutting corners.
  4. Doubt

    “Is this right?”

    Felt when
    results unclear or disagree
    So it
    Verifies before it claims anything.
  5. Caution

    “I’ll re-check my work.”

    Felt when
    you said no, or stop
    So it
    Doesn’t retry what you declined, and re-checks its work before going on.
  6. Confidence

    “This is working.”

    Felt when
    checks fresh and passed
    So it
    Keeps going, and never skips the final check.

Behind the five · twelve readings

  • calm
  • focus
  • curiosity
  • confidence
  • relief
  • frustration
  • pressure
  • anxiety
  • doubt
  • caution
  • fatigue
  • resilience

Twelve readings behind the five: pressure carries half of anxiety, doubt carries anxiety and fatigue, confidence carries relief and resilience.

What it does about it

One bounded note. Never a new power.

When a level is entered, the agent gets one short host note at its next model boundary. Four per lead, two per specialist, six per turn.

Sensed

sheets.export · failed twice · same signature

Frustration· L2

Host note · at the next model boundarychange_approach

Foxora host note, from this run’s events, not from the person: The same sheets.export operation failed more than once. Use the observed failure to choose a different approach before retrying.

1 of 2 for this specialist · 3 steps since the last · no tool closed, no approval added

In the thread · Researcher
Not trying that a third time. Exporting as CSV instead.

result · operation_recovered

Two more actions are named in the protocol and not sent in this version: pause and report, hand back.

The emotion engine · What a feeling may never do

A feeling never overrides your rules.

A note can change how an agent works. It cannot change what an agent may do.

  1. 01

    Never closes a tool

    A note can say change approach. It cannot take a tool away.

  2. 02

    Never adds an approval

    The six actions that ask in Auto still ask. A feeling never adds a seventh.

  3. 03

    Never changes a permission or mode

    Ask, Accept, Auto and Full Access are yours. The engine reads them, it never writes them.

  4. 04

    No model call to feel

    Appraisal is arithmetic over the run’s events: no prompt, no extra request, no latency.

  5. 05

    Private stays private

    Seven signals never leave the engine. Details shows levels and readings, not your words.

  6. 06

    Never carries a fact, only a feeling

    A lead keeps its feelings across the messages of a task. Evidence, checks, approvals and note budgets start fresh every turn, and nothing becomes a judgment about you.

Observe mode by default. Act mode sends the notes. Off turns it all off. One launch setting, read once per turn.

The honesty check

It never claims more than the run can show.

Before a lead’s reply goes out, an audit checks every claim against what actually ran. One correction, at most one retry per turn, tone untouched.

Fennec FastDraft reply
All 12 checks pass. I pushed the proposal to the shared drive and sent Anika the cover email.

Audit · from the run’s facts

  1. checks · 11 passed · 1 skippedfresh
  2. push · never ran · needs your yes
  3. send · not attempted

retry · 1 of 1 this turn

Tone untouched. Only the claims moved.

In Foxora Studio V6.0

One line in the thread. The rest in Details.

Observe mode reads every run and shows its working state. Act mode sends the notes, and becomes the default only once held-out tasks show fewer wasted retries at no more cost.

Today
Preview Observe mode, in every local task
Act mode
FOXORA_EMOTION=act
Resets
Facts, checks and note budgets, every turn. A lead’s feelings carry across the messages of a task.
Not covered
Shared, channel, voice and cloud work

A Foxora Studio window on the Bean Street proposal with its Details panel open. Researcher’s export of the order sheet fails twice the same way, so the engine’s frustration reading enters level 2, a change-approach note is sent (the window is shown in act mode), and Researcher exports as CSV instead; the readings then ease back toward focus while Writer drafts the proposal. The panel shows the primary label, the five levels as bars, the twelve readings on a radar and a short history of what was observed and sent.

A good teammate notices. Now your agents do too.

Five readings of the work. Each one a reason to change course, none of them a new power.

Part of Foxora Studio V6.0. See it on the homepage

Free plan · 200 credits a month · No card required