Skip to main content
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