/ › expansion › now-next

Now / Next

Three streams in parallel. Each a 100× lever, each shipping concrete deliverables, each tracked with falsifiable success metrics.

46Citations · curated
5,486Citations · auto-extended
22LATAM countries
30indicators · WB
5named targets · Anchor 0 sprint
14dsprint window

Stream progress

Stream A · Data spine — WB ingestion live → 5,486 facts 60%
Stream B · Anchor 0 sprint — 5 named targets, 14-day plan 15%
Stream C · Conversational — Design + truth-gate spec 25%

Stream A — Data spine ignited

The Phase 2 charter shipped on /expansion/02-data-spine. Today we lit the first adapter: World Bank Indicators v2 ran across LATAM × top-30 and produced 5,486 typed facts, each auto-extended into _citations_scraped.yml with provenance chain, last-verified timestamp, drift-detection baseline, and license class.

Facts ingested per country

BRA 273 MEX 272 CRI 270 URY 270 ARG 269 COL 267 DOM 265 CHL 264 SLV 263 PER 263 GTM 259 PAN 259

Top 12 LATAM countries by WB fact count · indicator coverage uneven across countries (data gaps for HTI / VEN).

What ran

ComponentState
WB adapter (single + batch, feature-flagged)✓ live
X / Twitter adapter (paid, dry-run only)✓ scaffolded
tools/ingestion/_citations_writer.py · atomic YAML writer with drift-detection✓ live
tools/ingestion/run_batch.py · driver decoupling adapters from registry writes✓ live
5,486 World Bank facts ingested · 22 countries × 30 indicators × ~8 years✓ done today
5,486 citation entries auto-extended into _citations_scraped.yml✓ done today
DuckDB graph (data/graph/knowledge.duckdb) · backfill from registryblocked · needs pip install duckdb auth
IMF SDMX, OECD SDMX, ECLAC, USGS adaptersspec'd, not built

Stream B — Anchor 0 distribution sprint

14 days · 5 named targets · falsifiable response targets. Cartes excluded (net-negative reputational); Peña has no documented channel.

14-day Gantt

D2 D4 D6 D8 D10 D12 D14 Día 1-2 — fix red-team blockers + VERIFY items Día 3 — send Tier A · López/Google Día 4-5 — send Tier A · CAF Díaz-Granados Día 6 — send Tier A · IDB Goldfajn Día 7-8 — response window (no push) Día 9 — pivot decisions Día 10-11 — Tier B condicional Día 12-13 — triage final Día 14 — sprint retro

5 named targets

TierTargetRoleBriefChannel
AEduardo LópezGoogle Cloud LATAM Lead02-google-deepmind-outreachDirect + LinkedIn
ASergio Díaz-GranadosPresidente CAFCAF custom (financiamiento)Carta institucional
AIlan GoldfajnPresidente IDBIDB custom (Anchor 0 + Anillo 0)Vía rep IDB-PY
BGustavo VillateMITIC Paraguay05-ande-miticVía IDB rep o Cancillería
BAnthropic PolicyFrontier policy LATAM01-anthropic-outreachCoefficient-brokered

Falsifiable success metrics

3 / 5target · responses
≥2target · meetings scheduled
≥1target · LOI/MOU
0 / 5pésimo · re-evaluate package

Full plan: state/expansion/anchor-0-distribution-sprint.md.

Stream C — Conversational Futuros

Architecture

/preguntar Astro · public AskBox island mcp.futuros.xyz 5 tools · anon read HTTP-streaming MCP Edge function rate-limit + truth-gate Anthropic call cache-friendly prefix Python sidecar vector retrieval Fly.io free / Hetzner DuckDB facts_v1 read-only 5,486 rows live Truth-gate 3-layer prompt · regex cite-existence

Cost per query (cache-aware)

Sonnet 4.6 · cache-hit $0.08 / Q
Sonnet 4.6 · cache-miss $0.55 / Q
Opus 4.7 · cache-hit $0.38 / Q
Opus 4.7 · cache-miss $2.30 / Q
Mixed 90/10 average · target $0.11 / Q

40 Q/day cap × $0.11/Q = $4.40/day, fits the existing $5/day daemon guardrail. Excess returns graceful 429.

Truth-gate flow

  1. System-prompt instruction: cite every quantitative claim with [citation_id] or refuse.
  2. Regex linter: every numeric token (USD, MWh, %, etc.) must have a citation anchor within ±1 line.
  3. Citation existence check across _citations.yml ∪ _citations_scraped.yml.
  4. On any failure → HTTP 200 with { truth_gate: "refused-no-anchored-evidence" }. Never fabricates.

Full design: state/expansion/conversational-futuros-design.md.

What ships next, in order

  1. Authorize DuckDB → init knowledge.duckdb → backfill facts_v1 from the 5,486 facts already in _citations_scraped.yml.
  2. Build IMF SDMX + OECD SDMX + ECLAC adapters → reach ~30K facts.
  3. Resolve the 3 Anchor 0 VERIFY items → start sprint day 1.
  4. Decide sidecar deploy target → ship /preguntar.
  5. Ship MCP server at mcp.futuros.xyz.