Commit Graph

  • 1db05e6caa feat(usage): per-request Axiom telemetry pipeline (gateway + upstream attribution) (#3403) main Sebastien Melki 2026-04-25 18:10:51 +03:00
  • 8655bd81bc feat(energy-atlas): GEM pipeline data import — gas 297, oil 334 (#3406) Elie Habib 2026-04-25 18:59:46 +04:00
  • b43d1ca6c7 chore(resilience): address Ship 1 self-review findings (P2 + P3) feat/trade-policy-rename Elie Habib 2026-04-25 18:35:46 +04:00
  • d68c089f73 fix(usage): add 'live' cache tier + revert preview debug logs feat/usage-telemetry Sebastien Melki 2026-04-25 17:30:38 +03:00
  • e99ef1dacb Merge remote-tracking branch 'origin/main' into feat/usage-telemetry Sebastien Melki 2026-04-25 17:29:39 +03:00
  • f09581bf9b feat(resilience): rename tradeSanctions → tradePolicy + drop OFAC component (Ship 1) Elie Habib 2026-04-25 18:24:49 +04:00
  • 0033a1d286 debug(usage): unconditional logs in sendToAxiom for preview troubleshooting Sebastien Melki 2026-04-25 17:06:51 +03:00
  • 12d1d06f11 chore(usage): note Axiom region in ingest URL comment Sebastien Melki 2026-04-25 17:00:30 +03:00
  • 3dcf171c6b chore: trigger preview rebuild for AXIOM_API_TOKEN Sebastien Melki 2026-04-25 16:58:09 +03:00
  • 5c955691a9 feat(energy-atlas): live tanker map layer + contract (parity PR 3, plan U7-U8) (#3402) Elie Habib 2026-04-25 17:56:23 +04:00
  • 0bca368a7d feat(energy-atlas): EnergyRiskOverviewPanel — executive overview tile (parity PR 2, plan U5-U6) (#3398) Elie Habib 2026-04-25 17:56:02 +04:00
  • d9a1f6a0f8 feat(energy-atlas): GEM pipeline import infrastructure (parity PR 1, plan U1-U4) (#3397) Elie Habib 2026-04-25 17:55:45 +04:00
  • eeffac31bf fix(vercel): drop fragile VERCEL_GIT_PULL_REQUEST_ID guard in ignore step (#3404) Elie Habib 2026-04-25 17:53:47 +04:00
  • 588397680f fix(usage): address koala #3403 review — collapse nested waitUntil, widget-key validation, neg-sentinel status, auth_* reasons Sebastien Melki 2026-04-25 16:46:28 +03:00
  • 9008586f1b chore: trigger preview Sebastien Melki 2026-04-25 16:35:46 +03:00
  • 24d511e29c test(usage): make recorder.settled robust to nested waitUntil Sebastien Melki 2026-04-25 16:09:32 +03:00
  • 53d295f176 test(usage): assert telemetry payload + identity resolver + operator guide Sebastien Melki 2026-04-25 15:53:44 +03:00
  • dbcea4d0c4 fix(gateway): address round-1 codex feedback on usage telemetry Sebastien Melki 2026-04-25 15:53:33 +03:00
  • 92dd046820 fix(brief): address Greptile P1 + P4 review on merged PR #3396 (#3401) Elie Habib 2026-04-25 16:43:50 +04:00
  • 7e68b30eb8 chore(sentry): filter PlayerControlsInterface + extension-wrapped fetch noise (#3400) Elie Habib 2026-04-25 16:43:17 +04:00
  • 2f5445284b fix(brief): single canonical synthesis brain — eliminate email/brief lead divergence (#3396) Elie Habib 2026-04-25 16:22:31 +04:00
  • 93771920e1 feat(usage): upstream events via implicit request scope (#3381) Sebastien Melki 2026-04-25 15:12:33 +03:00
  • 83dc9a825c feat(gateway): emit Axiom request events on every return path (#3381) Sebastien Melki 2026-04-25 15:05:38 +03:00
  • 14bb8edb31 feat(usage): pure UsageIdentity resolver + Axiom emit primitives (#3381) Sebastien Melki 2026-04-25 15:02:20 +03:00
  • ca6ce54b80 feat(gateway): thread Vercel Edge ctx through createDomainGateway (#3381) Sebastien Melki 2026-04-25 14:59:35 +03:00
  • dec7b64b17 fix(unrest): proxy-only fetch + 3-attempt retry for GDELT (#3395) Elie Habib 2026-04-25 15:27:43 +04:00
  • 0500733541 feat(variants): wire energy.worldmonitor.app subdomain (gaps #9-11) (#3394) Elie Habib 2026-04-25 14:19:28 +04:00
  • 8f8213605f docs(brief-quality): correct help text — cap_truncation has no fallback estimate (#3393) Elie Habib 2026-04-25 13:47:53 +04:00
  • 621ac8d300 feat(brief): topic-threshold sweep + quality dashboard + labeled pairs (#3390) Elie Habib 2026-04-25 12:08:15 +04:00
  • 3373b542e9 feat(brief): make MAX_STORIES_PER_USER env-tunable (default 12, evidence kept it at 12) (#3389) Elie Habib 2026-04-25 12:07:48 +04:00
  • abdcdb581f feat(resilience): SWF manifest expansion + KIA split + new schema fields (#3391) Elie Habib 2026-04-25 12:02:48 +04:00
  • 9c14820c69 fix(digest): brief filter-drop instrumentation + cache-key correctness (#3387) Elie Habib 2026-04-25 00:23:29 +04:00
  • 8cca8d19e3 feat(resilience): Comtrade-backed re-export-share seeder + SWF Redis read (#3385) Elie Habib 2026-04-25 00:14:17 +04:00
  • 5f40f8a13a feat(seed): BUNDLE_RUN_STARTED_AT_MS env + runSeed SIGTERM cleanup (#3384) Elie Habib 2026-04-25 00:14:04 +04:00
  • 4efd286638 fix(energy-atlas): wire 4 panels into App.ts primeTask so they actually fetch (#3386) Elie Habib 2026-04-24 23:58:40 +04:00
  • ce797da3a4 chore(energy-atlas): backfill productClass on oil pipelines + enforce enum (#3383) Elie Habib 2026-04-24 23:36:51 +04:00
  • 20ad5f5be0 chore(tests): add chokepoint-baselines fixture + parity guard (§L #8) (#3379) Elie Habib 2026-04-24 19:09:36 +04:00
  • 3d2dce3be1 feat(energy-atlas): promote Atlas map layers to FULL variant (§R #3 = B) (#3366) Elie Habib 2026-04-24 19:09:21 +04:00
  • 73cd8a9c92 feat(energy-atlas): EnergyDisruptionsPanel standalone timeline (§L #4) (#3378) Elie Habib 2026-04-24 19:09:05 +04:00
  • 7c0c08ad89 feat(energy-atlas): seed-side countries[] denorm on disruptions + CountryDeepDive row (§R #5 = B) (#3377) Elie Habib 2026-04-24 19:08:07 +04:00
  • a04c53fe26 fix(build): pin sebuf plugin via PATH in make generate (#3371) Elie Habib 2026-04-24 19:01:47 +04:00
  • e68a7147dd chore(api): sebuf migration follow-ups (post-#3242) (#3287) Sebastien Melki 2026-04-24 18:00:41 +03:00
  • 1dc807e70f docs(resilience): PR 4a — SWF classification rubric (tiers + precedents, no manifest changes) (#3376) Elie Habib 2026-04-24 18:32:17 +04:00
  • b4198a52c3 docs(resilience): PR 5.1 — sanctions construct audit (designated-party domicile question) (#3375) Elie Habib 2026-04-24 18:30:59 +04:00
  • a97ba83833 docs(resilience): PR 5.3 — foodWater scorer audit (construct-deterministic GCC identity) (#3374) Elie Habib 2026-04-24 18:25:50 +04:00
  • 6807a9c7b9 docs(resilience): PR 5.2 — displacement field-mapping audit + known-limitations (#3373) Elie Habib 2026-04-24 18:14:29 +04:00
  • 184e82cb40 feat(resilience): PR 3A — net-imports denominator for sovereignFiscalBuffer (#3380) Elie Habib 2026-04-24 18:14:04 +04:00
  • 0081da4148 fix(resilience): widen Comtrade period to 4y + surface picked year (#3372) Elie Habib 2026-04-24 18:13:41 +04:00
  • df392b0514 feat(resilience): PR 0 — cohort-sanity release-gate harness (#3369) Elie Habib 2026-04-24 18:13:22 +04:00
  • 34dfc9a451 fix(news): ground LLM surfaces on real RSS description end-to-end (#3370) Elie Habib 2026-04-24 16:25:14 +04:00
  • 959086fd45 fix(panels): address Greptile P2 review on #3364 (icons + category map) (#3365) Elie Habib 2026-04-24 09:42:40 +04:00
  • d521924253 fix(resilience): fail closed on missing v2 energy seeds + health CRIT on absent inputs (#3363) Elie Habib 2026-04-24 09:37:18 +04:00
  • c517b2fb17 feat(energy-atlas): expose Atlas panels on FULL variant + CMD+K (#3364) Elie Habib 2026-04-24 09:34:57 +04:00
  • b68d98972a fix(unrest): bump GDELT proxy timeout 20s → 45s (#3362) Elie Habib 2026-04-24 08:52:08 +04:00
  • a409d5f79d fix(agent-readiness): WebMCP uses registerTool + static import (#3316) (#3361) Elie Habib 2026-04-24 08:21:07 +04:00
  • 38f7002f19 fix(checkout): entitlement watchdog unblocks Dodo wallet-return deadlock (#3357) Elie Habib 2026-04-24 07:53:51 +04:00
  • 5cec1b8c4c fix(insights): trust cluster rank, stop LLM from re-picking top story (#3358) Elie Habib 2026-04-24 07:21:13 +04:00
  • efb6037fcc feat(agent-readiness): WebMCP in-page tool surface (#3316) (#3356) Elie Habib 2026-04-24 07:14:04 +04:00
  • 6d4c717e75 fix(health): treat empty intlDelays as OK, matching faaDelays (#3360) Elie Habib 2026-04-24 07:11:56 +04:00
  • def94733a8 feat(agent-readiness): Agent Skills discovery index (#3310) (#3355) Elie Habib 2026-04-23 22:21:25 +04:00
  • 7cf0c32eaa fix(checkout): merchant-side escape hatch for Dodo overlay deadlock (#3354) Elie Habib 2026-04-23 21:53:01 +04:00
  • 26d426369f feat(agent-readiness): RFC 8288 Link headers on homepage (#3353) Elie Habib 2026-04-23 21:50:25 +04:00
  • e9146516a5 fix(swf): restore 8/8 fund coverage + explicit per-country observability (#3352) Elie Habib 2026-04-23 21:35:25 +04:00
  • d75bde4e03 fix(agent-readiness): host-aware oauth-protected-resource endpoint (#3351) Elie Habib 2026-04-23 21:17:32 +04:00
  • fc94829ce7 fix(settings): prevent paying users hitting 409 on stale Upgrade CTA (#3349) Elie Habib 2026-04-23 21:00:55 +04:00
  • 38218db7cd fix(energy): strict validation — emptyDataIsFailure on Atlas seeders (#3350) Elie Habib 2026-04-23 20:43:27 +04:00
  • 8278c8e34e fix(forecasts): unwrap seed-contract envelope in canonical-key sim patcher (#3348) Elie Habib 2026-04-23 20:38:11 +04:00
  • 54479feacc fix(ci): vercel-ignore prefers merge-base over VERCEL_GIT_PREVIOUS_SHA on previews (#3347) Elie Habib 2026-04-23 20:23:45 +04:00
  • 64edfffdfc fix(checkout): implement checkout.redirect_requested — the Dodo handler we were missing (#3346) Elie Habib 2026-04-23 20:15:46 +04:00
  • 53c50f4ba9 fix(swf): move manifest next to its loader so Railway ships it (#3344) Elie Habib 2026-04-23 19:47:10 +04:00
  • 9c3c7e8657 fix(agent-readiness): align OAuth resource with public MCP origin (#3345) Elie Habib 2026-04-23 19:42:13 +04:00
  • 8fa3214e31 fix(agent-readiness): align docs/tests + add MCP origin guardrail fix/oauth-resource-origin-alignment Elie Habib 2026-04-23 19:30:09 +04:00
  • a34ad914f6 fix(agent-readiness): align OAuth resource with actual public MCP origin Elie Habib 2026-04-23 19:21:11 +04:00
  • dff14ed344 feat(agent-readiness): RFC 9727 API catalog + native openapi.yaml serve (#3343) Elie Habib 2026-04-23 18:46:35 +04:00
  • 0b7069f5dc chore(railway): force rebuild of seed bundles after infra-error build failure (#3342) Elie Habib 2026-04-23 18:14:51 +04:00
  • dbe6e53feb chore(codegen): regenerate unified OpenAPI bundle for alert_threshold proto change feat/sebuf-followups-3242 Sebastien Melki 2026-04-23 16:27:31 +03:00
  • d3e27f985c refactor(lint): rate-limit OpenAPI regex → yaml parser (greptile nit 3 #3287) Sebastien Melki 2026-04-23 16:09:03 +03:00
  • 2bbcf3ff86 refactor(lint): premium-fetch method-regex → TS AST (greptile nits 2+5 #3287) Sebastien Melki 2026-04-23 16:08:04 +03:00
  • 1a97f32305 fix(shipping/v2): re-add alertThreshold handler range guard (greptile nit 1 #3287) Sebastien Melki 2026-04-23 16:06:17 +03:00
  • 411255e28d refactor(lint): premium-fetch regex → import() + loop classRe (greptile P2 #3287) Sebastien Melki 2026-04-22 11:37:19 +03:00
  • 0b0861e8d0 ci(lint): add rate-limit-policies step (greptile P1 #3287) Sebastien Melki 2026-04-22 11:36:55 +03:00
  • 6cca3a69c6 docs(shipping/v2): document missing webhook delivery worker + DNS-rebinding contract (#3242 followup) Sebastien Melki 2026-04-22 10:29:58 +03:00
  • f33394648f fix(shipping/v2): alertThreshold: 0 preserved; drop dead validation branch (#3242 followup) Sebastien Melki 2026-04-22 10:21:42 +03:00
  • 0071c1253b refactor(lint): rate-limit-policies regex → import() (closes #3278) Sebastien Melki 2026-04-22 10:17:26 +03:00
  • ab71381946 fix(military): fetchStaleFallback NEG_TTL=30s parity (closes #3277) Sebastien Melki 2026-04-22 10:13:45 +03:00
  • c02f38330f feat(lint): premium-fetch parity check for ServiceClients (closes #3279) Sebastien Melki 2026-04-22 10:08:37 +03:00
  • 3440db117f chore(api-manifest): rewrite brief-why-matters reason as proper internal-helper justification Sebastien Melki 2026-04-22 09:59:49 +03:00
  • fcbb8bc0a1 feat(proto): unified OpenAPI bundle via sebuf v0.11.0 (#3341) Sebastien Melki 2026-04-23 16:24:03 +03:00
  • 52bd528247 Apply suggestions from code review feat/unified-openapi-bundle Sebastien Melki 2026-04-23 16:05:44 +03:00
  • 203851e161 fix(proto): bump sebuf v0.11.0 → v0.11.1, realign tests with repeated-param wire format Sebastien Melki 2026-04-23 15:54:57 +03:00
  • f2ad6fe665 chore(codegen): regenerate TS client/server with sebuf v0.11.0 Sebastien Melki 2026-04-23 15:18:25 +03:00
  • 2906526d02 docs(proto): bump sebuf to v0.11.0 and document unified OpenAPI bundle Sebastien Melki 2026-04-23 15:18:05 +03:00
  • 03d1496ade feat(proto): generate unified worldmonitor.openapi.yaml bundle Sebastien Melki 2026-04-23 15:14:42 +03:00
  • df91e99142 feat(energy): expand 5 curated registries to 100% of plan target (#3337) Elie Habib 2026-04-23 12:32:29 +04:00
  • 9f208848b6 fix(deps): add yaml to scripts/package.json (Railway installs from THIS) (#3336) Elie Habib 2026-04-23 11:53:37 +04:00
  • 8ea4c8f163 feat(digest-dedup): replayable per-story input log (opt-in, no behaviour change) (#3330) Elie Habib 2026-04-23 11:50:19 +04:00
  • dd95a4e06d fix(idb-cleanup): swallow TransactionInactiveError in idempotent IDB cursor loops (#3335) Elie Habib 2026-04-23 11:47:20 +04:00
  • 8b12ecdf43 fix(aviation): seeder writes delays-bootstrap aggregate (close EMPTY-on-quiet-traffic alarm) (#3334) Elie Habib 2026-04-23 11:43:54 +04:00
  • a7bd1248ac chore(lint): exclude docs/brainstorms and docs/ideation from lint:md (#3332) Elie Habib 2026-04-23 11:25:14 +04:00
  • 1958b34f55 fix(digest-dedup): CLUSTERING typo fallback fails closed to complete-link (#3331) Elie Habib 2026-04-23 11:25:05 +04:00