Template
Source-Backed Artifact
Turn an agent answer into a cited output document with source preview, missing-source state, and usage budget.
Use
Workflow Guidance
Use when the agent produces a durable answer, report, summary, document, or file that users need to inspect after the conversation.
Human Control
Users can inspect sources, see uncited sections, review usage, and decide whether the artifact is ready to share.
What Can Fail
The output mixes cited and uncited claims, hides missing sources, or separates cost from the generated artifact.
Recovery Behavior
Keep the artifact in review, mark sections that need source material, and ask for scope clarification before publishing.
State Matrix
Required States
A template is only useful when it shows normal, blocked, and recovery states.
State Coverage
User sees
System does
User sees
System does
User sees
System does
| State | User Sees | System Does |
|---|---|---|
| Draft | Document sections, linked sources, uncited gaps, and current budget. | Keeps the output local and editable. |
| Needs source | The exact section that cannot be verified. | Blocks sharing until a source or human override is supplied. |
| Ready | Cited sections, source list, version, owner, and final usage. | Prepares the artifact for approval or export. |
Implementation
Pattern Pieces
Templates are guidance; registry items stay smaller so teams can compose them into their own product surface.
| Element | Spec |
|---|---|
| Artifact Document | A source-backed output document surface with cited sections, missing-source states, version metadata, and review status. |
| Source Preview | A citation and provenance preview card with source title, excerpt, location, navigation, and open-source action. |
| Usage Meter | A compact token, cost, limit, and coverage meter for visible agent run budgets. |
- ApprovalRisky external actions use a Decision Surface before execution.
- ProvenanceSources, memory, cost, and owner metadata stay visible at the decision point.
- RecoveryBlocked states expose the next input needed instead of showing indefinite activity.