Briefs

A brief is a structured, versioned handoff artifact for a human or a coding agent. Torno does not host your landing page — the brief specifies what to build, why, how to instrument it, and how Torno will know whether it worked.

What a brief contains

A landing-page brief binds the Property and its Change, Hypothesis, and source Insights, then specifies:

  • the audience and the message hierarchy
  • ordered sections with copy blocks and layout hints
  • the origin of every block — generated or edited — with evidence links back to the Insights that motivated it
  • the Brand Kit version used and the lint result
  • exposure tag placement, goal events, and the measurement plan
  • an acceptance checklist and lifecycle state

A content brief adds search query targets, content intent, voice-of-customer evidence from Listening, and publishing and measurement targets. Anything derived from public or customer text stays inside provenance fences, and the brief is marked untrusted-derived so downstream consumers know exactly which words came from outside.

Grounded in the Brand Kit

Each Property has at most one Brand Kit: the authored, versioned grounding context for everything Torno generates. It holds voice, positioning, audiences, messaging pillars, proof points, visual identity, compliance notes, banned claims, and competitor no-mentions. It is deliberately human-authored — there is no connector or scraping path into it.

Editors work in a draft; publishing freezes an immutable numbered version. Brief generation reads only a published Brand Kit bundle and pins the exact version and hash it used, so later brand edits never silently alter what was generated. If no published Brand Kit exists, generation is explicitly blocked — Torno never fills the gap with a default brand voice.

The banned-claims lint is deterministic phrase and competitor matching with structured findings, blocking at configured gate levels. Semantic lint is advisory by default, and a lint check that fails to run reports unknown — it is never assumed clean. Ads run through the same persisted gate, so nothing public can route around the Brand Kit’s rules.

Versions, edits, provenance

Generation records the model and prompt hash that produced each version. Regeneration creates a new version and preserves authored edits and per-block origins rather than overwriting them. Operators can edit audience, hierarchy, copy, sections, targets, and templates at any point; the artifact always knows which words a human wrote.

Readiness and acceptance

A brief is ready when exposure instrumentation is fully specified, goal events are mapped, Brand Kit lint passes, and the acceptance checks are complete. Handoff and built are separate states — sending a brief out is not the same as the page existing.

Handoff to humans or agents

Handoff is machine-readable by design. torno change brief <chg> --json and the API and MCP brief resource return the same canonical envelope; the human rendering in the web app derives from the identical artifact. A coding agent and its reviewer are always looking at the same brief.

torno change brief CHG-142 --json > brief.json

Back into measurement

Because the brief declares its exposure tag and goal events up front, the built page is measurable the moment it ships. The first observed production exposure can verify instrumentation automatically and mark the artifact built; from there, Changes and delivery takes over — assignment, exposure, and results against the declared goals. A brief that skips its exposure requirements produces a Change that is honestly labeled unmeasurable, under the same rules as any other Change.