{
  "agent": "incident.flights@web-summit.dinis",
  "by": "incident.flights@web-summit.dinis",
  "updated": "2026-11-12T00:05:48Z",
  "role": "flights: flights on the map with the wind on top, as replayable JSON (Dinis, 11 Nov ~22:00, BRIEF.md)",
  "state": "active: third session; poller (frames every 5/20 min) and hourly publisher running here (started 00:05 UTC on 12 November, first poll 00:10:15)",
  "last_wake": "2026-11-12T00:05:48Z",
  "session": {
    "id": "session_018yvwtPUZ26adtJSZ6vw8uj",
    "started_at": "2026-11-12T00:03:00Z",
    "started_by": "incident.conductor@web-summit.dinis",
    "started_by_session": "session_018yvwtQ4XRqTiSE3vjVq9KD",
    "on_whose_word": "Dinis Cruz",
    "wake": "hourly at :05 (its own scheduled task)",
    "from": "agents/flights/HANDOVER.md (301dc8b)"
  },
  "key": "sha256:f2783898fb97c541 (encryption), sha256:30bd2eb134c8413e (signing); a session key, public half in data/keys.json (incident-flights-dinis-3); -1 and -2 in data/keys-archive/flights.json",
  "done": [
    "session key made and published (incident-flights-dinis-1)",
    "crosswind.json: METAR at LPPT and LPMA from 10 Nov 18:00 on each runway end (OurAirports headings), joined to OpenSky departures per hour and ANA's figures",
    "wind/<area>-<date>.json: Open-Meteo 10 m and 850 hPa, 0.25 deg, Lisbon (121 points) and Madeira (24), 10 Nov 12:00 to 12 Nov 12:00; refreshed every 6 hours",
    "snapshots/<date>/<HH>.json: from adsb.lol (ODbL) since 22:23 UTC, airline callsigns only, no hex or registration; OpenSky snapshots (22:06 to 22:21) removed at 22:24 because its terms forbid republishing identified positions",
    "provenance in every file; raw responses in the flights vault (bfahrf8t), its key sealed to the conductor through the keys lane; index.json with every sha256",
    "hourly two-sentence summary by meta-llama/llama-4-maverick through tools/llm.mjs, published only if every number is in the input (first test passed, 0.0002 USD)",
    "file shapes sent to incident.designer@ (22:13)",
    "map files in incident.designer@'s round-65 shapes, written by the build (tools/flights-map.mjs)",
    "flights/sources.md: seven flight sources, licences, limits, coverage (conductor's ask, 22:10)",
    "near_airport counts in each snapshot (transport's boxes)",
    "second session: key incident-flights-dinis-2 published (23:03); adsb.lol poller taken over (23:04:48)",
    "Madeira as a second map on /flights/ (designer round 69)",
    "Dinis's ask (23:38 via the conductor): frames at 250/150 nm every 5/20 min with others as anonymous dots, tracks per area per hour, flights/how.json and how.md (e9c24a6, 10ad0cc)",
    "wind field over the wide maps at 0.5 deg plus 0.25 deg close fields (60b58c0, cd3dc4b); cadence_min in the data",
    "crosswind window ends 12 Nov 12:00 (56777c4)",
    "third session: key incident-flights-dinis-3 published (20af489, 00:03); poller taken over (first slot 00:10:15); the publisher now merges the staged hour into dev (agents/flights/bin/merge.mjs: frames by t, snapshots by area+time), so a hand-over loses no poll"
  ],
  "next": [
    "third session takes over (HANDOVER.md)",
    "1-2 minute positions need an adsb.lol key (Dinis's decision)",
    "11 Nov archive cut: the runner's first job",
    "restart the poller at each wake (~/flights-bin/poller2.sh)"
  ],
  "asks": [
    "incident.models@: name the model for the flights summary (using meta-llama/llama-4-maverick from models/delegate.json until told)",
    "Dinis: OpenSky's terms (as read 22:19) require a written licence for automated use and de-identified publication; whether transport's automated OpenSky counts may continue is yours to decide (flights/sources.md)",
    "Dinis: any paid flight-status plan (AeroDataBox derived-work plan, about 200 to 499 USD a month) and ANA's consent for its boards are yours to decide",
    "Dinis: an adsb.lol API key (free adhoc, 1,000 a day; or feeder, 7,200) for positions every 1-2 minutes"
  ],
  "vault": {
    "raw": "bfahrf8t (raw adsb.lol, Open-Meteo, AWC and OurAirports responses; earlier raw OpenSky; key sealed to the conductor via the keys lane at 22:14 UTC; to be sealed to incident-flights-dinis-2)"
  },
  "summary_failures": [],
  "handover": "agents/flights/HANDOVER.md",
  "previous_sessions": [
    {
      "id": "session_018yvwtP2dnYFWpCqhk3jtYw",
      "started_at": "2026-11-11T22:01:00Z",
      "started_by": "incident.conductor@web-summit.dinis",
      "started_by_session": "session_018yvwtQ4XRqTiSE3vjVq9KD",
      "on_whose_word": "Dinis Cruz",
      "wake": "hourly at :57 (set by the conductor)",
      "ended": "2026-11-11T23:04:00Z",
      "why": "context above 270k tokens a call (HANDOVER.md)"
    }
  ]
}
