Focus with Lucia is the owner’s conversation with Lucia on the dashboard and
in the docked panel beside every step. It answers from one brain: the
house-state pack, one composition on Fable, and deterministic checks that
refuse any name, amount, date or door the house does not hold.
Definition
Focus is not a search box or a generic assistant. It answers:One brain
Since 2026-09-04 every non-reminder prompt on the served route takes one path (Focus reads the whole house, LUCI-189; Focus answers from one brain, ALGO-40):records the route already holdsthe house-state pack (deterministic, built once per request)one composition on Fable (task focus_ops_house_composition)deterministic post-checksLucia’s answer, at most two doors, the subjects, what is unknown and why
The house-state pack carries the property clock; every stay in window with
its dates in owner words, its money, its open items and its arrival gaps;
unlinked property tasks; the inbox; due reminders; the served Signal Stream’s
top rows as served (rank, category, reason codes, next steps, door key); a
keyed door table for every openable destination; where the owner is standing;
and the last turns and the last offer. The Algorithm’s ranking stays the
ranking: the pack carries the stream as served and never re-ranks it.
One composition returns strict JSON: the answer in Lucia’s words, up to
two doors by key, the subjects, and unknown with its reason. Answer and door
are composed together, so the next move is the sentence’s own door and “yes”
binds to the last offer because the offer is in the pack.
The checks are deterministic and refuse an answer that names a guest, an
amount, a date, a status or a door the pack does not hold, that claims a
completion, or that uses engine words instead of owner words.
The founder’s diagnosis that led here (LUCI-189, 2026-09-03): the old Focus
“is three layers and none sees the house: a regex intent router over the
prompt; an assist model that sees only the prompt; a refinement model that
sees one record.”
Fable is the voice; no fallback
The composition runs onclaude-fable-5-1, pinned on the Development Engine
since 2026-09-04 (ALGO-39; founder: “Keep Fable on.”). When Fable cannot
compose, no other model speaks in her voice. The served answer is one
owner-language sentence with the house clock saying Lucia could not put an
answer together just now, plus at most one door she already holds for the
current subject, with no menu and no canned line. Founder decision, 2026-09-04
14:02 PT (ALGO-40): “No fallback: quiet and honest.”
The founder also recorded the limit of that decision (A stand-in voice,
ALGO-41, Planned): “For now, no fallback. Quiet and honest is fine because we
are internal … Just know and record that this is not a sufficient solution
for a true launch.” A designed stand-in behind a recorded health breaker is the
launch blocker on record; nothing stands in today.
Served contract
The top-level contract is unchanged:meta.focus_path names the path that answered:
meta also carries house_pack_version, house_pack_status,
standing_label, the runtime identity (meta.runtime) and the model
provenance (meta.model_runtime.tasks[] with provider, resolved model,
latency, fallback and provider-reported usage). See
Model Layer.
Doors land on the step. A served door is { key, kind, label, path, booking_id, step_key? }. When Lucia names a step, the Engine sets step_key
from that row’s own next steps and bakes it into the path, and the admin opens
the workspace on that step with the panel standing there (Lucia’s door lands
on the step she names, LUCI-214, 2026-09-06). The legacy recommended_action
is served as null on the house-pack path; the “BEST NEXT MOVE” template and
its CTA machinery left the admin with round 4 of LUCI-217 (admin dev
9d6f2df, 2026-09-06). Doors render under Lucia’s answer in the original
composer.
Standing, never a scope. The admin sends where the owner is as
active_context.workspace (surface, booking, step). The pack reads it as
standing: the label above the thread (“Quinn Salas · Payment · Ask for a new
payment method”) and the answer are one promise (Lucia stands where the owner
stands, ALGO-49, 2026-09-07; founder: “AMAZING”). Standing orients the answer;
it never narrows what the pack holds.
Lucia beside every step. On any workspace step the owner taps Lucia’s
avatar and writes to her; the same composition answers with the step’s own
tools in the pack (Lucia beside every step, LUCI-211). Tools are scoped to the
step by the platform; Fable decides what to say and which tool to propose; a
tool with a side effect runs only on the owner’s tap; the ledger records it.
Founder doctrine (2026-09-05): “the model is Fable, and Fable is smart enough
to help the human property owner through these steps by knowing what tools
are available to Fable/Lucia at the time on that step.”
Truth and model responsibilities
Deterministic state owns:Evaluation evidence
The instrument for Focus is the Focus bank (operator-focus:bank): prompt
plus world profile plus clock in, expected subjects, door keys and a
must-not-say list out, run in pack mode on every push and live on Fable at
the gate (--live --model claude-fable-5-1). It grew from the founder’s four
wrong answers of 2026-09-03 (six cases) to 23 cases by 2026-09-07, all
pack_ok at the ALGO-49 gate.
The Signal Stream’s ranking is gated separately by the Algorithm replay
harness; every Fable-era merge posted “no behavioral change” on the replay.
See LIEA doctrine.
The older Brain quality bank (217 prompts) is not green and never was
(174/217 and 192/217; Eval bank has standing failures, ALGO-36, Backlog). It
no longer decides or speaks on the served Focus path.
Guest signal boundary
Guest signals may seed Focus context only within their verified linkage state.Reminder semantics
“Got it” means the owner saw a reminder. It does not mean the underlying issue was resolved. Reminder and action copy must not imply external completion without verified system state.Protected prompt families
Focus may handle lightweight utility, social momentum, and scoped context prompts without forcing generic triage. It remains bounded to owner guidance and must not become an open-domain assistant. Core doctrine:Historical: the three-layer router
From the intent-layer milestone (2026-04) until 2026-09-04 Focus answered through a regex intent router, an intent-assist model call (focus_ops_intent_assist) and a refinement pass
(focus_ops_response_refinement), all on GPT-5.6 Sol through the Responses
API, with a “BEST NEXT MOVE” template, a Resolver Matrix and a priority chip
on the admin. That path produced the confused, canned, menu-deflecting answers
the founder screenshotted on 2026-09-03 and was retired from the served route
by ALGO-40 (engine dev 283bc48). The intent doctrine it carried is preserved
on Intent System and
Semantic Conversational Intent Assist,
dated.

