The briefing pack (the incident's brain): start an agent here, not from the whole repository
Kept by incident.librarian@web-summit.dinis, 2026-11-11, 12:02 UTC: written by tools/library-pack.mjs on every push. Asked for by Dinis Cruz (11 November, about 02:50 UTC, BRIEF.md): "the librarian saves tokens and makes it cheaper and implements memory in a much more effective way". Back to the library.
How to use it. A new agent reads three things: start.md (the rules, the shape, how to release), state.json (the incident now) and its own role pack below. Each line points at the file it summarises, with its size and sha256 at this build: open a file only when you need its detail, and if the hash has changed since, the summary may be stale. For how the project got here: history.md.
What it costs
Measured by incident.accountant@ in a real session at 02:56 UTC on 2026-11-11 (accounts/pack-test.json): the same job started twice, once from ten whole files and once from three files of this pack.
| Started from | Bytes read | Tokens added to the context | Eight questions on the rules |
|---|---|---|---|
| ten whole files | 94,946 | 39,775 | 8 of 8 right |
| the pack as it is now: the pack, second run (after the librarian added the two missing rules, e89408a) | 24,364 | 14,734 | 8 of 8 right |
| the pack, an earlier run: the pack | 22,950 | 14,164 | 6 right, 2 in part |
25,041 tokens saved at the start: 63% less to read, with 8 of 8, the same as the whole files; and the same again on every later call of the session, because each call re-reads its context. The earlier run (25,611 saved, 64%) got two answers only in part: two rules were missing from start.md (who merges to main; where a new row of the same minute goes). Both were added and the test repeated. Measured bytes a token: 2.39 (whole files), 1.62 (the pack, earlier), 1.65 (the pack now). The test's limits, in the accountant's words: one run of the whole files, two of the pack (before and after its correction); sub-agents, not full sessions (a full session's floor is higher); eight questions on the rules; not a test of doing the job; the accountant marked the answers. A session carries about 64,000 to 85,000 tokens before it reads anything (its harness and tools): the pack cannot reduce that part. The first agent started from the pack in a real session was the librarian's own second session (03:01 UTC on 11 November): what the pack had not told it is in its status under started_from_the_pack, each fixed here.
At this build (the pack changes with every push; bytes are counted, tokens estimated with the ratios that test measured: about 2.4 bytes a token for prose, 1.6 for JSON):
| To start an agent | Bytes | Tokens (estimated) |
|---|---|---|
| from the pack: start.md, state.json and one role pack (the median) | 39,795 | about 19,162 |
| from six whole files, as the first start prompts asked (CLAUDE.md, BRIEF.md, JOBS.md, ROADMAP.md, PIPELINE.md, REALITY.md) | 91,045 | about 37,935 |
| from ten whole files, as the later ones did | 126,395 | about 52,665 |
A pack that misleads costs more than it saves: the test is whether an agent started from it does the job without re-reading the repository. The figures as data: sizes.json.
Why the start matters more than its size
From the Web Summit team's own measurement (token efficiency: the team's agents, 4 to 8 November 2026, by its accountant): 264 measured wakes from 37 agents cost 180.5 million tokens, 65% of it cache reads, because every call re-reads the whole conversation. That is their finding (evidence). Our reading of it (a hypothesis until measured here): what an agent reads at its start is paid for again on each later call of the same session, so a start that is 40,000 to 70,000 bytes smaller is that much less to re-read on every call, not once (their accountant weighs a cache read at about a tenth of a fresh token). The rules that follow from their report are in start.md, "Spend tokens well"; the policy itself: token efficiency, one ABP for every agent.
The incident's brain: what it is, and what it will never hold
The Web Summit team calls this kind of thing a brain. Its rule, from card WS-190 in SGit-AI__Website__Web-Summit ("The brains on the command centres: how they are built, and what is public and what is private", 7 November 2026; open, for Dinis to confirm), as relayed by the conductor from its clone at 02:57 UTC on 11 November (the librarian could not read the card itself): the public brain "holds nothing that was not already public, because it is built only from" public files: "the brain only draws them as a map"; what a person captures for themselves stays on their side, "not in the repository, and not visible to anyone else". The rule we take: a brain is a drawing of what is already public; building one never widens what is public.
This pack is the incident's public brain in that sense: start.md, state.json, history.md and the role packs are drawn only from files already served here, each named with its hash. It holds no session transcript, no private note, no key and nothing about people.
On measuring, from card WS-148 ("An accountant agent for Indi's agents: every agent measures its tokens, and the accountant finds the savings", 4 November 2026), also as relayed by the conductor: one script "reads the agent's own session transcript and writes one line of numbers (fresh input, output, cache writes, cache reads ...) ... No message text." Its first ledger line was one long session: 397,000 tokens of fresh input, output and cache writes, and 20.9 million cache reads; "Re-reading a long session's context on every call is the largest cost, so a fresh session per wake is the first saving to test."
The packs
| Pack | For | Bytes | Tokens (est.) | Stands for |
|---|---|---|---|---|
| start.md | every agent | 19,941 | 8,309 | 12 files, 163,641 bytes |
| state.json | every agent | 12,385 | 7,741 | 535 files, 1,297,724 bytes |
| history.md | when the past matters | 3,936 | 1,640 | 12 files, 247,036 bytes |
| conductor-handover.md | the next conductor session | 17,655 | 7,356 | 52 files, 737,450 bytes |
| conductor.md | incident.conductor@ | 11,711 | 4,880 | its own 76 files, 847,901 bytes; points at 38 |
| designer.md | incident.designer@ | 8,318 | 3,466 | its own 69 files, 304,705 bytes; points at 27 |
| observability.md | incident.observability@ | 10,120 | 4,217 | its own 81 files, 2,146,485 bytes; points at 34 |
| identity.md | incident.identity@ | 8,789 | 3,662 | its own 32 files, 184,181 bytes; points at 28 |
| weatherwatch.md | incident.weatherwatch@ | 10,154 | 4,231 | its own 156 files, 1,113,566 bytes; points at 30 |
| media.md | incident.media@ | 10,234 | 4,264 | its own 73 files, 1,039,968 bytes; points at 31 |
| librarian.md | incident.librarian@ | 19,600 | 8,167 | its own 125 files, 2,080,811 bytes; points at 39 |
| graph.md | incident.graph@ | 12,194 | 5,081 | its own 33 files, 1,444,217 bytes; points at 24 |
| meteorologist.md | incident.meteorologist@ | 8,767 | 3,653 | its own 15 files, 548,402 bytes; points at 16 |
| researcher.md | incident.researcher@ | 8,983 | 3,743 | its own 22 files, 199,246 bytes; points at 14 |
| dev.md | incident.dev@ | 5,664 | 2,360 | its own 4 files, 125,134 bytes; points at 8 |
| studio.md | incident.studio@ | 8,959 | 3,733 | its own 84 files, 542,475 bytes; points at 30 |
| wikipedia.md | incident.wikipedia@ | 7,177 | 2,990 | its own 25 files, 649,558 bytes; points at 24 |
| weather.md | incident.weather@ | 7,617 | 3,174 | its own 6 files, 145,075 bytes; points at 21 |
| ipma.md | incident.ipma@ | 7,427 | 3,095 | its own 75 files, 1,553,772 bytes; points at 23 |
| sources.md | incident.sources@ | 8,279 | 3,450 | its own 18 files, 367,706 bytes; points at 26 |
| archivist.md | incident.archivist@ | 7,469 | 3,112 | its own 688 files, 2,394,919 bytes; points at 16 |
| entities.md | incident.entities@ | 6,079 | 2,533 | its own 237 files, 616,224 bytes; points at 19 |
| labs.md | incident.labs@ | 8,072 | 3,363 | its own 20 files, 151,584 bytes; points at 18 |
| board.md | incident.board@ | 6,665 | 2,777 | its own 504 files, 866,036 bytes; points at 20 |
| social.md | incident.social@ | 6,729 | 2,804 | its own 19 files, 393,364 bytes; points at 20 |
| meteorology.md | incident.meteorology@ | 6,864 | 2,860 | its own 31 files, 375,798 bytes; points at 18 |
| stories.md | incident.stories@ | 7,074 | 2,948 | its own 14 files, 307,167 bytes; points at 18 |
| models.md | incident.models@ | 8,434 | 3,514 | its own 117 files, 1,323,988 bytes; points at 22 |
| shadow.md | incident.shadow@ | 6,101 | 2,542 | its own 19 files, 281,858 bytes; points at 18 |
| ci.md | incident.ci@ | 7,443 | 3,101 | its own 47 files, 2,659,548 bytes; points at 24 |
| perplexity.md | incident.perplexity@ | 7,542 | 3,143 | its own 17 files, 162,637 bytes; points at 25 |
| accountant.md | incident.accountant@ | 7,918 | 3,299 | its own 55 files, 615,783 bytes; points at 27 |
| reporter.md | incident.reporter@ | 7,964 | 3,318 | its own 23 files, 478,005 bytes; points at 26 |
| journalist.md | incident.journalist@ | 14,006 | 5,836 | its own 31 files, 285,940 bytes; points at 38 |
| envoy.md | incident.envoy@ | 5,661 | 2,359 | its own 9 files, 68,233 bytes; points at 22 |
| synthetic.md | incident.synthetic@ | 5,565 | 2,319 | its own 55 files, 313,618 bytes; points at 24 |
| storyteller.md | incident.storyteller@ | 9,262 | 3,859 | its own 28 files, 247,757 bytes; points at 35 |
| motion.md | incident.motion@ | 5,652 | 2,355 | its own 9 files, 81,392 bytes; points at 14 |
| broadcast.md | incident.broadcast@ | 5,310 | 2,213 | its own 8 files, 136,511 bytes; points at 19 |
| transport.md | incident.transport@ | 4,185 | 1,744 | its own 9 files, 62,641 bytes; points at 10 |
| planner.md | incident.planner@ | 6,235 | 2,598 | its own 5 files, 52,172 bytes; points at 24 |
| datascience.md | incident.datascience@ | 5,653 | 2,355 | its own 16 files, 269,832 bytes; points at 16 |
| brief.md | incident.brief@ | 2,437 | 1,015 | its own 5 files, 168,454 bytes; points at 6 |
| desk.md | incident.desk@ | 3,547 | 1,478 | its own 8 files, 36,938 bytes; points at 11 |
| sherpa.md | incident.sherpa@ | 3,342 | 1,393 | its own 6 files, 38,539 bytes; points at 9 |
What it is not
Not a copy of the repository, and not memory an agent can trust blindly: it is rebuilt from the files on every push, it says where each line came from, and the file wins when they disagree. Session-private notes, keys and anything about people are never in it.