This log records meaningful product, architecture, and launch decisions so Lucia remembers why it has its current shape.
2026-07-12 — Keep Engine and Guest Agent model configuration independent
Decision: Lucia Engine and Lucia Guest Agent own separate model-configuration and runtime-verification boundaries. A model value verified for one surface must not be inherited, inferred, or presented as proof for the other. Current state: Both surfaces currently usegpt-5.6-sol. The Guest Agent selects its model through its own VV_AI_MODEL production override and source fallback; Lucia Engine retains its separately owned configuration and runtime-provenance contract.
Verification policy: Each surface requires its own deployed configuration and provider-returned model evidence. Shared use of the OpenAI Responses API does not collapse the two runtime boundaries.
Compatibility consequence: Guest Agent model upgrades must preserve its prompts, verification flow, routing, schemas, and core SSE event contract (start, token, cta, meta, done) unless a separately authorized change says otherwise. Its embeddings model remains independently configured as text-embedding-3-small.
Historical continuity: The dated 2026-06-04 Guest Agent GPT-5.5 doctrine record and 2026-04-26 Lucia GPT-5.5 decision remain historical evidence. This decision supersedes the former Guest Agent GPT-5.5 default for current configuration without rewriting those entries.
2026-07-10 — Require runtime provenance for model verification
Decision: Treat runtime/model provenance from the same/admin/operator-focus response as the evidence contract for Eval Labs model verification. Preserve the stable top-level ok / data / meta shape; publish Engine identity in meta.runtime and model-path evidence in meta.model_runtime.
Required evidence: The contract records the configured model, provider-resolved model, whether a model was invoked, whether the response was deterministic-only, whether fallback was used, and per-task outcomes. A successful HTTP response or configured model name alone is not proof that a model ran.
Eval Labs policy: The owner-only verification panel evaluates the resolved endpoint, target and Engine environments, Engine commit SHA, configured/resolved model agreement, model invocation, deterministic path, fallback state, successful task evidence, and verification timestamp. New runs persist runtimeProvenance; historical runs without it explicitly say it was not captured and are not backfilled with inference.
Current verified state: On 2026-07-10, Eval Labs production verified the Development /admin/operator-focus path with configured and provider-resolved model gpt-5.6-sol, model invoked true, deterministic path false, fallback false, and status Verified.
Routing history: The uninterrupted Staging-target configuration began at 2026-05-04T16:21:35Z and was corrected and live-verified against Development on 2026-07-10. This establishes routing drift, not that every historical run individually used Staging.
Supersession: The 2026-04-26 GPT-5.5 decision below remains historical. GPT-5.6 Sol is now the Lucia Engine Development default. This decision does not establish the separately configured Guest Agent model.
Promotion consequence: Eval Labs production targeting Development is not a Staging promotion. The Development baseline must still be captured and reviewed before v0.1.3.6 is promoted.
2026-06-23 — Unify docs into a Mintlify library
Decision: Migrate both documentation sets (Lucia Canon and Eval Labs Canon) off Obsidian Publish onto a single Mintlify library — two products with a switcher — served athelloluciallc.com, with docs.hellolucia.ai and docs.evaluationlabs.ai redirecting in. New repo hello-lucia/lucia-library becomes the source of truth for published docs.
Why: A unified library splits and groups the content better and presents both brands as one home. Mintlify’s Products feature fits directly; founder accepted leaving the Obsidian authoring workflow for git/MDX.
Status: Accepted; implementation in progress (Phase 1 conversion complete and pushed, not yet deployed/live).
Historical status note — 2026-07-10: The two-product and redirect language above records the original decision intent. The current canonical library has three products — Lucia, Lucia Fieldwork, and Eval Labs — and the two former Obsidian domains remain live legacy, non-canonical sites without redirects. The amended ADR below owns current documentation status.
See: ADR - Unify Docs into Mintlify Library
2026-05-11 — Use Resend for waitlist outbound email
Decision: Use Resend for Lucia waitlist outbound welcome emails, while keeping Postmark focused on inbound operational/system email intake. Why: Resend is lightweight, already available, easy to operate, and better suited to this specific public waitlist confirmation path than a heavier marketing platform. Implementation: Thehello-lucia/lucia-marketing Cloudflare Pages Function at functions/api/waitlist.js now sends the welcome email after a new Supabase waitlist insert succeeds.
Verified behavior: send.hellolucia.ai is verified in Resend, live new-signup email delivery passed, and duplicate signup behavior returns ok:true duplicate:true without sending a second email.
Known gap: The endpoint returns Resend message id/status, but message id and send status are not yet persisted back into Supabase.
2026-04-29 — Add Branding and Identity as a Canon section
Decision: Add a dedicatedBranding and Identity section to the Lucia Canon.
Why: Lucia’s visual identity, color system, voice, and brand guardrails are now first-class source-truth concerns, not side notes.
Consequence: Brand work should be documented in the Canon and treated as connected to product trust, operator calm, and emotional containment.
2026-04-27 — Adopt Canon v1.0 architecture
Decision: Restructure the Lucia Canon around the real system: Foundation, System Architecture, Intelligence, Evaluation, Operations, Infrastructure, Properties, Roadmap, Decisions, Releases, Templates, and Archives. Why: The previous structure mixed doctrine, runtime, intent, Eval Labs, and live transition notes across overlapping folders. Consequence: Old folders are moved into Archives. The new Canon becomes the source of truth.2026-04-27 — Treat Lucia as a dual-surface intelligence system
Decision: Lucia is canonically defined as a dual-surface system.Operator IntelligencecontrolsGuest Intelligence
Why: The Operator System is the control layer today, while Guest Intelligence and concierge flows are downstream execution surfaces.
Consequence: Guest-facing work must not bypass operator truth-state and permission rules.
2026-04-27 — Development is active external intake during live transition
Decision: Twilio and Postmark targetapi-dev.hellolucia.ai during current live-transition testing.
Why: Dev is the active iteration environment. Staging validates promoted code but does not receive live provider traffic unless manually switched.
Consequence: Staging tests require temporary provider webhook changes or smoke tests.

