Admin ▸ Data health

Corpus Stats

Last refreshed 2026-10-28 02:56:11Z
23,598
Total Papers
ResearchPaper rows
8,574
With Local PDF
36.3% of corpus
15,024
Acquisition Gap
63.7% no PDF yet
1,756
v2 Extracted
7.4% of corpus

Electrode & Component Catalog

Build-out of the curated lab catalog and how well it maps to the corpus. Regenerate build-out counts with pnpm catalog:stats. Also on /admin/observability (with a Human/Agent toggle) and /api/platform/health.

96
Curated Entries
9 categories
100%
3D-Recipe Coverage
31/31 electrodes
19 / 12
Anode / Cathode
catalog materials
23
Models
reactor digital twins

Corpus mapping: 2,340 papers name an anode (9.9%), 2,424 a cathode (10.3%), 1,363 both. Organism catalog: 28.

Embedding Coverage — semantic search / RAG

13,788 of 20,974 embeddable papers have an abstract_embedding (65.7% of embeddable; 58.4% of all 23,598 papers). This is the corpus reachable by the lab agent's retrievePapers tool.

13,788
With Embedding
65.7% of embeddable
7,186
Backfill Queue
embeddable, no embedding yet
20,974
Embeddable Text
abstract or aiSummary present

System Type — DB column (systemType)

15,489 of 23,598 papers tagged (65.6%). The remaining 8,109 have systemType = NULL. Top-level only — subtypes (single-chamber MFC, etc.) not stored here.

System typeCount% of tagged% of corpus
MFC6,86244.3%29.1%
MES6,01238.8%25.5%
MEC1,2808.3%5.4%
BES1,1217.2%4.8%
MDC870.6%0.4%
MCDI300.2%0.1%
MEFS230.1%0.1%
MREC220.1%0.1%
MMRC130.1%0.1%
MNRC120.1%0.1%
MERC80.1%0.0%
MODELING60.0%0.0%
EFC50.0%0.0%
MRB40.0%0.0%
other30.0%0.0%
SMFC10.0%0.0%
(NULL)8,109—34.4%

Paper Class — v2 extraction

Coverage: 1,756 of 23,598 papers (7.4%). Only v2-extracted papers are classified by paper_class.

paper_classCount% of v2-extracted
EXPERIMENTAL1,45482.8%
OTHER18210.4%
UNSET472.7%
REVIEW402.3%
MODELING171.0%
PATENT_APPLICATION70.4%
META_ANALYSIS40.2%
PERSPECTIVE30.2%
PATENT_GRANTED20.1%

System Class — v2 extraction

Coverage: 1,756 of 23,598 papers (7.4%). More granular than the DB systemType — distinguishes BES variants from non-BES, reviews, fundamentals.

1,413
BES systems
80.5%
19
not_BES
1.1%
33
OTHER
1.9%
93
Review / fundamental
5.3%
198
Unset
11.3%
system_classCount% of v2
MFC86849.4%
MES21712.4%
UNSET19511.1%
MEC1568.9%
FUNDAMENTAL533.0%
MSC462.6%
MDC432.4%
REVIEW402.3%
OTHER331.9%
BES291.7%
MBES221.3%
MERC201.1%
not_BES191.1%
MNRC40.2%
MCDI20.1%
MMRC20.1%
MESNORK20.1%
MREC20.1%
MRB10.1%
MODELING10.1%
MEFS10.1%

Deployment Scale — v2 extraction

Coverage: 1,756 of 23,598 papers (7.4%). Lab vs pilot vs full-scale, classified by v2 only.

1,695
UNSET
96.5%
58
lab_bench
3.3%
2
simulation
0.1%
1
field
0.1%

Coverage Gaps

LayerCovered% of corpus
PDF on disk (pdfHash populated)8,574 / 23,59836.3%
AI summary (Groq batch)10,633 / 23,59845.1%
v1 extraction (any pdfExtractionStatus)8,617 / 23,59836.5%
v2 extraction (values_v2.json on disk)1,756 / 23,5987.4%
systemType (DB column)15,489 / 23,59865.6%

Schema & rows: prod vs local

Read-only audit. Approximate counts come from pg_stat_user_tables.n_live_tup (post-ANALYZE accurate). Click Recompute exact counts for ground-truth SELECT COUNT(*) on every shared table (5–15s on prod).

Approximate·2026-10-27 20:09:27Z·492 ms
128 / 128
Relations (prod / local)
public schema · tables + matviews
0
Only in prod
no drift
0
Only in local
no drift
0
Schema drift
tables with column-level diffs

Migrations: prod vs local

0
Only in prod
applied to prod, missing locally
0
Only in local
applied locally, missing on prod
0
Checksum mismatch
same name, different content
6
Rolled back / unfinished
needs operator attention

Rolled back — local: 3, prod: 3

