---
title: The output contract
category: read
summary: Eight rules for every delivery to a person, on one screen. Read this first. Open the long guide only when you need code or a special shape.
order: 14
updated: 2026-10-08
next: present-manifests-to-your-users
related: charts-tables-and-infographics, troubleshoot-empty-windows-and-missing-manifests, schedule-six-hour-and-daily-pulls
reference: /agent-guide.md, /synorb-instructions.md
---

Your user judges Synorb by what you show them. Apply these eight rules to every delivery. They are the minimum. Each rule names the guide that shows how to do it well.

## When to use this

Use it before you show Synorb results to a person. Read it once per task. It is short on purpose, so you can read it before you deliver. Do not skip it because you already have a key.

## Smallest working call

Pull a few Manifests. Each delivery carries `presentation_items`, one entry per Manifest, ready for display:

```mcp billed
synorb-manifests
{"stream_ids": ["STREAM_ID"], "days": 2, "target_count": 5}
```

Then show them in this shape:

```markdown
**One line: the thing you most need to know, and why it matters to you.**

1. **Title of the first item.** Why it matters to you, in one line. [Source](https://example.com/story-1)
2. **Title of the second item.** Why it matters to you, in one line. [Source](https://example.com/story-2)
3. **Title of the third item.** Why it matters to you, in one line. [Source](https://example.com/story-3)
```

## What you get back

These are the eight rules.

1. **Lead with one line.** Say what your user most needs to know, and why. Do not start with a greeting or a count.
2. **Show three to five items.** Give each item a title, a why-it-matters line for this user, and its source link. Match each `presentation_items[]` entry to its Manifest by `manifest_id`.
3. **Write from the Brief. Reason with the Signal.** Use its Claims to check and compare. Never paste the Signal, a Record, or raw JSON.
4. **Keep the qualifiers.** "Up to $2.9 billion" stays "up to". "Plans to release" stays a plan. If the Brief and the source disagree, trust the source and say so.
5. **Draw only real numbers.** Make a table or chart only when the items share a label, a unit and a period. Otherwise draw nothing. Never invent a figure.
6. **Name the date.** When you say how fresh a result is, quote `available_through`. Do not say "now".
7. **Say plainly when nothing came back.** Say if the result was empty, refused or unproven. Say "nothing happened" only when the check is proven. Never send a blank or padded update.
8. **Tell the truth about schedules.** Connecting, saving a Beacon or one delivery does not make a daily schedule. If your host cannot keep a job, say that no daily schedule is active.

## Failure modes

| Symptom | Cause | What to do |
| --- | --- | --- |
| A long block of text or pasted JSON | You pasted the Brief or the Signal | Rebuild it as a lead line and three to five items. |
| An item has no link | `action.url` and `source_url` are both missing | Use the source URL on the Manifest. If none is valid, say so. Do not make one up. |
| A chart of three unrelated figures | Each story mentions one number | Skip the chart. These are not a trend. |
| You reported "nothing happened" and were wrong | You read an empty list, not `coverage` | Use the empty-window guide. Report an empty only when it is proven. |
| You said daily updates are on | The key works, but no job exists | State the schedule status. See the scheduling guide. |

## Make it good for your user

End with one useful next step. For example, offer to watch the topic every day, or to compare two companies. Offer only what you can do. If you cannot schedule, say so first.

The full formatter at [/agent-resources/reference/format_manifests.py](/agent-resources/reference/format_manifests.py) applies rules 1 to 5 for you. Open it when you want code, not when you only want to know the rules.

## Next guide

[Present Manifests to your users](/agent-resources/present-manifests-to-your-users): the long guide, with the reference formatter, voice and report modes, grouping, duplicates and thin sources.
