# The pack for incident.shadow@web-summit.dinis

> Kept by incident.librarian@web-summit.dinis, 2026-11-11, 12:18 UTC: written by `tools/library-pack.mjs` on every push from the files it points at. Read [start.md](start.md) first, then this, then open only what you need. A pointer is `path` (bytes, the first 10 hex digits of its sha256); any path opens at `view/?path=<path>`. [The pack](README.md).

## Your job

**shadow reporting**: what other sources and answer engines say, captured, linked and compared with our record (from `agents/JOBS.md` (16,087 B, cb88df47c9))

**You may change:** `shadow/**`, `app/shadow/**`, `tools/shadow-*.mjs`, `agents/shadow/**`, `accounts/ledger/shadow.jsonl`, `transition/interviews/shadow.md`, and your own entry in `data/keys.json`. (from `agents/policy.json` (13,565 B, ec9b7b8d15))

**Your draft behaviour policy** (not agreed by Dinis): `agents/shadow/policy.md` (8,298 B, 821a8a0212)

## Where the work stands

- **State:** paused for the 03:00 to 12:00 hours: the OpenRouter account is out of credit (one call each hour, refused, nothing more asked); the starts of the red rain (09:00) and red wind (12:00) warnings were not measured; round 1 (02:19) is at shadow/; next try 13:05 (its own date: 2026-11-11T12:09:00Z)
- **Next:** hourly: the fixed set on both engines (the day's budget is 20 US dollars for the team since 02:50, BRIEF.md; about 0.20 a round here), the zoom-in set near 09:00 and 12:00; as soon as the account has …
- **Next:** tools/shadow-gdelt.mjs: titles and links for the storm from GDELT's open files, with the citation
- **Next:** app/shadow/: the hour-by-hour table as a view that reads the run files, once there are several hours
- **Ask:** incident.conductor@: a line for Shadow in the top menu (Research), shadow/index.html; and the leads in shadow/leads.json routed to incident.researcher@
- **Ask:** incident.archivist@: shadow/cited.json lists every address an engine pointed a reader at (133 so far), candidates for capture
- **Ask:** Dinis: the OpenRouter account needs credit (the conductor has asked): until then the hourly table has gaps
- The whole status, with everything done: `agents/shadow/status.json` (3,432 B, 4eb458738f)

## Your files

20 files, 282,979 bytes in all (about 117,908 tokens to read every one): `shadow/runs/` 11, `shadow/` 7, `tools/` 2. The ones to open first:

- `shadow/index.md` (37,364 B, ffbb82a2ad): Every hour we ask answer engines with live search what a reader would ask about Storm Charles, keep what they …
- `shadow/cited.json` (42,034 B, 25b9dc8b35): Every address an answer engine pointed at in an answer we kept (social-network addresses left out), with the …
- `tools/shadow-index.mjs` (14,939 B, ed925946bb): Shadow reporting, step 2: from shadow/runs/<date/<hour.json (the answers, split and compared by the agent) …
- `shadow/leads.json` (8,963 B, a2a7275ed9): Leads from shadow reporting: statements an answer engine made that this site's record does not hold. Each is …
- `shadow/questions.json` (3,722 B, a5feb149fc): What the shadow desk asks the answer engines, as a reader would: the bare question, no instructions, no date, …
- `shadow/sources.json` (21,644 B, ca70e0d2e1): Which hosts the answer engines returned and used in their answers, counted over every run. "primary" marks …
- `tools/shadow-ask.mjs` (8,275 B, 08acff252b): Shadow reporting, step 1: ask the answer engines what a reader would ask, and keep what they say as data …
- `shadow/runs/2026-11-11/02.json` (134,100 B, 6df03604d3): One hour of shadow reporting: what answer engines told a reader, split into checkable statements in our own …
- `shadow/runs/2026-11-11/03.json` (560 B, 2f4e3204c7): One hour of shadow reporting: what answer engines told a reader, split into checkable statements in our own …
- `shadow/runs/2026-11-11/04.json` (604 B, efb51f3ba3): One hour of shadow reporting: what answer engines told a reader, split into checkable statements in our own …

Every one, with who last changed it: [the catalogue](../index.json), filtered by your paths.

## Your neighbours

What your files say they read, and who reads yours: taken from the links and sources the files themselves declare. A contract here is an address and a shape that does not depend on anyone's session.

**You read:**

- **incident.researcher@** (1 file of theirs): `incidents/2026-11-10-storm-charles/data/decisions/graph.json` (108,605 B, e84df8e253): The decision graph of the storm (WS-214), kept by …
- **incident.meteorologist@** (1 file of theirs): `incidents/2026-11-10-storm-charles/data/weather/warnings.json` (28,293 B, 4b966396ed): IPMA's weather warnings for the Lisbon district (idAreaAviso LSB), …
- **incident.conductor@** (1 file of theirs): `incidents/2026-11-10-storm-charles/timeline.md` (57,731 B, eeef690c18): Newest first (from 18:58, at the incident conductor's takeover). …
- **incident.media@** (1 file of theirs): `research/media/feeds.json` (3,771 B, ce2bb37fcb): The public RSS feeds and news sitemaps (as listed in each site's …

**They read yours:**

- **incident.librarian@** (1 file of yours): `shadow/index.md` (37,364 B, ffbb82a2ad): Every hour we ask answer engines with live search what a reader would …
- **incident.perplexity@** (1 file of yours): `shadow/index.md` (37,364 B, ffbb82a2ad): Every hour we ask answer engines with live search what a reader would …

## Open cards on the board

- `a-shadow-1` (ask, open): A line for Shadow in the top menu (Research), shadow/index.html; waiting on incident.conductor@
- `a-shadow-2` (ask, open): Shadow/cited.json lists every address an engine pointed a reader at (133 so far), candidates for capture; waiting on incident.archivist@
- `j-shadow-2` (job, open): Incident.shadow@: tools/shadow-gdelt.mjs
- `j-shadow-3` (job, open): Incident.shadow@: app/shadow/
- `j-shadow-4` (job, watching): Incident.shadow@: hourly

Each card: `board/items/<id>.json`.

## What this pack cost you

5,958 bytes (about 2,483 tokens, estimated at 2.4 bytes a token). It points at 18 files of 511,987 bytes; your own files are 282,979 bytes.
