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 loadsnoni-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.pyagent/harmonia_agent/noni_prompt.pyagent/harmonia_agent/skills/noni-writing-skills/SKILL.mdagent/tests/test_noni_skills.py
