Auto-Fill Content Intelligence

A planning document for the next Create-wizard upgrade.

Roadmap · Phase 2
Planning · v0.1

Let the wizard think with the user, not for them.

The Create wizard already takes rigid input. To unlock speed, we introduce three operating modes driven by a single rule: the more the user writes, the less Gemini invents. A user who types only a topic gets full creative drafting. A user who types a stat gets their stat preserved verbatim while Gemini writes the supporting copy. An empty form invites Gemini to propose the brief itself, grounded in the content calendar.

Gemini 2.5 ProVertex AIStructured JSONCI checklist gated
01 · Operating modes

Three ways the wizard can think

Each mode has a distinct trigger, temperature, and guardrail set. The user never picks a mode directly — it is derived from their input state, and always visible as a live badge.

Mode Atemp · 0.90

Creative Expansion

Topic only — let Gemini dream the rest

Trigger
topic field is filled, every other template field is empty.
Goal
Use the topic as a creative brief. Gemini generates every other field (headline, keyword, stat, CTA, description) from scratch, leaning into the IUX brand voice and CI tone.
CTA
Draft the rest for me

Examples

  • Topic: "XAUUSD opportunity this quarter" → Gemini writes headline + green keyword + CTA.
  • Topic: "Why low spread matters" → Gemini drafts a Feature Highlight with a stat it considers credible for IUX.

Guardrails

  • Green keyword must be exactly 1 word (CI rule).
  • Never invent regulatory claims or fabricated numbers; mark uncertain stats with `[review]`.
  • Stay within the selected content type's template schema — no extra fields.
Mode Btemp · 0.30

Locked Scope

Any field filled — treat it as immutable fact

Trigger
one or more non-topic fields have a user-provided value.
Goal
Respect every user input as a locked fact. Gemini only fills the remaining empty fields, and its output must be logically consistent with what the user already typed. Low creativity, high factuality.
CTA
Fill the gaps

Examples

  • User typed `stat_number: 30ms` → Gemini writes supporting copy that is consistent with "30ms execution", never overrides it.
  • User typed `event_name` + `event_date` → Gemini only generates headline + CTA, locked to those facts.

Guardrails

  • Never modify a user-provided field, even to fix typos. Surface typos as a warning instead.
  • New copy must cite only facts present in user inputs + CI guidelines.
  • If user inputs conflict (e.g. date vs. tagline), refuse and ask the user to resolve.
Mode Ctemp · 0.70

Full Auto

Empty canvas — Gemini picks the brief itself

Trigger
topic is empty AND every template field is empty.
Goal
Gemini evaluates the content calendar (what was generated recently, which types are under-used) and proposes a complete brief: content type, size, and every field. The user can accept, narrow, or reroll.
CTA
Surprise me

Examples

  • Library has 5 Product Promos this week and 0 Educational → Gemini proposes an Educational about `Margin Call`.
  • User just finished a Podcast Episode → Gemini proposes a Market Snap to balance the mix.

Guardrails

  • Never repeat a topic used in the last 14 days of history.
  • Cap output to one candidate brief per call; offer reroll instead of bundling alternatives.
  • Respect any brand pillar lock (e.g. compliance freeze on specific instruments).
02 · Decision logic

From input state to mode, deterministically

Decision flow

How the wizard picks a mode

Evaluated top-to-bottom on every keystroke. The first condition that matches wins. No overlap, no ambiguity.

  1. 1

    If

    any template field (other than topic) has a value

    Evaluated first — user intent always wins.

    Locked Scope
  2. 2

    If

    topic is filled, all other template fields empty

    Pure creative brief.

    Creative Expansion
  3. 3

    If

    topic empty AND all template fields empty

    Fallback — Gemini composes the whole brief.

    Full Auto
03 · Orchestration

End-to-end flow, one Gemini call per mode

