Admin ▸ Data health
Observability
ISMET launch readiness — live service status plus the data & science signals behind every number we publish. Auto-refreshes on each page load.
Data & science health
Data & science signals — the same numbers behind everything we publish, readable by humans or agents.
Trust the numbers
Conformal calibration
public/data/computed/research/calibration.json
- Observed coverage
- — @ — target
- ECE
- —
- Small-strata coverage
- —
Artifact research/calibration.json not found — regenerate it.
Hierarchical prior validation
public/data/computed/research/prior-validation.json
- Prior coverage
- 95.4% (exp. 95.0%)
- Validation observations
- 2,833
Some validation slugs have no fitted prior: phosphorus_concentration=7, k_degradation_rate=6, lipid_yield=6, redox_potential=5, acetate_yield=4
Corpus extraction quality
public/data/computed/research/corpus-insights.json
- Ontology match
- 38.3%
- Garbage-flagged
- 33.7%
- Validation PENDING
- 99.5%
- Power-density interpretable
- 0.2%
Local committed sample; snippet-based companion detection undercounts (full text refines). Re-run against a DB export for corpus-scale numbers.
Reporting comparability
public/data/computed/research/experiment-type-coverage.json
- Power-density basis ambiguous
- 86.1%
- Area qualifier unspecified
- 92.4%
- Density papers
- 1,613
Multi-label: a paper may count under several study types, so study_type_distribution sums > n_papers and mfc_power overlaps electrochemical_characterization (both key on power/current density). Unclassified MFC papers default to mfc_power (inflating its n); other unclassified papers fall to general_bes and are scored against the comparability floor. Cross-type coverage gaps reflect criteria difficulty across overlapping cohorts, not disjoint populations — confirm with the κ-validation in #484.
Hierarchical priors (v2)
public/data/computed/research/hierarchical-priors-v2.json
- Parameters fit
- 175
- Version
- v2-sota-2026-05-15
SBC harness (simulation_based_calibration_harness) is stubbed — not yet a hard gate.
NPE / SBC health
public/data/computed/research/npe-health.json
NPE/SBC health not generated yet — run scripts/routines/weekly-ml-audit.sh.
Corpus & pipeline
Corpus coverage
db:ResearchPaper
- Papers with extracted values
- 10,099 / 23,598
Extraction queue
db:ExtractionJob
- Pending
- 0
- Running
- 5
- Completed
- 4,164
- Failed
- 14
Electrode & component catalog
Catalog build-out
public/data/computed/research/catalog-stats.json
- Curated entries
- 96
- Categories
- 9
- 3D-recipe coverage
- 31/31 · 100%
- Models · Anodes · Cathodes
- 23 · 19 · 12
Static curated catalog entries counted from the arrays the lab catalog UI renders. Organisms are DB-backed and reported by the live catalogCoverage signal, not here.
Catalog corpus coverage
db:ResearchPaper.anode/cathodeMaterials + Microbe
- Anode identified
- 2,340 · 9.9%
- Cathode identified
- 2,424 · 10.3%
- Both identified
- 1,363 · 5.8%
- Organism catalog
- 28
Pipeline fragility
CI & lint health
public/data/computed/platform-health.json
- Test coverage
- unavailable
platform-health.json not generated yet — run `pnpm health:collect`.
Disk → DB drift
public/data/computed/platform-health.json
- Disk-only artifacts
- —
platform-health.json not generated yet — run `pnpm health:collect`.
Wired vs dark surfaces
public/data/computed/platform-health.json
- Wired (shipped)
- —
- Dark (built, no UI)
- —
- Matrix verified
- —
platform-health.json not generated yet — run `pnpm health:collect`.
Service health
API zone
/api/health
- Version
- 1.0.0
- Environment
- production
Database
/api/db-health
- Connection
- true
ML predictor
/api/ml/health
- Predictor
- serverless-physics-formula
Cache
/api/cache-status
- Hit rate
- 0.0%
- Cache size
- 0.00 MB
Query quota
/api/query-status
- Uncached queries (this instance)
- 0
- Cached entries
- 0
Endpoint summary
| Endpoint | Status | Latency | Detail |
|---|---|---|---|
| /api/health | healthy | 1040ms | ok |
| /api/db-health | healthy | 1415ms | ok |
| /api/ml/health | healthy | 1071ms | ok |
| /api/cache-status | healthy | 1013ms | ok |
| /api/query-status | healthy | 974ms | ok |
Error tracking
Sentry (apps/web)
Client + server error capture
Client render errors caught by the error pages ([lang]/error.tsx, global-error.tsx) and chat crashes contained by ChatErrorBoundary go through trackError: to Sentry when NEXT_PUBLIC_SENTRY_DSN is set, and in production also to /api/error-report, which apps/api forwards to Sentry (its SENTRY_DSN). Server errors use the instrumentation.ts hook (onRequestError).
Data fetched at 2026-10-28T02:55:48.005Z. This page bypasses cache (force-dynamic).