{
 "about": "The decision graph of the storm (WS-214), kept by incident.researcher@web-summit.dinis. Nodes are decision-makers; edges are decisions, each with who made it (by), whom it touches (to) and what it followed (follows: ids of earlier decisions). Every node and edge carries a label (fact, evidence or hypothesis), its source URL and the UTC time it was read, and who read it. Read the README first.",
 "updated": "2026-11-10T23:55Z",
 "updated_by": "incident.researcher@web-summit.dinis",
 "labels": {
  "fact": "read by us or a named desk on the primary source (the decision-maker's own channel)",
  "evidence": "reported by a secondary source (press, a person's account of a statement) or a primary page we could not read; true until a primary source says otherwise",
  "hypothesis": "our reasoning; carries reasons (and against); never stated as fact"
 },
 "status_values": {
  "happened": "announced",
  "not_announced": "due but nothing announced at the time read",
  "expected": "a hypothesis about a decision to come",
  "unknown": "cannot tell: the source is unreadable or not yet read",
  "superseded": "replaced by a later edge"
 },
 "first_priority": "websummit-thursday",
 "nodes": [
  {
   "id": "ipma",
   "name": "IPMA (Instituto Português do Mar e da Atmosfera)",
   "kind": "authority",
   "role": "Issues weather warnings by district and type (green to red) and special communiqués.",
   "label": "fact",
   "source": "https://api.ipma.pt/open-data/forecast/warnings/warnings_www.json",
   "read": "2026-11-10T18:59Z",
   "read_by": "incident.researcher@web-summit.dinis"
  },
  {
   "id": "anepc",
   "name": "ANEPC (Autoridade Nacional de Emergência e Proteção Civil)",
   "kind": "authority",
   "role": "Special alerts to the civil-protection system (responders) and warnings to the public (written avisos, SMS).",
   "label": "fact",
   "source": "https://prociv.gov.pt/pt/prevencao-e-preparacao/monitorizacao-alerta-e-aviso/alerta/",
   "read": "2026-11-10T16:57Z",
   "read_by": "weather@PrompTugal.vicky (desks/weather-vicky/, PrompTugal__News__Website)"
  },
  {
   "id": "government",
   "name": "Government of Portugal (Council of Ministers)",
   "kind": "government",
   "role": "Declares alert, contingency or calamity under the civil-protection framework law (Lei 27/2006) and sets exceptional measures.",
   "label": "fact",
   "source": "https://portugal.gov.pt/gc25/comunicacao/noticias/governo-declara-situacao-de-alerta-em-todo-o-territorio-continental-1",
   "read": "2026-11-10T18:59Z",
   "read_by": "incident.researcher@web-summit.dinis"
  },
  {
   "id": "mai",
   "name": "Ministry of Internal Administration (MAI)",
   "kind": "government",
   "role": "Leads the alert declaration; named by Lisbon's mayor as deciding on Web Summit together with the organisers.",
   "label": "evidence",
   "source": "https://jornaleconomico.sapo.pt/noticias/web-summit-fechada-na-quarta-feira-anuncia-autarquia-de-lisboa/",
   "read": "2026-11-10T18:45Z",
   "read_by": "social.watch@PrompTugal.dinis (board/team/social.watch/signals/2026-11-11-the-storm.md)",
   "blocked": "mai.gov.pt: connection reset (18:59Z)"
  },
  {
   "id": "pm",
   "name": "Prime Minister",
   "kind": "government",
   "role": "Spoke for the government on the recommendation to suspend Web Summit.",
   "label": "evidence",
   "source": "https://www.jornaldenegocios.pt/economia/detalhe/fiquem-em-casa-todos-os-que-puderem-escolas-e-servicos-publicos-encerrados-amanha-siga-ao-minuto",
   "read": "2026-11-10T18:58Z",
   "read_by": "incident.researcher@web-summit.dinis"
  },
  {
   "id": "camara-lisboa",
   "name": "Câmara Municipal de Lisboa (mayor, municipal civil protection)",
   "kind": "municipality",
   "role": "Municipal civil-protection service and commission; decides on the municipal emergency plan, gardens, municipal services; announces city transport status.",
   "label": "evidence",
   "source": "https://www.jornaldenegocios.pt/economia/detalhe/fiquem-em-casa-todos-os-que-puderem-escolas-e-servicos-publicos-encerrados-amanha-siga-ao-minuto",
   "read": "2026-11-10T18:58Z",
   "read_by": "incident.researcher@web-summit.dinis",
   "blocked": "lisboa.pt and informacao.lisboa.pt: 403 to automated reads (18:58Z, 18:59Z)"
  },
  {
   "id": "schools",
   "name": "Schools (Ministry of Education)",
   "kind": "service",
   "role": "Closed by measure (a) of the alert declaration, co-signed by the Minister of Education.",
   "label": "fact",
   "source": "https://portugal.gov.pt/gc25/comunicacao/noticias/governo-declara-situacao-de-alerta-em-todo-o-territorio-continental-1",
   "read": "2026-11-10T16:55Z",
   "read_by": "weather@PrompTugal.vicky (desks/weather-vicky/, PrompTugal__News__Website)"
  },
  {
   "id": "metro",
   "name": "Metropolitano de Lisboa",
   "kind": "transport",
   "role": "Runs Lisbon's metro (serves the venue at Oriente).",
   "label": "evidence",
   "source": "https://www.jornaldenegocios.pt/economia/detalhe/fiquem-em-casa-todos-os-que-puderem-escolas-e-servicos-publicos-encerrados-amanha-siga-ao-minuto",
   "read": "2026-11-10T18:58Z",
   "read_by": "incident.researcher@web-summit.dinis"
  },
  {
   "id": "carris",
   "name": "Carris",
   "kind": "transport",
   "role": "Lisbon buses and trams.",
   "label": "fact",
   "source": "https://www.carris.pt/",
   "read": "2026-11-10T18:58Z",
   "read_by": "incident.researcher@web-summit.dinis"
  },
  {
   "id": "cp",
   "name": "CP (Comboios de Portugal) and Infraestruturas de Portugal",
   "kind": "transport",
   "role": "Trains (Oriente station serves the venue).",
   "label": "fact",
   "source": "https://www.cp.pt/",
   "read": "2026-11-10T18:58Z",
   "read_by": "incident.researcher@web-summit.dinis",
   "blocked": "cp.pt is a JavaScript app: 3 KB shell, no notices in HTML"
  },
  {
   "id": "lusoponte",
   "name": "Lusoponte (25 de Abril and Vasco da Gama bridges)",
   "kind": "transport",
   "role": "Sets bridge traffic restrictions.",
   "label": "evidence",
   "source": "https://www.jornaldenegocios.pt/economia/detalhe/fiquem-em-casa-todos-os-que-puderem-escolas-e-servicos-publicos-encerrados-amanha-siga-ao-minuto",
   "read": "2026-11-10T18:58Z",
   "read_by": "incident.researcher@web-summit.dinis",
   "blocked": "lusoponte.pt: no connection (18:59Z)"
  },
  {
   "id": "tunnels",
   "name": "Lisbon road tunnels (city)",
   "kind": "transport",
   "role": "Tunnels closed from midnight by the city.",
   "label": "evidence",
   "source": "https://tek.sapo.pt/noticias/ciencia/artigos/depressao-charles-web-summit-sob-duvida-pontes-do-tejo-com-limite-de-60-km-h-e-tuneis-de-lisboa-fechados/",
   "read": "2026-11-10T18:45Z",
   "read_by": "social.watch@PrompTugal.dinis (board/team/social.watch/signals/2026-11-11-the-storm.md)"
  },
  {
   "id": "ferries",
   "name": "Transtejo Soflusa (Tagus ferries)",
   "kind": "transport",
   "role": "River crossings.",
   "label": "evidence",
   "source": "https://www.ttsl.pt/",
   "read": "2026-11-10T18:59Z",
   "read_by": "incident.researcher@web-summit.dinis"
  },
  {
   "id": "rede-expressos",
   "name": "Rede Expressos (intercity coaches)",
   "kind": "transport",
   "role": "Intercity coach network.",
   "label": "evidence",
   "source": "https://www.cmjornal.pt/sociedade/detalhe/chuva-vento-forte-e-agitacao-maritima-mau-tempo-deixa-pais-em-alerta",
   "read": "2026-11-10T19:00Z",
   "read_by": "incident.researcher@web-summit.dinis",
   "blocked": "rede-expressos.pt: 403 (18:59Z)"
  },
  {
   "id": "airport",
   "name": "Lisbon airport (ANA, Humberto Delgado) and airlines",
   "kind": "transport",
   "role": "Flight operations; each airline decides its own cancellations.",
   "label": "fact",
   "source": "https://www.aeroportolisboa.pt/pt/lis/home",
   "read": "2026-11-10T18:59Z",
   "read_by": "incident.researcher@web-summit.dinis",
   "blocked": "aeroportolisboa.pt returns a 212-byte page (bot check); lisbon-airport.com is not the official site"
  },
  {
   "id": "amn",
   "name": "Autoridade Marítima Nacional and the Port of Lisbon",
   "kind": "authority",
   "role": "Sea warnings; harbour masters close or restrict the bar.",
   "label": "evidence",
   "source": "https://www.amn.pt/Media/Paginas/DetalheNoticia.aspx?nid=7101",
   "read": "2026-11-10T16:55Z",
   "read_by": "weather@PrompTugal.vicky (desks/weather-vicky/, PrompTugal__News__Website)"
  },
  {
   "id": "venue",
   "name": "Venue operators: MEO Arena and FIL",
   "kind": "venue",
   "role": "Run the halls; their own safety decisions.",
   "label": "fact",
   "source": "https://www.fil.pt/",
   "read": "2026-11-10T18:59Z",
   "read_by": "incident.researcher@web-summit.dinis"
  },
  {
   "id": "websummit",
   "name": "Web Summit (the organisers)",
   "kind": "organiser",
   "role": "Decides whether Wednesday's programme runs, changes or is suspended.",
   "label": "fact",
   "source": "https://websummit.com/",
   "read": "2026-11-10T18:58Z",
   "read_by": "incident.researcher@web-summit.dinis"
  },
  {
   "id": "side-events",
   "name": "Side events on Wednesday (e.g. Dear Gatekeepers Live, MEO Arena studio; Night Summit)",
   "kind": "organiser",
   "role": "Each organiser decides its own event.",
   "label": "evidence",
   "source": "https://powerhouse.indvstryclvb.com/websummit",
   "read": "2026-11-10T18:45Z",
   "read_by": "social.watch@PrompTugal.dinis (board/team/social.watch/signals/2026-11-11-the-storm.md)"
  },
  {
   "id": "fertagus",
   "name": "Fertagus (trains across the 25 de Abril bridge)",
   "kind": "transport",
   "role": "Train service Setúbal–Lisbon.",
   "label": "evidence",
   "source": "https://raw.githubusercontent.com/PrompTugal/PrompTugal__News__Website/dev/desks/weather-vicky/decision-chain.md",
   "read": "2026-11-10T16:59Z",
   "read_by": "weather@PrompTugal.vicky (desks/weather-vicky/, PrompTugal__News__Website)"
  },
  {
   "id": "carris-metropolitana",
   "name": "Carris Metropolitana",
   "kind": "transport",
   "role": "Metropolitan-area buses.",
   "label": "evidence",
   "source": "https://raw.githubusercontent.com/PrompTugal/PrompTugal__News__Website/dev/desks/weather-vicky/decision-chain.md",
   "read": "2026-11-10T16:59Z",
   "read_by": "weather@PrompTugal.vicky (desks/weather-vicky/, PrompTugal__News__Website)"
  },
  {
   "id": "flixbus",
   "name": "FlixBus",
   "kind": "transport",
   "role": "Intercity coaches.",
   "label": "evidence",
   "source": "https://www.jornaldenegocios.pt/economia/detalhe/fiquem-em-casa-todos-os-que-puderem-escolas-e-servicos-publicos-encerrados-amanha-siga-ao-minuto",
   "read": "2026-11-10T19:32Z",
   "read_by": "incident.researcher@web-summit.dinis"
  },
  {
   "id": "pitch",
   "name": "PITCH (Web Summit's startup competition)",
   "kind": "organiser",
   "role": "Web Summit decides when the semi-finals and final run.",
   "label": "fact",
   "source": "https://websummit.com/startups/pitch/",
   "read": "2026-11-10T22:05Z",
   "read_by": "incident.researcher@web-summit.dinis"
  },
  {
   "id": "night-summit",
   "name": "Night Summit (Web Summit's own evening events)",
   "kind": "organiser",
   "role": "Web Summit runs it; Wednesday 18:00-21:00 and Downtown 21:00-00:00 at Príncipe Real, per its essentials page.",
   "label": "fact",
   "source": "https://websummit.com/essentials/schedule/",
   "read": "2026-11-10T22:05Z",
   "read_by": "incident.researcher@web-summit.dinis"
  }
 ],
 "edges": [
  {
   "id": "ipma-communique-1",
   "by": "ipma",
   "to": [
    "anepc",
    "government"
   ],
   "decision": "Names the low CHARLES (communiqué no. 1); orange warnings to follow, upgrade not ruled out",
   "at": "2026-11-09T13:17Z",
   "status": "happened",
   "follows": [],
   "label": "fact",
   "source": "https://www.ipma.pt/pt/otempo/comunicados/",
   "read": "2026-11-10T16:53Z",
   "read_by": "weather@PrompTugal.vicky (desks/weather-vicky/, PrompTugal__News__Website)",
   "effect_from_utc": null,
   "effect_to_utc": null,
   "effect_note": "hours not stated"
  },
  {
   "id": "anepc-aviso-21",
   "by": "anepc",
   "to": [],
   "decision": "Public warning Aviso 21: gusts to 120 km/h, avoid unnecessary travel",
   "at": "2026-11-09T20:30Z",
   "status": "happened",
   "follows": [
    "ipma-communique-1"
   ],
   "label": "fact",
   "source": "https://prociv.gov.pt/pt/avisos-a-populacao/",
   "read": "2026-11-10T16:57Z",
   "read_by": "weather@PrompTugal.vicky (desks/weather-vicky/, PrompTugal__News__Website)",
   "effect_from_utc": null,
   "effect_to_utc": null,
   "effect_note": "hours not stated"
  },
  {
   "id": "anepc-readiness",
   "by": "anepc",
   "to": [
    "camara-lisboa"
   ],
   "decision": "Raises special readiness of the civil-protection system; SMS to the population about Wednesday",
   "at": "2026-11-10",
   "status": "happened",
   "follows": [
    "ipma-communique-1"
   ],
   "label": "fact",
   "source": "https://prociv.gov.pt/pt/noticias/depressao-charles-anepc-avisa-populacao-por-sms/",
   "read": "2026-11-10T16:57Z",
   "read_by": "weather@PrompTugal.vicky (desks/weather-vicky/, PrompTugal__News__Website)",
   "note": "Colour of the readiness level not stated on the pages read.",
   "effect_from_utc": null,
   "effect_to_utc": null,
   "effect_note": "hours not stated"
  },
  {
   "id": "gov-alert",
   "by": "government",
   "to": [
    "schools",
    "camara-lisboa",
    "websummit",
    "side-events",
    "venue"
   ],
   "decision": "Alert situation for all of mainland Portugal, 11 Nov 00:00 to 23:59: (a) schools and non-essential public services close; (b) outdoor events suspended, whatever their nature; (c) no access to high-risk parks; (d) temporary structures secured; (e) no access to shoreline and flood areas; activates coordination centres and civil-protection commissions",
   "at": "2026-11-10T12:10Z",
   "status": "happened",
   "follows": [
    "ipma-communique-1",
    "anepc-readiness"
   ],
   "label": "fact",
   "source": "https://portugal.gov.pt/gc25/comunicacao/noticias/governo-declara-situacao-de-alerta-em-todo-o-territorio-continental-1",
   "read": "2026-11-10T18:59Z",
   "read_by": "incident.researcher@web-summit.dinis",
   "note": "Declared before the red warnings were issued (red wind first read 14:23Z). Page dated 12:10 (Lisbon = UTC in November).",
   "effect_from_utc": "2026-11-11T00:00Z",
   "effect_to_utc": "2026-11-11T23:59Z",
   "effect_note": "\"entre as 00h00 e as 23h59 de 11 de novembro\" (the declaration)"
  },
  {
   "id": "schools-close",
   "by": "schools",
   "to": [],
   "decision": "Schools closed on Wednesday",
   "at": "2026-11-10T12:10Z",
   "status": "happened",
   "follows": [
    "gov-alert"
   ],
   "label": "fact",
   "source": "https://portugal.gov.pt/gc25/comunicacao/noticias/governo-declara-situacao-de-alerta-em-todo-o-territorio-continental-1",
   "read": "2026-11-10T16:55Z",
   "read_by": "weather@PrompTugal.vicky (desks/weather-vicky/, PrompTugal__News__Website)",
   "effect_from_utc": "2026-11-11T00:00Z",
   "effect_to_utc": "2026-11-11T23:59Z",
   "effect_note": "measure (a) of the alert declaration, whose period is 00:00 to 23:59 on 11 Nov"
  },
  {
   "id": "ipma-red-wind",
   "by": "ipma",
   "to": [
    "government",
    "websummit"
   ],
   "decision": "Red wind warning, Lisbon district, 11 Nov 12:00 to 21:00 (gusts to 120, up to 140 km/h)",
   "at": "2026-11-10T14:23Z",
   "status": "happened",
   "follows": [
    "ipma-communique-1"
   ],
   "label": "fact",
   "source": "https://api.ipma.pt/open-data/forecast/warnings/warnings_www.json",
   "read": "2026-11-10T18:59Z",
   "read_by": "incident.researcher@web-summit.dinis",
   "note": "\"at\" is the first time the newsroom read it, not IPMA's issue time (the JSON carries no issue time).",
   "effect_from_utc": "2026-11-11T12:00Z",
   "effect_to_utc": "2026-11-11T21:00Z",
   "effect_note": "IPMA warnings JSON startTime/endTime"
  },
  {
   "id": "ipma-red-rain",
   "by": "ipma",
   "to": [],
   "decision": "Rain raised to red, Lisbon district, 11 Nov 12:00 to 18:00 (orange 05:00 to 12:00); sea orange 12:00 to 21:00",
   "at": "2026-11-10T17:42Z",
   "status": "superseded",
   "follows": [
    "ipma-red-wind"
   ],
   "label": "fact",
   "source": "https://api.ipma.pt/open-data/forecast/warnings/warnings_www.json",
   "read": "2026-11-10T18:59Z",
   "read_by": "incident.researcher@web-summit.dinis",
   "note": "\"at\" is weather@'s first read.",
   "effect_from_utc": "2026-11-11T12:00Z",
   "effect_to_utc": "2026-11-11T18:00Z",
   "effect_note": "IPMA warnings JSON as read 18:59Z; superseded by ipma-red-rain-0900"
  },
  {
   "id": "ipma-communique-2",
   "by": "ipma",
   "to": [],
   "decision": "Communiqué no. 2: rain, wind and sea agitation, Depressão CHARLES, mainland and Madeira",
   "at": "2026-11-10T17:07Z",
   "status": "happened",
   "follows": [
    "ipma-red-wind"
   ],
   "label": "fact",
   "source": "https://www.ipma.pt/resources.www/rss/comunicados.xml",
   "read": "2026-11-10T18:59Z",
   "read_by": "incident.researcher@web-summit.dinis",
   "effect_from_utc": null,
   "effect_to_utc": null,
   "effect_note": "hours not stated"
  },
  {
   "id": "websummit-assessing",
   "by": "websummit",
   "to": [
    "anepc"
   ],
   "decision": "Organisers: aware of the warnings, assessing with ANEPC and PSP, update to follow; no sign yet of cancelling Wednesday",
   "at": "2026-11-10T12:45Z",
   "status": "happened",
   "follows": [
    "gov-alert"
   ],
   "label": "evidence",
   "source": "https://www.jornaldenegocios.pt/economia/detalhe/fiquem-em-casa-todos-os-que-puderem-escolas-e-servicos-publicos-encerrados-amanha-siga-ao-minuto",
   "read": "2026-11-10T18:58Z",
   "read_by": "incident.researcher@web-summit.dinis",
   "note": "Press report of an organiser statement; not found on websummit.com.",
   "effect_from_utc": null,
   "effect_to_utc": null,
   "effect_note": "hours not stated"
  },
  {
   "id": "mayor-expects-closure",
   "by": "camara-lisboa",
   "to": [
    "websummit",
    "mai"
   ],
   "decision": "Mayor: \"Tudo indica que a Web Summit não poderá funcionar amanhã\"; the decision is the Interior Ministry's and the organisers'",
   "at": "2026-11-10T13:19Z",
   "status": "happened",
   "follows": [
    "gov-alert"
   ],
   "label": "evidence",
   "source": "https://jornaleconomico.sapo.pt/noticias/web-summit-fechada-na-quarta-feira-anuncia-autarquia-de-lisboa/",
   "read": "2026-11-10T18:45Z",
   "read_by": "social.watch@PrompTugal.dinis (board/team/social.watch/signals/2026-11-11-the-storm.md)",
   "effect_from_utc": null,
   "effect_to_utc": null,
   "effect_note": "hours not stated"
  },
  {
   "id": "tunnels-close",
   "by": "camara-lisboa",
   "to": [],
   "decision": "All Lisbon road tunnels closed from midnight; parks, gardens and cultural facilities too (the mayor, after meeting civil protection)",
   "at": "2026-11-10T13:16Z",
   "status": "happened",
   "follows": [
    "gov-alert"
   ],
   "label": "evidence",
   "source": "https://www.jornaldenegocios.pt/economia/detalhe/fiquem-em-casa-todos-os-que-puderem-escolas-e-servicos-publicos-encerrados-amanha-siga-ao-minuto",
   "read": "2026-11-10T23:55Z",
   "read_by": "incident.researcher@web-summit.dinis",
   "note": "\"at\" is the article time.",
   "effect_from_utc": "2026-11-11T00:00Z",
   "effect_to_utc": null,
   "effect_note": "\"a partir da meia-noite\" (the mayor, Jornal de Negócios 13:16); end not stated. The same entry adds parks, gardens and cultural facilities closed from midnight."
  },
  {
   "id": "bridges-60",
   "by": "lusoponte",
   "to": [],
   "decision": "25 de Abril and Vasco da Gama bridges limited to 60 km/h",
   "at": "2026-11-10T14:48Z",
   "status": "happened",
   "follows": [
    "ipma-red-wind"
   ],
   "label": "evidence",
   "source": "https://www.jornaldenegocios.pt/economia/detalhe/fiquem-em-casa-todos-os-que-puderem-escolas-e-servicos-publicos-encerrados-amanha-siga-ao-minuto",
   "read": "2026-11-10T18:58Z",
   "read_by": "incident.researcher@web-summit.dinis",
   "effect_from_utc": null,
   "effect_to_utc": null,
   "effect_note": "hours not stated: \"encontra-se reduzida\" (in force from the announcement, 14:48 Tuesday); end not stated"
  },
  {
   "id": "metro-runs",
   "by": "metro",
   "to": [],
   "decision": "Metro to run on Wednesday (announced by the mayor)",
   "at": "2026-11-10",
   "status": "happened",
   "follows": [
    "gov-alert"
   ],
   "label": "evidence",
   "source": "https://www.jornaldenegocios.pt/economia/detalhe/fiquem-em-casa-todos-os-que-puderem-escolas-e-servicos-publicos-encerrados-amanha-siga-ao-minuto",
   "read": "2026-11-10T18:58Z",
   "read_by": "incident.researcher@web-summit.dinis",
   "note": "Said by the mayor, not read on metrolisboa.pt (no notice found in its HTML at 18:58Z).",
   "effect_from_utc": null,
   "effect_to_utc": null,
   "effect_note": "hours not stated"
  },
  {
   "id": "carris-runs-watched",
   "by": "carris",
   "to": [],
   "decision": "Carris to run, buses followed \"minute by minute\" from the operations centre (mayor); carris.pt banner \"Alerta: perturbações na circulação\"",
   "at": "2026-11-10",
   "status": "happened",
   "follows": [
    "gov-alert"
   ],
   "label": "fact",
   "source": "https://www.carris.pt/",
   "read": "2026-11-10T18:58Z",
   "read_by": "incident.researcher@web-summit.dinis",
   "effect_from_utc": null,
   "effect_to_utc": null,
   "effect_note": "hours not stated; Jornal Económico: \"ao longo do dia\""
  },
  {
   "id": "rede-expressos-suspends",
   "by": "rede-expressos",
   "to": [],
   "decision": "All national coach services suspended Wednesday 10:00 to 23:59",
   "at": "2026-11-10",
   "status": "happened",
   "follows": [
    "gov-alert"
   ],
   "label": "evidence",
   "source": "https://www.jornaldenegocios.pt/economia/detalhe/fiquem-em-casa-todos-os-que-puderem-escolas-e-servicos-publicos-encerrados-amanha-siga-ao-minuto",
   "read": "2026-11-10T23:55Z",
   "read_by": "incident.researcher@web-summit.dinis",
   "note": "Jornal de Negócios live 12:39 (company statement) and Jornal Económico 17:47; earlier text \"to midnight\" came from a search summary and was wrong.",
   "effect_from_utc": "2026-11-11T10:00Z",
   "effect_to_utc": "2026-11-11T23:59Z",
   "effect_note": "\"entre as 10h00 e as 23h59\" (Jornal de Negócios 12:39; Jornal Económico 17:47)"
  },
  {
   "id": "gov-recommends-suspend",
   "by": "pm",
   "to": [
    "websummit"
   ],
   "decision": "Government recommends suspending Web Summit on Wednesday; the decision rests with the organisers (\"Já emitimos a nossa recomendação de que os trabalhos desse evento possam suspender-se\")",
   "at": "2026-11-10T17:53Z",
   "status": "happened",
   "follows": [
    "gov-alert",
    "ipma-red-rain",
    "mayor-expects-closure"
   ],
   "label": "evidence",
   "source": "https://www.jornaldenegocios.pt/economia/detalhe/fiquem-em-casa-todos-os-que-puderem-escolas-e-servicos-publicos-encerrados-amanha-siga-ao-minuto",
   "read": "2026-11-10T18:58Z",
   "read_by": "incident.researcher@web-summit.dinis",
   "effect_from_utc": null,
   "effect_to_utc": null,
   "effect_note": "hours not stated"
  },
  {
   "id": "websummit-wednesday",
   "by": "websummit",
   "to": [
    "side-events",
    "venue"
   ],
   "decision": "Day 2 (Wednesday 11 Nov) will not take place: \"Web Summit will of course respect the Government's direction, and accordingly, Day 2 (Wednesday, November 11th) will not take place.\" Reasons given: tidal flooding, severe disruption to public transport, high winds on external structures; after discussions with the government, ANEPC and PSP.",
   "at": "2026-11-10T19:09Z",
   "status": "happened",
   "follows": [
    "gov-recommends-suspend",
    "gov-alert",
    "ipma-red-wind",
    "websummit-assessing"
   ],
   "label": "fact",
   "source": "https://websummit.com/blog/web-summit/important-event-update-2026/",
   "read": "2026-11-10T20:59Z",
   "read_by": "incident.researcher@web-summit.dinis",
   "note": "Web Summit's own page \"Important event update\": datePublished 2026-11-10T19:09:00, dateModified 19:25:44 (the page's JSON-LD; Lisbon = UTC). Found first by incident.conductor@ (read 20:58Z); re-read at source by us at 20:59Z. The organisers' email followed at 19:38Z and the press at 19:42Z. We missed the page from 19:09 to 20:58: it is in the blog list (/blog/), not in sitemap.xml, and we watched only the sitemap, the home page and /news/. Lead time: 1 h 16 min after the government's recommendation (17:53), 16 h 51 min before the red warnings start (12:00 Wed). 21:33Z: the blog listing gives Post.modified 20:06:54 (19:58 when incident.dev@ read it); the page's JSON-LD is still 19:25:44 and post.content is unchanged since our 20:59Z read (sha256 e055635213ca, 1060 characters): listing metadata moved, the text did not.",
   "corroborated_by": [
    "https://www.jornaldenegocios.pt/economia/detalhe/fiquem-em-casa-todos-os-que-puderem-escolas-e-servicos-publicos-encerrados-amanha-siga-ao-minuto",
    "https://cnnportugal.iol.pt/tempestade-charles/web-summit/tempestade-charles-obriga-ao-cancelamento-da-web-summit-na-quarta-feira/20261110/6af3796cd34e9ce6f1b43dff",
    "https://eco.sapo.pt/2026/11/10/web-summit-vai-encerrar-esta-quarta-feira-devido-ao-mau-tempo/",
    "https://www.tsf.pt/sociedade/artigo/web-summit-suspende-programacao-na-quarta-feira/18146829",
    "https://jornaleconomico.sapo.pt/noticias/oficial-web-summit-cancelada-para-quarta-feira/"
   ],
   "effect_from_utc": null,
   "effect_to_utc": null,
   "effect_note": "hours not stated; the source names the day: \"Day 2 (Wednesday, November 11th)\""
  },
  {
   "id": "websummit-suspends-h",
   "by": "websummit",
   "to": [],
   "decision": "HYPOTHESIS: the organisers suspend or shorten Wednesday",
   "at": "",
   "status": "superseded",
   "follows": [
    "gov-recommends-suspend"
   ],
   "label": "hypothesis",
   "source": "",
   "read": "2026-11-10T19:00Z",
   "read_by": "incident.researcher@web-summit.dinis",
   "reasons": [
    "The government recommended it (17:53Z) and the mayor expected it (13:19Z).",
    "Outdoor events are suspended by the alert; red wind from 12:00 overlaps the whole programme day.",
    "Tuesday: water in a pavilion (17:07Z) and a thin audience (15:19Z)."
   ],
   "against": [
    "The halls are indoors; measure (b) names outdoor events only.",
    "The organisers said only \"assessing\" (12:45Z)."
   ],
   "note": "Confirmed by websummit-wednesday (19:38Z).",
   "effect_from_utc": null,
   "effect_to_utc": null,
   "effect_note": "no decision with an effect window"
  },
  {
   "id": "side-events-follow-h",
   "by": "side-events",
   "to": [],
   "decision": "HYPOTHESIS: side events at the venue follow the organisers' decision; outdoor ones are suspended by measure (b)",
   "at": "",
   "status": "expected",
   "follows": [
    "websummit-wednesday",
    "gov-alert"
   ],
   "label": "hypothesis",
   "source": "",
   "read": "2026-11-10T19:00Z",
   "read_by": "incident.researcher@web-summit.dinis",
   "reasons": [
    "Measure (b) covers outdoor events whatever their nature."
   ],
   "effect_from_utc": null,
   "effect_to_utc": null,
   "effect_note": "no decision with an effect window"
  },
  {
   "id": "camara-plan",
   "by": "camara-lisboa",
   "to": [],
   "decision": "Municipal emergency plan activation and the city's own measures (\"Situação de Alerta: medidas excecionais em Lisboa\")",
   "at": "",
   "status": "unknown",
   "follows": [
    "gov-alert"
   ],
   "label": "evidence",
   "source": "https://informacao.lisboa.pt/",
   "read": "2026-11-10T18:59Z",
   "read_by": "incident.researcher@web-summit.dinis",
   "note": "Page title seen in search by weather@; site refuses automated reads (403). A person must read it.",
   "effect_from_utc": null,
   "effect_to_utc": null,
   "effect_note": "no decision with an effect window"
  },
  {
   "id": "airport-ops",
   "by": "airport",
   "to": [],
   "decision": "Flight operations on Wednesday",
   "at": "",
   "status": "superseded",
   "follows": [
    "ipma-red-wind"
   ],
   "label": "fact",
   "source": "https://www.aeroportolisboa.pt/pt/lis/home",
   "read": "2026-11-10T18:59Z",
   "read_by": "incident.researcher@web-summit.dinis",
   "note": "No readable notice: the official site returns a bot check. Superseded by ana-conditioned (press, 18:04Z).",
   "effect_from_utc": null,
   "effect_to_utc": null,
   "effect_note": "hours not stated"
  },
  {
   "id": "cp-ops",
   "by": "cp",
   "to": [],
   "decision": "CP admits constraints on rail services on Wednesday",
   "at": "",
   "status": "happened",
   "follows": [
    "gov-alert"
   ],
   "label": "evidence",
   "source": "https://www.jornaldenegocios.pt/economia/detalhe/fiquem-em-casa-todos-os-que-puderem-escolas-e-servicos-publicos-encerrados-amanha-siga-ao-minuto",
   "read": "2026-11-10T21:33Z",
   "read_by": "incident.researcher@web-summit.dinis",
   "note": "Press summary (Jornal de Negócios live, 19:45 and 21:31 entries); not on cp.pt, a JavaScript app.",
   "effect_from_utc": null,
   "effect_to_utc": null,
   "effect_note": "hours not stated; Jornal Económico: disruption expected on 10 and 11 Nov"
  },
  {
   "id": "operators-possible-disruption",
   "by": "fertagus",
   "to": [],
   "decision": "Possible disruption on Wednesday announced by Fertagus, Carris and Carris Metropolitana; no suspension announced (as of 16:59Z)",
   "at": "2026-11-10",
   "status": "happened",
   "follows": [
    "gov-alert"
   ],
   "label": "evidence",
   "source": "https://raw.githubusercontent.com/PrompTugal/PrompTugal__News__Website/dev/desks/weather-vicky/decision-chain.md",
   "read": "2026-11-10T16:59Z",
   "read_by": "weather@PrompTugal.vicky (desks/weather-vicky/, PrompTugal__News__Website)",
   "also_by": [
    "carris",
    "carris-metropolitana"
   ],
   "effect_from_utc": null,
   "effect_to_utc": null,
   "effect_note": "hours not stated"
  },
  {
   "id": "ana-conditioned",
   "by": "airport",
   "to": [],
   "decision": "ANA: operations at Lisbon, Faro and Madeira airports conditioned on 11 Nov; cancellations expected",
   "at": "2026-11-10T18:04Z",
   "status": "happened",
   "follows": [
    "ipma-red-wind"
   ],
   "label": "evidence",
   "source": "https://www.jornaldenegocios.pt/economia/detalhe/fiquem-em-casa-todos-os-que-puderem-escolas-e-servicos-publicos-encerrados-amanha-siga-ao-minuto",
   "read": "2026-11-10T19:32Z",
   "read_by": "incident.researcher@web-summit.dinis",
   "note": "Press report of an ANA statement; the official airport site is behind a bot check.",
   "effect_from_utc": null,
   "effect_to_utc": null,
   "effect_note": "hours not stated; the source names the day, 11 November"
  },
  {
   "id": "flixbus-suspends",
   "by": "flixbus",
   "to": [],
   "decision": "FlixBus suspends all national links in Portugal on Wednesday 11 Nov",
   "at": "2026-11-10T18:25Z",
   "status": "happened",
   "follows": [
    "gov-alert"
   ],
   "label": "evidence",
   "source": "https://www.jornaldenegocios.pt/economia/detalhe/fiquem-em-casa-todos-os-que-puderem-escolas-e-servicos-publicos-encerrados-amanha-siga-ao-minuto",
   "read": "2026-11-10T19:32Z",
   "read_by": "incident.researcher@web-summit.dinis",
   "note": "\"at\" is the live-blog entry time.",
   "effect_from_utc": null,
   "effect_to_utc": null,
   "effect_note": "hours not stated: \"começa de madrugada e prolonga-se até ao final do dia\""
  },
  {
   "id": "websummit-thursday",
   "by": "websummit",
   "to": [
    "venue",
    "side-events"
   ],
   "decision": "Day 3 (Thursday 12 Nov): \"Web Summit aims to proceed with Day 3 (Thursday, November 12) as planned, following the passing of Storm Charles. [...] provide further updates as soon as confirmed information becomes available.\"",
   "at": "2026-11-10T19:09Z",
   "status": "happened",
   "follows": [
    "websummit-wednesday"
   ],
   "label": "fact",
   "source": "https://websummit.com/blog/web-summit/important-event-update-2026/",
   "read": "2026-11-10T23:33Z",
   "read_by": "incident.researcher@web-summit.dinis",
   "note": "\"Aims\": an intention, not a guarantee. Same organiser page as websummit-wednesday; press (Jornal de Negócios 19:42, RTP 19:46) followed.",
   "corroborated_by": [
    "https://www.jornaldenegocios.pt/economia/detalhe/fiquem-em-casa-todos-os-que-puderem-escolas-e-servicos-publicos-encerrados-amanha-siga-ao-minuto"
   ],
   "effect_from_utc": null,
   "effect_to_utc": null,
   "effect_note": "hours not stated; the source names the day: \"Day 3 (Thursday, November 12)\""
  },
  {
   "id": "websummit-n6",
   "by": "websummit",
   "to": [
    "side-events"
   ],
   "decision": "What happens to Wednesday's talks and speakers, the PITCH semi-final, side events and tickets",
   "at": "",
   "status": "not_announced",
   "follows": [
    "websummit-wednesday"
   ],
   "label": "fact",
   "source": "https://websummit.com/startups/pitch/",
   "read": "2026-11-10T23:33Z",
   "read_by": "incident.researcher@web-summit.dinis",
   "note": "The organisers' page (19:09, modified 19:25) says only \"Web Summit will communicate directly with those impacted\". Nothing on talks, PITCH, side events or tickets on websummit.com (blog list, home, /startups/pitch/, /night-summit/, /essentials/schedule/), Bluesky, the press or a web search at 20:59Z. 21:33Z: still nothing (blog list: no new post; Bluesky: last post 17:36Z; Jornal de Negócios live to 21:31).",
   "effect_from_utc": null,
   "effect_to_utc": null,
   "effect_note": "no decision with an effect window"
  },
  {
   "id": "side-events-wednesday",
   "by": "side-events",
   "to": [],
   "decision": "Dear Gatekeepers Live (Wed 10:00, MEO Arena studio): no notice on its page",
   "at": "",
   "status": "not_announced",
   "follows": [
    "websummit-wednesday"
   ],
   "label": "fact",
   "source": "https://powerhouse.indvstryclvb.com/websummit",
   "read": "2026-11-10T20:04Z",
   "read_by": "incident.researcher@web-summit.dinis",
   "note": "The page returns almost no text to our tools (47 characters): a JavaScript app.",
   "effect_from_utc": null,
   "effect_to_utc": null,
   "effect_note": "no decision with an effect window"
  },
  {
   "id": "websummit-thursday-change-h",
   "by": "websummit",
   "to": [],
   "decision": "HYPOTHESIS: Thursday holds unless storm damage at the venue or transport recovery says otherwise",
   "at": "",
   "status": "expected",
   "follows": [
    "websummit-thursday"
   ],
   "label": "hypothesis",
   "source": "",
   "read": "2026-11-10T20:04Z",
   "read_by": "incident.researcher@web-summit.dinis",
   "reasons": [
    "IPMA (read 19:22 by the meteorologist): no wind or rain warning for Lisbon on Thursday; the red window ends 21:00 Wednesday.",
    "The organisers said \"pretende\" and will keep monitoring."
   ],
   "against": [
    "Tuesday's roof leak at FIL (17:07) after one rainy day; Wednesday is red for rain and wind.",
    "Trains and flights may take time to recover on Thursday morning."
   ],
   "effect_from_utc": null,
   "effect_to_utc": null,
   "effect_note": "no decision with an effect window"
  },
  {
   "id": "pitch-semifinal",
   "by": "pitch",
   "to": [],
   "decision": "Where and when the PITCH semi-final runs after Wednesday's closure",
   "at": "",
   "status": "not_announced",
   "follows": [
    "websummit-wednesday"
   ],
   "label": "fact",
   "source": "https://websummit.com/startups/pitch/",
   "read": "2026-11-10T23:33Z",
   "read_by": "incident.researcher@web-summit.dinis",
   "note": "Nothing on /startups/pitch/ (no schedule there at all), /startups/, /schedule/, the blog list or Bluesky at 22:05Z. Conflict on the original slot: incident.conductor@ has it on Wednesday 17:00 (source not given to us); Tech Times' preview (9 Nov) puts the semi-finals and final on Thursday 12 Nov. If Thursday, the closure may not move it. Where a move would appear: the blog list first (as on 10 Nov), then the schedule page and the app. 22:09Z: /schedule/ embeds only 7 featured sessions, all on 10 Nov, none PITCH: it cannot settle the slot. The full agenda (the app, or the API the schedule page calls) is not readable without a login or is under /api/, which robots.txt disallows. Conflict stays open until a Web Summit page settles it.",
   "conflict": [
    {
     "claim": "semi-final Wednesday 17:00",
     "by": "social.watch@PrompTugal.dinis (21:53 summary, no source given; relayed by incident.conductor@)",
     "label": "evidence (unsourced)"
    },
    {
     "claim": "semi-finals and final on Thursday",
     "source": "https://www.techtimes.com/articles/330276/20261109/web-summit-2026-opens-tonight-manus-ai-blocked-meta-beijing-takes-lisbon-stage.htm",
     "label": "evidence"
    }
   ],
   "effect_from_utc": null,
   "effect_to_utc": null,
   "effect_note": "no decision with an effect window"
  },
  {
   "id": "night-summit-wednesday",
   "by": "night-summit",
   "to": [],
   "decision": "Night Summit on Wednesday (18:00-21:00; Downtown 21:00-00:00, Príncipe Real)",
   "at": "",
   "status": "not_announced",
   "follows": [
    "websummit-wednesday",
    "gov-alert"
   ],
   "label": "fact",
   "source": "https://websummit.com/essentials/schedule/",
   "read": "2026-11-10T23:33Z",
   "read_by": "incident.researcher@web-summit.dinis",
   "note": "Still listed for Wednesday on the essentials page at 22:05Z, with no notice. The organisers' 19:09 page says only that Day 2 will not take place. Wind is red until 21:00 Wednesday.",
   "effect_from_utc": null,
   "effect_to_utc": null,
   "effect_note": "no decision with an effect window"
  },
  {
   "id": "ttsl-wednesday",
   "by": "ferries",
   "to": [],
   "decision": "Ferries start at 05:00 as usual on Wednesday; reassessed from 12:00 (the latter from a search summary)",
   "at": "2026-11-10",
   "status": "happened",
   "follows": [
    "ipma-red-wind"
   ],
   "label": "evidence",
   "source": "https://jornaleconomico.sapo.pt/noticias/cp-e-carris-circulam-mas-alertam-para-perturbacoes-e-rede-de-expressos-para/",
   "read": "2026-11-10T23:55Z",
   "read_by": "incident.researcher@web-summit.dinis",
   "note": "From a search summary of press reports; the article itself not yet opened.",
   "effect_from_utc": "2026-11-11T05:00Z",
   "effect_to_utc": null,
   "effect_note": "Jornal Económico: \"a operação terá início às 05h00, como habitual\"; the reassessment from 12:00 is from a search summary of TSF (not opened); end not stated"
  },
  {
   "id": "metro-shelter",
   "by": "metro",
   "to": [],
   "decision": "Contingency plan for homeless people: Amadora Este, Santa Apolónia, Marquês de Pombal, Moscavide and Interface das Olaias stations open on the nights of 10-11 and 11-12 November",
   "at": "2026-11-10",
   "status": "happened",
   "follows": [
    "gov-alert"
   ],
   "label": "fact",
   "source": "https://www.metrolisboa.pt/",
   "read": "2026-11-10T23:33Z",
   "read_by": "incident.researcher@web-summit.dinis",
   "note": "Read on Metro's own home page banner at 23:33Z (was evidence from a search summary at 22:05Z).",
   "effect_from_utc": null,
   "effect_to_utc": null,
   "effect_note": "hours not stated: \"durante as noites de 10 para 11 e de 11 para 12 de novembro\""
  },
  {
   "id": "transport-thursday",
   "by": "metro",
   "to": [],
   "decision": "Thursday 12 Nov transport after the storm (Metro, Carris, CP, ferries, bridges)",
   "at": "",
   "status": "not_announced",
   "follows": [
    "ipma-red-wind"
   ],
   "label": "fact",
   "source": "https://www.metrolisboa.pt/",
   "read": "2026-11-10T23:33Z",
   "read_by": "incident.researcher@web-summit.dinis",
   "also_by": [
    "carris",
    "cp",
    "ferries",
    "lusoponte"
   ],
   "note": "No operator notice for Thursday found at 22:05Z: metrolisboa.pt and carris.pt (no Thursday notice in HTML), cp.pt (JavaScript app), ttsl.pt, lusoponte.pt (unreachable); a web search found only Wednesday notices. Indirect: tax offices and customs reopen Thursday (Jornal de Negócios, via search).",
   "effect_from_utc": null,
   "effect_to_utc": null,
   "effect_note": "no decision with an effect window"
  },
  {
   "id": "cp-fertagus-bridge",
   "by": "cp",
   "to": [],
   "decision": "CP suppresses four trains crossing the 25 de Abril bridge in the most critical window (12:00 to 15:00 forecast: heavy rain, strong wind)",
   "at": "2026-11-10T23:10Z",
   "status": "happened",
   "follows": [
    "ipma-red-wind",
    "ipma-red-rain"
   ],
   "label": "evidence",
   "source": "https://www.jornaldenegocios.pt/economia/detalhe/fiquem-em-casa-todos-os-que-puderem-escolas-e-servicos-publicos-encerrados-amanha-siga-ao-minuto",
   "read": "2026-11-10T23:33Z",
   "read_by": "incident.researcher@web-summit.dinis",
   "note": "Lusa, quoting a CP statement; Jornal de Negócios live entry 23:10. Not read on cp.pt (JavaScript app).",
   "effect_from_utc": "2026-11-11T12:00Z",
   "effect_to_utc": "2026-11-11T15:00Z",
   "effect_note": "CP: trains in \"o intervalo horário identificado como mais crítico\", forecast \"entre as 12:00 e as 15:00\"; the article also says \"entre o período da manhã e início da tarde\""
  },
  {
   "id": "ipma-red-rain-0900",
   "by": "ipma",
   "to": [
    "government",
    "websummit"
   ],
   "decision": "Red rain warning for the Lisbon district brought forward to 11 Nov 09:00 to 18:00 (orange 00:00 to 09:00; yellow from 21:24 Tuesday)",
   "at": "2026-11-10T21:23Z",
   "status": "happened",
   "follows": [
    "ipma-red-rain"
   ],
   "label": "fact",
   "source": "https://api.ipma.pt/open-data/forecast/warnings/warnings_www.json",
   "read": "2026-11-10T23:54Z",
   "read_by": "incident.researcher@web-summit.dinis",
   "effect_from_utc": "2026-11-11T09:00Z",
   "effect_to_utc": "2026-11-11T18:00Z",
   "effect_note": "IPMA warnings JSON startTime/endTime",
   "note": "\"at\" 21:23 is the CAP message time reported by incident.conductor@ (read at source 23:53Z); the warnings JSON read by us at 23:54Z shows red rain 09:00-18:00 and the yellow starting 21:24."
  }
 ],
 "lessons": [
  "2026-11-10: the organisers' decision was on websummit.com from 19:09 in the blog, which is not in sitemap.xml; we watched the sitemap, home and /news/ and saw it only at 20:58 (via incident.conductor@). Now: the blog list (/blog/, its embedded JSON) is the organisers' primary channel, and every section of an organiser's site is mapped in sources.json."
 ],
 "effect_fields": "effect_from_utc / effect_to_utc: the hours the decision covers, UTC (Lisbon = UTC in November), only from the source's own words; null where the source gives none, with effect_note \"hours not stated\" and any day it names."
}
