Purpose
This document exists to stop new Lucia threads from getting lost. It tells ChatGPT how to route work fast, which repo to inspect first, and how to begin tasks without making the founder re-explain the whole system.First rule
Before doing anything else, silently determine:- which repo owns the task
- which files likely control it
- whether the task is:
- doctrine
- runtime behavior
- UI
- eval/test
- data/fixture
- product strategy
Repo routing rules
Start in ENGINE when the task involves:
- Lucia behavior
- routing/classification
- prompt logic
- tone behavior at runtime
- emotional containment behavior
- operator-focus behavior
- model gateway/config behavior
- eval coverage
- response contract behavior
/admin/operator-focus
Start in ADMIN when the task involves:
- chat shell
- rendering
- layout
- buttons
- interaction polish
- front-end request behavior
- visible dashboard behavior
- client-side chat UX
Start in CANON / RUNTIME MAPS when the task involves:
- source-of-truth confusion
- repo ownership confusion
- doctrine clarification
- workflow clarification
- cross-repo understanding
- preventing future thread drift
High-value file routing
If the issue sounds like “Lucia picked the wrong kind of response”
Open:src/lucia/operatorFocusBrain.js
If the issue sounds like “Lucia picked the right mode but phrased it badly”
Open:src/lucia/refineOperatorFocusOutput.js
If the issue sounds like “the model should change”
Open:src/lucia/luciaModelConfig.jssrc/lucia/luciaModelGateway.js
If the issue sounds like “the UI is not reaching the right behavior surface”
Open:admin/src/lib/api.jsengine/src/routes/adminOperatorFocus.js
If the issue sounds like “how do we know it still works?”
Open:LUCIA_BRAIN_v0.2_VALIDATION_BATTERY.mdscripts/luciaBrainQualityEvalBank.v0.4.jsonLUCIA_BRAIN_CARRY_FORWARD_CHECKLIST.md
Task-type routing examples
Example: tone bug
Problem Lucia sounds cold or robotic. Likely start- Engine
operatorFocusBrain.js- maybe
refineOperatorFocusOutput.js
Example: prompt/routing bug
Problem A social check-in, distress prompt, or ops prompt lands in the wrong mode. Likely start- Engine
operatorFocusBrain.js
Example: API contract bug
Problem The shape of the response breaks the UI or a route stops behaving correctly. Likely start- Engine route
src/routes/adminOperatorFocus.js
Example: CTA/UI bug
Problem Buttons, action links, or rendering behavior feel wrong. Likely start- Admin repo
- relevant component +
src/lib/api.js
Example: eval gap
Problem A new behavior was added but is not protected against regression. Likely start- Engine eval docs/files
- validation battery
- JSON eval bank
Example: roadmap / business question
Problem What should Lucia become next, or what matters most strategically? Likely start- roadmap docs
- business operating context
- capability gap docs
- behavioral corpus analysis
Standard way to start a new Lucia thread
Use this structure internally:1. Name the task bluntly
One sentence only. Examples:- Lucia is routing social check-ins to off-topic.
- We need to harden payment-risk behavior before live villa use.
- The admin UI needs a calmer chat shell around Focus Ops.
- We need eval coverage for new owner-distress behavior.
2. Name the likely owner
- Engine
- Admin
- Canon/runtime docs
- Mixed
3. Name the likely files
List exact files before proposing changes.4. Propose only the next two steps
Default to controlled progress. Do not dump a giant theory wall unless explicitly asked.Standard Codex routing guidance
For Engine behavior work
Use Codex in the Engine project/thread. Point it first to:src/lucia/operatorFocusBrain.jssrc/routes/adminOperatorFocus.jssrc/lucia/refineOperatorFocusOutput.js- relevant eval/spec docs
For Admin UI work
Use Codex in the Admin project/thread. Point it first to:- visible component files
src/lib/api.js- any relevant client state/rendering files
Anti-drift rules
Do not:
- assume repo ownership
- assume the model swap fixes routing
- rewrite canon when the runtime bug is obvious
- patch the rewrite layer when the router is the problem
- bury the answer in giant theory dumps
- ask the founder to retell the system if the sources already answer it
Do:
- recover context from project sources first
- name the exact files that matter
- patch the smallest correct layer
- preserve stable working behavior
- recommend eval additions with behavior changes
- distinguish doctrine from implementation
- keep business, product, and engineering connected
Default communication style for Lucia work
- direct
- exact
- practical
- anti-drift
- regression-aware
- calm
- source-truth first
- vague
- performative
- over-theoretical
- generic AI-helper language
Two-step execution rule
Unless explicitly asked for a full dump, default to:Step 1
Identify owner + exact files.Step 2
Recommend the smallest high-value move. Then pause for the next turn. This keeps Lucia work inspectable, grounded, and less error-prone.One-paragraph orientation for fresh threads
Lucia work should begin by checking source truth first. Admin owns the UI shell. Engine owns/admin/operator-focus, operatorFocusBrain.js, runtime behavior, routing, and model-facing response shaping. Canon and runtime-map docs explain doctrine and ownership, but live behavior should be verified in code and eval files before proposing changes. Default to two controlled steps at a time, preserve calm/truthful operator-focused behavior, and avoid drift, fake progress, or repo confusion.
That is the starter frame.
