{
  "generated_at": "2026-04-29",
  "quality_note": "Completion audit for project management. Scores are readiness indicators, not scholarly certification.",
  "source_audits": [
    {
      "source_id": "radiation-light-and-illumination",
      "title": "Radiation, Light and Illumination",
      "year": 1909,
      "source_status": "seeded",
      "processed_status": "lecture splits, candidate equations, figures, concepts, glossary, quotes",
      "has_source_manifest": true,
      "has_ocr_seed": true,
      "raw_file_count": 3,
      "record_counts": {
        "chapters": 13,
        "concepts": 20,
        "equations": 300,
        "figures": 98,
        "glossary": 12,
        "quotes": 3
      },
      "source_text_pages": 13,
      "workbench_pages": 13,
      "curated_public_pages": 2,
      "original_crop_manifests": 5,
      "gates": {
        "custody": "pass",
        "structural_split": "pass",
        "public_source_text": "pass",
        "chapter_workbench": "pass",
        "concept_candidates": "pass",
        "equation_candidates": "pass",
        "figure_candidates_or_crops": "pass",
        "glossary_candidates": "pass",
        "quote_candidates": "pass",
        "curated_public_pages": "pass",
        "original_scan_crops": "pass"
      },
      "readiness_percent": 100.0,
      "readiness": "strong-candidate-for-canonical-review",
      "next_actions": [
        "Triage equation candidates into canonical, false-positive, and needs-review groups.",
        "Promote high-value historical terms into glossary pages with exact source locations."
      ],
      "links": {
        "source_page": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/sources/radiation-light-and-illumination/",
        "source_text": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/source-texts/radiation-light-and-illumination/",
        "workbench": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/chapter-workbench/radiation-light-and-illumination/"
      }
    },
    {
      "source_id": "commonwealth-edison-generating-system-trouble",
      "title": "Investigation of Some Trouble in the Generating System of the Commonwealth Edison Co.",
      "year": 1919,
      "source_status": "pdf_text_extracted",
      "processed_status": "embedded PDF text extracted; page map, report sections, candidate equations, figures, concepts, glossary, quotes, annotations, and crosslinks generated",
      "has_source_manifest": true,
      "has_ocr_seed": false,
      "raw_file_count": 1,
      "record_counts": {
        "chapters": 5,
        "concepts": 12,
        "equations": 220,
        "figures": 1,
        "glossary": 12,
        "quotes": 5
      },
      "source_text_pages": 5,
      "workbench_pages": 5,
      "curated_public_pages": 2,
      "original_crop_manifests": 0,
      "gates": {
        "custody": "pass",
        "structural_split": "pass",
        "public_source_text": "pass",
        "chapter_workbench": "pass",
        "concept_candidates": "pass",
        "equation_candidates": "pass",
        "figure_candidates_or_crops": "pass",
        "glossary_candidates": "pass",
        "quote_candidates": "pass",
        "curated_public_pages": "pass",
        "original_scan_crops": "missing"
      },
      "readiness_percent": 90.9,
      "readiness": "strong-candidate-for-canonical-review",
      "next_actions": [
        "Promote at least one scan-derived figure crop with manifest and checksum.",
        "Triage equation candidates into canonical, false-positive, and needs-review groups.",
        "Promote high-value historical terms into glossary pages with exact source locations."
      ],
      "links": {
        "source_page": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/sources/commonwealth-edison-generating-system-trouble/",
        "source_text": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/source-texts/commonwealth-edison-generating-system-trouble/",
        "workbench": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/chapter-workbench/commonwealth-edison-generating-system-trouble/"
      }
    },
    {
      "source_id": "theory-calculation-alternating-current-phenomena",
      "title": "Theory and Calculation of Alternating Current Phenomena",
      "year": 1916,
      "source_status": "seeded",
      "processed_status": "chapter splits and candidate catalogs from OCR; edition alignment needs review",
      "has_source_manifest": true,
      "has_ocr_seed": true,
      "raw_file_count": 1,
      "record_counts": {
        "chapters": 37,
        "concepts": 20,
        "equations": 300,
        "figures": 145,
        "glossary": 15,
        "quotes": 0
      },
      "source_text_pages": 37,
      "workbench_pages": 37,
      "curated_public_pages": 4,
      "original_crop_manifests": 4,
      "gates": {
        "custody": "pass",
        "structural_split": "pass",
        "public_source_text": "pass",
        "chapter_workbench": "pass",
        "concept_candidates": "pass",
        "equation_candidates": "pass",
        "figure_candidates_or_crops": "pass",
        "glossary_candidates": "pass",
        "quote_candidates": "missing",
        "curated_public_pages": "pass",
        "original_scan_crops": "pass"
      },
      "readiness_percent": 90.9,
      "readiness": "strong-candidate-for-canonical-review",
      "next_actions": [
        "Triage equation candidates into canonical, false-positive, and needs-review groups.",
        "Promote high-value historical terms into glossary pages with exact source locations."
      ],
      "links": {
        "source_page": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/sources/theory-calculation-alternating-current-phenomena/",
        "source_text": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/source-texts/theory-calculation-alternating-current-phenomena/",
        "workbench": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/chapter-workbench/theory-calculation-alternating-current-phenomena/"
      }
    },
    {
      "source_id": "theory-calculation-transient-electric-phenomena-oscillations",
      "title": "Theory and Calculation of Transient Electric Phenomena and Oscillations",
      "year": 1909,
      "source_status": "seeded",
      "processed_status": "chapter splits and candidate catalogs from OCR; multi-section numbering requires review",
      "has_source_manifest": true,
      "has_ocr_seed": true,
      "raw_file_count": 1,
      "record_counts": {
        "chapters": 58,
        "concepts": 20,
        "equations": 300,
        "figures": 1,
        "glossary": 12,
        "quotes": 0
      },
      "source_text_pages": 58,
      "workbench_pages": 58,
      "curated_public_pages": 4,
      "original_crop_manifests": 6,
      "gates": {
        "custody": "pass",
        "structural_split": "pass",
        "public_source_text": "pass",
        "chapter_workbench": "pass",
        "concept_candidates": "pass",
        "equation_candidates": "pass",
        "figure_candidates_or_crops": "pass",
        "glossary_candidates": "pass",
        "quote_candidates": "missing",
        "curated_public_pages": "pass",
        "original_scan_crops": "pass"
      },
      "readiness_percent": 90.9,
      "readiness": "strong-candidate-for-canonical-review",
      "next_actions": [
        "Triage equation candidates into canonical, false-positive, and needs-review groups.",
        "Promote high-value historical terms into glossary pages with exact source locations."
      ],
      "links": {
        "source_page": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/sources/theory-calculation-transient-electric-phenomena-oscillations/",
        "source_text": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/source-texts/theory-calculation-transient-electric-phenomena-oscillations/",
        "workbench": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/chapter-workbench/theory-calculation-transient-electric-phenomena-oscillations/"
      }
    },
    {
      "source_id": "elementary-lectures-electric-discharges-waves-impulses",
      "title": "Elementary Lectures on Electric Discharges, Waves and Impulses, and Other Transients",
      "year": 1911,
      "source_status": "seeded",
      "processed_status": "lecture splits and candidate catalogs from OCR",
      "has_source_manifest": true,
      "has_ocr_seed": true,
      "raw_file_count": 1,
      "record_counts": {
        "chapters": 10,
        "concepts": 20,
        "equations": 300,
        "figures": 16,
        "glossary": 12,
        "quotes": 0
      },
      "source_text_pages": 10,
      "workbench_pages": 10,
      "curated_public_pages": 2,
      "original_crop_manifests": 0,
      "gates": {
        "custody": "pass",
        "structural_split": "pass",
        "public_source_text": "pass",
        "chapter_workbench": "pass",
        "concept_candidates": "pass",
        "equation_candidates": "pass",
        "figure_candidates_or_crops": "pass",
        "glossary_candidates": "pass",
        "quote_candidates": "missing",
        "curated_public_pages": "pass",
        "original_scan_crops": "missing"
      },
      "readiness_percent": 81.8,
      "readiness": "research-ready-needs-verification",
      "next_actions": [
        "Promote at least one scan-derived figure crop with manifest and checksum.",
        "Triage equation candidates into canonical, false-positive, and needs-review groups.",
        "Promote high-value historical terms into glossary pages with exact source locations."
      ],
      "links": {
        "source_page": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/sources/elementary-lectures-electric-discharges-waves-impulses/",
        "source_text": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/source-texts/elementary-lectures-electric-discharges-waves-impulses/",
        "workbench": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/chapter-workbench/elementary-lectures-electric-discharges-waves-impulses/"
      }
    },
    {
      "source_id": "engineering-mathematics",
      "title": "Engineering Mathematics: A Series of Lectures Delivered at Union College",
      "year": 1911,
      "source_status": "seeded",
      "processed_status": "chapter splits and candidate catalogs from OCR",
      "has_source_manifest": true,
      "has_ocr_seed": true,
      "raw_file_count": 1,
      "record_counts": {
        "chapters": 6,
        "concepts": 20,
        "equations": 300,
        "figures": 9,
        "glossary": 14,
        "quotes": 0
      },
      "source_text_pages": 6,
      "workbench_pages": 6,
      "curated_public_pages": 2,
      "original_crop_manifests": 0,
      "gates": {
        "custody": "pass",
        "structural_split": "pass",
        "public_source_text": "pass",
        "chapter_workbench": "pass",
        "concept_candidates": "pass",
        "equation_candidates": "pass",
        "figure_candidates_or_crops": "pass",
        "glossary_candidates": "pass",
        "quote_candidates": "missing",
        "curated_public_pages": "pass",
        "original_scan_crops": "missing"
      },
      "readiness_percent": 81.8,
      "readiness": "research-ready-needs-verification",
      "next_actions": [
        "Promote at least one scan-derived figure crop with manifest and checksum.",
        "Triage equation candidates into canonical, false-positive, and needs-review groups.",
        "Promote high-value historical terms into glossary pages with exact source locations."
      ],
      "links": {
        "source_page": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/sources/engineering-mathematics/",
        "source_text": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/source-texts/engineering-mathematics/",
        "workbench": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/chapter-workbench/engineering-mathematics/"
      }
    },
    {
      "source_id": "four-lectures-relativity-space",
      "title": "Four Lectures on Relativity and Space",
      "year": 1923,
      "source_status": "ocr_seeded",
      "processed_status": "Internet Archive OCR downloaded; lecture splits and candidate catalogs generated",
      "has_source_manifest": true,
      "has_ocr_seed": true,
      "raw_file_count": 1,
      "record_counts": {
        "chapters": 4,
        "concepts": 20,
        "equations": 170,
        "figures": 19,
        "glossary": 12,
        "quotes": 0
      },
      "source_text_pages": 4,
      "workbench_pages": 4,
      "curated_public_pages": 2,
      "original_crop_manifests": 0,
      "gates": {
        "custody": "pass",
        "structural_split": "pass",
        "public_source_text": "pass",
        "chapter_workbench": "pass",
        "concept_candidates": "pass",
        "equation_candidates": "pass",
        "figure_candidates_or_crops": "pass",
        "glossary_candidates": "pass",
        "quote_candidates": "missing",
        "curated_public_pages": "pass",
        "original_scan_crops": "missing"
      },
      "readiness_percent": 81.8,
      "readiness": "research-ready-needs-verification",
      "next_actions": [
        "Promote at least one scan-derived figure crop with manifest and checksum.",
        "Triage equation candidates into canonical, false-positive, and needs-review groups.",
        "Promote high-value historical terms into glossary pages with exact source locations."
      ],
      "links": {
        "source_page": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/sources/four-lectures-relativity-space/",
        "source_text": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/source-texts/four-lectures-relativity-space/",
        "workbench": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/chapter-workbench/four-lectures-relativity-space/"
      }
    },
    {
      "source_id": "general-lectures-electrical-engineering",
      "title": "General Lectures on Electrical Engineering",
      "year": 1908,
      "source_status": "ocr_seeded",
      "processed_status": "Internet Archive OCR downloaded; ordinal lecture parser generated candidate catalogs",
      "has_source_manifest": true,
      "has_ocr_seed": true,
      "raw_file_count": 1,
      "record_counts": {
        "chapters": 17,
        "concepts": 20,
        "equations": 134,
        "figures": 14,
        "glossary": 12,
        "quotes": 0
      },
      "source_text_pages": 17,
      "workbench_pages": 17,
      "curated_public_pages": 2,
      "original_crop_manifests": 0,
      "gates": {
        "custody": "pass",
        "structural_split": "pass",
        "public_source_text": "pass",
        "chapter_workbench": "pass",
        "concept_candidates": "pass",
        "equation_candidates": "pass",
        "figure_candidates_or_crops": "pass",
        "glossary_candidates": "pass",
        "quote_candidates": "missing",
        "curated_public_pages": "pass",
        "original_scan_crops": "missing"
      },
      "readiness_percent": 81.8,
      "readiness": "research-ready-needs-verification",
      "next_actions": [
        "Promote at least one scan-derived figure crop with manifest and checksum.",
        "Triage equation candidates into canonical, false-positive, and needs-review groups.",
        "Promote high-value historical terms into glossary pages with exact source locations."
      ],
      "links": {
        "source_page": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/sources/general-lectures-electrical-engineering/",
        "source_text": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/source-texts/general-lectures-electrical-engineering/",
        "workbench": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/chapter-workbench/general-lectures-electrical-engineering/"
      }
    },
    {
      "source_id": "theoretical-elements-electrical-engineering",
      "title": "Theoretical Elements of Electrical Engineering",
      "year": 1915,
      "source_status": "seeded",
      "processed_status": "source-specific part/section split and candidate catalogs from OCR",
      "has_source_manifest": true,
      "has_ocr_seed": true,
      "raw_file_count": 1,
      "record_counts": {
        "chapters": 114,
        "concepts": 20,
        "equations": 300,
        "figures": 10,
        "glossary": 12,
        "quotes": 0
      },
      "source_text_pages": 114,
      "workbench_pages": 114,
      "curated_public_pages": 3,
      "original_crop_manifests": 0,
      "gates": {
        "custody": "pass",
        "structural_split": "pass",
        "public_source_text": "pass",
        "chapter_workbench": "pass",
        "concept_candidates": "pass",
        "equation_candidates": "pass",
        "figure_candidates_or_crops": "pass",
        "glossary_candidates": "pass",
        "quote_candidates": "missing",
        "curated_public_pages": "pass",
        "original_scan_crops": "missing"
      },
      "readiness_percent": 81.8,
      "readiness": "research-ready-needs-verification",
      "next_actions": [
        "Promote at least one scan-derived figure crop with manifest and checksum.",
        "Triage equation candidates into canonical, false-positive, and needs-review groups.",
        "Promote high-value historical terms into glossary pages with exact source locations."
      ],
      "links": {
        "source_page": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/sources/theoretical-elements-electrical-engineering/",
        "source_text": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/source-texts/theoretical-elements-electrical-engineering/",
        "workbench": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/chapter-workbench/theoretical-elements-electrical-engineering/"
      }
    },
    {
      "source_id": "theory-calculation-electric-apparatus",
      "title": "Theory and Calculation of Electric Apparatus",
      "year": 1917,
      "source_status": "ocr_seeded",
      "processed_status": "Internet Archive OCR downloaded; chapter splits and candidate catalogs generated",
      "has_source_manifest": true,
      "has_ocr_seed": true,
      "raw_file_count": 1,
      "record_counts": {
        "chapters": 22,
        "concepts": 20,
        "equations": 300,
        "figures": 13,
        "glossary": 12,
        "quotes": 0
      },
      "source_text_pages": 22,
      "workbench_pages": 22,
      "curated_public_pages": 2,
      "original_crop_manifests": 0,
      "gates": {
        "custody": "pass",
        "structural_split": "pass",
        "public_source_text": "pass",
        "chapter_workbench": "pass",
        "concept_candidates": "pass",
        "equation_candidates": "pass",
        "figure_candidates_or_crops": "pass",
        "glossary_candidates": "pass",
        "quote_candidates": "missing",
        "curated_public_pages": "pass",
        "original_scan_crops": "missing"
      },
      "readiness_percent": 81.8,
      "readiness": "research-ready-needs-verification",
      "next_actions": [
        "Promote at least one scan-derived figure crop with manifest and checksum.",
        "Triage equation candidates into canonical, false-positive, and needs-review groups.",
        "Promote high-value historical terms into glossary pages with exact source locations."
      ],
      "links": {
        "source_page": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/sources/theory-calculation-electric-apparatus/",
        "source_text": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/source-texts/theory-calculation-electric-apparatus/",
        "workbench": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/chapter-workbench/theory-calculation-electric-apparatus/"
      }
    },
    {
      "source_id": "electric-discharges-waves-impulses-1914",
      "title": "Elementary Lectures on Electric Discharges, Waves and Impulses, and Other Transients",
      "year": 1914,
      "source_status": "ocr_seeded",
      "processed_status": "Internet Archive OCR downloaded; chapter/lecture candidates and candidate catalogs generated; scan and edition alignment require review",
      "has_source_manifest": true,
      "has_ocr_seed": true,
      "raw_file_count": 2,
      "record_counts": {
        "chapters": 10,
        "concepts": 20,
        "equations": 300,
        "figures": 18,
        "glossary": 12,
        "quotes": 0
      },
      "source_text_pages": 10,
      "workbench_pages": 10,
      "curated_public_pages": 1,
      "original_crop_manifests": 0,
      "gates": {
        "custody": "pass",
        "structural_split": "pass",
        "public_source_text": "pass",
        "chapter_workbench": "pass",
        "concept_candidates": "pass",
        "equation_candidates": "pass",
        "figure_candidates_or_crops": "pass",
        "glossary_candidates": "pass",
        "quote_candidates": "missing",
        "curated_public_pages": "partial",
        "original_scan_crops": "missing"
      },
      "readiness_percent": 77.3,
      "readiness": "research-ready-needs-verification",
      "next_actions": [
        "Promote at least one scan-derived figure crop with manifest and checksum.",
        "Add or deepen curated source pages beyond generated readers.",
        "Triage equation candidates into canonical, false-positive, and needs-review groups.",
        "Promote high-value historical terms into glossary pages with exact source locations."
      ],
      "links": {
        "source_page": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/sources/electric-discharges-waves-impulses-1914/",
        "source_text": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/source-texts/electric-discharges-waves-impulses-1914/",
        "workbench": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/chapter-workbench/electric-discharges-waves-impulses-1914/"
      }
    },
    {
      "source_id": "theory-calculation-alternating-current-phenomena-1897",
      "title": "Theory and Calculation of Alternating Current Phenomena",
      "year": 1897,
      "source_status": "ocr_seeded",
      "processed_status": "Internet Archive OCR downloaded; chapter/lecture candidates and candidate catalogs generated; scan and edition alignment require review",
      "has_source_manifest": true,
      "has_ocr_seed": true,
      "raw_file_count": 2,
      "record_counts": {
        "chapters": 30,
        "concepts": 20,
        "equations": 300,
        "figures": 32,
        "glossary": 12,
        "quotes": 0
      },
      "source_text_pages": 30,
      "workbench_pages": 30,
      "curated_public_pages": 1,
      "original_crop_manifests": 0,
      "gates": {
        "custody": "pass",
        "structural_split": "pass",
        "public_source_text": "pass",
        "chapter_workbench": "pass",
        "concept_candidates": "pass",
        "equation_candidates": "pass",
        "figure_candidates_or_crops": "pass",
        "glossary_candidates": "pass",
        "quote_candidates": "missing",
        "curated_public_pages": "partial",
        "original_scan_crops": "missing"
      },
      "readiness_percent": 77.3,
      "readiness": "research-ready-needs-verification",
      "next_actions": [
        "Promote at least one scan-derived figure crop with manifest and checksum.",
        "Add or deepen curated source pages beyond generated readers.",
        "Triage equation candidates into canonical, false-positive, and needs-review groups.",
        "Promote high-value historical terms into glossary pages with exact source locations."
      ],
      "links": {
        "source_page": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/sources/theory-calculation-alternating-current-phenomena-1897/",
        "source_text": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/source-texts/theory-calculation-alternating-current-phenomena-1897/",
        "workbench": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/chapter-workbench/theory-calculation-alternating-current-phenomena-1897/"
      }
    },
    {
      "source_id": "theory-calculation-alternating-current-phenomena-1900",
      "title": "Theory and Calculation of Alternating Current Phenomena",
      "year": 1900,
      "source_status": "ocr_seeded",
      "processed_status": "Internet Archive OCR downloaded; chapter/lecture candidates and candidate catalogs generated; scan and edition alignment require review",
      "has_source_manifest": true,
      "has_ocr_seed": true,
      "raw_file_count": 2,
      "record_counts": {
        "chapters": 32,
        "concepts": 20,
        "equations": 300,
        "figures": 91,
        "glossary": 12,
        "quotes": 0
      },
      "source_text_pages": 32,
      "workbench_pages": 32,
      "curated_public_pages": 1,
      "original_crop_manifests": 0,
      "gates": {
        "custody": "pass",
        "structural_split": "pass",
        "public_source_text": "pass",
        "chapter_workbench": "pass",
        "concept_candidates": "pass",
        "equation_candidates": "pass",
        "figure_candidates_or_crops": "pass",
        "glossary_candidates": "pass",
        "quote_candidates": "missing",
        "curated_public_pages": "partial",
        "original_scan_crops": "missing"
      },
      "readiness_percent": 77.3,
      "readiness": "research-ready-needs-verification",
      "next_actions": [
        "Promote at least one scan-derived figure crop with manifest and checksum.",
        "Add or deepen curated source pages beyond generated readers.",
        "Triage equation candidates into canonical, false-positive, and needs-review groups.",
        "Promote high-value historical terms into glossary pages with exact source locations."
      ],
      "links": {
        "source_page": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/sources/theory-calculation-alternating-current-phenomena-1900/",
        "source_text": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/source-texts/theory-calculation-alternating-current-phenomena-1900/",
        "workbench": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/chapter-workbench/theory-calculation-alternating-current-phenomena-1900/"
      }
    },
    {
      "source_id": "theory-calculation-electric-circuits",
      "title": "Theory and Calculation of Electric Circuits",
      "year": 1917,
      "source_status": "ocr_seeded",
      "processed_status": "Internet Archive OCR downloaded; chapter/lecture candidates and candidate catalogs generated; scan and edition alignment require review",
      "has_source_manifest": true,
      "has_ocr_seed": true,
      "raw_file_count": 2,
      "record_counts": {
        "chapters": 18,
        "concepts": 20,
        "equations": 300,
        "figures": 37,
        "glossary": 12,
        "quotes": 0
      },
      "source_text_pages": 18,
      "workbench_pages": 18,
      "curated_public_pages": 1,
      "original_crop_manifests": 0,
      "gates": {
        "custody": "pass",
        "structural_split": "pass",
        "public_source_text": "pass",
        "chapter_workbench": "pass",
        "concept_candidates": "pass",
        "equation_candidates": "pass",
        "figure_candidates_or_crops": "pass",
        "glossary_candidates": "pass",
        "quote_candidates": "missing",
        "curated_public_pages": "partial",
        "original_scan_crops": "missing"
      },
      "readiness_percent": 77.3,
      "readiness": "research-ready-needs-verification",
      "next_actions": [
        "Promote at least one scan-derived figure crop with manifest and checksum.",
        "Add or deepen curated source pages beyond generated readers.",
        "Triage equation candidates into canonical, false-positive, and needs-review groups.",
        "Promote high-value historical terms into glossary pages with exact source locations."
      ],
      "links": {
        "source_page": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/sources/theory-calculation-electric-circuits/",
        "source_text": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/source-texts/theory-calculation-electric-circuits/",
        "workbench": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/chapter-workbench/theory-calculation-electric-circuits/"
      }
    },
    {
      "source_id": "america-and-new-epoch",
      "title": "America and the New Epoch",
      "year": 1916,
      "source_status": "ocr_seeded",
      "processed_status": "source-specific historical chapter split and candidate catalogs from OCR",
      "has_source_manifest": true,
      "has_ocr_seed": true,
      "raw_file_count": 1,
      "record_counts": {
        "chapters": 18,
        "concepts": 14,
        "equations": 21,
        "figures": 0,
        "glossary": 9,
        "quotes": 0
      },
      "source_text_pages": 18,
      "workbench_pages": 18,
      "curated_public_pages": 2,
      "original_crop_manifests": 0,
      "gates": {
        "custody": "pass",
        "structural_split": "pass",
        "public_source_text": "pass",
        "chapter_workbench": "pass",
        "concept_candidates": "pass",
        "equation_candidates": "pass",
        "figure_candidates_or_crops": "missing",
        "glossary_candidates": "pass",
        "quote_candidates": "missing",
        "curated_public_pages": "pass",
        "original_scan_crops": "missing"
      },
      "readiness_percent": 72.7,
      "readiness": "research-ready-needs-verification",
      "next_actions": [
        "Triage equation candidates into canonical, false-positive, and needs-review groups.",
        "Promote high-value historical terms into glossary pages with exact source locations."
      ],
      "links": {
        "source_page": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/sources/america-and-new-epoch/",
        "source_text": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/source-texts/america-and-new-epoch/",
        "workbench": "/Charles-Proteus-Steinmetz-Texts-AI-Decoded/chapter-workbench/america-and-new-epoch/"
      }
    }
  ],
  "project_gates": {
    "site_pages_mdx": 1063,
    "source_text_pages": 410,
    "chapter_workbench_pages": 410,
    "concept_concordance_pages": 78,
    "sources_total": 15,
    "sources_with_original_crops": 3,
    "sources_with_curated_pages": 11,
    "all_sources_have_text_and_workbench": true,
    "all_sources_have_custody_or_archive": true,
    "definitive_archive_note": "The archive is broad and research-ready, but not definitive until source custody, scan verification, equations, diagrams, patents, and peer review gates pass for all priority sources."
  }
}
