Spaces:
Configuration error
Configuration error
| /** | |
| * Findings v0.4.4 sample data — Red Hook query. | |
| * | |
| * Mirrors the CARDS / CARDS_BY_QUERY tables in | |
| * docs/design_handoff/design_files/findings.jsx so the SvelteKit Findings | |
| * region can be rendered without a live FSM. Use as fixture for | |
| * `routes/q/sample/+page.svelte` and Playwright snapshots. | |
| * | |
| * Stone-trace member ids match the FSM step names where possible so the | |
| * adapter can replace this with live data without changing card copy. | |
| */ | |
| import type { FindingsData, StoneTrace } from '$lib/types/card'; | |
| import { fillRosterForStone } from './stoneRegistry'; | |
| export const SAMPLE_FINDINGS: FindingsData = { | |
| wallSeconds: 14.0, | |
| cacheHit: 0.92, | |
| cards: [ | |
| /* ── Cornerstone ── */ | |
| { | |
| id: 'fc-fema', | |
| stone: 'cornerstone', tier: 'modeled', variant: 'headline', | |
| source: 'FEMA', agency: 'Federal Emergency Management Agency', | |
| vintage: '2024-09', | |
| title: 'Preliminary FIRM, panel 36047C0207G', | |
| headline: 'Zone AE', | |
| subhead: 'BFE 11 ft NAVD88 · freeboard +4.8 ft', | |
| body: 'Address sits within the regulatory 1% annual-chance floodplain. Base Flood Elevation 11.0 ft NAVD88; first floor must be at or above this datum for NFIP rating.', | |
| docId: 'FEMA-FIRM-36047C0207G', citeId: 'c4', | |
| mapLayer: 'fema-ae', | |
| }, | |
| { | |
| id: 'fc-hwm', | |
| stone: 'cornerstone', tier: 'empirical', variant: 'tabular', | |
| source: 'USGS', agency: 'U.S. Geological Survey', | |
| vintage: '2013-05', | |
| title: 'Post-Sandy high-water marks within 500 ft', | |
| columns: ['id', 'elev.', 'dist.'], | |
| rows: [ | |
| ['HWM-NY-3081', '7.4 ft NAVD88', '0.18 mi'], | |
| ['HWM-NY-3082', '8.1 ft NAVD88', '0.22 mi'], | |
| ['HWM-NY-3105', '6.8 ft NAVD88', '0.31 mi'], | |
| ], | |
| sub: '3 marks · max 8.1 ft · surveyed Nov 2012', | |
| docId: 'USGS-OFR-2013-1234', citeId: 'c1', | |
| mapLayer: 'hwm', | |
| }, | |
| { | |
| id: 'fc-stormwater', | |
| stone: 'cornerstone', tier: 'modeled', variant: 'raster', | |
| source: 'NYC DEP', agency: 'NYC Dept. of Environmental Protection', | |
| vintage: '2024-06', | |
| title: 'Stormwater Flood Map · moderate scenario', | |
| rasterKind: 'stormwater', | |
| sub: '2.13 in/hr · ponding ≥4 in W half of lot · routed toward Imlay St', | |
| docId: 'NYCDEP-SWFM-2024', citeId: 'c5', | |
| mapLayer: 'stormwater', | |
| }, | |
| /* ── Keystone ── */ | |
| { | |
| id: 'fc-register-rh', | |
| stone: 'keystone', tier: 'empirical', variant: 'register', | |
| source: 'NYC OpenData', agency: 'NYC OpenData · multi-agency join', | |
| vintage: '2026-05', | |
| title: 'Nearby exposed assets', | |
| registers: [ | |
| { reg: 'MTA', tier: 'empirical', label: 'Smith–9 St subway entrance', detail: '0.34 mi · F · G', sourceId: 'MTA-ENT-N048', vintage: '2025-11', note: null }, | |
| { reg: 'NYCHA', tier: 'empirical', label: 'Red Hook East Houses', detail: '0.41 mi · 2,878 res.', sourceId: 'NYCHA-RHE', vintage: '2025-Q3', note: null }, | |
| { reg: 'NYCHA', tier: 'empirical', label: 'Red Hook West Houses', detail: '0.52 mi · 3,142 res.', sourceId: 'NYCHA-RHW', vintage: '2025-Q3', note: null }, | |
| { reg: 'DOE', tier: 'empirical', label: 'PS 27 Agnes Y. Humphrey', detail: '0.29 mi · 271 K-5', sourceId: 'DOE-K027', vintage: '2024-25', note: null }, | |
| { reg: 'DOH', tier: 'empirical', label: null, detail: null, sourceId: null, vintage: null, note: 'no acute-care hospital within 1.0 mi (silent)' }, | |
| { reg: 'PLUTO', tier: 'empirical', label: 'Lot 36047 / 521 / 7', detail: 'BIN 3018472 · MX-1', sourceId: 'PLUTO-2024v2', vintage: '2024-12', note: null }, | |
| ], | |
| sub: '5 of 6 registers fired · 1 silent · joined within 1.0 mi', | |
| docId: 'RIPRAP-EXP-RH80', citeId: 'c-reg-rh', | |
| mapLayer: 'registers', | |
| }, | |
| /* ── Touchstone ── */ | |
| { | |
| id: 'fc-floodnet', | |
| stone: 'touchstone', tier: 'empirical', variant: 'spark', | |
| source: 'FloodNet', agency: 'FloodNet NYC sensor network', | |
| vintage: '2026-04', | |
| title: 'Sensor BK-RH-002, monthly above-curb events', | |
| headline: '7 events', | |
| subhead: 'Jun 2024 → Apr 2026 · peak 14.3 cm', | |
| spark: [0,0,1,0,2,1,0,0,3,0,1,0,0,0,2,1,0,0,1,0,2,4,1,1], | |
| sparkSub: 'Sensor located 0.21 mi N at Coffey & Van Brunt. Above-curb depth in cm; events ≥2 cm.', | |
| docId: 'FN-BK-RH-002', citeId: 'c3', | |
| mapLayer: 'floodnet', | |
| }, | |
| { | |
| id: 'fc-311', | |
| stone: 'touchstone', tier: 'proxy', variant: 'histogram', | |
| source: 'NYC 311', agency: 'NYC 311 service requests', | |
| vintage: '2025-12', | |
| title: 'Recent 311 flood complaints, BK CB6', | |
| headline: '89 calls', | |
| subhead: '2019–2025 · seasonal cluster Aug–Oct', | |
| histogram: [3,2,1,0,1,4,7,12,18,11,5,3,4,2,1,0,2,3,8,9,4,2,1,0], | |
| sparkSub: 'Filtered to complaint types: Sewer (Backup), Street Flooding, Catch Basin Clogged. Within 200 m of address.', | |
| docId: 'NYC311-FLD-CB6', citeId: 'c7', | |
| mapLayer: 'complaints', | |
| }, | |
| { | |
| id: 'fc-prithvi-pluvial', | |
| stone: 'touchstone', tier: 'modeled', variant: 'raster-pred', | |
| source: 'Prithvi-NYC-Pluvial', agency: 'NASA-IBM Prithvi v2 · NYC fine-tune', | |
| vintage: '2026-05-02 · Sentinel-2', | |
| title: 'Pluvial flood prediction · Prithvi-NYC-Pluvial', | |
| rasterKind: 'prithvi', | |
| headline: '0.3% flooded', | |
| subhead: 'no flooding apparent · scene 2026-05-02', | |
| sub: 'Model interpretation of imagery, not real-time observation. Confidence-mean 0.84 across non-flooded pixels.', | |
| docId: 'PRITHVI-NYC-PLUV-V2-20260502', citeId: 'c-prithvi', | |
| illustrative: true, | |
| mapLayer: 'prithvi-pluvial', | |
| }, | |
| { | |
| id: 'fc-terramind-lulc', | |
| stone: 'touchstone', tier: 'synthetic', variant: 'lulc', | |
| source: 'TerraMind v1.2', agency: 'IBM TerraMind v1.2 · Sentinel-2 inputs', | |
| vintage: 'Sentinel-2 · 2024-09-18', | |
| title: 'Land use / land cover · TerraMind v1.2', | |
| rasterKind: 'lulc', | |
| classMix: [ | |
| { k: 'urban', pct: 62, color: '#C66' }, | |
| { k: 'water', pct: 18, color: '#5B7FB4' }, | |
| { k: 'vegetation', pct: 12, color: '#5B8A4A' }, | |
| { k: 'barren', pct: 6, color: '#A89A78' }, | |
| { k: 'wetland', pct: 2, color: '#D9C75A' }, | |
| ], | |
| sub: 'Synthetic prior. LULC palette is a layer convention, not a tier signal.', | |
| docId: 'TERRAMIND-LULC-20240918', citeId: 'c-tm-lulc', | |
| illustrative: true, | |
| mapLayer: 'terramind-lulc', | |
| }, | |
| { | |
| id: 'fc-nws', | |
| stone: 'touchstone', tier: 'empirical', variant: 'scalars', | |
| source: 'NWS KNYC', agency: 'NOAA · National Weather Service', | |
| vintage: '2026-05-05', | |
| title: 'Current weather, station KNYC', | |
| scalars: [ | |
| { value: '0.02 in', label: 'precip · last 24h' }, | |
| { value: '67°F', label: 'temp · current' }, | |
| { value: 'PC', label: 'conditions' }, | |
| ], | |
| sub: 'Observation timestamp 2026-05-05 14:18 ET. Central Park station; not point-of-query.', | |
| docId: 'NWS-KNYC', citeId: 'c-nws', | |
| mapLayer: 'nws', | |
| }, | |
| /* ── Lodestone ── */ | |
| { | |
| id: 'fc-ttm-surge', | |
| stone: 'lodestone', tier: 'modeled', variant: 'timeseries', | |
| source: 'Granite TTM r2 (zero-shot)', agency: 'IBM Granite-TimeSeries · regional', | |
| vintage: '2026-05-05 12:00 ET', | |
| title: 'Storm surge nowcast at The Battery — 9.6 h horizon (regional)', | |
| timeseries: { hours: 96, peak: { x: 38, y: 47 }, peakLabel: '+47 cm @ +38h' }, | |
| headline: '+47 cm', | |
| subhead: 'peak surge residual · 9.6h horizon · 6-min cadence', | |
| sub: 'Regional disclosure. Nowcast applies city-wide via NOAA station 8518750. Distinct from the fine-tuned Battery surge nowcast.', | |
| spatialNote: 'regional · The Battery, not point-of-query', | |
| docId: 'ttm_battery_surge_zeroshot', citeId: 'c-ttm', | |
| mapLayer: null, | |
| }, | |
| { | |
| id: 'fc-ttm-surge-ft', | |
| stone: 'lodestone', tier: 'modeled', variant: 'timeseries-ft', | |
| source: 'msradam/Granite-TTM-r2-Battery-Surge', agency: 'Granite TTM r2 · NYC-specialized fine-tune', | |
| vintage: '2026-05-05 12:00 ET', | |
| title: 'Storm surge nowcast at The Battery — 96 h horizon (NYC-specialized fine-tune)', | |
| timeseries: { hours: 96, peak: { x: 38, y: 53 }, peakLabel: '+53 cm @ +38h' }, | |
| headline: '+53 cm', | |
| subhead: 'peak surge · 96h horizon · hourly cadence', | |
| sub: 'Fine-tuned on NYC tide-gauge history. Trained on AMD MI300X.', | |
| spatialNote: 'regional · The Battery, not point-of-query', | |
| docId: 'ttm_battery_surge_finetune', citeId: 'c-ttm-ft', | |
| mapLayer: null, | |
| hfModelCard: 'huggingface.co/msradam/Granite-TTM-r2-Battery-Surge', | |
| rmse: '0.157 m', | |
| skillVsPersistence: '−35% vs persistence', | |
| hardwareBadge: 'MI300X', | |
| }, | |
| { | |
| id: 'fc-npcc4', | |
| stone: 'lodestone', tier: 'modeled', variant: 'forecast', | |
| source: 'NPCC4', agency: 'NYC Panel on Climate Change, 4th Assessment', | |
| vintage: '2024-03', | |
| title: 'Sea-level rise projections, Lower NY Harbor', | |
| forecast: [ | |
| { year: 2030, low: 4, mid: 6, high: 9 }, | |
| { year: 2050, low: 13, mid: 22, high: 30 }, | |
| { year: 2080, low: 28, mid: 49, high: 75 }, | |
| { year: 2100, low: 38, mid: 71, high: 114 }, | |
| ], | |
| sub: 'inches MSL · 17th–83rd %ile range, median line. Battery tide-gauge baseline.', | |
| docId: 'NPCC4-Ch3-Tbl3.2', citeId: 'c6', | |
| mapLayer: null, | |
| }, | |
| /* ── Capstone ── */ | |
| { | |
| id: 'fc-mellea-meta', | |
| stone: 'capstone', tier: 'modeled', variant: 'meta', | |
| source: 'Mellea', agency: 'Capstone synthesis · grounding check', | |
| vintage: '2026-05-05 14:22 ET', | |
| title: 'Briefing reconciliation', | |
| metaRows: [ | |
| { k: 'mellea reroll', v: '1 reroll' }, | |
| { k: 'grounding checks', v: '4/4 passed' }, | |
| { k: 'citations resolved', v: '4' }, | |
| { k: 'wall-clock', v: '24.0 s' }, | |
| ], | |
| sub: 'Capstone produces prose, not cards. This meta-card summarizes the reconciler chain that wrote the four-section briefing above.', | |
| docId: 'RIPRAP-CAP-RH80', citeId: null, | |
| mapLayer: null, | |
| }, | |
| ], | |
| // Stones below carry one member per FSM step name. The registry | |
| // projection at the bottom of this file fills in the not_invoked | |
| // rows so each Stone renders its full intended roster. | |
| stones: ([ | |
| { | |
| key: 'cornerstone', | |
| members: [ | |
| { id: 'CORN-001', name: 'sandy_inundation', status: 'fired', tier: 'empirical', ms: 412 }, | |
| { id: 'CORN-002', name: 'dep_stormwater', status: 'fired', tier: 'modeled', ms: 540 }, | |
| { id: 'CORN-003', name: 'ida_hwm_2021', status: 'fired', tier: 'empirical', ms: 612 }, | |
| { id: 'CORN-004', name: 'prithvi_eo_v2', status: 'fired', tier: 'modeled', ms: 980 }, | |
| { id: 'CORN-005', name: 'microtopo_lidar', status: 'fired', tier: 'proxy', ms: 1240 }, | |
| ], | |
| }, | |
| { | |
| key: 'keystone', | |
| members: [ | |
| { id: 'KEY-001', name: 'mta_entrance_exposure', status: 'silent_by_design', tier: 'empirical', ms: 30, note: 'no entrances within radius' }, | |
| { id: 'KEY-002', name: 'nycha_development_exposure', status: 'silent_by_design', tier: 'empirical', ms: 28, note: 'no NYCHA developments within 1.0 mi' }, | |
| { id: 'KEY-003', name: 'doe_school_exposure', status: 'silent_by_design', tier: 'empirical', ms: 24, note: 'no DOE schools within 1.0 mi' }, | |
| { id: 'KEY-004', name: 'doh_hospital_exposure', status: 'silent_by_design', tier: 'empirical', ms: 22, note: 'no acute-care hospitals within 1.0 mi' }, | |
| ], | |
| }, | |
| { | |
| key: 'touchstone', | |
| members: [ | |
| { id: 'TCH-001', name: 'floodnet', status: 'fired', tier: 'empirical', ms: 285 }, | |
| { id: 'TCH-002', name: 'nyc311', status: 'fired', tier: 'proxy', ms: 410 }, | |
| { id: 'TCH-003', name: 'nws_obs', status: 'fired', tier: 'empirical', ms: 240 }, | |
| { id: 'TCH-004', name: 'noaa_tides', status: 'fired', tier: 'empirical', ms: 196 }, | |
| { id: 'TCH-005', name: 'prithvi_eo_live', status: 'fired', tier: 'modeled', ms: 4920 }, | |
| { id: 'TCH-006', name: 'terramind_lulc', status: 'fired', tier: 'synthetic', ms: 2100 }, | |
| ], | |
| }, | |
| { | |
| key: 'lodestone', | |
| members: [ | |
| { id: 'LOD-001', name: 'nws_alerts', status: 'fired', tier: 'modeled', ms: 110 }, | |
| { id: 'LOD-002', name: 'ttm_forecast', status: 'fired', tier: 'modeled', ms: 1500 }, | |
| { id: 'LOD-003', name: 'ttm_battery_surge', status: 'fired', tier: 'modeled', ms: 1480 }, | |
| { id: 'LOD-004', name: 'floodnet_forecast', status: 'silent_by_design', tier: 'modeled', ms: 14, note: 'sensor has only 2 historical events; forecast omitted (silent-floor: 5)' }, | |
| { id: 'LOD-005', name: 'ttm_311_forecast', status: 'errored', tier: 'modeled', ms: 0, note: '311 history fetch failed: HTTP 503 at NYC OpenData (3 retries)' }, | |
| ], | |
| }, | |
| { | |
| key: 'capstone', | |
| members: [ | |
| { id: 'CAP-001', name: 'rag_granite_embedding', status: 'fired', tier: 'proxy', ms: 410 }, | |
| { id: 'CAP-002', name: 'gliner_extract', status: 'fired', tier: 'proxy', ms: 280 }, | |
| { id: 'CAP-003', name: 'reconcile_granite41', status: 'fired', tier: 'modeled', ms: 6240 }, | |
| ], | |
| }, | |
| ] satisfies StoneTrace[]).map((s): StoneTrace => ({ | |
| key: s.key, | |
| members: fillRosterForStone(s.key, s.members), | |
| })), | |
| }; | |