# Requirement change

The integrations team says CSV and JSON both need a partner to talk to, and their partner only
speaks XML. So: a third way to get an agent's monthly numbers out — XML, alongside the two we
already have.

The shape they've agreed on with the other side is one line, no declaration at the top, no
whitespace between tags:

```
<agent id="AGT-1"><month name="2026-01" averageRating="4.50" ratingCount="2"/></agent>
```

One `<agent>` element wrapping one self-closing `<month>` element per month, oldest month first,
same as the other two formats. The attributes on `<month>` are `name` (the month, same text as
everywhere else, e.g. `2026-01`), `averageRating` (same two-decimal-places, half-up rounding as
CSV and JSON — nothing changes about how the number itself is worked out) and `ratingCount`. The
`<agent>` element carries one attribute, `id`, with the agent's id.

Everything else stays exactly as it is: same scale, same leaderboard, same tie-break, same CSV,
same JSON, same refusal for an agent nobody has rated yet.
