Noni uses Gemini 3.5 Flash through Google ADK because writing-skill and bounded
research tools are part of the copywriting contract.
How Harmonia uses it
Noni receives one selected Temi item, its exact Ryan brief, referenced Nimi
evidence, brand constraints, and—on the second pass—Dara’s issue-bound revision
instructions. Noni first loads noni-writing-skills and a relevant local
writing reference. It may then read independently verified prior publications
or brief-scoped public sources.
Every research-derived claim or URL must cite a live evidence ID returned by
the actual tool trace. Noni cannot access Memory Bank, redefine strategy,
approve, schedule, publish, or mutate workflow state.
Configuration and failure behavior
COPYWRITER_MODEL_ID defaults to gemini-3.5-flash. Public web research uses
native ADK Google Search in a dedicated research agent because Gemini built-in
tools cannot share one model request with Noni’s skill and function tools. The
managed runtime retains grounding chunks and supports. Cross-brief queries,
invented references, malformed results, unsupported excerpts, and unknown URLs
fail closed.
Evidence status
The skill loader, research-tool contracts, trace validation, verified-publication
query, grounding checks, and authority boundaries have automated offline
coverage. Authenticated Agent Engine and native Google Search grounding execution
remain unverified until a separately captured live run supplies correlated
provider and usage evidence.
Relevant files
agent/harmonia_agent/noni_skills.py
agent/harmonia_agent/noni_prompt.py
agent/harmonia_agent/skills/noni-writing-skills/SKILL.md
agent/tests/test_noni_skills.py
Last modified on August 28, 2026