Why this site has two fronts: the Weather face, clean and for anyone, and the data room, where everything read from outside is kept with its source. The one rule between them: the face draws only what the data room holds. An explanation from the Studio. From Dinis Cruz's direction of 11 November 2026, about 02:10 UTC (BRIEF.md), and the Weather face as incident.weather@ built it (weather/index.md, app/weather/weather.js, read 02:25 UTC). The warning shown is quoted from the data room as read then: a record, not the warning in force. For warnings, follow IPMA and ANEPC. Proposed by incident.conductor@web-summit.dinis.
Below: the same storyboard as plain text, every scene in order with its caption.
1. Two fronts
Why does one site have two fronts?
- This site began as its evidence: a timeline, tables, files, every item with its source and the time it was read. That is the data room. It is what you want when you need to check something, and too much when you only want to know what is happening.
At work: the data room. "Dense, complete, checkable: the timeline, the decisions, the weather data, the graph, the query page."; added: For: whoever needs to check a thing, and agents; Reads: the outside sources; it is the only part that does; Every item: labelled fact, evidence or hypothesis, with its source and the time read; Where: data-room/ and the pages under it. - So there is a second front. Dinis's words for it (BRIEF.md): "This should literally look like a weather channel ... very clean, very professional, a set of data. But only focused on Storm Charles." It is now the front page.
At work: the weather face. "Dense, complete, checkable: the timeline, the decisions, the weather data, the graph, the query page.". "Storm Charles as a weather channel would show it: now, today hour by hour, what is closed, tomorrow."; added: For: anyone; Reads: only the data room's published files; Adds: no forecast and no advice of its own; Where: / and weather/. - One rule joins them, also in his words: "The visual face uses only data from the data section." Follow the row of characters: outside sources, collectors, the data room, the Weather face, you. There is no step from the outside straight to the face. The data room "is the one that consumes from other places" (BRIEF.md).
At work: the weather face. "Storm Charles as a weather channel would show it: now, today hour by hour, what is closed, tomorrow.".
Where does a thing on the Weather page come from?
- Start where you are. On the Weather page, today's strip shows a band: IPMA's red rain warning for Lisbon, with IPMA's sentence. After it, small, a source and a time. That is where the walk back begins.
At work: you. "A band on today's strip: IPMA's red rain warning for Lisbon, 09:00 to 18:00, "Strong and persistent precipitation."". - One step back: the Weather face. It did not look anything up. It fetched a file this site publishes, weather/warnings.json, and drew what the file says. The link beside the band opens that file in the data room's viewer, at the value it was drawn from.
At work: the weather face. "A band on today's strip: IPMA's red rain warning for Lisbon, 09:00 to 18:00, "Strong and persistent precipitation.""; added: Drawn from: api/v1/…/weather/warnings.json; Shown to you as: that file, in the data room's viewer. - One more: the data room. The record the band was drawn from: a level, a start, an end, IPMA's sentence, and with them the address it was read from and the time it was read.
At work: the data room. "A band on today's strip: IPMA's red rain warning for Lisbon, 09:00 to 18:00, "Strong and persistent precipitation.""; added: Drawn from: api/v1/…/weather/warnings.json; Shown to you as: that file, in the data room's viewer. (fact) "Precipitação forte e persistente."; added: source: api.ipma.pt, warnings (open data); read_utc: 2026-11-11T02:22:46Z. - One more: the collector. The weather data is kept by the meteorologist's agent, which reads IPMA's open data again and again and writes down what it read and when. If IPMA changes the warning, the next read changes the file, and the face changes with it. The record is quoted as read on 11 November at 02:22:46 UTC. It is rewritten at every read: the file is right, and this card dates.
At work: collectors. (fact) "Precipitação forte e persistente."; added: Kept by: incident.meteorologist@. - And the last: IPMA, the body that warns. The warning is IPMA's. Everything between IPMA and you on this site is carrying, labelling and drawing. For what to do, follow IPMA and ANEPC, not us.
At work: outside. (fact) "Precipitação forte e persistente.".
3. What keeps the clean face honest
A clean page hides its workings. What stops it drifting from the evidence?
- It fetches nothing from outside. Its script has one fetch, over a fixed list of files, every one of them a file this site itself serves, carrying its source and the time read. Whatever is on the page is in a file you can open. A check in the site's gate fails the release if that stops being true. Fourteen files when counted in the script at 02:42 UTC (eleven at 02:25); the list grows as the page does, and the rule does not. Which file feeds which part: the Weather face's own page about itself.
At work: the weather face. "One fetch, fourteen files, all served by this site."; added: sources/ipma/data/warnings.json: warnings by area (the Where view); sources/ipma/data/places.json: the places. - It makes no forecast of its own, and it does not let three different things look alike. What was measured is solid blue. IPMA's automatic forecast is grey and hatched. The meteorologist's reading is dashed and carries the word hypothesis.
At work: the weather face. "Storm Charles as a weather channel would show it: now, today hour by hour, what is closed, tomorrow.". - Red, orange and yellow mean IPMA's warning levels and nothing else, always with the level written. Nothing else on the page may wear them.
At work: the weather face. "Storm Charles as a weather channel would show it: now, today hour by hour, what is closed, tomorrow.". - And it cannot be fresher than the data room. If a file is an hour old, the face is an hour old, and says so: each figure is followed by the time it was read. A clean page that hid its age would be worse than a cluttered one that showed it.
At work: the data room. "Dense, complete, checkable: the timeline, the decisions, the weather data, the graph, the query page.". - Two faces, one record. The face is for reading; the data room is for checking; the link from one to the other is on every figure. Neither is a warning service.
At work: you. "Dense, complete, checkable: the timeline, the decisions, the weather data, the graph, the query page.". "Storm Charles as a weather channel would show it: now, today hour by hour, what is closed, tomorrow.".
What this simplifies
- "Reads only the data room" is enforced: tools/weather-check.mjs runs in the site's gate (read in admin/build/validate.mjs at 02:42 UTC) and fails the release if the Weather script fetches anything but this site's own published files, or names an outside address other than the links to IPMA and ANEPC. When this was first made, at 02:27, no such check existed; the Weather agent wrote it after this explanation said so.
- The rule was widened on 11 November from "the data room's files" to any JSON this site itself serves that carries its source and time read: the incident's data under api/v1/, incident.json, and a source's own data (sources/ipma/data/). Never an outside address.
- The collectors are drawn as one character. They are several agents and scripts, and the files have different keepers: the weather files the meteorologist's agent, decisions/graph.json the researcher's, signals.json and incident.json the conductor's.
- Dinis's direction goes further than what is built: the data is to move into vaults and the site is to read it from there ("it shouldn't come from here"). Today the files are in the repository and served by the site.
- The Weather face was hours old when this was made and is changing by the hour. Its own page says what it shows; if this explanation and that page disagree, the page is right.
- When this was first made (02:27 UTC) the links beside the figures did not arrive: the viewer's address was changing. They now open view/?path=<file>, one page that shows any of the site's files.
- The warning on the cards is a record as read at 02:22:46 UTC on 11 November 2026, not the warning in force.
Read for this
- BRIEF.md (Dinis, 11 November, ~02:10 UTC: two faces), read 11 November 2026, 02:12 UTC
- RESTRUCTURE.md (the two faces, what each may read), read 11 November 2026, 02:12 UTC
- weather/about.md (the Weather face's own account of itself), read 11 November 2026, 02:42 UTC
- app/weather/weather.js (one fetch; fourteen files), read 11 November 2026, 02:42 UTC
- weather/warnings.json (read from IPMA 02:22:46 UTC), read 11 November 2026, 02:25 UTC
- tools/weather-check.mjs, run in the gate (admin/build/validate.mjs), read 11 November 2026, 02:42 UTC
The data this page is drawn from: animations/two-faces.json.