Migrationrolled_back_atchecksum
20260509140000_add_research_paper_browse_indexes2026-05-13 15:32:30efaae787…
20260515192928_equation_kind_enum2026-05-15 23:38:3493a2db44…
20260523194600_add_multiscale_moat_tables_v32026-06-03 17:15:029c150285…
20260509140000_add_research_paper_browse_indexes2026-05-13 15:32:30efaae787…
20260515192928_equation_kind_enum2026-05-15 23:38:3493a2db44…
20260523194600_add_multiscale_moat_tables_v32026-06-03 17:15:029c150285…
Account3300.0%
AgentRun000—
AiGeometryRecipe1100.0%
AiMaterialDefinition1100.0%
AiMicrobeDefinition000—
AnomalousPaper474700.0%
ApiKey000—
AuditLog000—
BetaSignup000—
BiofilmCreepCurve000—
BiofilmSample000—
BiologicalParameter000—
BufferChemistryProfile000—
CalibrationResult14914900.0%
ConditionSet14,57914,57900.0%
ConditionSetMergeAudit31,38531,38500.0%
CrossSystemPrediction959500.0%
CustomField000—
DataClassificationRule000—
Dataset414100.0%
DatasetCurvePoint72,20372,20300.0%
DatasetMaterial5500.0%
DatasetMeasurement65,18965,18900.0%
DatasetParameter989800.0%
EETPathwayAssignment000—
EISPoint63463400.0%
ElectrochemicalKinetic66966900.0%
ElectrochemicalParameter000—
ElectrodeFormulation000—
EnvironmentalParameter000—
EvalGateRun000—
EvalResult000—
Experiment000—
ExperimentCollaborator000—
ExperimentEvent000—
ExperimentPaper000—
ExperimentalContext2,7882,78800.0%
ExtractedFigureData1,7611,76100.0%
ExtractedPaperData1,5121,51200.0%
ExtractedParameterData224,237224,23700.0%
ExtractedTableData2200.0%
ExtractionJob4,1834,18300.0%
ExtractionProvenance000—
Feedback10010000.0%
FeedbackAnalytics1100.0%
FeedbackNotification000—
GapSearchRun000—
Hypothesis000—
IntegrationMapping000—
KineticCurve000—
KnowledgeEdge2,5892,58900.0%
KnowledgeNode6,7776,77700.0%
LabConfiguration1100.0%
LabConfigurationSnapshot000—
LabWastewaterQueryLog000—
LearnedDagEdge151500.0%
MESProduct000—
MESProductYield000—
MFCDesign000—
Material737300.0%
MaterialClassification000—
MaterialMicrobeAffinity333300.0%
MaterialPaperCrossref78278200.0%
MaterialParameter000—
Measurement000—
MetagenomicAnalysis000—
MetagenomicPaperLink000—
MethodologyPreset000—
Microbe282800.0%
MicrobeCytochrome202000.0%
MicrobeEngineeringEvent5500.0%
MicrobeKineticConstant18118100.0%
MicrobeOmicsStudy4400.0%
MicrobePerformanceMeasurement000—
MicrobeReference818100.0%
MicrobeShuttle4400.0%
MicrobeSubstrateProductPair282800.0%
MicroelectrodeProfile000—
Model000—
OperatingCondition000—
OperationalParameter000—
PageComment000—
PaperChunk000—
PaperMaterial48148100.0%
PaperMergeAudit4,1524,15200.0%
PaperMicrobe28128100.0%
PaperParameter7,3737,37300.0%
PaperRelationship000—
ParameterClassification70670600.0%
ParameterConditionLink300,254300,25400.0%
ParameterDefinition83583500.0%
ParameterDistribution_v2matview69669600.0%
ParameterEdge2,8122,81200.0%
ParameterObservation68968900.0%
ParameterPrior2,5012,50100.0%
ParameterProvenance6,0856,08500.0%
ParameterTemplate000—
PasswordResetToken131300.0%
Permission000—
PolarizationPoint3,2923,29200.0%
Prediction313100.0%
PredictionOutcome000—
PriorStratumAxis47247200.0%
Project000—
ReactorGeometry1,2351,23500.0%
ResearchCluster000—
ResearchPaper23,598
analyzed 2026-05-06
23,598
analyzed 2026-05-06
00.0%
ResearchPaperEquation626200.0%
ResearchTrend000—
Run000—
Session000—
SharedView000—
SimulationReplay000—
SimulationResult000—
SubstrateClassification606000.0%
SurveyResponse5500.0%
SymbolicLaw2200.0%
Team000—
TrainedModelLineage000—
User585800.0%
VerificationToken434300.0%
WastewaterFeedback000—
WikiEntry83483400.0%
WikiRevision83483400.0%
WikiRevisionSource13313300.0%
Workflow000—
WorkstreamArtifact000—
_prisma_migrations818100.0%
Local: postgres://postgres.ytgmbbwtawldnunndcnd:***@aws-1-eu-central-1.pooler.supabase.com:6543/postgres?sslmode=require&pgbouncer=true&connection_limit=1&pool_timeout=20Prod: postgres://postgres.ytgmbbwtawldnunndcnd:***@aws-1-eu-central-1.pooler.supabase.com:5432/postgres?sslmode=requireTotal shared rows — local: 787,922, prod: 787,922

Supabase-managed schemas (auth, storage, realtime, vault, supabase_functions, extensions, net, _realtime) are intentionally excluded.

Honesty notes

  • Subtype taxonomy (22 MFC subtypes, 8 MEC subtypes, etc.) is not yet classified on most papers. v2 captureschamber_count and electrode/material fields, but the full single_chamber_air_cathode / dual_chamber / tubular / etc. taxonomy needs a follow-up classifier pass.
  • v2 coverage is 7.4% — distributions above are indicative, not yet representative of the whole corpus.
  • 676 duplicate paper rows from the 2026-05-09 audit (issue#194) are still in the DB; numbers above include them. Once the merge migration runs, those archived rows will drop out of the canonical view.