# The pack for incident.labs@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

**experiments**: many timelines, many decision views, lead times, weather views (from `agents/JOBS.md` (16,087 B, cb88df47c9))

**You may change:** `labs/**`, `app/labs/**`, `tools/labs-*.mjs`, `agents/labs/**`, `accounts/ledger/labs.jsonl`, `transition/interviews/labs.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/labs/policy.md` (8,272 B, b480673df3)

## Where the work stands

- **State:** third session, after the 12:00 look: twelve experiments pass on the 11:26 data; two faults found by looking and fixed (lead-times drew the wind lowering as red; stations hid Lisbon's rain on Madeira's scale); known-when can jump to the wind change and the latest read (its own date: 2026-11-11T12:14Z)
- **Next:** Wikipedia on the lag view when the first edit per keyed fact is published in first-on-each-fact.json's shape_for_other_series (not there at 06:50)
- **Next:** a keyboard order check on the SVG marks themselves (the table twin gives a linear path meanwhile)
- **Next:** entity links in items when rows and edges carry entity ids
- **Ask:** incident.researcher@: only 8 of the 47 edges in decisions/graph.json state both a minute of announcement and effect_from_utc; every edge that gains them appears on the lead-times chart by itself
- **Ask:** incident.meteorologist@: a field on each Madeira station saying which IPMA warning area it is in (north coast, south coast, mountains, Porto Santo) would let the stations view draw the warning on the …
- **Ask:** incident.media@: first-on-each-fact.json works well as data; the same shape for Wikipedia's first edit on each keyed fact would put Wikipedia on the lag view
- **Ask:** incident.weather@: you said you would lift the Tuesday strip (labs/weather/day-rebuilt) after the 05:00 observations: does it need anything changed? Two fixes of this hour may matter to the front …
- The whole status, with everything done: `agents/labs/status.json` (9,204 B, 36682eb56c)

## The hand-over from the session before yours

Copied whole from `agents/labs/status.json` (`handover`): this is the part of the status a new session cannot start without.

- **In flight:** nothing: everything written is pushed
- **Each wake:** git fetch origin dev && git reset --hard origin/dev; node admin/build/build.mjs && node tools/labs-check.mjs; then screenshots of the weather views, read by eye
- **Lesson:** the check passes on a view that says the wrong thing: three faults at 06:50 and one at 09:15 were found only by looking
- **Lesson:** a warning changes: never write its level or figure in a script or a page; read it from warnings.json or cap.json
- **Lesson:** a colour word in a decision's text is not its level: 'lowers from red to orange' read as red until 12:15 on 11 Nov (L.level now takes the target of a change)
- **written:** 2026-11-11T12:14Z
- **wake:** one one-shot wake from incident.conductor@ fired into the third session at 12:08 UTC; no recurring wake
- **kept outside git:** screenshots and the twenty-line screenshot script (a scratch folder, gone with the session): Playwright, page.locator(".lab").screenshot
- **cards:** a-labs-2, a-labs-3, a-labs-5 still wait on others and want no answer from labs; j-labs-5 (round 4) is done by rounds 4 and 5 except Wikipedia on the lag view

**Open first, before any other file: the hand-over written by the session before yours:** `agents/labs/HANDOVER.md` (8,499 B, aee3d27119)

## Your files

20 files, 153,910 bytes in all (about 64,129 tokens to read every one): `app/labs/` 5, `labs/decisions/` 4, `labs/timelines/` 4, `labs/weather/` 4, `agents/labs/` 1, `labs/` 1, `tools/` 1. The ones to open first:

- `labs/index.md` (4,881 B, d4f6bfafbe): Experiments in showing Storm Charles: several timelines, several decision views, several weather views, each …
- `tools/labs-check.mjs` (6,099 B, 067f443496): The Labs' browser check (incident.labs@web-summit.dinis). Opens every experiment of a built site in a …

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.meteorologist@** (8 files of theirs): `incidents/2026-11-10-storm-charles/data/weather/analysis.json` (17,225 B, 92afb5aa10): Reasoning from the facts in this folder; not IPMA's words. Times are …; `incidents/2026-11-10-storm-charles/data/weather/cap.json` (46,620 B, 24ccddf354): IPMA's warnings for the Lisbon district as CAP messages (Common …; `incidents/2026-11-10-storm-charles/data/weather/warnings.json` (28,293 B, 4b966396ed): IPMA's weather warnings for the Lisbon district (idAreaAviso LSB), …; and 5 more
- **incident.conductor@** (2 files of theirs): `BRIEF.md` (40,812 B, 98c613e443): Dinis Cruz, 10 November 2026, in his session with …; `incidents/2026-11-10-storm-charles/data/signals.json` (103,975 B, 3b4dda3cc2): The incident timeline as data, made from timeline.md by …
- **incident.graph@** (2 files of theirs): `data/graph/tables/actors.json` (49,201 B, 1076c5f67f): Who decides, warns or reports: bodies, operators, the organiser, …; `data/graph/tables/signals.json` (83,969 B, 4ee9a9aa71): The timeline as rows: one per signal, with who published it …
- **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.designer@** (1 file of theirs): `design/README.md` (5,949 B, 415d4e8aa6): Kept by incident.designer@web-summit.dinis, 11 November 2026, 10:17 …
- **incident.media@** (1 file of theirs): `research/media/first-on-each-fact.json` (40,723 B, 6131df6b61): Who was first on each keyed fact (facts.json), among the outlets we …

**They read yours:**

- **incident.designer@** (1 file of yours): `app/labs/timelines.js` (23,932 B, df39078519): Labs, timelines (incident.labs@web-summit.dinis): lanes, known-when, …
- **incident.librarian@** (1 file of yours): `labs/index.md` (4,881 B, d4f6bfafbe): Experiments in showing Storm Charles: several timelines, several …

## Open cards on the board

- `a-labs-2` (ask, open): Only 8 of the 47 edges in decisions/graph.json state both a minute of announcement and effect_from_utc; waiting on incident.researcher@
- `a-labs-3` (ask, open): A field on each Madeira station saying which IPMA warning area it is in (north coast, south coast, mountains,…; waiting on incident.meteorologist@
- `a-labs-5` (ask, open): First-on-each-fact.json works well as data; waiting on incident.media@
- `a-labs-6` (ask, open): You said you would lift the Tuesday strip (labs/weather/day-rebuilt) after the 05:00 observations; waiting on incident.weather@
- `j-labs-10` (job, open): Incident.labs@: the 12:00 UTC look (a fresh session)
- `j-labs-6` (job, open): Incident.labs@: entity links in items when rows and edges carry entity ids
- `j-labs-7` (job, open): Incident.labs@: Wikipedia on the lag view when the first edit per keyed fact is published in first-on-each-fact.json's…
- `j-labs-9` (job, open): Incident.labs@: a keyboard order check on the SVG marks themselves (the table twin gives a linear path meanwhile)
- `j-labs-round-2` (job, open): incident.labs@: Experiments: many timelines, many decision views, lead times, weather views

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

## What this pack cost you

8,002 bytes (about 3,334 tokens, estimated at 2.4 bytes a token). It points at 18 files of 615,911 bytes; your own files are 153,910 bytes.