The autofill layer sits strictly between the wizard and the existing prompt builder. Imagen is untouched — autofill only shapes the variables that feed into the current pipeline.

  1. 1

    Detect input state on Step 3

    The wizard reads `variables` on every keystroke and classifies the request into Creative / Locked / Auto using the rules above. A mode badge in the form header updates live.

  2. 2

    Call POST /api/autofill

    Payload: { contentType?, size?, mode, variables, creativity, voice }. The server re-validates the mode (never trusts the client) and routes to the matching prompt template.

  3. 3

    Gemini returns structured JSON

    Using Vertex AI `gemini-2.5-pro` with `response_mime_type: application/json` and a response schema derived from the selected content type's `TemplateField[]`. Temperature is chosen per mode.

  4. 4

    Validate against CI guardrails

    Server runs the CI checklist: single green keyword, required fields present, risk warning untouched, banned metaphors not used. Failures trigger one automatic retry before surfacing an error.

  5. 5

    Preview diff to user

    UI highlights Gemini-filled fields in green-tinted cards, user-filled fields with a lock chip. The user can accept all, edit inline, or reroll individual fields.

  6. 6

    Feed into existing Imagen pipeline

    Once accepted, variables flow into `prompt-builder.ts` unchanged. No downstream changes — autofill is purely an input-layer feature.

04 · Creativity controls

Three inline knobs, no modals

Each knob maps to a concrete Gemini parameter. All three live beside the autofill button so the user can tune and re-roll a field without leaving the form.

Creativity

creativity
  • SafeLiteral, factual, reusable
    0.3
  • BalanceddefaultDefault — brand-on, flexible
    0.7
  • BoldMetaphor-heavy, editorial
    0.95

Brand voice

voice
  • InstitutionalFSC-grade, measured
    institutional
  • InsightfuldefaultAnalyst desk tone
    insightful
  • ApproachableTrader-to-trader
    approachable

Copy length

length
  • ConciseUnder 12 words per slot
    concise
  • BalanceddefaultCI default
    balanced
  • RichLong-form Market Snap
    rich
05 · Interface principles

Flexible, but never opaque

The mode is never hidden

A live badge in the Step 3 header shows the current mode as the user types. Switching from Locked → Creative is always one click (clear all) away.

User inputs are sacred

Any field the user touches gets a persistent lock chip. Gemini can never overwrite it — not even to correct spelling. Typos surface as a dismissible warning.

Autofilled fields are visibly different

Gemini-filled fields render on an elevated green-tinted surface with a small sparkles icon and a per-field reroll button. On accept, they collapse back into normal inputs.

Creativity is a dial, not a dialog

The three knobs (creativity / voice / length) live inline next to the autofill button — no modal. Changing any knob triggers an instant reroll for the currently-focused field.

Every autofill is auditable

Each generated value stores its prompt, model, temperature, and rationale, visible under a small "Why this?" disclosure per field. Compliance can inspect any output.

Nothing ships without the CI checklist

The same CI validator used for Imagen output gates autofill too. Failures block the Generate button until resolved or overridden with a documented reason.

06 · Risks & mitigations

What could go wrong, and how we catch it

high impact

Gemini fabricates unsupported stats

Mitigation · All numeric fields require either a user input or an explicit `[review]` tag. Compliance gate blocks generation if any unreviewed number is present.

medium impact

Mode C drifts from brand calendar

Mitigation · Feed last 30 days of Library jobs into the Mode C prompt as context. Reject any candidate whose topic matches an existing job within 14 days.

medium impact

Users accidentally overwrite locked inputs

Mitigation · Locked fields are rendered read-only after first autofill; explicit "Unlock" toggle required to edit. The unlock action is logged.

low impact

Cost creep from aggressive rerolling

Mitigation · Per-field reroll budget (3/minute, 20/job) with visible counter; Settings page surfaces monthly Gemini spend.

Next step

Ship Mode A first, validate the diff-preview UX, then layer Locked and Full Auto behind the same endpoint.

Modes B and C re-use the same prompt scaffold — shipping them is a temperature + context swap once the evaluation loop is in place.

Back to roadmap
IUX Social Studio · Prototype · CI Guideline v1.0Model: imagen-4.0-ultra-generate-001 · Vertex AI