Skip to content

Cross-repo plan — archived status log (before 2026-09-01)

Append-only history. Nothing here drives current work. No skill reads this file — it is the consumed record moved out of plan.md on 2026-09-17. Each section below is verbatim, under a provenance note naming its original heading.

  • 2026-08-31 — Sidecar live proof begins; Cyprus data run lands on prod. .env.prod gained the two CLIMADA_SIDECAR_* keys; deploy runs 33386494542 and 33387177394 (11:20/11:29 UTC) both green, sidecar container healthy and surviving the second deploy's --remove-orphans roll — the required proof. GET /v1/engines and scripts/verify_engine_agreement.py both ran clean (comment of 2026-08-31 12:19). Cyprus data run (#1048) landed W2.1–W2.4 and W2.3 on prod: GADM boundaries, 7 Aqueduct river-flood + 7 Aqueduct coastal-flood datasets, 1 ESHM20 earthquake dataset, three exposure datasets (LitPop 306 pts — its off-box convert + in-container ingest recipe verified byte-for-byte — GHSL 2478 pts, Eurostat 2771 pts), 4 non-default ESRM20 EQ CYP … curves seeded, and Cyprus reference surfaces (river_flood + coastal_flood, all ready).
  • 2026-08-29 — Phase 12 backbone build complete; the phase now waits on a release. Waves W0–W4 landed over 2026-08-27/29 — 20 of 23 issues closed, ending at trunk 0ff4420. Exit criterion 1 is met: sdk-smoke.yml is green on 0ff4420 (run 33238895155) with both legs, and the check [X] Cross-pin: each leg's tile centre resolves that leg's own dataset passes for GRC and CYP alike — each country's pin resolving its own dataset with no region filter, which is #1047's coverage rule proven end-to-end rather than asserted. Exit criterion 4 is met: GREECE_BBOX in scripts/+src/ → 0; 19.0,34.5,28.5,42.0 survives in src/ only as config.py's documented catalog-clip default and the clip.py docstring citing it; tests/scripts/test_greek_name_freeze.py present and green; import climada → zero real call sites (the only textual hit is climada_adapter.py's own "must never import climada" docstring); the one-default partial unique index is declared on the model. Exit criteria 2 and 3 cannot be attempted yet — both #1048 and #1051 run against prod, and prod is 16 commits behind on v0.19.0. Two things the build corrected that the doc above had wrong: the JRC river-flood leg is retired for Cyprus (nine RP tiles, zero valid Cyprus cells — HEAD-verified never meant covered), replaced by the Aqueduct WATCH/1980 riverine baseline that already existed in the scenario manifest; and #1055 revalidated nothing, because no sidecar was reachable from a build agent — ClimadaEngineAdapter. supported_hazards is unchanged and now pinned by a test, so the earthquake and coastal-flood question it was filed to answer is still open and belongs to #1051's prod run.
  • 2026-08-27 — Phase 12 matured for /phase-split. The 2026-08-24 sketch is rewritten to the Phase 13 shape (design record D1–D16, guardrails, grounded waves W0–W4, hotspots, exit criteria) and verified by /reassess fast (two refuters + critic; 9/14 premises confirmed, 5 corrected, 5 items added). Premises corrected: the engine#33 gate is resolved (closed 2026-08-26 as a documented clamp divergence that only measures can trigger — /compare runs none); the sidecar is built, not "adapter only" (missing: prod env keys, a deploy-path profile + pre-build, a /v1/engines roster, docs); pick_dataset has no coverage rule and its extent tie-break would make a Cyprus dataset shadow Greece deterministically (footprint exists, GiST-indexed, unread — D1); two default curves resolve silently to the first (D4 adds a guard + partial unique index); Greece is hardcoded in more places than counted (an 8th GREECE_BBOX consumer, module-level names, and config.py's catalog-clip defaults — D14); the rollup needs reference surfaces for Cyprus (D15); CLIMADA's supported_hazards omits earthquake/coastal (W4.5). Sequencing: W0 + W4.2 start now; W1.1/W3.2/W4.1/W4.3a wait on Phase 13 #1022/#1029/#1026/#1018.
  • 2026-08-27 — Phase 11 — Showcase closed. All 11 target: P11 showcase steps walk against a compose stack (UI trunk 73413cf, backbone trunk 4bfd768, smoke run 33064354961: 25 passed / 0 failed / 2 unrelated skips). The measure was the walk, not the issue count — and the walk is what found the five defects the phase fixed, three of which predated it: the org_admin lockout that made /admin unreachable by anyone (ui#249), a compute preflight that read another dataset's centroid assignments as a portfolio's own and so could never compute a book against a previously used hazard (#1057/#1058), and a compute panel that reported "no impact functions" while still fetching them, which let the moment-2 walk skip itself at random (ui#258). Deferred, unblocking: #1059 and #1060, two sibling scope bugs found beside #1057.
  • 2026-08-27 — Phase 13 — Event Replay opened beside Phase 11 (owner instruction: decide the charter's open points autonomously, verify, proceed). Decisions and their reassess corrections are recorded in exploration/07-live-risk.md §12 and the phase doc's design record: time on the dataset (valid_at + live_events), a deterministic-event lane with its own result table and a lane-level screening grade, single-event ingest mode, snapshots hidden from the probabilistic readers but tile-able, dark landing by an empty list rather than a UI flag, smoke on a vendored ShakeMap fixture (USGS public domain, verified). Showcase Moment 2 gains steps 8–9 (target: P13); #625 is superseded by W3.
  • 2026-08-26 (evening) — Phase 11 constrained to a capability layer (owner decision). climate-lama-ui stays a showcase of platform capabilities, not a product cut for one audience: every surface reachable and useful to every logged-in user, no persona-shaped areas, while the client-UI derivation model stays parked. Verified in the UI that this is today's actual state (flat router, flat nav, hasRole('admin') the only gate, no persona anywhere) — so the constraint preserves a property rather than introducing one. phase-11-showcase.md is amended accordingly: the three persona workstreams are recast as cross-cutting capabilities (build once, wire everywhere) plus surface-local presentation, with five guardrails and a durability-ordered investment rule; epic #367 stays parked instead of becoming the phase's parent, since it is a product-wave artifact of the parked commercial track. Also landed: the Live Event Mode exploration charter (exploration/07-live-risk.md, a gated track — not ratified, consumes no build capacity), and the UI stack corrected to MapLibre GL (it was never react-leaflet).
  • 2026-08-26 (later) — Moment 1 walked by the owner on prod (UI v0.8.0, pin 40.60/22.80): showcase-script steps 3 and 6 flipped to live — raster behind the pin with the measured legend, shareable permalink; steps 4/5 stay target: P11 (unbuilt, unsplit). Closes #971. Same day: engine v0.5.1 on PyPI (parity matrix + executed notebook, engine#33/#34/#35 closed), backbone pin >=0.5.1 landed (#1000 — reaches prod with the next backbone tag); #855 ops sweep executed (18 orphans, 2 images) and closed; #954 rotation done; the Phase 10 milestone closed 8/8.
  • 2026-08-26 — Phase 10 closed on all three exit criteria: sdk-smoke.yml green on 5c67b3d running scripts/smoke_e2e.py from a clean checkout (run 32950123976), no demo.py/SEED_READY left in the workflow, demo residue grep 0 on trunk (ADR-077). Released as backbone v0.17.1 (5c67b3d; carries the lock-pinned install of #984 and the RLS-GUC re-apply fixes #980/#986) + UI v0.8.0, deployed 09:07 UTC and verified by scripts/verify-deploy.sh v0.17.1. UI smoke stack now walks real ingested data (ui#212). #954 leaves the phase as phase-independent ops (in progress, attended). Phase 11 is next but not started — being refined separately before its split.
  • 2026-08-25 — Phase 9 re-closed on its stated exit criterion. The owner ran the Full-Catalog walkthrough end to end against prod v0.17.0 (a5a8404) / UI v0.7.0 and all six steps passed, including step 4's reinstated two-hazard form: the coastal 3 × 3 grid completed in production (six scenario cells at 12:12 UTC, €29.06 M → €50.37 M AAI, reproducing the 2026-08-19 seed run cell for cell) alongside eleven river-flood results. northlane holds 15 org-scoped impact functions, three of them coastal. That discharges #970, the only Phase 9 item carried into Phase 10, and replaces the previous day's "superseded" close with a met one — the distinction matters because Phase 8's waived walkthrough criterion cost four carried defects. One criterion, the live poll→review→approve→ingest cycle, is closed as dispositioned rather than executed and is labelled as such in the phase doc. Epic #895 (demo purge) closed with all seven children landed.
  • 2026-08-24 (later) — UI milestone "Phase 9b -- Risk Lookup revamp" (ui#175–ui#187, split by a concurrent session) recognized as Phase 11's citizen workstream, wave 1 — mapping recorded in phase-11-showcase.md; backbone deps #964/#965 homed to the Phase 11 milestone. The name "9b" predates the goal reset; the label contract (milestone:phase-9b) is kept as-is for /phase-build.
  • 2026-08-24 — Goal reset (owner + retro session): Development-Phase Goals A/B/C adopted; Extended End Goal parked as End-State Vision. Phase 9 closed: all five build waves, the ops track, all 10 ledger rows, wave-0 walkthrough, coastal curves (#833/ADR-076) and the #932/#942/#943 prod proofs landed (prod = v0.16.0); the remaining owner-run Full-Catalog walkthrough exit was superseded by Phase 10's scripted walking skeleton — the un-walked coastal 3×3 grid and per-org curve seeding carry into the P10 walk rather than holding P9 open. Phases 10–12 defined. Backlog triage: every open issue re-homed to a phase, parked, or scheduled.