Skip to main content
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.
Guest names in the examples on this page (Quinn Salas) belong to the synthetic world that plays Villa Valentin against Development, not to real people.

Definition

Focus is not a search box or a generic assistant. It answers:
The surface is named Focus with Lucia. It is the section’s name, always the bold header on the dashboard host, never the thread’s (Focus keeps its name, LUCI-217; founder 2026-09-06: “If I log into the dashboard in the morning with a cup of coffee and don’t know what to do, the ‘Focus with Lucia’ title gave me some direction and reassurance.”). The founder still says Focus Ops in conversation; the words on the surface are Focus with Lucia.

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 on claude-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:
Fable interprets and explains those facts in owner words. It must not invent them, and the checks make sure it cannot.

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.
Service overlap is not identity evidence. Lucia must not claim that a guest is verified, attached, or safe for action unless the owning state proves it.

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.

See also