{
  "admission": {
    "public_embedding": {
      "github_release": "https://github.com/KokunoYumeto/program-matematika-indonesia/releases/tag/v0.63.24",
      "receipt": {
        "bytes": 47719,
        "path": "publication-history/PUBLICATION_RECEIPT_v0.63.24.json",
        "sha256": "e5246f3d22fc8659da90a095f930f80fa55826e8c3828e75bc61b34b9576fc8e"
      },
      "status": "published_open_and_anonymously_verified",
      "version": "0.63.24",
      "zenodo": "https://doi.org/10.5281/zenodo.22646380"
    },
    "receipt": {
      "bytes": 19312,
      "path": "backend/course-capsule-v1/validation/20260907/GAP_ADMISSION.json",
      "sha256": "5e1168f28a6a319a3320d6a688c824d17d3323eca151547a1b26a2032e1ac8e9"
    },
    "roles": [
      "A30",
      "B95",
      "C140"
    ]
  },
  "evidence": [
    {
      "bytes": 663648,
      "path": "backend/course-capsule-v1/generated/course-capsules.json",
      "sha256": "082a838bd700c0f88c76e782f23674cb24a70734be1eff08e07fe3899d6ebf9a"
    },
    {
      "bytes": 46271,
      "path": "backend/course-capsule-v1/authority/clp-family-v231/modular-backend-pattern-index-v2.1.json",
      "sha256": "34cf3ac6b3e1b04e4d614fa3e147eee3a98f4fc4a13c190004582d7d7c5bf9ab"
    },
    {
      "bytes": 34409,
      "path": "backend/course-capsule-v1/authority/clp-family-v231/v23-adapter-index-v2.json",
      "sha256": "2c46dcc8a7b15a06d3e4a8ab2209bfe3fa0f90dbf150de432b3b51b4b35f1d3a"
    },
    {
      "bytes": 11481,
      "path": "backend/course-capsule-v1/authority/clp-family-v231/learner-reader-actions-v1.json",
      "sha256": "c5c6294136a857b148e5e80d362dfa190e7374435f96d655db2556a2b83006ce"
    },
    {
      "bytes": 2737,
      "path": "docs/backend/clp/validation.json",
      "sha256": "6d97b5d737f27ff69a9182d1db5ba4d0cdff378efb1f30b34e1551cbedcd52f3"
    },
    {
      "bytes": 148033,
      "path": "backend/course-capsule-v1/validation/COMBINED_BACKEND_READBACK_82b6bdbf5e30.json",
      "sha256": "ef5cd775837d69168cb63f2e4d8fa1b79541bce4998c17ca67e4570944fd0eda"
    },
    {
      "bytes": 71358,
      "path": "backend/course-capsule-v1/adapters/a20-capability-v1/publication/GITHUB_READBACK_a2729467c523.json",
      "sha256": "8786898fb5d2786f59cc8baf71c58943a12622a470fad6e008255c975d80b190"
    },
    {
      "bytes": 13609,
      "path": "backend/course-capsule-v1/adapters/a30-capability-v1/manifest.json",
      "sha256": "739c3d0a9edf4735763ad3ab9f623183be62885663d30dff2d914b0dcaf82d83"
    },
    {
      "bytes": 17692,
      "path": "backend/course-capsule-v1/adapters/a30-capability-v1/validation.json",
      "sha256": "16e8989225f2abce6c08643c3874fc234dd225ca45dc3659e83588a0f3b8cfaf"
    },
    {
      "bytes": 5494,
      "path": "backend/course-capsule-v1/adapters/a30-capability-v1/data/public-evidence.json",
      "sha256": "4794ce6f7459cd05dce23f9f433dfd2979adf244d376057af66587c98bf0cbfa"
    },
    {
      "bytes": 5835,
      "path": "backend/course-capsule-v1/adapters/a30-capability-v1/input/public-native-readback.json",
      "sha256": "3e79800d638b3c9d29bb6797734895ec3c95d2b293096bd46c1057d46649c78c"
    },
    {
      "bytes": 6790,
      "path": "backend/course-capsule-v1/adapters/a30-capability-v1/publication/GITHUB_READBACK_74b208108a25.json",
      "sha256": "6ca5c466c68ac39b0d054e5db568211fbbcb492cdb46f3c9005012a4f7a1c994"
    },
    {
      "bytes": 15919,
      "path": "backend/course-capsule-v1/adapters/b95-capability-v1/manifest.json",
      "sha256": "9e8b98e938a2e5b8015a2b4ede1e260a9ae5a8097cbe95c7d95d373a90d8db42"
    },
    {
      "bytes": 11857,
      "path": "backend/course-capsule-v1/adapters/b95-capability-v1/validation.json",
      "sha256": "c5a7802d03870943b7590a94825c24402aadc99324fa4a83e327aff2e5f211f8"
    },
    {
      "bytes": 9300,
      "path": "backend/course-capsule-v1/adapters/b95-capability-v1/data/public-evidence.json",
      "sha256": "745653e9c74b2dbceeb11623ac9d9de0a1fc788dc22315f23b756d66a04ae010"
    },
    {
      "bytes": 3719,
      "path": "backend/course-capsule-v1/adapters/b95-capability-v1/input/public-native-readback.json",
      "sha256": "40191d3429229dd426d9ce308b1e7dd040637dd862146a43ee45dc7599db5e61"
    },
    {
      "bytes": 28428,
      "path": "backend/course-capsule-v1/adapters/c140-capability-v1/manifest.json",
      "sha256": "6573e4aa1e0a2909ced29229929aff00d6d9a5feb37ca1bde2a0989295fae37b"
    },
    {
      "bytes": 10355,
      "path": "backend/course-capsule-v1/adapters/c140-capability-v1/validation.json",
      "sha256": "531d1d33c05846d032ef17e59be87a9c2e542f152181ce3b12a10f477bf7edae"
    },
    {
      "bytes": 23214,
      "path": "backend/course-capsule-v1/adapters/c140-capability-v1/data/public-evidence.json",
      "sha256": "042e50c3fea1d12256b86ce3cb58c5572f2ab22e130f8526046403d70ac3d714"
    },
    {
      "bytes": 19032,
      "path": "backend/course-capsule-v1/adapters/c140-capability-v1/input/source-lock.json",
      "sha256": "23b71681c050140247463abc494371cdd50c5b6fbd141015249b4cfadcb5b965"
    },
    {
      "bytes": 76665,
      "path": "backend/course-capsule-v1/adapters/c140-capability-v1/input/github-release-readback.json",
      "sha256": "b574b72a58ceb3c33b13ec8fed5a143a266da29e6bfdeea06102d6929a2c3893"
    },
    {
      "bytes": 103239,
      "path": "backend/course-capsule-v1/adapters/c140-capability-v1/input/github-pages-readback.json",
      "sha256": "2230f83f946c83d5a9633cdc3f4b1c5af72069634ff72586768a4f8f08a3eae6"
    },
    {
      "bytes": 25135,
      "path": "backend/course-capsule-v1/adapters/c140-capability-v1/input/zenodo-readback.json",
      "sha256": "eb6c661e93450580296f8aec6b2be103b128f6b57834f4f6fb9b2148ee9897ff"
    },
    {
      "bytes": 1263,
      "path": "backend/course-capsule-v1/adapters/c140-capability-v1/build/PACKET_BUILD_RECEIPT.json",
      "sha256": "560b8976595f038dbc71c12c6b89d8a99006d3135888dc4d5dba32471f2cc6d1"
    },
    {
      "bytes": 55379,
      "path": "backend/course-capsule-v1/adapters/b40-capability-v1/publication/GITHUB_READBACK_35b2e2bd34d0.json",
      "sha256": "092177db704a138679c1a55a15a6214598403e00bb165e09a17475c7e09987d4"
    },
    {
      "bytes": 12248,
      "path": "backend/course-capsule-v1/adapters/b80-capability-v1/publication/GITHUB_SOURCE_AND_PAGES_READBACK_20260904.json",
      "sha256": "e249834afeedca039875fb021877920207c2dfaa4ae2dee0b8ef992877b04881"
    },
    {
      "bytes": 43227,
      "path": "backend/course-capsule-v1/adapters/lebl-capability-v1/publication/GITHUB_READBACK_97960cc12b34.json",
      "sha256": "824e51cfd044b71e02d99ca4fc0624d6a1f5eb27fed6c90f449bfd73d0e359cb"
    },
    {
      "bytes": 46265,
      "path": "backend/course-capsule-v1/adapters/geometry-capability-v1/publication/GITHUB_READBACK_a2584b9448c9.json",
      "sha256": "68c46369555173644e988f20828b4bfe8d85b6f38c602020f313f642f48641d7"
    },
    {
      "bytes": 77529,
      "path": "backend/course-capsule-v1/adapters/topology-capability-v1/publication/GITHUB_READBACK_d7141489fe34.json",
      "sha256": "9a0c8c43a3006f5a564fb7fa38305ec92342d63410a237a37fabf4f3014c7945"
    },
    {
      "bytes": 35839,
      "path": "backend/course-capsule-v1/adapters/c70-capability-v1/publication/GITHUB_READBACK_4eb34c5d866a.json",
      "sha256": "b9b1770fee11fb7eaf67187fb80f0c0408f818123f17f0d12672a523b0538d94"
    },
    {
      "bytes": 41300,
      "path": "backend/course-capsule-v1/adapters/c110-capability-v1/publication/GITHUB_READBACK_c7ccbcc9a27a.json",
      "sha256": "8b9df53ad60a77cc1fd498d50f453cebbe9ba9da23e5e4474d7f0a67afad3cdf"
    },
    {
      "bytes": 36406,
      "path": "backend/course-capsule-v1/adapters/c120-capability-v1/publication/GITHUB_READBACK_5cef326a811b.json",
      "sha256": "2e9a9387c5fd4822242addb39cef12d9282b1b8295e9629c01a56e628f93f8a1"
    },
    {
      "bytes": 56640,
      "path": "backend/course-capsule-v1/adapters/c60-capability-v1/publication/GITHUB_READBACK_306c9e080f89.json",
      "sha256": "bbf8f9587e6a2c846f87a5cb8f4d2609623301570c9007865f3b61ab3673b5d0"
    },
    {
      "bytes": 65824,
      "path": "backend/course-capsule-v1/adapters/b90-capability-v1/publication/GITHUB_READBACK_37dfd587bac2.json",
      "sha256": "f3a70150864b1b8c4dbcfb65bdb186d3d2439973698f02d89a3d47cf03efc889"
    },
    {
      "bytes": 33463,
      "path": "backend/course-capsule-v1/adapters/d10-capability-v1/publication/GITHUB_READBACK_a290054a4e16.json",
      "sha256": "54d2aed669a45ee87ab784798a98ae2ebb54719a2943dcfd7b4f34a66ac467b3"
    },
    {
      "bytes": 5781,
      "path": "backend/course-capsule-v1/adapters/d30-capability-v1/manifest.json",
      "sha256": "9bd3ff6949e83cb9f7fbc2886973dd5a6bae0cdf2a8f26917a539bc9c9698c57"
    },
    {
      "bytes": 3548,
      "path": "backend/course-capsule-v1/adapters/d30-capability-v1/validation.json",
      "sha256": "8119c3f453d8e23181c7f78b8d15d64e32e013b7b896f0389f177fcc8678fb16"
    },
    {
      "bytes": 3015,
      "path": "backend/course-capsule-v1/adapters/d30-capability-v1/data/public-evidence.json",
      "sha256": "f16104a57c88a98a24b9943e73402d5d6a43a9a7062480bcc77f5bd8f27ea70b"
    },
    {
      "bytes": 60259,
      "path": "backend/course-capsule-v1/adapters/d40-capability-v1/publication/GITHUB_READBACK_4f7d6c825751.json",
      "sha256": "c11c8059c1942f6c5f0fad51431a3d40e2696665dfa0f83318e719a59ceca1e3"
    },
    {
      "bytes": 64425,
      "path": "backend/course-capsule-v1/adapters/d70-capability-v1/publication/GITHUB_READBACK_2ce9fbb5dacd.json",
      "sha256": "e2d8dc1dac07f9661b25759142e9a09faa5d7c4217ee964af387f1272262a0ef"
    },
    {
      "bytes": 39103,
      "path": "backend/course-capsule-v1/adapters/d80-capability-v1/publication/GITHUB_READBACK_b22cd627901c.json",
      "sha256": "920c805869eeb339aebb81d2036d1d56116847783e2537817072473341d8827e"
    },
    {
      "bytes": 61700,
      "path": "backend/course-capsule-v1/adapters/d90-capability-v1/publication/GITHUB_READBACK_1ec3ed4846c8.json",
      "sha256": "e02fce68adab5034ab87907829ade3f91e268f7d013ed0adb64533a2b971368d"
    },
    {
      "bytes": 43836,
      "path": "backend/course-capsule-v1/adapters/d100-capability-v1/publication/GITHUB_READBACK_9b9480ff5b2c.json",
      "sha256": "c86ad8ccf98719e1b9418a4e53800b54ae9faf92f634cce267236806609f4cec"
    },
    {
      "bytes": 35466,
      "path": "backend/course-capsule-v1/adapters/d120-capability-v1/publication/GITHUB_READBACK_a42650f4815a.json",
      "sha256": "b8ad44c6cdb5b2af61febba2b83e9b9a0a863b382ec385f0d2bfdd2b718001a7"
    },
    {
      "bytes": 2365,
      "path": "backend/v2.3/admissions/d50-smooth-manifolds-v0.1.0/publication/PUBLICATION_BINDING_v0.63.21.json",
      "sha256": "83686b790e8a1958f599bc763760dca525488931c1128aeca118d0264c4698e2"
    },
    {
      "bytes": 19312,
      "path": "backend/course-capsule-v1/validation/20260907/GAP_ADMISSION.json",
      "sha256": "5e1168f28a6a319a3320d6a688c824d17d3323eca151547a1b26a2032e1ac8e9"
    },
    {
      "bytes": 254834,
      "path": "backend/course-capsule-v1/packages/A30_PRECALCULUS_V231_ADAPTER.zip",
      "sha256": "b9eb50d8bf97a011ea3b5980e6e3544e4ad5b2819af959e7393799d03ea1e066"
    },
    {
      "bytes": 94569,
      "path": "backend/course-capsule-v1/packages/B95_OPENINTRO_STATISTICS_V231_ADAPTER.zip",
      "sha256": "da71dc89572e2def357006dcce573aba7f7055647efa4781ebff8376819d9ddb"
    },
    {
      "bytes": 134257,
      "path": "backend/course-capsule-v1/packages/C140_MATHEMATICAL_STATISTICS_V231_ADAPTER.zip",
      "sha256": "fdda3bdae3036a89352510fc5603f0536d9f9248dfecf7a3230d19d8f9f98243"
    },
    {
      "bytes": 47719,
      "path": "publication-history/PUBLICATION_RECEIPT_v0.63.24.json",
      "sha256": "e5246f3d22fc8659da90a095f930f80fa55826e8c3828e75bc61b34b9576fc8e"
    }
  ],
  "evidence_semantics": "Unknown means not proved by common-layer evidence, not absent native work. Common exchange-layer completion and native capability parity are reported separately. Frozen public readback is historical, not a fresh network recheck. A20 has an anonymous exact source-and-Pages readback over its integration commit. A30 has complete anonymous native GitHub/Zenodo release readback plus a central integration readback covering ten source/derived files and three changed Pages routes. A30, B95, and C140 adapter packets were preserved and anonymously read back in central v0.63.24. D30 is a direct locally validated zero-copy adapter whose GitHub evidence preserves the native repository, commit/tree, and anonymous reader readback; its central adapter publication is not inferred. D50 has a fresh exact GitHub release-asset readback and an exact adapter member inside the anonymously verified Zenodo successor navigator; it is not represented as a top-level Zenodo file.",
  "recorded_date": "2026-09-08",
  "roles": [
    {
      "common_adapter": {
        "contract": "2.3.1",
        "github_public_evidence": "frozen_public_readback",
        "local_evidence": [
          {
            "bytes": 44086,
            "kind": "central_adapter_manifest",
            "locator": "backend/v2.3/extensions/a00-o001-assessments-v0.1.0/manifest.json",
            "sha256": "934a85c6c1c61d826a9c1c8ac601957548b865757cd6386c3b8eb36160706c08",
            "verified_date": "2026-08-31"
          },
          {
            "bytes": 3324,
            "kind": "deterministic_validation_receipt",
            "locator": "backend/v2.3/builds/a00-o001-assessments-v0.1.0/VALIDATION_REPORT.json",
            "sha256": "910c1d447dfbd6f7e7eab833bed84ec188bb39e2f687c4df891987753b254950",
            "verified_date": "2026-08-31"
          },
          {
            "bytes": 49043,
            "kind": "learner_runtime",
            "locator": "docs/id-ID/courses/A00/latihan/index.html",
            "sha256": "8478e0ff84694b0e317b55bb2fdb7a205b9de97e03c593ca0903e8e023485981",
            "verified_date": "2026-08-31"
          },
          {
            "bytes": 3355,
            "kind": "a00_concept_teacher_manifest",
            "locator": "backend/course-capsule-v1/adapters/a00-concept-teacher-v1/manifest.json",
            "sha256": "ab0ef46dfeb989336e0b6013fc56c9d9a4a7ea7b0f00b1a06a64d3ab961ce796",
            "verified_date": "2026-09-08"
          },
          {
            "bytes": 4351,
            "kind": "a00_concept_teacher_validation",
            "locator": "backend/course-capsule-v1/adapters/a00-concept-teacher-v1/validation.json",
            "sha256": "e8f6f61a80c4d31627188a00f182c38f39a34314337216cb93c7fcaf84f7495f",
            "verified_date": "2026-09-08"
          },
          {
            "bytes": 4050,
            "kind": "a00_concept_source_lock",
            "locator": "backend/course-capsule-v1/adapters/a00-concept-teacher-v1/input/source-lock.json",
            "sha256": "a6d2208263a1bc355e3d2d68f3d511cffaea02117e1a965c7fe3bdb19bb2c4d3",
            "verified_date": "2026-09-08"
          }
        ],
        "mapping_scope": "reversible_native_assessment_route_adapter",
        "public_package": {
          "bytes": 8634922,
          "central_record": "https://doi.org/10.5281/zenodo.22303203",
          "sha256": "43e122a96cf2878764ff53148c9d2d247ccb0b661b563ae6c5f04f4cd000098b",
          "url": "https://github.com/KokunoYumeto/program-matematika-indonesia/releases/download/v0.62.13/program-matematika-indonesia-backend-v2.3.1-a00-o001-assessment-adapter-v0.1.0.zip"
        },
        "status": "verified",
        "zenodo_preservation": "frozen_public_readback"
      },
      "common_exchange_layer_completion": "verified",
      "dimensions": {
        "accessibility": {
          "mathml": "available_unverified",
          "semantic_html": "available_unverified"
        },
        "curriculum": {
          "course_graph": "verified",
          "unit_identity": "verified"
        },
        "educator": {
          "materials": "verified",
          "unit_alignment": "verified"
        },
        "federation": {
          "component_rights": [
            {
              "id": "A00:primary",
              "status": "unknown"
            }
          ],
          "references": "verified"
        },
        "interoperability": {
          "adapter": "verified",
          "contract": "2.3.1"
        },
        "learner": {
          "central_tools": 2,
          "delivery": "available_unverified"
        },
        "reproducible_production": {
          "build": "unknown",
          "replay": "unknown"
        },
        "source_translation_ledger": {
          "corrections": "unknown",
          "ledger": "unknown"
        },
        "terminology": {
          "register": "unknown"
        }
      },
      "educator": {
        "resources": [
          {
            "bytes": 227908,
            "id": "A00:concept-educator",
            "resource_type": "educator-data",
            "scope": "35 konsep dan 76 prasyarat; 75 modul, 8.105 latihan/contoh, 5.240 solusi sumber dan 2.865 ketiadaan solusi. Pilihan metadata, bukan penilaian penguasaan atau pengaitan otomatis latihan ke konsep.",
            "sha256": "4855a8dea9342477fe8658fd3c17b61f01555d50a914b274a4bfa3c84fb3ad7c",
            "status": "verified",
            "title": "Pilihan konsep, modul dan latihan A00 untuk pengajar",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/a00/A00-pengajar.html"
          },
          {
            "bytes": 228932,
            "id": "A00:concept-educator-en",
            "resource_type": "educator-data",
            "scope": "35 konsep dan 76 prasyarat; 75 modul, 8.105 latihan/contoh, 5.240 solusi sumber dan 2.865 ketiadaan solusi. Pilihan metadata, bukan penilaian penguasaan atau pengaitan otomatis latihan ke konsep.",
            "sha256": "21d5cd9f432c216505a7bdaa14478d0a8b0e3a46f388420218a61049864dd371",
            "status": "verified",
            "title": "A00 concepts, modules and exercise selection for educators",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/a00/A00-pengajar-en.html"
          },
          {
            "bytes": 177528,
            "id": "A00:concept-map",
            "resource_type": "curriculum-map",
            "scope": "35 konsep dan 76 prasyarat; 75 modul, 8.105 latihan/contoh, 5.240 solusi sumber dan 2.865 ketiadaan solusi. Pilihan metadata, bukan penilaian penguasaan atau pengaitan otomatis latihan ke konsep.",
            "sha256": "bc6bce9871490cc24dc25f4611483724173b6758aa083aa0c9dd89f1c18e17b7",
            "status": "verified",
            "title": "Identitas konsep, prasyarat dan modul A00",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/a00/data/learning-map.json"
          },
          {
            "bytes": 1071205,
            "id": "A00:concept-offline",
            "resource_type": "offline-metadata-tools",
            "scope": "35 konsep dan 76 prasyarat; 75 modul, 8.105 latihan/contoh, 5.240 solusi sumber dan 2.865 ketiadaan solusi. Pilihan metadata, bukan penilaian penguasaan atau pengaitan otomatis latihan ke konsep.",
            "sha256": "27e0668fa65e612d3b7d0f00a0721953762129ef0ba17dea62beee71284358ef",
            "status": "verified",
            "title": "Peta dan pemilih A00 untuk penggunaan luring",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/a00/A00-concept-teacher-offline.zip"
          }
        ],
        "status": "verified",
        "unit_alignment": "verified"
      },
      "layers": {
        "curriculum": {
          "evidence_count": 0,
          "status": "verified"
        },
        "educator": {
          "evidence_count": 1,
          "status": "verified"
        },
        "federation": {
          "evidence_count": 0,
          "status": "verified"
        },
        "interoperability": {
          "evidence_count": 0,
          "status": "verified"
        },
        "learner": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "production": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "translation": {
          "evidence_count": 0,
          "status": "available_unverified"
        }
      },
      "learner": {
        "relationship": "directly_consumes_adapter_outputs",
        "tools": [
          {
            "href": "../id-ID/courses/A00/latihan/index.html",
            "label": "Latihan & diagnosis"
          },
          {
            "href": "../backend/a00/A00.html",
            "label": "A00 · Konsep, prasyarat dan pilihan belajar"
          }
        ],
        "unit_identity": "verified"
      },
      "native_capability_parity_completion": "not_yet_proven",
      "native_design_audit": {
        "limitations": [
          "No proven live consumer.",
          "Extremely heavy: 1.84 GB plus a 1.13-GB SQLite database."
        ],
        "pattern": "Locale-neutral and locale-variant curriculum graph with 519678 records, a curated 35-concept/76-prerequisite DAG, exact evidence mappings, and a SQLite query layer.",
        "recommended_reuse": [
          "pedagogical concept/prerequisite DAG",
          "exact evidence mapping",
          "locale-neutral/locale-variant separation",
          "query layer"
        ],
        "status": "historical_comparison_not_new_native_reaudit"
      },
      "native_family_id": "family-01-prealgebra",
      "native_family_name": "Prealgebra",
      "next_required_work": [
        "Buktikan ledger sumber/penerjemahan asli; status ini tidak menyatakan terjemahan belum selesai.",
        "Periksa register istilah dan kaitannya dengan teks serta alternatif istilah.",
        "Buktikan produksi asli yang dapat diulang; build adapter saja bukan bukti build buku.",
        "Selesaikan audit sembilan bidang kemampuan dan bukti penggunaannya; adapter yang lulus tidak otomatis berarti backend lengkap."
      ],
      "role_id": "A00",
      "title": "Praaljabar dan Fondasi Kuantitatif",
      "whole_course_backend_completion": "not_yet_proven"
    },
    {
      "common_adapter": {
        "contract": "2.3.1",
        "github_public_evidence": "new_anonymous_source_and_pages_readback",
        "local_evidence": [
          {
            "bytes": 17637,
            "kind": "central_adapter_manifest",
            "locator": "backend/v2.3/extensions/a10-elementary-algebra-v0.1.0/manifest.json",
            "sha256": "1c093469693cd25bafd33e5ddcf0d43db415de6632baa6c823769b7777a1f9d6",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 13518,
            "kind": "package_seal",
            "locator": "backend/v2.3/extensions/a10-elementary-algebra-v0.1.0/seal.json",
            "sha256": "9634b05ffaa0d4d68502cbea88fc2dd5da999bff38a6e2cf69c71f7f8a3ae63e",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 2082,
            "kind": "deterministic_generic_validation_receipt",
            "locator": "backend/v2.3/builds/a10-elementary-algebra-v0.1.0/GENERIC_VALIDATION_REPORT.json",
            "sha256": "cdee34977fbd9240394249a35cf1ad3fcd80979824d916f807da75aee52c84ba",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 5597,
            "kind": "a10_semantic_validation_receipt",
            "locator": "backend/v2.3/builds/a10-elementary-algebra-v0.1.0/VALIDATION_REPORT.json",
            "sha256": "73da48ae51fb43410668e833ebe540171371ad7d1d3c01df2072c90a5e72ba23",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 50883,
            "kind": "public_release_authority",
            "locator": "backend/v2.3/authorities/A10_ELEMENTARY_ALGEBRA_PUBLIC_RELEASE_AUTHORITY_20260906.json",
            "sha256": "5ae589b75842923a0ebc530d649498bec9bb962ae0d14ab1cb44a9aedb573678",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 6560,
            "kind": "a10_learning_capability_manifest",
            "locator": "backend/course-capsule-v1/adapters/a10-capability-v1/manifest.json",
            "sha256": "8081e87569470b5f1195dc5a91ffb8e79e8cc7f4d51db84ef81016036fda5feb",
            "verified_date": "2026-09-08"
          },
          {
            "bytes": 4332,
            "kind": "a10_independent_capability_validation",
            "locator": "backend/course-capsule-v1/adapters/a10-capability-v1/validation.json",
            "sha256": "a2bb4916ab18282c42c32c58cb4348f457b90c00b6276cfe47719a869c2ceb15",
            "verified_date": "2026-09-08"
          },
          {
            "bytes": 7323,
            "kind": "a10_native_record_ledger",
            "locator": "backend/course-capsule-v1/adapters/a10-capability-v1/data/native-record-ledger.json",
            "sha256": "d0e260417bbfa45a618dadae91f94585293faa021bf01cc069173c99a3db86b0",
            "verified_date": "2026-09-08"
          },
          {
            "bytes": 550,
            "kind": "a10_terminology_history",
            "locator": "backend/course-capsule-v1/adapters/a10-capability-v1/data/terminology-history-index.jsonl",
            "sha256": "545796ca85bfd9ed7559762e33fb7fe0ef60e79aee14cbb1d41f8c40a11b203b",
            "verified_date": "2026-09-08"
          }
        ],
        "mapping_scope": "existing_v231_capsule_plus_native_module_exercise_terminology_correction_rights_and_translation_metadata_consumer",
        "public_package": null,
        "public_readback": {
          "bytes": 148033,
          "path": "backend/course-capsule-v1/validation/COMBINED_BACKEND_READBACK_82b6bdbf5e30.json",
          "sha256": "ef5cd775837d69168cb63f2e4d8fa1b79541bce4998c17ca67e4570944fd0eda",
          "source_commit": "82b6bdbf5e306d39b351be1de58b7dc4d53314b1",
          "verified_source_and_pages_pairs": 28
        },
        "status": "verified",
        "zenodo_preservation": "not_established"
      },
      "common_exchange_layer_completion": "verified",
      "dimensions": {
        "accessibility": {
          "mathml": "available_unverified",
          "semantic_html": "available_unverified"
        },
        "curriculum": {
          "course_graph": "verified",
          "unit_identity": "verified"
        },
        "educator": {
          "materials": "verified",
          "unit_alignment": "verified"
        },
        "federation": {
          "component_rights": [
            {
              "id": "A10:primary",
              "status": "unknown"
            },
            {
              "id": "A10:elementary-algebra-2e-backend-complete",
              "status": "available_unverified"
            },
            {
              "id": "A10:elementary-algebra-2e-source-complete",
              "status": "available_unverified"
            }
          ],
          "references": "verified"
        },
        "interoperability": {
          "adapter": "verified",
          "contract": "2.3.1"
        },
        "learner": {
          "central_tools": 1,
          "delivery": "available_unverified"
        },
        "reproducible_production": {
          "build": "unknown",
          "replay": "unknown"
        },
        "source_translation_ledger": {
          "corrections": "in_progress",
          "ledger": "verified"
        },
        "terminology": {
          "register": "in_progress"
        }
      },
      "educator": {
        "resources": [
          {
            "bytes": 8651721,
            "id": "A10:capability-educator",
            "resource_type": "educator-data",
            "scope": "82 rute PDF membuka awal modul, bukan halaman latihan atau solusi tertentu. Tautan HTML terpisah membuka tepat 9.406 latihan, 9.406 soal dan 6.106 solusi dalam pembaca Bahasa Indonesia; 3.300 latihan tetap tanpa solusi sumber. 9.406 identitas latihan dipertahankan: 6.106 memiliki solusi sumber dan 3.300 tidak. Nomor urutan bukan nomor soal tercetak. 600 catatan istilah terkurasi berbeda dari 460 kemunculan sumber. Riwayat penggantian istilah tetap terlihat. Pemilih pengajar mengekspor metadata modul dan latihan, bukan buku, panduan guru resmi atau silabus baru. Hak per komponen dan 678 status koreksi dipertahankan; validasi identitas tidak menyatakan semua isu hak atau terminologi telah selesai. Antarmuka tersedia dalam Bahasa Indonesia dan Inggris. Buku Inggris adalah cermin sumber asli; tautan modul PDF tetap berbahasa Indonesia.",
            "sha256": "e81ad49631adedd62692ce23b19b20eef093041ea3b87322a158671f2dc2476c",
            "status": "verified",
            "title": "Pemilih modul dan latihan A10 untuk pengajar",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/a10/A10-pengajar.html"
          },
          {
            "bytes": 8650547,
            "id": "A10:capability-educator-en",
            "resource_type": "educator-data",
            "scope": "82 rute PDF membuka awal modul, bukan halaman latihan atau solusi tertentu. Tautan HTML terpisah membuka tepat 9.406 latihan, 9.406 soal dan 6.106 solusi dalam pembaca Bahasa Indonesia; 3.300 latihan tetap tanpa solusi sumber. 9.406 identitas latihan dipertahankan: 6.106 memiliki solusi sumber dan 3.300 tidak. Nomor urutan bukan nomor soal tercetak. 600 catatan istilah terkurasi berbeda dari 460 kemunculan sumber. Riwayat penggantian istilah tetap terlihat. Pemilih pengajar mengekspor metadata modul dan latihan, bukan buku, panduan guru resmi atau silabus baru. Hak per komponen dan 678 status koreksi dipertahankan; validasi identitas tidak menyatakan semua isu hak atau terminologi telah selesai. Antarmuka tersedia dalam Bahasa Indonesia dan Inggris. Buku Inggris adalah cermin sumber asli; tautan modul PDF tetap berbahasa Indonesia.",
            "sha256": "29e87c6257c2b01f988b0c3677a8e1429a5f209ed107f237f3bdd3e6339dafac",
            "status": "verified",
            "title": "A10 module and exercise selection for educators",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/a10/A10-pengajar-en.html"
          },
          {
            "bytes": 16546542,
            "id": "A10:capability-exercises",
            "resource_type": "exercise-bank",
            "scope": "82 rute PDF membuka awal modul, bukan halaman latihan atau solusi tertentu. Tautan HTML terpisah membuka tepat 9.406 latihan, 9.406 soal dan 6.106 solusi dalam pembaca Bahasa Indonesia; 3.300 latihan tetap tanpa solusi sumber. 9.406 identitas latihan dipertahankan: 6.106 memiliki solusi sumber dan 3.300 tidak. Nomor urutan bukan nomor soal tercetak. 600 catatan istilah terkurasi berbeda dari 460 kemunculan sumber. Riwayat penggantian istilah tetap terlihat. Pemilih pengajar mengekspor metadata modul dan latihan, bukan buku, panduan guru resmi atau silabus baru. Hak per komponen dan 678 status koreksi dipertahankan; validasi identitas tidak menyatakan semua isu hak atau terminologi telah selesai. Antarmuka tersedia dalam Bahasa Indonesia dan Inggris. Buku Inggris adalah cermin sumber asli; tautan modul PDF tetap berbahasa Indonesia.",
            "sha256": "a2204a716e65a227d80be5931f9d9024cd592d977663ed680f5641106caea7a5",
            "status": "verified",
            "title": "Identitas 9.406 latihan, soal dan cakupan solusi",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/a10/data/exercise-index.jsonl"
          },
          {
            "bytes": 1261429,
            "id": "A10:capability-terms",
            "resource_type": "terminology-register",
            "scope": "82 rute PDF membuka awal modul, bukan halaman latihan atau solusi tertentu. Tautan HTML terpisah membuka tepat 9.406 latihan, 9.406 soal dan 6.106 solusi dalam pembaca Bahasa Indonesia; 3.300 latihan tetap tanpa solusi sumber. 9.406 identitas latihan dipertahankan: 6.106 memiliki solusi sumber dan 3.300 tidak. Nomor urutan bukan nomor soal tercetak. 600 catatan istilah terkurasi berbeda dari 460 kemunculan sumber. Riwayat penggantian istilah tetap terlihat. Pemilih pengajar mengekspor metadata modul dan latihan, bukan buku, panduan guru resmi atau silabus baru. Hak per komponen dan 678 status koreksi dipertahankan; validasi identitas tidak menyatakan semua isu hak atau terminologi telah selesai. Antarmuka tersedia dalam Bahasa Indonesia dan Inggris. Buku Inggris adalah cermin sumber asli; tautan modul PDF tetap berbahasa Indonesia.",
            "sha256": "8687954bb8f4b9cf7b211848ec1061c46185ef7b8ccb7196e5423802d2232f44",
            "status": "verified",
            "title": "Istilah sumber, keputusan dan riwayat penggantian",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/a10/data/terms-index.jsonl"
          },
          {
            "bytes": 704731,
            "id": "A10:capability-corrections",
            "resource_type": "correction-ledger",
            "scope": "82 rute PDF membuka awal modul, bukan halaman latihan atau solusi tertentu. Tautan HTML terpisah membuka tepat 9.406 latihan, 9.406 soal dan 6.106 solusi dalam pembaca Bahasa Indonesia; 3.300 latihan tetap tanpa solusi sumber. 9.406 identitas latihan dipertahankan: 6.106 memiliki solusi sumber dan 3.300 tidak. Nomor urutan bukan nomor soal tercetak. 600 catatan istilah terkurasi berbeda dari 460 kemunculan sumber. Riwayat penggantian istilah tetap terlihat. Pemilih pengajar mengekspor metadata modul dan latihan, bukan buku, panduan guru resmi atau silabus baru. Hak per komponen dan 678 status koreksi dipertahankan; validasi identitas tidak menyatakan semua isu hak atau terminologi telah selesai. Antarmuka tersedia dalam Bahasa Indonesia dan Inggris. Buku Inggris adalah cermin sumber asli; tautan modul PDF tetap berbahasa Indonesia.",
            "sha256": "66b1e0276ce68e3973241deca296c8c28115c93376d3a19a6ab26eb9dffeefde",
            "status": "verified",
            "title": "678 catatan koreksi dengan sasaran native",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/a10/data/corrections-index.jsonl"
          },
          {
            "bytes": 2460319,
            "id": "A10:capability-rights",
            "resource_type": "rights-ledger",
            "scope": "82 rute PDF membuka awal modul, bukan halaman latihan atau solusi tertentu. Tautan HTML terpisah membuka tepat 9.406 latihan, 9.406 soal dan 6.106 solusi dalam pembaca Bahasa Indonesia; 3.300 latihan tetap tanpa solusi sumber. 9.406 identitas latihan dipertahankan: 6.106 memiliki solusi sumber dan 3.300 tidak. Nomor urutan bukan nomor soal tercetak. 600 catatan istilah terkurasi berbeda dari 460 kemunculan sumber. Riwayat penggantian istilah tetap terlihat. Pemilih pengajar mengekspor metadata modul dan latihan, bukan buku, panduan guru resmi atau silabus baru. Hak per komponen dan 678 status koreksi dipertahankan; validasi identitas tidak menyatakan semua isu hak atau terminologi telah selesai. Antarmuka tersedia dalam Bahasa Indonesia dan Inggris. Buku Inggris adalah cermin sumber asli; tautan modul PDF tetap berbahasa Indonesia.",
            "sha256": "d91019dd0a5e69773c86d70ec9be319ec58033eee312c2b9b9c5bfe44b4d4bdc",
            "status": "verified",
            "title": "4.025 rekaman hak per komponen",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/a10/data/rights-index.jsonl"
          }
        ],
        "status": "verified",
        "unit_alignment": "verified"
      },
      "layers": {
        "curriculum": {
          "evidence_count": 0,
          "status": "verified"
        },
        "educator": {
          "evidence_count": 1,
          "status": "verified"
        },
        "federation": {
          "evidence_count": 0,
          "status": "verified"
        },
        "interoperability": {
          "evidence_count": 0,
          "status": "verified"
        },
        "learner": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "production": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "translation": {
          "evidence_count": 0,
          "status": "available_unverified"
        }
      },
      "learner": {
        "relationship": "central_navigator_consumes_native_metadata_projection_pdf_runtime_adapter_consumption_not_claimed",
        "tools": [
          {
            "href": "../backend/a10/A10.html",
            "label": "A10 · Modul, latihan dan cakupan solusi"
          }
        ],
        "unit_identity": "verified"
      },
      "native_capability_parity_completion": "not_yet_proven",
      "native_design_audit": {
        "limitations": [
          "Primarily structural rather than a learner-route graph.",
          "Event history is large."
        ],
        "pattern": "Append-only 452387-record translation/control history with UUIDv5 identity, explicit missing-solution states, and lossless JSONL/CSV.",
        "recommended_reuse": [
          "append-only lifecycle ledger",
          "UUIDv5 identity",
          "explicit absence states",
          "lossless JSONL/CSV projection"
        ],
        "status": "historical_comparison_not_new_native_reaudit"
      },
      "native_family_id": "family-02-elementary-algebra",
      "native_family_name": "Elementary Algebra",
      "next_required_work": [
        "Periksa register istilah dan kaitannya dengan teks serta alternatif istilah.",
        "Buktikan produksi asli yang dapat diulang; build adapter saja bukan bukti build buku.",
        "Selesaikan audit sembilan bidang kemampuan dan bukti penggunaannya; adapter yang lulus tidak otomatis berarti backend lengkap."
      ],
      "role_id": "A10",
      "title": "Aljabar Dasar",
      "whole_course_backend_completion": "not_yet_proven"
    },
    {
      "common_adapter": {
        "contract": "course-learning-capability/1",
        "github_public_evidence": "new_anonymous_source_and_pages_readback",
        "local_evidence": [
          {
            "bytes": 11258,
            "kind": "central_adapter_manifest",
            "locator": "backend/course-capsule-v1/adapters/a20-capability-v1/manifest.json",
            "sha256": "abf5664190066a4808d14227c33616001fe8d6ccbf1e7200d41902054d1b0abc",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 11701,
            "kind": "deterministic_validation_receipt",
            "locator": "backend/course-capsule-v1/adapters/a20-capability-v1/validation.json",
            "sha256": "54d91e8afcb361881651dfd80a41d1e24c0141a10d3186722bce653fea21aea6",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 3659,
            "kind": "native_source_lock",
            "locator": "backend/course-capsule-v1/adapters/a20-capability-v1/input/source-lock.json",
            "sha256": "a56246976537c6a47ac672ee263ef61bc613215e6dc0cf2c5636ae1c5276a740",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 14755,
            "kind": "anonymous_native_public_readback",
            "locator": "backend/course-capsule-v1/adapters/a20-capability-v1/input/public-native-readback.json",
            "sha256": "6c655220dbbceab1dc6806dc43fe93c8d2e890750db26889938fafc9df9201de",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 10863,
            "kind": "verified_native_public_release",
            "locator": "backend/course-capsule-v1/adapters/a20-capability-v1/data/public-evidence.json",
            "sha256": "8de06fa38511e4bc449db4ece188eaee17a8ca20bcda44a616038d5b1ccfb4eb",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 5989,
            "kind": "native_record_ledger",
            "locator": "backend/course-capsule-v1/adapters/a20-capability-v1/data/native-record-ledger.json",
            "sha256": "502d3b25b292d66eed82682d4d01cb9ea4edc2a74406e41b6cbf9d82222f399a",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 78613,
            "kind": "module_identity_index",
            "locator": "backend/course-capsule-v1/adapters/a20-capability-v1/data/module-index.jsonl",
            "sha256": "9b232f31e706cbf051513b2a939c13b9bd0a6f7fba16733ed1185677b2ad445c",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 7691031,
            "kind": "exercise_solution_identity_index",
            "locator": "backend/course-capsule-v1/adapters/a20-capability-v1/data/exercise-index.jsonl",
            "sha256": "4f3da8db934d163f82a5f7c69fdf99f1ee3b50751d75871ed4419c3409f60653",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 93414,
            "kind": "concept_index",
            "locator": "backend/course-capsule-v1/adapters/a20-capability-v1/data/concept-index.jsonl",
            "sha256": "41c866b795b26430324c896baf3f4a5a37d0a399e465667696e8854415af52f6",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 11934538,
            "kind": "pedagogical_relation_index",
            "locator": "backend/course-capsule-v1/adapters/a20-capability-v1/data/pedagogical-relation-index.jsonl",
            "sha256": "ad30756a111c836110aba3c5e50ee003cb5a77766dd92ca8599078306a1f6eab",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 10411,
            "kind": "component_rights_index",
            "locator": "backend/course-capsule-v1/adapters/a20-capability-v1/data/rights-index.jsonl",
            "sha256": "f600e4c373cfad4e951dee8286f7da3d0f46db8a83a1d48d19062dfaa1b03289",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 874874,
            "kind": "correction_index",
            "locator": "backend/course-capsule-v1/adapters/a20-capability-v1/data/corrections-index.jsonl",
            "sha256": "4d2ca0f5ff0056adb9d3cf5903841b6c2da40ed36c1fa4394dacb8d20f8523c2",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 156256,
            "kind": "terminology_index",
            "locator": "backend/course-capsule-v1/adapters/a20-capability-v1/data/terms-index.jsonl",
            "sha256": "5473948c0925fb9f0348374e8e782bf5cf6e991fc96b09843f878dd5db1d51b4",
            "verified_date": "2026-09-06"
          }
        ],
        "mapping_scope": "zero_copy_projection_of_174535_native_records_83_modules_8209_exercise_problem_identities_5238_solution_identities_236_concepts_340_terms_1614_corrections_and_17_component_rights_with_2971_unsolved_exercises_preserved",
        "public_package": null,
        "status": "verified",
        "zenodo_preservation": "not_established"
      },
      "common_exchange_layer_completion": "verified",
      "dimensions": {
        "accessibility": {
          "mathml": "not_yet_produced",
          "semantic_html": "not_yet_produced"
        },
        "curriculum": {
          "course_graph": "verified",
          "unit_identity": "verified"
        },
        "educator": {
          "materials": "verified",
          "unit_alignment": "verified"
        },
        "federation": {
          "component_rights": [
            {
              "id": "A20:primary",
              "status": "unknown"
            }
          ],
          "references": "verified"
        },
        "interoperability": {
          "adapter": "verified",
          "contract": "course-learning-capability/1"
        },
        "learner": {
          "central_tools": 1,
          "delivery": "verified"
        },
        "reproducible_production": {
          "build": "verified",
          "replay": "verified"
        },
        "source_translation_ledger": {
          "corrections": "verified",
          "ledger": "verified"
        },
        "terminology": {
          "register": "verified"
        }
      },
      "educator": {
        "resources": [
          {
            "bytes": 42790,
            "id": "A20:educator-hub-v1",
            "resource_type": "teacher-guide",
            "scope": "Sebanyak 174.535 rekaman native, 83 modul, 8.209 identitas latihan/masalah, 5.238 identitas solusi, 236 konsep, 340 istilah, 1.614 koreksi, dan 17 rekaman hak komponen.",
            "sha256": "4277c4bcae5eaaff98b195f72988ced2e0f3b7ae34ac653674a19c9d0cd2bccb",
            "status": "verified",
            "title": "Pemilih bab, modul, latihan, dan cakupan solusi A20 untuk pengajar",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/a20/A20-pengajar.html"
          },
          {
            "bytes": 101990,
            "id": "A20:educator-map-v1",
            "resource_type": "educator-data",
            "scope": "Peta zero-copy atas modul, rute halaman, latihan, konsep, istilah, koreksi, hak, dan batas cakupan solusi.",
            "sha256": "c3b9e653482c4c22282a521a12ee62a8c88177e09f464adca20791027e66f34a",
            "status": "verified",
            "title": "Peta pengajar atas 83 modul native A20",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/a20/educator-map.json"
          },
          {
            "bytes": 78613,
            "id": "A20:module-index-v1",
            "resource_type": "identity-index",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan buku dan segmen tidak disalin.",
            "sha256": "9b232f31e706cbf051513b2a939c13b9bd0a6f7fba16733ed1185677b2ad445c",
            "status": "verified",
            "title": "Indeks 83 modul A20",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/a20/data/module-index.jsonl"
          },
          {
            "bytes": 7691031,
            "id": "A20:exercise-index-v1",
            "resource_type": "exercise-bank",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan buku dan segmen tidak disalin.",
            "sha256": "4f3da8db934d163f82a5f7c69fdf99f1ee3b50751d75871ed4419c3409f60653",
            "status": "verified",
            "title": "Indeks 8.209 latihan/masalah dan 5.238 solusi A20",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/a20/data/exercise-index.jsonl"
          },
          {
            "bytes": 93414,
            "id": "A20:concept-index-v1",
            "resource_type": "educator-data",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan buku dan segmen tidak disalin.",
            "sha256": "41c866b795b26430324c896baf3f4a5a37d0a399e465667696e8854415af52f6",
            "status": "verified",
            "title": "Indeks 236 konsep A20",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/a20/data/concept-index.jsonl"
          },
          {
            "bytes": 11934538,
            "id": "A20:relation-index-v1",
            "resource_type": "educator-data",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan buku dan segmen tidak disalin.",
            "sha256": "ad30756a111c836110aba3c5e50ee003cb5a77766dd92ca8599078306a1f6eab",
            "status": "verified",
            "title": "Indeks 32.393 relasi pedagogis A20",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/a20/data/pedagogical-relation-index.jsonl"
          },
          {
            "bytes": 156256,
            "id": "A20:terms-index-v1",
            "resource_type": "terminology-register",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan buku dan segmen tidak disalin.",
            "sha256": "5473948c0925fb9f0348374e8e782bf5cf6e991fc96b09843f878dd5db1d51b4",
            "status": "verified",
            "title": "Indeks 340 istilah A20",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/a20/data/terms-index.jsonl"
          },
          {
            "bytes": 10411,
            "id": "A20:rights-index-v1",
            "resource_type": "rights-ledger",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan buku dan segmen tidak disalin.",
            "sha256": "f600e4c373cfad4e951dee8286f7da3d0f46db8a83a1d48d19062dfaa1b03289",
            "status": "verified",
            "title": "Indeks 17 rekaman hak A20",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/a20/data/rights-index.jsonl"
          },
          {
            "bytes": 874874,
            "id": "A20:corrections-index-v1",
            "resource_type": "correction-ledger",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan buku dan segmen tidak disalin.",
            "sha256": "4d2ca0f5ff0056adb9d3cf5903841b6c2da40ed36c1fa4394dacb8d20f8523c2",
            "status": "verified",
            "title": "Indeks 1.614 koreksi A20",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/a20/data/corrections-index.jsonl"
          },
          {
            "bytes": 5989,
            "id": "A20:native-record-ledger-v1",
            "resource_type": "identity-index",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan buku dan segmen tidak disalin.",
            "sha256": "502d3b25b292d66eed82682d4d01cb9ea4edc2a74406e41b6cbf9d82222f399a",
            "status": "verified",
            "title": "Ledger 174.535 identitas native A20",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/a20/data/native-record-ledger.json"
          }
        ],
        "status": "verified",
        "unit_alignment": "verified"
      },
      "layers": {
        "curriculum": {
          "evidence_count": 0,
          "status": "verified"
        },
        "educator": {
          "evidence_count": 1,
          "status": "verified"
        },
        "federation": {
          "evidence_count": 0,
          "status": "verified"
        },
        "interoperability": {
          "evidence_count": 0,
          "status": "verified"
        },
        "learner": {
          "evidence_count": 0,
          "status": "verified"
        },
        "production": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "translation": {
          "evidence_count": 0,
          "status": "available_unverified"
        }
      },
      "learner": {
        "relationship": "directly_consumes_adapter_outputs",
        "tools": [
          {
            "href": "../backend/a20/A20.html",
            "label": "A20 · Aljabar Menengah"
          }
        ],
        "unit_identity": "verified"
      },
      "native_capability_parity_completion": "verified",
      "native_design_audit": {
        "limitations": [
          "Global export trails live modules.",
          "Three overlay dialects fragment consumption."
        ],
        "pattern": "Strict module projections with fixed-point selection, isolated two-build candidates, and fail-closed cursor-last admission/recovery.",
        "recommended_reuse": [
          "fixed-point selection",
          "isolated candidate builds",
          "cursor-last admission",
          "fail-closed recovery"
        ],
        "status": "historical_comparison_not_new_native_reaudit"
      },
      "native_family_id": "family-03-intermediate-algebra",
      "native_family_name": "Intermediate Algebra",
      "next_required_work": [
        "Selesaikan audit sembilan bidang kemampuan dan bukti penggunaannya; adapter yang lulus tidak otomatis berarti backend lengkap."
      ],
      "role_id": "A20",
      "title": "Aljabar Menengah",
      "whole_course_backend_completion": "not_yet_proven"
    },
    {
      "common_adapter": {
        "admission": {
          "package": {
            "bytes": 1666989,
            "package_id": "urn:uuid:576b39ee-8641-5fc8-b48b-6fa253f7b6a6",
            "path": "backend/course-capsule-v1/adapters/a30-v231",
            "sha256": "3dbc707e892ed63c1f59fdd22a96b1ba96cbb511717f2b84da0c5f44ad3f3345"
          },
          "public_embedding": {
            "github_release": "https://github.com/KokunoYumeto/program-matematika-indonesia/releases/tag/v0.63.24",
            "receipt": {
              "bytes": 47719,
              "path": "publication-history/PUBLICATION_RECEIPT_v0.63.24.json",
              "sha256": "e5246f3d22fc8659da90a095f930f80fa55826e8c3828e75bc61b34b9576fc8e"
            },
            "status": "published_open_and_anonymously_verified",
            "version": "0.63.24",
            "zenodo": "https://doi.org/10.5281/zenodo.22646380"
          },
          "receipt": {
            "bytes": 19312,
            "path": "backend/course-capsule-v1/validation/20260907/GAP_ADMISSION.json",
            "sha256": "5e1168f28a6a319a3320d6a688c824d17d3323eca151547a1b26a2032e1ac8e9"
          },
          "spec": {
            "bytes": 52164,
            "path": "backend/v2.3/specs/20260907/A30.json",
            "sha256": "35e42ed66977c205d15197383f57a8ec4addd16771289bafccb23c1cad3b2471"
          },
          "status": "pass",
          "twin": {
            "bytes": 2083,
            "package_manifest_sha256": "cf5fb3c60baa92dc185a8d082ef1480e9c18e25738317a18dc007c67e2ade129",
            "path": "backend/course-capsule-v1/validation/20260907/A30_TWIN.json",
            "payload_sha256": "3dbc707e892ed63c1f59fdd22a96b1ba96cbb511717f2b84da0c5f44ad3f3345",
            "sha256": "f1335921ab0ef788e3fc79eee5b3dba790ec45086fb6f3dcd6e16674d3c92e90",
            "status": "pass"
          }
        },
        "contract": "course-learning-capability/1",
        "github_public_evidence": "new_anonymous_source_and_pages_readback",
        "local_evidence": [
          {
            "bytes": 13609,
            "kind": "central_adapter_manifest",
            "locator": "backend/course-capsule-v1/adapters/a30-capability-v1/manifest.json",
            "sha256": "739c3d0a9edf4735763ad3ab9f623183be62885663d30dff2d914b0dcaf82d83",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 17692,
            "kind": "deterministic_validation_receipt",
            "locator": "backend/course-capsule-v1/adapters/a30-capability-v1/validation.json",
            "sha256": "16e8989225f2abce6c08643c3874fc234dd225ca45dc3659e83588a0f3b8cfaf",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 2927,
            "kind": "native_source_lock",
            "locator": "backend/course-capsule-v1/adapters/a30-capability-v1/input/source-lock.json",
            "sha256": "5045e7dd2a64e8880ff6b2bd6f2946145ee98b9c68293a65e9072ee3ee543589",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 5835,
            "kind": "anonymous_native_public_readback",
            "locator": "backend/course-capsule-v1/adapters/a30-capability-v1/input/public-native-readback.json",
            "sha256": "3e79800d638b3c9d29bb6797734895ec3c95d2b293096bd46c1057d46649c78c",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 5494,
            "kind": "verified_native_public_release",
            "locator": "backend/course-capsule-v1/adapters/a30-capability-v1/data/public-evidence.json",
            "sha256": "4794ce6f7459cd05dce23f9f433dfd2979adf244d376057af66587c98bf0cbfa",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 6347,
            "kind": "native_record_ledger",
            "locator": "backend/course-capsule-v1/adapters/a30-capability-v1/data/native-record-ledger.json",
            "sha256": "eeb57ee363395eb34e8809bc218cf4c223eed6c9ca1441c00724f583deccc85e",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 5694,
            "kind": "chapter_identity_index",
            "locator": "backend/course-capsule-v1/adapters/a30-capability-v1/data/chapter-index.jsonl",
            "sha256": "a89db50b5ef3d4945f28d5a362d54466e57554d4d8a29c7ddb63c4ca74809c4c",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 80705,
            "kind": "module_identity_index",
            "locator": "backend/course-capsule-v1/adapters/a30-capability-v1/data/module-index.jsonl",
            "sha256": "71044f7cf857270d6e1643ed013c05bea62f4148d58031ee5534c9a62e40a7da",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 6246420,
            "kind": "exercise_solution_identity_index",
            "locator": "backend/course-capsule-v1/adapters/a30-capability-v1/data/exercise-index.jsonl",
            "sha256": "fa45fade4c8cc7a7a43c305d129a587d342548452279a0ffac83f6a82a34c4c7",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 254878,
            "kind": "concept_index",
            "locator": "backend/course-capsule-v1/adapters/a30-capability-v1/data/concept-index.jsonl",
            "sha256": "24f06ac6b827c5be665759332197b76e7547fbb316d5d7546ab5dd2812fde44e",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 17347850,
            "kind": "pedagogical_relation_index",
            "locator": "backend/course-capsule-v1/adapters/a30-capability-v1/data/pedagogical-relation-index.jsonl",
            "sha256": "1cc83496944940a31cdff3d128f1fabd84eb5a20226910d24711983165306a27",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 1506328,
            "kind": "component_rights_index",
            "locator": "backend/course-capsule-v1/adapters/a30-capability-v1/data/rights-index.jsonl",
            "sha256": "eef9d0e550054d37f082229721060e64613566789a1fa1e44ab3b919bd24dcdf",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 564920,
            "kind": "correction_index",
            "locator": "backend/course-capsule-v1/adapters/a30-capability-v1/data/corrections-index.jsonl",
            "sha256": "db846beed23da6e22bb748bffdd941ce87b055b2db0d17dd5eb3a1bcda46f483",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 167159,
            "kind": "terminology_index",
            "locator": "backend/course-capsule-v1/adapters/a30-capability-v1/data/terms-index.jsonl",
            "sha256": "2276eb6a547f8b533d9db46ddb2432aaa3ba973b1eac8f797f5a4d81f02f1803",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 2429,
            "kind": "segment_state_summary",
            "locator": "backend/course-capsule-v1/adapters/a30-capability-v1/data/segment-state-summary.json",
            "sha256": "56f47ebad34fc6c4ba066bfb54d79f1f81e4efe218c324d660f8c42a4d83e8c4",
            "verified_date": "2026-09-07"
          }
        ],
        "mapping_scope": "zero_copy_projection_of_220680_native_records_87_modules_7250_exercise_problem_identities_4183_solution_identities_497_concepts_513_terms_703_corrections_1875_component_rights_and_segment_state_asymmetry_with_3067_unsupported_solution_cases_preserved",
        "public_package": null,
        "status": "verified",
        "zenodo_preservation": "not_established"
      },
      "common_exchange_layer_completion": "verified",
      "dimensions": {
        "accessibility": {
          "mathml": "not_yet_produced",
          "semantic_html": "not_yet_produced"
        },
        "curriculum": {
          "course_graph": "verified",
          "unit_identity": "verified"
        },
        "educator": {
          "materials": "verified",
          "unit_alignment": "verified"
        },
        "federation": {
          "component_rights": [
            {
              "id": "A30:primary",
              "status": "unknown"
            },
            {
              "id": "A30:a30-current-native-backend",
              "status": "unknown"
            },
            {
              "id": "A30:a30-current-source",
              "status": "unknown"
            }
          ],
          "references": "verified"
        },
        "interoperability": {
          "adapter": "verified",
          "contract": "course-learning-capability/1"
        },
        "learner": {
          "central_tools": 1,
          "delivery": "verified"
        },
        "reproducible_production": {
          "build": "verified",
          "replay": "verified"
        },
        "source_translation_ledger": {
          "corrections": "verified",
          "ledger": "verified"
        },
        "terminology": {
          "register": "verified"
        }
      },
      "educator": {
        "resources": [
          {
            "bytes": 44620,
            "id": "A30:educator-hub-v1",
            "resource_type": "teacher-guide",
            "scope": "Sebanyak 220.680 rekaman native, 87 modul, 7.250 identitas latihan/masalah, 4.183 identitas solusi, 497 konsep, 513 istilah, 703 koreksi, dan 1.875 rekaman hak komponen.",
            "sha256": "058efa49c7aa19158d737fa05a4001f1c576334c5770f83efb6507353546d20f",
            "status": "verified",
            "title": "Pemilih bab, modul, latihan, dan cakupan solusi A30 untuk pengajar",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/a30/A30-pengajar.html"
          },
          {
            "bytes": 105513,
            "id": "A30:educator-map-v1",
            "resource_type": "educator-data",
            "scope": "Peta zero-copy atas modul, rute halaman, latihan, konsep, istilah, koreksi, hak, status segmen, dan batas cakupan solusi.",
            "sha256": "6ab6cdda6f672bdce0d1a544730eb6b9e1ee0a1ead556f3f2f689bebe21b9f43",
            "status": "verified",
            "title": "Peta pengajar atas 87 modul native A30",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/a30/educator-map.json"
          },
          {
            "bytes": 5694,
            "id": "A30:chapter-index-v1",
            "resource_type": "identity-index",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan buku serta teks sumber/target tidak disalin.",
            "sha256": "a89db50b5ef3d4945f28d5a362d54466e57554d4d8a29c7ddb63c4ca74809c4c",
            "status": "verified",
            "title": "Indeks 12 bab A30",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/a30/data/chapter-index.jsonl"
          },
          {
            "bytes": 80705,
            "id": "A30:module-index-v1",
            "resource_type": "identity-index",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan buku serta teks sumber/target tidak disalin.",
            "sha256": "71044f7cf857270d6e1643ed013c05bea62f4148d58031ee5534c9a62e40a7da",
            "status": "verified",
            "title": "Indeks 87 modul A30",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/a30/data/module-index.jsonl"
          },
          {
            "bytes": 6246420,
            "id": "A30:exercise-index-v1",
            "resource_type": "exercise-bank",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan buku serta teks sumber/target tidak disalin.",
            "sha256": "fa45fade4c8cc7a7a43c305d129a587d342548452279a0ffac83f6a82a34c4c7",
            "status": "verified",
            "title": "Indeks 7.250 latihan/masalah dan 4.183 solusi A30",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/a30/data/exercise-index.jsonl"
          },
          {
            "bytes": 254878,
            "id": "A30:concept-index-v1",
            "resource_type": "educator-data",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan buku serta teks sumber/target tidak disalin.",
            "sha256": "24f06ac6b827c5be665759332197b76e7547fbb316d5d7546ab5dd2812fde44e",
            "status": "verified",
            "title": "Indeks 497 konsep A30",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/a30/data/concept-index.jsonl"
          },
          {
            "bytes": 17347850,
            "id": "A30:relation-index-v1",
            "resource_type": "educator-data",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan buku serta teks sumber/target tidak disalin.",
            "sha256": "1cc83496944940a31cdff3d128f1fabd84eb5a20226910d24711983165306a27",
            "status": "verified",
            "title": "Indeks 37.974 relasi pedagogis/native A30",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/a30/data/pedagogical-relation-index.jsonl"
          },
          {
            "bytes": 167159,
            "id": "A30:terms-index-v1",
            "resource_type": "terminology-register",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan buku serta teks sumber/target tidak disalin.",
            "sha256": "2276eb6a547f8b533d9db46ddb2432aaa3ba973b1eac8f797f5a4d81f02f1803",
            "status": "verified",
            "title": "Indeks status 513 istilah A30",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/a30/data/terms-index.jsonl"
          },
          {
            "bytes": 1506328,
            "id": "A30:rights-index-v1",
            "resource_type": "rights-ledger",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan buku serta teks sumber/target tidak disalin.",
            "sha256": "eef9d0e550054d37f082229721060e64613566789a1fa1e44ab3b919bd24dcdf",
            "status": "verified",
            "title": "Indeks 1.875 rekaman hak komponen A30",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/a30/data/rights-index.jsonl"
          },
          {
            "bytes": 564920,
            "id": "A30:corrections-index-v1",
            "resource_type": "correction-ledger",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan buku serta teks sumber/target tidak disalin.",
            "sha256": "db846beed23da6e22bb748bffdd941ce87b055b2db0d17dd5eb3a1bcda46f483",
            "status": "verified",
            "title": "Indeks status 703 koreksi A30",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/a30/data/corrections-index.jsonl"
          },
          {
            "bytes": 2429,
            "id": "A30:segment-state-summary-v1",
            "resource_type": "translation-ledger",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan buku serta teks sumber/target tidak disalin.",
            "sha256": "56f47ebad34fc6c4ba066bfb54d79f1f81e4efe218c324d660f8c42a4d83e8c4",
            "status": "verified",
            "title": "Ringkasan status 149.955 segmen A30",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/a30/data/segment-state-summary.json"
          },
          {
            "bytes": 6347,
            "id": "A30:native-record-ledger-v1",
            "resource_type": "identity-index",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan buku serta teks sumber/target tidak disalin.",
            "sha256": "eeb57ee363395eb34e8809bc218cf4c223eed6c9ca1441c00724f583deccc85e",
            "status": "verified",
            "title": "Ledger 220.680 identitas native A30",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/a30/data/native-record-ledger.json"
          }
        ],
        "status": "verified",
        "unit_alignment": "verified"
      },
      "layers": {
        "curriculum": {
          "evidence_count": 0,
          "status": "verified"
        },
        "educator": {
          "evidence_count": 1,
          "status": "verified"
        },
        "federation": {
          "evidence_count": 0,
          "status": "verified"
        },
        "interoperability": {
          "evidence_count": 0,
          "status": "verified"
        },
        "learner": {
          "evidence_count": 0,
          "status": "verified"
        },
        "production": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "translation": {
          "evidence_count": 0,
          "status": "available_unverified"
        }
      },
      "learner": {
        "relationship": "directly_consumes_adapter_outputs",
        "tools": [
          {
            "href": "../backend/a30/A30.html",
            "label": "A30 · Prakalkulus dan Trigonometri"
          }
        ],
        "unit_identity": "verified"
      },
      "native_capability_parity_completion": "verified",
      "native_design_audit": {
        "limitations": [
          "Generic payload bags weaken typing.",
          "Released aggregate trails canonical work."
        ],
        "pattern": "Consumer-specific JSON, JSONL, and CSV views sharing bilingual segment identity.",
        "recommended_reuse": [
          "shared bilingual segment identity",
          "consumer-specific generated views"
        ],
        "status": "historical_comparison_not_new_native_reaudit"
      },
      "native_family_id": "family-04-precalculus",
      "native_family_name": "Precalculus",
      "next_required_work": [
        "Paket adapter v2.3.1 telah dipertahankan dan dibaca kembali secara anonim dalam rilis pusat v0.63.24.",
        "Selesaikan audit sembilan bidang kemampuan dan bukti penggunaannya; adapter yang lulus tidak otomatis berarti backend lengkap."
      ],
      "role_id": "A30",
      "title": "Prakalkulus dan Trigonometri",
      "whole_course_backend_completion": "not_yet_proven"
    },
    {
      "common_adapter": {
        "contract": "2.3.1",
        "github_public_evidence": "frozen_public_readback",
        "local_evidence": [
          {
            "bytes": 19931,
            "kind": "central_adapter_manifest",
            "locator": "release-asset:releases/v0.62.16/program-matematika-indonesia-backend-v2.3.1-b10-adapter-v0.2.0.zip#program-matematika-indonesia-backend-v2.3.1-b10-adapter-v0.2.0/manifest.json",
            "sha256": "64c83ee017972758e653d3c7a3f97092fbf0211332aa0ea861766b30980eae4a",
            "verified_date": "2026-08-30"
          },
          {
            "bytes": 15981,
            "kind": "b10_selection_manifest",
            "locator": "backend/course-capsule-v1/adapters/b10-selection-v1/manifest.json",
            "sha256": "6520141ce71c0417a6460f6ce21d417b86940acc7fc2c56576f0a2467402c4de",
            "verified_date": "2026-09-08"
          },
          {
            "bytes": 2714,
            "kind": "b10_selection_validation",
            "locator": "backend/course-capsule-v1/adapters/b10-selection-v1/validation.json",
            "sha256": "fdf19f61bc7ad890c23291ccb08f56fb0a48b07e0d70a9421e216a4f61dbf3b2",
            "verified_date": "2026-09-08"
          }
        ],
        "mapping_scope": "reversible_native_adapter",
        "public_package": {
          "bytes": 656874,
          "central_record": "https://doi.org/10.5281/zenodo.22303203",
          "sha256": "c9a2f8a0307ec6fa6c5f3b03168760f0d8ed5a67e069b5afb592f905e12096b6",
          "url": "https://github.com/KokunoYumeto/program-matematika-indonesia/releases/download/v0.62.9/program-matematika-indonesia-backend-v2.3.1-b10-adapter-v0.2.0.zip"
        },
        "status": "verified",
        "zenodo_preservation": "frozen_public_readback"
      },
      "common_exchange_layer_completion": "verified",
      "dimensions": {
        "accessibility": {
          "mathml": "available_unverified",
          "semantic_html": "available_unverified"
        },
        "curriculum": {
          "course_graph": "verified",
          "unit_identity": "verified"
        },
        "educator": {
          "materials": "verified",
          "unit_alignment": "verified"
        },
        "federation": {
          "component_rights": [
            {
              "id": "B10:primary",
              "status": "unknown"
            },
            {
              "id": "B10:dmoi4-native-backend-v1",
              "status": "unknown"
            }
          ],
          "references": "verified"
        },
        "interoperability": {
          "adapter": "verified",
          "contract": "2.3.1"
        },
        "learner": {
          "central_tools": 1,
          "delivery": "available_unverified"
        },
        "reproducible_production": {
          "build": "unknown",
          "replay": "unknown"
        },
        "source_translation_ledger": {
          "corrections": "unknown",
          "ledger": "unknown"
        },
        "terminology": {
          "register": "unknown"
        }
      },
      "educator": {
        "resources": [
          {
            "bytes": 20516,
            "id": "B10:selection-teacher",
            "resource_type": "educator-data",
            "scope": "36 bagian, 768 latihan; petunjuk, jawaban dan 337 solusi latihan sumber. Bacaan Inggris; pilihan bagian/latihan dan rencana HTML/JSON. Bukan penilaian penguasaan.",
            "sha256": "e649c6718812537bdd3e91d5c0d8fccc6fc65fd2a829085981ce04a7014f7678",
            "status": "verified",
            "title": "Pilihan latihan B10 untuk pengajar",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b10/B10-pengajar.html"
          },
          {
            "bytes": 20528,
            "id": "B10:selection-teacher-en",
            "resource_type": "educator-data",
            "scope": "36 bagian, 768 latihan; petunjuk, jawaban dan 337 solusi latihan sumber. Bacaan Inggris; pilihan bagian/latihan dan rencana HTML/JSON. Bukan penilaian penguasaan.",
            "sha256": "778105c89769b04a5423340f4fbb64f993f6d5f4cb1e89af1f62d63dd4a11801",
            "status": "verified",
            "title": "B10 exercise selection for educators",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b10/B10-pengajar-en.html"
          },
          {
            "bytes": 2437576,
            "id": "B10:selection-model",
            "resource_type": "curriculum-map",
            "scope": "36 bagian, 768 latihan; petunjuk, jawaban dan 337 solusi latihan sumber. Bacaan Inggris; pilihan bagian/latihan dan rencana HTML/JSON. Bukan penilaian penguasaan.",
            "sha256": "7dc081406718756d22a18288b8082ecc65f563f842f47bbfdd8204f2e9955e60",
            "status": "verified",
            "title": "Identitas bagian dan latihan B10",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b10/data/model.json"
          },
          {
            "bytes": 355872,
            "id": "B10:selection-offline",
            "resource_type": "offline-metadata-tools",
            "scope": "36 bagian, 768 latihan; petunjuk, jawaban dan 337 solusi latihan sumber. Bacaan Inggris; pilihan bagian/latihan dan rencana HTML/JSON. Bukan penilaian penguasaan.",
            "sha256": "58ebf0035c125ca096002d4dbd993e335a57fa1cec6e8d6d3cbed988ee96e680",
            "status": "verified",
            "title": "Pemilih B10 luring",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b10/B10-selection-offline.zip"
          }
        ],
        "status": "verified",
        "unit_alignment": "verified"
      },
      "layers": {
        "curriculum": {
          "evidence_count": 0,
          "status": "verified"
        },
        "educator": {
          "evidence_count": 1,
          "status": "verified"
        },
        "federation": {
          "evidence_count": 0,
          "status": "verified"
        },
        "interoperability": {
          "evidence_count": 0,
          "status": "verified"
        },
        "learner": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "production": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "translation": {
          "evidence_count": 0,
          "status": "available_unverified"
        }
      },
      "learner": {
        "relationship": "course_link_only_no_adapter_consumption_claim",
        "tools": [
          {
            "href": "../backend/b10/B10.html",
            "label": "B10 · Pilihan latihan dan rencana belajar"
          }
        ],
        "unit_identity": "verified"
      },
      "native_capability_parity_completion": "not_yet_proven",
      "native_design_audit": {
        "limitations": [
          "Normal prose granularity is coarse.",
          "Duplication is high.",
          "No runtime consumer exists."
        ],
        "pattern": "Exercise-closure packet over a strict graph with statement, hint, answer, and solution subtrees, rights, and deterministic roundtrip.",
        "recommended_reuse": [
          "exercise closure",
          "statement/hint/answer/solution structure",
          "rights binding",
          "roundtrip validation"
        ],
        "status": "historical_comparison_not_new_native_reaudit"
      },
      "native_family_id": "family-05-discrete-mathematics",
      "native_family_name": "Discrete Mathematics",
      "next_required_work": [
        "Buktikan ledger sumber/penerjemahan asli; status ini tidak menyatakan terjemahan belum selesai.",
        "Periksa register istilah dan kaitannya dengan teks serta alternatif istilah.",
        "Buktikan produksi asli yang dapat diulang; build adapter saja bukan bukti build buku.",
        "Selesaikan audit sembilan bidang kemampuan dan bukti penggunaannya; adapter yang lulus tidak otomatis berarti backend lengkap."
      ],
      "role_id": "B10",
      "title": "Pembuktian, Logika, dan Struktur Diskrit",
      "whole_course_backend_completion": "not_yet_proven"
    },
    {
      "common_adapter": {
        "contract": "2.3.1",
        "github_public_evidence": "frozen_public_readback",
        "local_evidence": [
          {
            "bytes": 31266,
            "kind": "central_adapter_manifest",
            "locator": "release-asset:releases/v0.62.17/CLP_CALCULUS_FAMILY_V231_ADAPTER_0.1.0.zip#manifest.json",
            "sha256": "54b600004e6ce4d903f6890a0a9a5c7c0d03120da896ea57d3c85edf674f00e5",
            "verified_date": "2026-09-01"
          },
          {
            "bytes": 11481,
            "kind": "learner_route_validation",
            "locator": "backend/course-capsule-v1/authority/clp-family-v231/learner-reader-actions-v1.json",
            "sha256": "c5c6294136a857b148e5e80d362dfa190e7374435f96d655db2556a2b83006ce",
            "verified_date": "2026-09-04"
          },
          {
            "bytes": 5077,
            "kind": "deterministic_validation_receipt",
            "locator": "backend/course-capsule-v1/authority/clp-family-v231/evidence/CLP_DETERMINISTIC_AB_VALIDATION_20260901.json",
            "sha256": "f52416f69079ce277e2a76db1fc94d3cbd6455b7288773f2f3df77348e88812e",
            "verified_date": "2026-09-01"
          }
        ],
        "mapping_scope": "reversible_native_course_route_adapter",
        "public_package": {
          "bytes": 545418367,
          "central_record": "https://doi.org/10.5281/zenodo.22303203",
          "sha256": "f2e2714c5f1349092e8cb574d6495e604086c9df3bc4bdf5bbe5974b5f61360d",
          "url": "https://github.com/KokunoYumeto/program-matematika-indonesia/releases/download/v0.62.17/CLP_CALCULUS_FAMILY_V231_ADAPTER_0.1.0.zip"
        },
        "status": "verified",
        "zenodo_preservation": "frozen_public_readback"
      },
      "common_exchange_layer_completion": "verified",
      "dimensions": {
        "accessibility": {
          "mathml": "not_yet_produced",
          "semantic_html": "not_yet_produced"
        },
        "curriculum": {
          "course_graph": "verified",
          "unit_identity": "unknown"
        },
        "educator": {
          "materials": "available_unverified",
          "unit_alignment": "unknown"
        },
        "federation": {
          "component_rights": [
            {
              "id": "B20:primary",
              "status": "unknown"
            },
            {
              "id": "B20:clp1-modular-backend",
              "status": "available_unverified"
            },
            {
              "id": "B20:clp1-soal-dan-penyelesaian",
              "status": "available_unverified"
            },
            {
              "id": "B20:clp-native-editable-source",
              "status": "available_unverified"
            },
            {
              "id": "B20:clp-native-evidence-and-provenance",
              "status": "available_unverified"
            }
          ],
          "references": "verified"
        },
        "interoperability": {
          "adapter": "verified",
          "contract": "2.3.1"
        },
        "learner": {
          "central_tools": 1,
          "delivery": "verified"
        },
        "reproducible_production": {
          "build": "unknown",
          "replay": "unknown"
        },
        "source_translation_ledger": {
          "corrections": "unknown",
          "ledger": "unknown"
        },
        "terminology": {
          "register": "unknown"
        }
      },
      "educator": {
        "resources": [
          {
            "bytes": 3263082,
            "id": "clp1-soal-dan-penyelesaian",
            "license": "CC BY-NC-SA 4.0",
            "pages": 646,
            "resource_type": "problem-book",
            "scope": "Buku soal, petunjuk, jawaban, dan penyelesaian CLP1 lengkap, 646 halaman.",
            "sha256": "911b2a0e3a9de6eccb9dd93042fa697e8f02e4bb1ecdacec86ade68744245021",
            "status": "verified",
            "title": "Soal dan penyelesaian CLP1 lengkap",
            "url": "https://zenodo.org/records/22183943/files/01_CLP1_KALKULUS_DIFERENSIAL_BAHASA_INDONESIA_2026.08.14.1_SOAL_DAN_PENYELESAIAN.pdf?download=1"
          }
        ],
        "status": "available_unverified",
        "unit_alignment": "unknown"
      },
      "layers": {
        "curriculum": {
          "evidence_count": 0,
          "status": "verified"
        },
        "educator": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "federation": {
          "evidence_count": 0,
          "status": "verified"
        },
        "interoperability": {
          "evidence_count": 0,
          "status": "verified"
        },
        "learner": {
          "evidence_count": 0,
          "status": "verified"
        },
        "production": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "translation": {
          "evidence_count": 0,
          "status": "available_unverified"
        }
      },
      "learner": {
        "relationship": "central_view_consumes_verified_route_projection_pdf_runtime_adapter_consumption_not_claimed",
        "tools": [
          {
            "href": "../backend/clp/B20.html",
            "label": "B20 · Rute baca keluarga CLP"
          }
        ],
        "unit_identity": "unknown"
      },
      "native_capability_parity_completion": "not_yet_proven",
      "native_design_audit": {
        "limitations": [
          "Prosa tidak dipusatkan; empat backend owner-native tetap menjadi otoritas.",
          "Belum ada HTML course-native, EPUB, atau rute unit/fragmen yang dibuktikan."
        ],
        "pattern": "Source-bound incremental registry using native IDs, direct-text hashes, declared topology deltas, marker-bound LaTeX variants, and fail-closed drift checks.",
        "recommended_reuse": [
          "native-ID registry",
          "direct-text hashing",
          "declared topology deltas",
          "marker-bound source variants",
          "fail-closed drift checking"
        ],
        "status": "historical_comparison_not_new_native_reaudit"
      },
      "native_family_id": "family-06-clp",
      "native_family_name": "CLP",
      "next_required_work": [
        "Buktikan ledger sumber/penerjemahan asli; status ini tidak menyatakan terjemahan belum selesai.",
        "Periksa register istilah dan kaitannya dengan teks serta alternatif istilah.",
        "Buktikan produksi asli yang dapat diulang; build adapter saja bukan bukti build buku.",
        "Hubungkan bahan pengajar dengan identitas unit/latihan yang dipakai pelajar.",
        "Selesaikan audit sembilan bidang kemampuan dan bukti penggunaannya; adapter yang lulus tidak otomatis berarti backend lengkap."
      ],
      "role_id": "B20",
      "title": "Kalkulus Diferensial",
      "whole_course_backend_completion": "not_yet_proven"
    },
    {
      "common_adapter": {
        "contract": "2.3.1",
        "github_public_evidence": "frozen_public_readback",
        "local_evidence": [
          {
            "bytes": 31266,
            "kind": "central_adapter_manifest",
            "locator": "release-asset:releases/v0.62.17/CLP_CALCULUS_FAMILY_V231_ADAPTER_0.1.0.zip#manifest.json",
            "sha256": "54b600004e6ce4d903f6890a0a9a5c7c0d03120da896ea57d3c85edf674f00e5",
            "verified_date": "2026-09-01"
          },
          {
            "bytes": 11481,
            "kind": "learner_route_validation",
            "locator": "backend/course-capsule-v1/authority/clp-family-v231/learner-reader-actions-v1.json",
            "sha256": "c5c6294136a857b148e5e80d362dfa190e7374435f96d655db2556a2b83006ce",
            "verified_date": "2026-09-04"
          },
          {
            "bytes": 5077,
            "kind": "deterministic_validation_receipt",
            "locator": "backend/course-capsule-v1/authority/clp-family-v231/evidence/CLP_DETERMINISTIC_AB_VALIDATION_20260901.json",
            "sha256": "f52416f69079ce277e2a76db1fc94d3cbd6455b7288773f2f3df77348e88812e",
            "verified_date": "2026-09-01"
          }
        ],
        "mapping_scope": "reversible_native_course_route_adapter",
        "public_package": {
          "bytes": 545418367,
          "central_record": "https://doi.org/10.5281/zenodo.22303203",
          "sha256": "f2e2714c5f1349092e8cb574d6495e604086c9df3bc4bdf5bbe5974b5f61360d",
          "url": "https://github.com/KokunoYumeto/program-matematika-indonesia/releases/download/v0.62.17/CLP_CALCULUS_FAMILY_V231_ADAPTER_0.1.0.zip"
        },
        "status": "verified",
        "zenodo_preservation": "frozen_public_readback"
      },
      "common_exchange_layer_completion": "verified",
      "dimensions": {
        "accessibility": {
          "mathml": "available_unverified",
          "semantic_html": "available_unverified"
        },
        "curriculum": {
          "course_graph": "verified",
          "unit_identity": "unknown"
        },
        "educator": {
          "materials": "unknown",
          "unit_alignment": "unknown"
        },
        "federation": {
          "component_rights": [
            {
              "id": "B30:primary",
              "status": "unknown"
            },
            {
              "id": "B30:clp-native-source-and-modular-backend",
              "status": "available_unverified"
            }
          ],
          "references": "verified"
        },
        "interoperability": {
          "adapter": "verified",
          "contract": "2.3.1"
        },
        "learner": {
          "central_tools": 1,
          "delivery": "verified"
        },
        "reproducible_production": {
          "build": "unknown",
          "replay": "unknown"
        },
        "source_translation_ledger": {
          "corrections": "unknown",
          "ledger": "unknown"
        },
        "terminology": {
          "register": "unknown"
        }
      },
      "educator": {
        "resources": [],
        "status": "unknown",
        "unit_alignment": "unknown"
      },
      "layers": {
        "curriculum": {
          "evidence_count": 0,
          "status": "verified"
        },
        "educator": {
          "evidence_count": 0,
          "status": "unknown"
        },
        "federation": {
          "evidence_count": 0,
          "status": "verified"
        },
        "interoperability": {
          "evidence_count": 0,
          "status": "verified"
        },
        "learner": {
          "evidence_count": 0,
          "status": "verified"
        },
        "production": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "translation": {
          "evidence_count": 0,
          "status": "available_unverified"
        }
      },
      "learner": {
        "relationship": "central_view_consumes_verified_route_projection_pdf_runtime_adapter_consumption_not_claimed",
        "tools": [
          {
            "href": "../backend/clp/B30.html",
            "label": "B30 · Rute baca keluarga CLP"
          }
        ],
        "unit_identity": "unknown"
      },
      "native_capability_parity_completion": "not_yet_proven",
      "native_design_audit": {
        "limitations": [
          "Prosa tidak dipusatkan; empat backend owner-native tetap menjadi otoritas.",
          "Belum ada HTML course-native, EPUB, atau rute unit/fragmen yang dibuktikan."
        ],
        "pattern": "Source-bound incremental registry using native IDs, direct-text hashes, declared topology deltas, marker-bound LaTeX variants, and fail-closed drift checks.",
        "recommended_reuse": [
          "native-ID registry",
          "direct-text hashing",
          "declared topology deltas",
          "marker-bound source variants",
          "fail-closed drift checking"
        ],
        "status": "historical_comparison_not_new_native_reaudit"
      },
      "native_family_id": "family-06-clp",
      "native_family_name": "CLP",
      "next_required_work": [
        "Buktikan ledger sumber/penerjemahan asli; status ini tidak menyatakan terjemahan belum selesai.",
        "Periksa register istilah dan kaitannya dengan teks serta alternatif istilah.",
        "Buktikan produksi asli yang dapat diulang; build adapter saja bukan bukti build buku.",
        "Hubungkan bahan pengajar dengan identitas unit/latihan yang dipakai pelajar.",
        "Selesaikan audit sembilan bidang kemampuan dan bukti penggunaannya; adapter yang lulus tidak otomatis berarti backend lengkap."
      ],
      "role_id": "B30",
      "title": "Kalkulus Integral",
      "whole_course_backend_completion": "not_yet_proven"
    },
    {
      "common_adapter": {
        "contract": "course-learning-capability/1",
        "github_public_evidence": "new_anonymous_source_and_pages_readback",
        "local_evidence": [
          {
            "bytes": 8555,
            "kind": "central_adapter_manifest",
            "locator": "backend/course-capsule-v1/adapters/b40-capability-v1/manifest.json",
            "sha256": "43a292ac371a54cb3304a76873571eb8653abeadfb16738510c0837c774da578",
            "verified_date": "2026-09-05"
          },
          {
            "bytes": 14254,
            "kind": "deterministic_validation_receipt",
            "locator": "backend/course-capsule-v1/adapters/b40-capability-v1/validation.json",
            "sha256": "ee6dc126d0f7b47c14e47b6d0970c369c11e2bd4cd82065325f38fe3e8ec9134",
            "verified_date": "2026-09-05"
          },
          {
            "bytes": 5150,
            "kind": "native_migration_and_public_source_lock",
            "locator": "backend/course-capsule-v1/adapters/b40-capability-v1/input/source-lock.json",
            "sha256": "dda737e5e8d609b08b13821c6aedb32c230dcab7f704b42b3f02067b83455a8f",
            "verified_date": "2026-09-05"
          },
          {
            "bytes": 19910,
            "kind": "anonymous_native_public_readback",
            "locator": "backend/course-capsule-v1/adapters/b40-capability-v1/input/public-native-readback.json",
            "sha256": "d5358c1a40bff3ad4544e4afb8734743d5da490c8ce4a03c704f145a6c2ee5ee",
            "verified_date": "2026-09-05"
          },
          {
            "bytes": 12522,
            "kind": "component_rights_terminology_and_corrections",
            "locator": "backend/course-capsule-v1/adapters/b40-capability-v1/data/rights-and-terms.json",
            "sha256": "536758a71451366b5623511d320df0ef19d168d1c5c5284f3f50ec54b4eef762",
            "verified_date": "2026-09-05"
          },
          {
            "bytes": 371855,
            "kind": "native_and_reversible_migration_ledgers",
            "locator": "backend/course-capsule-v1/adapters/b40-capability-v1/data/ledger-references.json",
            "sha256": "fbf5fa9519e7d89ee340c3d395328366e73ec49875d722f12df78d91a416201e",
            "verified_date": "2026-09-05"
          },
          {
            "bytes": 182377,
            "kind": "complete_concept_index",
            "locator": "backend/course-capsule-v1/adapters/b40-capability-v1/data/concept-index.json",
            "sha256": "b8b0a3088cf5eb69e3f9c110d8e3568fc2a1f28d1938513623ce9f3ff4063f0b",
            "verified_date": "2026-09-05"
          },
          {
            "bytes": 8451055,
            "kind": "complete_relation_index",
            "locator": "backend/course-capsule-v1/adapters/b40-capability-v1/data/relation-index.json",
            "sha256": "ab3e879b21a016507be9dcd8eb7b72a3e469728a3b2dbe85bdb3dda9538d4650",
            "verified_date": "2026-09-05"
          }
        ],
        "mapping_scope": "zero_copy_projection_of_3541_native_units_13999_relations_114_concepts_1037_exact_exercise_answer_pairs_114_terms_307_corrections_11_rights_records_and_existing_22131_record_reversible_migration",
        "public_package": null,
        "status": "verified",
        "zenodo_preservation": "not_established"
      },
      "common_exchange_layer_completion": "verified",
      "dimensions": {
        "accessibility": {
          "mathml": "not_yet_produced",
          "semantic_html": "not_yet_produced"
        },
        "curriculum": {
          "course_graph": "verified",
          "unit_identity": "verified"
        },
        "educator": {
          "materials": "verified",
          "unit_alignment": "verified"
        },
        "federation": {
          "component_rights": [
            {
              "id": "B40:primary",
              "status": "unknown"
            },
            {
              "id": "B40:hefferon-jawaban-bekerja",
              "status": "available_unverified"
            },
            {
              "id": "B40:hefferon-laboratorium-sage",
              "status": "available_unverified"
            }
          ],
          "references": "verified"
        },
        "interoperability": {
          "adapter": "verified",
          "contract": "course-learning-capability/1"
        },
        "learner": {
          "central_tools": 1,
          "delivery": "verified"
        },
        "reproducible_production": {
          "build": "verified",
          "replay": "verified"
        },
        "source_translation_ledger": {
          "corrections": "verified",
          "ledger": "verified"
        },
        "terminology": {
          "register": "verified"
        }
      },
      "educator": {
        "resources": [
          {
            "bytes": 2672266,
            "id": "hefferon-jawaban-bekerja",
            "license": "CC BY-SA 2.5",
            "pages": 435,
            "resource_type": "solutions",
            "scope": "Jawaban bekerja lengkap, 435 halaman.",
            "sha256": "61f8a344cade529249d4f165bb62bce17579b6a4408b11634999e9f73ec9c01b",
            "status": "verified",
            "title": "Jawaban Bekerja Aljabar Linear",
            "url": "https://zenodo.org/records/22070458/files/02_HEFFERON_LINEAR_ALGEBRA_ID_WORKED_ANSWERS_2026.08.22.pdf?download=1"
          },
          {
            "bytes": 13164259,
            "id": "hefferon-laboratorium-sage",
            "license": "CC BY-SA 2.5",
            "pages": 109,
            "resource_type": "workbook",
            "scope": "Laboratorium komputasi Sage lengkap, 109 halaman.",
            "sha256": "adb78966020355a90442c7ae68c734f1fd6b44b5d935a3f75e531ea666eeee4a",
            "status": "verified",
            "title": "Laboratorium Sage Aljabar Linear",
            "url": "https://zenodo.org/records/22070458/files/03_HEFFERON_LINEAR_ALGEBRA_ID_SAGE_LAB_2026.08.22.pdf?download=1"
          },
          {
            "bytes": 10217400,
            "id": "B40:educator-hub-v1",
            "resource_type": "teacher-guide",
            "scope": "Tiga pembaca, 17 bab, 57 bagian, seluruh 3.541 unit dan 13.999 relasi native, 1.037 pasangan latihan-jawaban eksak, 114 konsep/istilah, 307 koreksi, 11 rekaman hak komponen, dan proyeksi common-v1 reversibel 22.131 rekaman.",
            "sha256": "69a3c6ca7c508d52a3fc1405e52192a0db6dd90b570f418fffa4755de05f60ce",
            "status": "verified",
            "title": "Pemilih unit, latihan, jawaban, konsep, dan provenans B40 untuk pengajar",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b40/B40-pengajar.html"
          },
          {
            "bytes": 8182895,
            "id": "B40:educator-map-v1",
            "resource_type": "educator-data",
            "scope": "Data pemilih unit dengan ID, hierarki, lokator, konsep, dan provenans jawaban tanpa badan buku.",
            "sha256": "4213bf661d644c93a6889c0472729223a47fec53c0b629ffa3ed07d2ad315f50",
            "status": "verified",
            "title": "Peta 3.541 unit dan 1.037 pasangan latihan-jawaban B40",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b40/educator-map.json"
          },
          {
            "bytes": 182377,
            "id": "B40:concept-index-v1",
            "resource_type": "educator-data",
            "scope": "Indeks konsep locale-neutral dan istilah Bahasa Indonesia dengan identitas native stabil.",
            "sha256": "b8b0a3088cf5eb69e3f9c110d8e3568fc2a1f28d1938513623ce9f3ff4063f0b",
            "status": "verified",
            "title": "Indeks 114 konsep dan istilah B40",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b40/concept-index.json"
          },
          {
            "bytes": 8451055,
            "id": "B40:relation-index-v1",
            "resource_type": "educator-data",
            "scope": "Seluruh relasi native dan proyeksi nonduplikatif 1.037 pasangan latihan-jawaban.",
            "sha256": "ab3e879b21a016507be9dcd8eb7b72a3e469728a3b2dbe85bdb3dda9538d4650",
            "status": "verified",
            "title": "Indeks 13.999 relasi native B40",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b40/relation-index.json"
          }
        ],
        "status": "verified",
        "unit_alignment": "verified"
      },
      "layers": {
        "curriculum": {
          "evidence_count": 0,
          "status": "verified"
        },
        "educator": {
          "evidence_count": 1,
          "status": "verified"
        },
        "federation": {
          "evidence_count": 0,
          "status": "verified"
        },
        "interoperability": {
          "evidence_count": 0,
          "status": "verified"
        },
        "learner": {
          "evidence_count": 0,
          "status": "verified"
        },
        "production": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "translation": {
          "evidence_count": 0,
          "status": "available_unverified"
        }
      },
      "learner": {
        "relationship": "directly_consumes_adapter_outputs",
        "tools": [
          {
            "href": "../backend/b40/B40.html",
            "label": "B40 · Aljabar Linear"
          }
        ],
        "unit_identity": "verified"
      },
      "native_capability_parity_completion": "verified",
      "native_design_audit": {
        "limitations": [
          "XPath-ordinal identifiers are fragile.",
          "Reverse CNXML reconstruction was not proved."
        ],
        "pattern": "Fine hashed CNXML text and attribute slots with explicit problem, solution, asset, and accessibility relations.",
        "recommended_reuse": [
          "fine text/attribute slots",
          "problem-solution relations",
          "asset relations",
          "accessibility slots"
        ],
        "status": "historical_comparison_not_new_native_reaudit"
      },
      "native_family_id": "family-07-linear-algebra",
      "native_family_name": "Linear Algebra",
      "next_required_work": [
        "Selesaikan audit sembilan bidang kemampuan dan bukti penggunaannya; adapter yang lulus tidak otomatis berarti backend lengkap."
      ],
      "role_id": "B40",
      "title": "Aljabar Linear",
      "whole_course_backend_completion": "not_yet_proven"
    },
    {
      "common_adapter": {
        "contract": "2.3.1",
        "github_public_evidence": "frozen_public_readback",
        "local_evidence": [
          {
            "bytes": 31266,
            "kind": "central_adapter_manifest",
            "locator": "release-asset:releases/v0.62.17/CLP_CALCULUS_FAMILY_V231_ADAPTER_0.1.0.zip#manifest.json",
            "sha256": "54b600004e6ce4d903f6890a0a9a5c7c0d03120da896ea57d3c85edf674f00e5",
            "verified_date": "2026-09-01"
          },
          {
            "bytes": 11481,
            "kind": "learner_route_validation",
            "locator": "backend/course-capsule-v1/authority/clp-family-v231/learner-reader-actions-v1.json",
            "sha256": "c5c6294136a857b148e5e80d362dfa190e7374435f96d655db2556a2b83006ce",
            "verified_date": "2026-09-04"
          },
          {
            "bytes": 5077,
            "kind": "deterministic_validation_receipt",
            "locator": "backend/course-capsule-v1/authority/clp-family-v231/evidence/CLP_DETERMINISTIC_AB_VALIDATION_20260901.json",
            "sha256": "f52416f69079ce277e2a76db1fc94d3cbd6455b7288773f2f3df77348e88812e",
            "verified_date": "2026-09-01"
          }
        ],
        "mapping_scope": "reversible_native_course_route_adapter",
        "public_package": {
          "bytes": 545418367,
          "central_record": "https://doi.org/10.5281/zenodo.22303203",
          "sha256": "f2e2714c5f1349092e8cb574d6495e604086c9df3bc4bdf5bbe5974b5f61360d",
          "url": "https://github.com/KokunoYumeto/program-matematika-indonesia/releases/download/v0.62.17/CLP_CALCULUS_FAMILY_V231_ADAPTER_0.1.0.zip"
        },
        "status": "verified",
        "zenodo_preservation": "frozen_public_readback"
      },
      "common_exchange_layer_completion": "verified",
      "dimensions": {
        "accessibility": {
          "mathml": "not_yet_produced",
          "semantic_html": "not_yet_produced"
        },
        "curriculum": {
          "course_graph": "verified",
          "unit_identity": "unknown"
        },
        "educator": {
          "materials": "available_unverified",
          "unit_alignment": "unknown"
        },
        "federation": {
          "component_rights": [
            {
              "id": "B50:primary",
              "status": "unknown"
            },
            {
              "id": "B50:clp3-problem-book-complete",
              "status": "available_unverified"
            },
            {
              "id": "B50:clp3-source-backend-archive",
              "status": "available_unverified"
            }
          ],
          "references": "verified"
        },
        "interoperability": {
          "adapter": "verified",
          "contract": "2.3.1"
        },
        "learner": {
          "central_tools": 1,
          "delivery": "verified"
        },
        "reproducible_production": {
          "build": "unknown",
          "replay": "unknown"
        },
        "source_translation_ledger": {
          "corrections": "unknown",
          "ledger": "unknown"
        },
        "terminology": {
          "register": "unknown"
        }
      },
      "educator": {
        "resources": [
          {
            "bytes": 5750878,
            "id": "clp3-problem-book-complete",
            "license": "CC BY-NC-SA 4.0",
            "pages": 534,
            "resource_type": "problem-book",
            "scope": "Buku latihan CLP3 lengkap, 534 halaman; soal, petunjuk, jawaban, dan solusi dipertahankan.",
            "sha256": "ad1d184825fd7ac58933512b62a60997ddcfb2beae87dde5ec679503f31dae2d",
            "status": "verified",
            "title": "Buku latihan CLP3 lengkap",
            "url": "https://zenodo.org/records/22184443/files/CLP-3-Latihan-Kalkulus-Multivariabel-Bahasa-Indonesia.pdf?download=1"
          }
        ],
        "status": "available_unverified",
        "unit_alignment": "unknown"
      },
      "layers": {
        "curriculum": {
          "evidence_count": 0,
          "status": "verified"
        },
        "educator": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "federation": {
          "evidence_count": 0,
          "status": "verified"
        },
        "interoperability": {
          "evidence_count": 0,
          "status": "verified"
        },
        "learner": {
          "evidence_count": 0,
          "status": "verified"
        },
        "production": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "translation": {
          "evidence_count": 0,
          "status": "available_unverified"
        }
      },
      "learner": {
        "relationship": "central_view_consumes_verified_route_projection_pdf_runtime_adapter_consumption_not_claimed",
        "tools": [
          {
            "href": "../backend/clp/B50.html",
            "label": "B50 · Rute baca keluarga CLP"
          }
        ],
        "unit_identity": "unknown"
      },
      "native_capability_parity_completion": "not_yet_proven",
      "native_design_audit": {
        "limitations": [
          "Prosa tidak dipusatkan; empat backend owner-native tetap menjadi otoritas.",
          "Belum ada HTML course-native, EPUB, atau rute unit/fragmen yang dibuktikan."
        ],
        "pattern": "Source-bound incremental registry using native IDs, direct-text hashes, declared topology deltas, marker-bound LaTeX variants, and fail-closed drift checks.",
        "recommended_reuse": [
          "native-ID registry",
          "direct-text hashing",
          "declared topology deltas",
          "marker-bound source variants",
          "fail-closed drift checking"
        ],
        "status": "historical_comparison_not_new_native_reaudit"
      },
      "native_family_id": "family-06-clp",
      "native_family_name": "CLP",
      "next_required_work": [
        "Buktikan ledger sumber/penerjemahan asli; status ini tidak menyatakan terjemahan belum selesai.",
        "Periksa register istilah dan kaitannya dengan teks serta alternatif istilah.",
        "Buktikan produksi asli yang dapat diulang; build adapter saja bukan bukti build buku.",
        "Hubungkan bahan pengajar dengan identitas unit/latihan yang dipakai pelajar.",
        "Selesaikan audit sembilan bidang kemampuan dan bukti penggunaannya; adapter yang lulus tidak otomatis berarti backend lengkap."
      ],
      "role_id": "B50",
      "title": "Kalkulus Multivariabel",
      "whole_course_backend_completion": "not_yet_proven"
    },
    {
      "common_adapter": {
        "contract": "2.3.1",
        "github_public_evidence": "frozen_public_readback",
        "local_evidence": [
          {
            "bytes": 31266,
            "kind": "central_adapter_manifest",
            "locator": "release-asset:releases/v0.62.17/CLP_CALCULUS_FAMILY_V231_ADAPTER_0.1.0.zip#manifest.json",
            "sha256": "54b600004e6ce4d903f6890a0a9a5c7c0d03120da896ea57d3c85edf674f00e5",
            "verified_date": "2026-09-01"
          },
          {
            "bytes": 11481,
            "kind": "learner_route_validation",
            "locator": "backend/course-capsule-v1/authority/clp-family-v231/learner-reader-actions-v1.json",
            "sha256": "c5c6294136a857b148e5e80d362dfa190e7374435f96d655db2556a2b83006ce",
            "verified_date": "2026-09-04"
          },
          {
            "bytes": 5077,
            "kind": "deterministic_validation_receipt",
            "locator": "backend/course-capsule-v1/authority/clp-family-v231/evidence/CLP_DETERMINISTIC_AB_VALIDATION_20260901.json",
            "sha256": "f52416f69079ce277e2a76db1fc94d3cbd6455b7288773f2f3df77348e88812e",
            "verified_date": "2026-09-01"
          }
        ],
        "mapping_scope": "reversible_native_course_route_adapter",
        "public_package": {
          "bytes": 545418367,
          "central_record": "https://doi.org/10.5281/zenodo.22303203",
          "sha256": "f2e2714c5f1349092e8cb574d6495e604086c9df3bc4bdf5bbe5974b5f61360d",
          "url": "https://github.com/KokunoYumeto/program-matematika-indonesia/releases/download/v0.62.17/CLP_CALCULUS_FAMILY_V231_ADAPTER_0.1.0.zip"
        },
        "status": "verified",
        "zenodo_preservation": "frozen_public_readback"
      },
      "common_exchange_layer_completion": "verified",
      "dimensions": {
        "accessibility": {
          "mathml": "not_yet_produced",
          "semantic_html": "not_yet_produced"
        },
        "curriculum": {
          "course_graph": "verified",
          "unit_identity": "unknown"
        },
        "educator": {
          "materials": "available_unverified",
          "unit_alignment": "unknown"
        },
        "federation": {
          "component_rights": [
            {
              "id": "B60:primary",
              "status": "unknown"
            },
            {
              "id": "B60:clp4-problem-book-complete",
              "status": "available_unverified"
            },
            {
              "id": "B60:clp-native-source-and-modular-backend",
              "status": "available_unverified"
            }
          ],
          "references": "verified"
        },
        "interoperability": {
          "adapter": "verified",
          "contract": "2.3.1"
        },
        "learner": {
          "central_tools": 1,
          "delivery": "verified"
        },
        "reproducible_production": {
          "build": "unknown",
          "replay": "unknown"
        },
        "source_translation_ledger": {
          "corrections": "unknown",
          "ledger": "unknown"
        },
        "terminology": {
          "register": "unknown"
        }
      },
      "educator": {
        "resources": [
          {
            "bytes": 3939483,
            "id": "clp4-problem-book-complete",
            "license": "CC BY-NC-SA 4.0",
            "pages": 486,
            "resource_type": "problem-book",
            "scope": "Seluruh buku latihan kalkulus vektor, 486 halaman.",
            "sha256": "a6253809eaa4a465d5efcc4372b1321ad828aa4964ec45042aab9130a358835b",
            "status": "verified",
            "title": "Buku latihan CLP4 lengkap",
            "url": "https://zenodo.org/records/22105443/files/CLP-4-Latihan-Kalkulus-Vektor-Bahasa-Indonesia.pdf?download=1"
          }
        ],
        "status": "available_unverified",
        "unit_alignment": "unknown"
      },
      "layers": {
        "curriculum": {
          "evidence_count": 0,
          "status": "verified"
        },
        "educator": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "federation": {
          "evidence_count": 0,
          "status": "verified"
        },
        "interoperability": {
          "evidence_count": 0,
          "status": "verified"
        },
        "learner": {
          "evidence_count": 0,
          "status": "verified"
        },
        "production": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "translation": {
          "evidence_count": 0,
          "status": "available_unverified"
        }
      },
      "learner": {
        "relationship": "central_view_consumes_verified_route_projection_pdf_runtime_adapter_consumption_not_claimed",
        "tools": [
          {
            "href": "../backend/clp/B60.html",
            "label": "B60 · Rute baca keluarga CLP"
          }
        ],
        "unit_identity": "unknown"
      },
      "native_capability_parity_completion": "not_yet_proven",
      "native_design_audit": {
        "limitations": [
          "Prosa tidak dipusatkan; empat backend owner-native tetap menjadi otoritas.",
          "Belum ada HTML course-native, EPUB, atau rute unit/fragmen yang dibuktikan."
        ],
        "pattern": "Source-bound incremental registry using native IDs, direct-text hashes, declared topology deltas, marker-bound LaTeX variants, and fail-closed drift checks.",
        "recommended_reuse": [
          "native-ID registry",
          "direct-text hashing",
          "declared topology deltas",
          "marker-bound source variants",
          "fail-closed drift checking"
        ],
        "status": "historical_comparison_not_new_native_reaudit"
      },
      "native_family_id": "family-06-clp",
      "native_family_name": "CLP",
      "next_required_work": [
        "Buktikan ledger sumber/penerjemahan asli; status ini tidak menyatakan terjemahan belum selesai.",
        "Periksa register istilah dan kaitannya dengan teks serta alternatif istilah.",
        "Buktikan produksi asli yang dapat diulang; build adapter saja bukan bukti build buku.",
        "Hubungkan bahan pengajar dengan identitas unit/latihan yang dipakai pelajar.",
        "Selesaikan audit sembilan bidang kemampuan dan bukti penggunaannya; adapter yang lulus tidak otomatis berarti backend lengkap."
      ],
      "role_id": "B60",
      "title": "Kalkulus Vektor",
      "whole_course_backend_completion": "not_yet_proven"
    },
    {
      "common_adapter": {
        "contract": "lebl-learning-capability/1",
        "github_public_evidence": "new_anonymous_source_and_pages_readback",
        "local_evidence": [
          {
            "bytes": 9844,
            "kind": "central_adapter_manifest",
            "locator": "backend/course-capsule-v1/adapters/lebl-capability-v1/manifest.json",
            "sha256": "ae60b4f3257f479da2693970b67c7305c923428c28ded576cca138a6c11b1389",
            "verified_date": "2026-09-04"
          },
          {
            "bytes": 5351,
            "kind": "deterministic_validation_receipt",
            "locator": "backend/course-capsule-v1/adapters/lebl-capability-v1/validation.json",
            "sha256": "79781ee7b3a60f185b1ac17b16187735a8300eb44adad37236b8d0a2dbd2d2cd",
            "verified_date": "2026-09-04"
          },
          {
            "bytes": 3463,
            "kind": "pinned_native_stream_projection",
            "locator": "backend/course-capsule-v1/adapters/lebl-capability-v1/native-evidence-binding.json",
            "sha256": "66f5f204db236638c487db7df72f844f64e99383992817d63b4f129ed586202a",
            "verified_date": "2026-09-04"
          }
        ],
        "mapping_scope": "loss_accounted_native_metadata_with_shared_learner_teacher_and_terminology_views",
        "public_package": null,
        "status": "verified",
        "zenodo_preservation": "not_established"
      },
      "common_exchange_layer_completion": "verified",
      "dimensions": {
        "accessibility": {
          "mathml": "not_yet_produced",
          "semantic_html": "not_yet_produced"
        },
        "curriculum": {
          "course_graph": "verified",
          "unit_identity": "verified"
        },
        "educator": {
          "materials": "verified",
          "unit_alignment": "verified"
        },
        "federation": {
          "component_rights": [
            {
              "id": "B70:primary",
              "status": "unknown"
            }
          ],
          "references": "verified"
        },
        "interoperability": {
          "adapter": "verified",
          "contract": "lebl-learning-capability/1"
        },
        "learner": {
          "central_tools": 3,
          "delivery": "verified"
        },
        "reproducible_production": {
          "build": "unknown",
          "replay": "unknown"
        },
        "source_translation_ledger": {
          "corrections": "unknown",
          "ledger": "unknown"
        },
        "terminology": {
          "register": "verified"
        }
      },
      "educator": {
        "resources": [
          {
            "bytes": 1849410,
            "id": "B70:lebl-educator-v1",
            "resource_type": "teacher-guide",
            "scope": "747 rekaman latihan dalam keluarga Lebl; identitas sumber dipertahankan, unit yang bertumpang tindih bukan beban unik",
            "sha256": "83c775ef95468b61a810cfad7cdfeb7300d45c5b58b5f1a47bafadd073412e8c",
            "status": "verified",
            "title": "Bank latihan dan penyusun kegiatan B70",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/lebl/B70-pengajar.html"
          }
        ],
        "status": "verified",
        "unit_alignment": "verified"
      },
      "layers": {
        "curriculum": {
          "evidence_count": 0,
          "status": "verified"
        },
        "educator": {
          "evidence_count": 1,
          "status": "verified"
        },
        "federation": {
          "evidence_count": 0,
          "status": "verified"
        },
        "interoperability": {
          "evidence_count": 0,
          "status": "verified"
        },
        "learner": {
          "evidence_count": 0,
          "status": "verified"
        },
        "production": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "translation": {
          "evidence_count": 0,
          "status": "available_unverified"
        }
      },
      "learner": {
        "relationship": "directly_consumes_adapter_outputs",
        "tools": [
          {
            "href": "../backend/lebl/B70-pengajar.html",
            "label": "Susun rencana kegiatan pengajar"
          },
          {
            "href": "../backend/lebl/B70.html",
            "label": "Buku, latihan, dan dukungan sumber"
          },
          {
            "href": "../backend/lebl/istilah.html",
            "label": "Istilah dan alternatif keluarga Lebl"
          }
        ],
        "unit_identity": "verified"
      },
      "native_capability_parity_completion": "not_yet_proven",
      "native_design_audit": {
        "limitations": [
          "All 432 segments are headings rather than reusable prose.",
          "Retained micro-checkpoint history dominates the machinery."
        ],
        "pattern": "UUID/alias family catalog with explicit hint-only/no-answer states and exact legacy-locator checks.",
        "recommended_reuse": [
          "UUID/alias catalog",
          "explicit hint-only and no-answer states",
          "legacy-locator verification"
        ],
        "status": "historical_comparison_not_new_native_reaudit"
      },
      "native_family_id": "family-08-lebl-family",
      "native_family_name": "Lebl family",
      "next_required_work": [
        "Buktikan ledger sumber/penerjemahan asli; status ini tidak menyatakan terjemahan belum selesai.",
        "Buktikan produksi asli yang dapat diulang; build adapter saja bukan bukti build buku.",
        "Selesaikan audit sembilan bidang kemampuan dan bukti penggunaannya; adapter yang lulus tidak otomatis berarti backend lengkap."
      ],
      "role_id": "B70",
      "title": "Persamaan Diferensial Biasa dan Sistem Dinamika Pengantar",
      "whole_course_backend_completion": "not_yet_proven"
    },
    {
      "common_adapter": {
        "contract": "course-learning-capability/1",
        "github_public_evidence": "new_anonymous_source_and_pages_readback",
        "local_evidence": [
          {
            "bytes": 3334,
            "kind": "central_adapter_manifest",
            "locator": "backend/course-capsule-v1/adapters/b80-capability-v1/manifest.json",
            "sha256": "efd6da262f5a982dcf51dfa43834a7079f294172725a0541b1fc2cdb5d02ade6",
            "verified_date": "2026-09-04"
          },
          {
            "bytes": 960,
            "kind": "deterministic_validation_receipt",
            "locator": "backend/course-capsule-v1/adapters/b80-capability-v1/validation.json",
            "sha256": "b1f961c1d8a27edc0a32972582372720c12e6b4e25a6087b5d8cc302d4007963",
            "verified_date": "2026-09-04"
          }
        ],
        "mapping_scope": "reversible_native_catalog_with_shared_learner_educator_views",
        "public_package": null,
        "status": "verified",
        "zenodo_preservation": "assigned_to_central_manager_not_yet_verified"
      },
      "common_exchange_layer_completion": "verified",
      "dimensions": {
        "accessibility": {
          "mathml": "available_unverified",
          "semantic_html": "available_unverified"
        },
        "curriculum": {
          "course_graph": "verified",
          "unit_identity": "verified"
        },
        "educator": {
          "materials": "verified",
          "unit_alignment": "verified"
        },
        "federation": {
          "component_rights": [
            {
              "id": "B80:primary",
              "status": "unknown"
            }
          ],
          "references": "verified"
        },
        "interoperability": {
          "adapter": "verified",
          "contract": "course-learning-capability/1"
        },
        "learner": {
          "central_tools": 2,
          "delivery": "available_unverified"
        },
        "reproducible_production": {
          "build": "unknown",
          "replay": "unknown"
        },
        "source_translation_ledger": {
          "corrections": "unknown",
          "ledger": "unknown"
        },
        "terminology": {
          "register": "unknown"
        }
      },
      "educator": {
        "resources": [
          {
            "bytes": 23765,
            "id": "B80:educator-map-v1",
            "resource_type": "teacher-guide",
            "scope": "14 unit dan 75 latihan dengan identitas bersama serta 4 laboratorium",
            "sha256": "fe737cd2e62373c1b660f576b224e3209802c7d21ae47cec5b7007bcc10561c5",
            "status": "verified",
            "title": "Panduan unit dan kegiatan untuk pengajar B80",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b80/B80-pengajar.html"
          }
        ],
        "status": "verified",
        "unit_alignment": "verified"
      },
      "layers": {
        "curriculum": {
          "evidence_count": 0,
          "status": "verified"
        },
        "educator": {
          "evidence_count": 1,
          "status": "verified"
        },
        "federation": {
          "evidence_count": 0,
          "status": "verified"
        },
        "interoperability": {
          "evidence_count": 0,
          "status": "verified"
        },
        "learner": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "production": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "translation": {
          "evidence_count": 0,
          "status": "available_unverified"
        }
      },
      "learner": {
        "relationship": "directly_consumes_adapter_outputs",
        "tools": [
          {
            "href": "../backend/b80/B80-pengajar.html",
            "label": "Panduan kegiatan untuk pengajar"
          },
          {
            "href": "../backend/b80/B80.html",
            "label": "Unit, latihan, dan pemeriksaan"
          }
        ],
        "unit_identity": "verified"
      },
      "native_capability_parity_completion": "not_yet_proven",
      "native_design_audit": {
        "limitations": [
          "Monolithic hard-coded JSON.",
          "No reversible/common exchange."
        ],
        "pattern": "Operational course catalog with executable mastery units, exercises, artifacts, and prerequisite routes.",
        "recommended_reuse": [
          "executable mastery units",
          "artifact-linked exercises",
          "prerequisite routes",
          "learner-QA consumption pattern"
        ],
        "status": "historical_comparison_not_new_native_reaudit"
      },
      "native_family_id": "family-09-mathematical-computing",
      "native_family_name": "Mathematical Computing",
      "next_required_work": [
        "Buktikan ledger sumber/penerjemahan asli; status ini tidak menyatakan terjemahan belum selesai.",
        "Periksa register istilah dan kaitannya dengan teks serta alternatif istilah.",
        "Buktikan produksi asli yang dapat diulang; build adapter saja bukan bukti build buku.",
        "Verifikasi pelestarian Zenodo yang ditangani pengelola pusat tanpa transaksi rilis yang bersaing.",
        "Selesaikan audit sembilan bidang kemampuan dan bukti penggunaannya; adapter yang lulus tidak otomatis berarti backend lengkap."
      ],
      "role_id": "B80",
      "title": "Komputasi Matematis dan Eksperimen Reprodusibel",
      "whole_course_backend_completion": "not_yet_proven"
    },
    {
      "common_adapter": {
        "contract": "course-learning-capability/1",
        "github_public_evidence": "new_anonymous_source_and_pages_readback",
        "local_evidence": [
          {
            "bytes": 9897,
            "kind": "central_adapter_manifest",
            "locator": "backend/course-capsule-v1/adapters/b90-capability-v1/manifest.json",
            "sha256": "4aeea44fb4e13074fc82d40e33cb90d73e6dba6bdf2f1d0f71bc1b15e5f0574c",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 9610,
            "kind": "deterministic_validation_receipt",
            "locator": "backend/course-capsule-v1/adapters/b90-capability-v1/validation.json",
            "sha256": "7008b23bf3f30f0f6d9b196c5d68f18c551bfcd259c8f6f45031cb693d1cbe29",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 3097,
            "kind": "native_source_lock",
            "locator": "backend/course-capsule-v1/adapters/b90-capability-v1/input/source-lock.json",
            "sha256": "d201f16bf0f8e9da3de91e7c2da97ec764bdb38ddc108d46919abd7a2cb780de",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 12480,
            "kind": "anonymous_native_public_readback",
            "locator": "backend/course-capsule-v1/adapters/b90-capability-v1/input/public-native-readback.json",
            "sha256": "0da8f96045d74cf151256602e660ca351ccd5a0f89dd80e59240c625fffdb242",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 5496,
            "kind": "verified_native_public_release",
            "locator": "backend/course-capsule-v1/adapters/b90-capability-v1/data/public-evidence.json",
            "sha256": "701d0c6e8df652b0b2b92b1c7d35a382d45cf9c93eae3e3940cb221136139a5d",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 555496,
            "kind": "unit_identity_index",
            "locator": "backend/course-capsule-v1/adapters/b90-capability-v1/data/unit-index.jsonl",
            "sha256": "13cd4bbe7c0daae2c5b3b42c3cf0c7dab98f7089f980e1d2f6a57c219a0e340c",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 39249,
            "kind": "concept_index",
            "locator": "backend/course-capsule-v1/adapters/b90-capability-v1/data/concept-index.jsonl",
            "sha256": "cff1d42c965c2103ef56009239cb824bec560165a518f52fe651af0fb17cf997",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 555852,
            "kind": "relation_index",
            "locator": "backend/course-capsule-v1/adapters/b90-capability-v1/data/relation-index.jsonl",
            "sha256": "ce2f22afb9ecdb21af603f869071b52111cd13c0a4870195b067e9ca4ff5c425",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 2350,
            "kind": "component_rights_index",
            "locator": "backend/course-capsule-v1/adapters/b90-capability-v1/data/rights-index.jsonl",
            "sha256": "6846373736e06aa12f4be57792d20b32e4c7a2c45a3e1fe2a43924524fad3fcc",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 71656,
            "kind": "correction_index",
            "locator": "backend/course-capsule-v1/adapters/b90-capability-v1/data/corrections-index.jsonl",
            "sha256": "5a9d8761d282c450892311088ed236cbc8e302cd92e88edbdfd59d23bb66392b",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 64187,
            "kind": "terminology_index",
            "locator": "backend/course-capsule-v1/adapters/b90-capability-v1/data/terms-index.jsonl",
            "sha256": "2ae73f556a03f2eb645c4caed80ac8998cc0222a927dad733552079930860f37",
            "verified_date": "2026-09-06"
          }
        ],
        "mapping_scope": "zero_copy_projection_of_4716_public_native_records_800_units_711_exercises_91_concepts_119_terms_152_corrections_and_4_component_rights_with_explicit_answer_supplement_exclusion",
        "public_package": null,
        "status": "verified",
        "zenodo_preservation": "not_established"
      },
      "common_exchange_layer_completion": "verified",
      "dimensions": {
        "accessibility": {
          "mathml": "not_yet_produced",
          "semantic_html": "not_yet_produced"
        },
        "curriculum": {
          "course_graph": "verified",
          "unit_identity": "verified"
        },
        "educator": {
          "materials": "verified",
          "unit_alignment": "verified"
        },
        "federation": {
          "component_rights": [
            {
              "id": "B90:primary",
              "status": "unknown"
            }
          ],
          "references": "verified"
        },
        "interoperability": {
          "adapter": "verified",
          "contract": "course-learning-capability/1"
        },
        "learner": {
          "central_tools": 1,
          "delivery": "verified"
        },
        "reproducible_production": {
          "build": "verified",
          "replay": "verified"
        },
        "source_translation_ledger": {
          "corrections": "verified",
          "ledger": "verified"
        },
        "terminology": {
          "register": "verified"
        }
      },
      "educator": {
        "resources": [
          {
            "bytes": 159493,
            "id": "B90:educator-hub-v1",
            "resource_type": "teacher-guide",
            "scope": "Sebanyak 4.716 rekaman native publik, 800 unit, 12 bab, 33 bagian, 711 identitas latihan, 91 konsep, 119 istilah, 152 koreksi, dan empat rekaman hak komponen.",
            "sha256": "9ca77c7e584295182b98a2502cd1198564a96c55ee4f6cb75be6a3eb64250fc9",
            "status": "verified",
            "title": "Pemilih bab, bagian, unit, dan latihan B90 untuk pengajar",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b90/B90-pengajar.html"
          },
          {
            "bytes": 663634,
            "id": "B90:educator-map-v1",
            "resource_type": "educator-data",
            "scope": "Peta zero-copy atas hierarki unit, rute bab, konsep, istilah, koreksi, hak, dan batas suplemen jawaban.",
            "sha256": "297cf44e0c8d3069d4f50504cbcf3e72feaf2c531965de6fab95889d44158f4e",
            "status": "verified",
            "title": "Peta pengajar atas 800 unit native B90",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b90/educator-map.json"
          },
          {
            "bytes": 555496,
            "id": "B90:unit-index-v1",
            "resource_type": "identity-index",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan buku dan segmen tidak disalin.",
            "sha256": "13cd4bbe7c0daae2c5b3b42c3cf0c7dab98f7089f980e1d2f6a57c219a0e340c",
            "status": "verified",
            "title": "Indeks 800 unit B90",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b90/data/unit-index.jsonl"
          },
          {
            "bytes": 39249,
            "id": "B90:concept-index-v1",
            "resource_type": "educator-data",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan buku dan segmen tidak disalin.",
            "sha256": "cff1d42c965c2103ef56009239cb824bec560165a518f52fe651af0fb17cf997",
            "status": "verified",
            "title": "Indeks 91 konsep B90",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b90/data/concept-index.jsonl"
          },
          {
            "bytes": 555852,
            "id": "B90:relation-index-v1",
            "resource_type": "educator-data",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan buku dan segmen tidak disalin.",
            "sha256": "ce2f22afb9ecdb21af603f869071b52111cd13c0a4870195b067e9ca4ff5c425",
            "status": "verified",
            "title": "Indeks 1.694 relasi B90",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b90/data/relation-index.jsonl"
          },
          {
            "bytes": 64187,
            "id": "B90:terms-index-v1",
            "resource_type": "terminology-register",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan buku dan segmen tidak disalin.",
            "sha256": "2ae73f556a03f2eb645c4caed80ac8998cc0222a927dad733552079930860f37",
            "status": "verified",
            "title": "Indeks 119 istilah B90",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b90/data/terms-index.jsonl"
          },
          {
            "bytes": 2350,
            "id": "B90:rights-index-v1",
            "resource_type": "rights-ledger",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan buku dan segmen tidak disalin.",
            "sha256": "6846373736e06aa12f4be57792d20b32e4c7a2c45a3e1fe2a43924524fad3fcc",
            "status": "verified",
            "title": "Indeks empat rekaman hak B90",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b90/data/rights-index.jsonl"
          },
          {
            "bytes": 71656,
            "id": "B90:corrections-index-v1",
            "resource_type": "correction-ledger",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan buku dan segmen tidak disalin.",
            "sha256": "5a9d8761d282c450892311088ed236cbc8e302cd92e88edbdfd59d23bb66392b",
            "status": "verified",
            "title": "Indeks 152 koreksi B90",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b90/data/corrections-index.jsonl"
          }
        ],
        "status": "verified",
        "unit_alignment": "verified"
      },
      "layers": {
        "curriculum": {
          "evidence_count": 0,
          "status": "verified"
        },
        "educator": {
          "evidence_count": 1,
          "status": "verified"
        },
        "federation": {
          "evidence_count": 0,
          "status": "verified"
        },
        "interoperability": {
          "evidence_count": 0,
          "status": "verified"
        },
        "learner": {
          "evidence_count": 0,
          "status": "verified"
        },
        "production": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "translation": {
          "evidence_count": 0,
          "status": "available_unverified"
        }
      },
      "learner": {
        "relationship": "directly_consumes_adapter_outputs",
        "tools": [
          {
            "href": "../backend/b90/B90.html",
            "label": "B90 · Probabilitas Berbasis Kalkulus"
          }
        ],
        "unit_identity": "verified"
      },
      "native_capability_parity_completion": "verified",
      "native_design_audit": {
        "limitations": [
          "Shallow structural graph.",
          "Ambiguous stale parallel public export."
        ],
        "pattern": "Compact stable-URN JSONL with lossless CSV and a public-safe projection that exactly omits English authority text.",
        "recommended_reuse": [
          "stable URNs",
          "lossless JSONL/CSV",
          "public-safe redaction projection"
        ],
        "status": "historical_comparison_not_new_native_reaudit"
      },
      "native_family_id": "family-10-probability",
      "native_family_name": "Probability",
      "next_required_work": [
        "Selesaikan audit sembilan bidang kemampuan dan bukti penggunaannya; adapter yang lulus tidak otomatis berarti backend lengkap."
      ],
      "role_id": "B90",
      "title": "Probabilitas Berbasis Kalkulus",
      "whole_course_backend_completion": "not_yet_proven"
    },
    {
      "common_adapter": {
        "admission": {
          "package": {
            "bytes": 372967,
            "package_id": "urn:uuid:ae395a79-8d89-54d5-a54f-eaa423c81787",
            "path": "backend/course-capsule-v1/adapters/b95-v231",
            "sha256": "1f55103f4571eb346aa61553c6d3e3467003af017a92d133cc41f8f4eb9b59c6"
          },
          "public_embedding": {
            "github_release": "https://github.com/KokunoYumeto/program-matematika-indonesia/releases/tag/v0.63.24",
            "receipt": {
              "bytes": 47719,
              "path": "publication-history/PUBLICATION_RECEIPT_v0.63.24.json",
              "sha256": "e5246f3d22fc8659da90a095f930f80fa55826e8c3828e75bc61b34b9576fc8e"
            },
            "status": "published_open_and_anonymously_verified",
            "version": "0.63.24",
            "zenodo": "https://doi.org/10.5281/zenodo.22646380"
          },
          "receipt": {
            "bytes": 19312,
            "path": "backend/course-capsule-v1/validation/20260907/GAP_ADMISSION.json",
            "sha256": "5e1168f28a6a319a3320d6a688c824d17d3323eca151547a1b26a2032e1ac8e9"
          },
          "spec": {
            "bytes": 14523,
            "path": "backend/v2.3/specs/20260907/B95.json",
            "sha256": "2d3597cedbf3336fbe0edfff249ef995b2a8d2d13787286fb095d2ac54e1b3a4"
          },
          "status": "pass",
          "twin": {
            "bytes": 2078,
            "package_manifest_sha256": "817b666b6b547fedf16cb862131295a1638ff43a2660a5b5ab9111bfaa14f697",
            "path": "backend/course-capsule-v1/validation/20260907/B95_TWIN.json",
            "payload_sha256": "1f55103f4571eb346aa61553c6d3e3467003af017a92d133cc41f8f4eb9b59c6",
            "sha256": "9958dbd81327adc4015edeb2f5e9ccfcde1461670558e4844e271d6f2763a537",
            "status": "pass"
          }
        },
        "contract": "course-learning-capability/1",
        "github_public_evidence": "native_anonymous_release_asset_readback",
        "local_evidence": [
          {
            "bytes": 15919,
            "kind": "central_adapter_manifest",
            "locator": "backend/course-capsule-v1/adapters/b95-capability-v1/manifest.json",
            "sha256": "9e8b98e938a2e5b8015a2b4ede1e260a9ae5a8097cbe95c7d95d373a90d8db42",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 11857,
            "kind": "deterministic_validation_receipt",
            "locator": "backend/course-capsule-v1/adapters/b95-capability-v1/validation.json",
            "sha256": "c5a7802d03870943b7590a94825c24402aadc99324fa4a83e327aff2e5f211f8",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 1285,
            "kind": "deterministic_package_receipt",
            "locator": "backend/course-capsule-v1/adapters/b95-capability-v1/build/PACKET_BUILD_RECEIPT.json",
            "sha256": "fbbdd57084e3903f17648d275bde327765fc2979711b5dee3b5e6cf922bba4bb",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 7767446,
            "kind": "deterministic_capability_packet",
            "locator": "backend/course-capsule-v1/adapters/b95-capability-v1/build/B95_THIN_CAPABILITY_METADATA_V1.zip",
            "sha256": "420633fe6becff8874033c3c1f79fe014014ab078782fb40d8247aaed0b37f08",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 5922,
            "kind": "native_source_lock",
            "locator": "backend/course-capsule-v1/adapters/b95-capability-v1/input/source-lock.json",
            "sha256": "401cd8e6ef9a16670a06ddcb6e23d4bcaf1fc93d5d0e5d41c86858034c0e1299",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 3719,
            "kind": "anonymous_native_public_readback",
            "locator": "backend/course-capsule-v1/adapters/b95-capability-v1/input/public-native-readback.json",
            "sha256": "40191d3429229dd426d9ce308b1e7dd040637dd862146a43ee45dc7599db5e61",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 9300,
            "kind": "verified_native_public_release",
            "locator": "backend/course-capsule-v1/adapters/b95-capability-v1/data/public-evidence.json",
            "sha256": "745653e9c74b2dbceeb11623ac9d9de0a1fc788dc22315f23b756d66a04ae010",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 23667187,
            "kind": "native_record_index",
            "locator": "backend/course-capsule-v1/adapters/b95-capability-v1/data/native-record-index.jsonl",
            "sha256": "1443bfaff6d6bc1ebfd93feeb80e3a547e8edcfb05af88d082c2e96988f96304",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 1661313,
            "kind": "unit_identity_index",
            "locator": "backend/course-capsule-v1/adapters/b95-capability-v1/data/unit-index.jsonl",
            "sha256": "52e0e3bad9a0266ff15896716e28fce222c0e089351f56b6ba065e420cc8b0ab",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 321435,
            "kind": "exercise_identity_index",
            "locator": "backend/course-capsule-v1/adapters/b95-capability-v1/data/exercise-index.jsonl",
            "sha256": "da583c3342e68dd07217c5ac37dc13e8c93cf6a8d344f283d1b4c655cbdf6c84",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 838856,
            "kind": "concept_index",
            "locator": "backend/course-capsule-v1/adapters/b95-capability-v1/data/concept-index.jsonl",
            "sha256": "33807318c280269bc3771ea0049201f0e6e603cc3402e89083008a4df8b6b8cc",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 10057959,
            "kind": "relation_index",
            "locator": "backend/course-capsule-v1/adapters/b95-capability-v1/data/relation-index.jsonl",
            "sha256": "3905367bd15508dc6694e173d62c5b6c51de68e3c92342c7a838cc4e1d9c6e85",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 1135391,
            "kind": "terminology_index",
            "locator": "backend/course-capsule-v1/adapters/b95-capability-v1/data/terms-index.jsonl",
            "sha256": "260e5dca291b82d372c50bbdf8f84267f8c20e33c06281a0c882f2bd320009b5",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 395526,
            "kind": "correction_index",
            "locator": "backend/course-capsule-v1/adapters/b95-capability-v1/data/corrections-index.jsonl",
            "sha256": "b52989704ae63ced020ce01341d56a9dd694f7431c7e9f7cb36f5e003e1584c0",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 98145,
            "kind": "component_rights_index",
            "locator": "backend/course-capsule-v1/adapters/b95-capability-v1/data/rights-index.jsonl",
            "sha256": "195a9c82a293475b9b3c3c9f024a933263362f7d7bc2c87db9c7da2bcf80f6e3",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 2592224,
            "kind": "segment_index",
            "locator": "backend/course-capsule-v1/adapters/b95-capability-v1/data/segment-index.jsonl",
            "sha256": "0638468cd071abddd5763dc3937a8d1db1cfccdefeea40876b8e509fdd7eeeb4",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 3335934,
            "kind": "localization_index",
            "locator": "backend/course-capsule-v1/adapters/b95-capability-v1/data/localization-index.jsonl",
            "sha256": "3d90a782e362d8d398ed34406caa23550951dd114fd509819abb3a2ce84327a3",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 2694671,
            "kind": "evidence_index",
            "locator": "backend/course-capsule-v1/adapters/b95-capability-v1/data/evidence-index.jsonl",
            "sha256": "863c7ef7f21f4bf8ebd33c80cf2899f817d1028cc8e83be305174a4c4d2a42a8",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 4047,
            "kind": "release_inventory",
            "locator": "backend/course-capsule-v1/adapters/b95-capability-v1/data/release-inventory.json",
            "sha256": "b1fb2e311639c6950ff72b1e1f716639bd739183bdfc27f0e788f8d5bb5cfbd6",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 16996,
            "kind": "central_adapter_manifest",
            "locator": "backend/course-capsule-v1/adapters/b95-v231/manifest.json",
            "sha256": "817b666b6b547fedf16cb862131295a1638ff43a2660a5b5ab9111bfaa14f697",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 2078,
            "kind": "deterministic_twin_validation",
            "locator": "backend/course-capsule-v1/validation/20260907/B95_TWIN.json",
            "sha256": "9958dbd81327adc4015edeb2f5e9ccfcde1461670558e4844e271d6f2763a537",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 14523,
            "kind": "frozen_owner_specification",
            "locator": "backend/v2.3/specs/20260907/B95.json",
            "sha256": "2d3597cedbf3336fbe0edfff249ef995b2a8d2d13787286fb095d2ac54e1b3a4",
            "verified_date": "2026-09-07"
          }
        ],
        "mapping_scope": "zero_copy_projection_of_21746_native_records_1089_units_448_exercises_826_concepts_859_terms_302_corrections_80_component_rights_and_2231_segments_and_localizations_with_153_public_answer_and_105_o001_gap_identities",
        "public_package": null,
        "status": "verified",
        "zenodo_preservation": "not_established"
      },
      "common_exchange_layer_completion": "verified",
      "dimensions": {
        "accessibility": {
          "mathml": "available_unverified",
          "semantic_html": "not_yet_produced"
        },
        "curriculum": {
          "course_graph": "verified",
          "unit_identity": "verified"
        },
        "educator": {
          "materials": "verified",
          "unit_alignment": "verified"
        },
        "federation": {
          "component_rights": [
            {
              "id": "B95:primary",
              "status": "unknown"
            },
            {
              "id": "B95:b95-current-native-backend",
              "status": "unknown"
            },
            {
              "id": "B95:b95-current-source",
              "status": "unknown"
            }
          ],
          "references": "verified"
        },
        "interoperability": {
          "adapter": "verified",
          "contract": "course-learning-capability/1"
        },
        "learner": {
          "central_tools": 1,
          "delivery": "verified"
        },
        "reproducible_production": {
          "build": "verified",
          "replay": "verified"
        },
        "source_translation_ledger": {
          "corrections": "verified",
          "ledger": "verified"
        },
        "terminology": {
          "register": "verified"
        }
      },
      "educator": {
        "resources": [
          {
            "bytes": 273166,
            "id": "B95:educator-hub-v1",
            "resource_type": "teacher-guide",
            "scope": "Sebanyak 21.746 rekaman native, 1.089 unit, 9 bab, 35 bagian, 448 identitas latihan, 826 konsep, 859 istilah, 302 koreksi, 80 rekaman hak komponen, serta 2.231 segmen dan lokalisasi.",
            "sha256": "ee449d2841ac921ed90d979e1e07a802cc71b4aa3fd96da2295c4ead349dbe69",
            "status": "verified",
            "title": "Pemilih bab, unit, latihan, istilah, dan bukti B95 untuk pengajar",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b95/B95-pengajar.html"
          },
          {
            "bytes": 2052780,
            "id": "B95:educator-map-v1",
            "resource_type": "educator-data",
            "scope": "Peta zero-copy atas sembilan bab, unit yang dapat dipilih, rute PDF, latihan, istilah, koreksi, hak, segmen, dan lokalisasi.",
            "sha256": "3ad3e280ca4ee047cce3170b7e8a659ec63d8c7c82a23b1ba2d3ffeba34f9b09",
            "status": "verified",
            "title": "Peta pengajar atas 1.089 unit native B95",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b95/educator-map.json"
          },
          {
            "bytes": 23667187,
            "id": "B95:native-record-index-v1",
            "resource_type": "identity-index",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan buku, segmen, latihan, jawaban, dan solusi tidak disalin.",
            "sha256": "1443bfaff6d6bc1ebfd93feeb80e3a547e8edcfb05af88d082c2e96988f96304",
            "status": "verified",
            "title": "Indeks 21.746 rekaman native B95",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b95/data/native-record-index.jsonl"
          },
          {
            "bytes": 1661313,
            "id": "B95:unit-index-v1",
            "resource_type": "identity-index",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan buku, segmen, latihan, jawaban, dan solusi tidak disalin.",
            "sha256": "52e0e3bad9a0266ff15896716e28fce222c0e089351f56b6ba065e420cc8b0ab",
            "status": "verified",
            "title": "Indeks 1.089 unit B95",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b95/data/unit-index.jsonl"
          },
          {
            "bytes": 321435,
            "id": "B95:exercise-index-v1",
            "resource_type": "exercise-bank",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan buku, segmen, latihan, jawaban, dan solusi tidak disalin.",
            "sha256": "da583c3342e68dd07217c5ac37dc13e8c93cf6a8d344f283d1b4c655cbdf6c84",
            "status": "verified",
            "title": "Indeks 448 latihan B95",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b95/data/exercise-index.jsonl"
          },
          {
            "bytes": 838856,
            "id": "B95:concept-index-v1",
            "resource_type": "educator-data",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan buku, segmen, latihan, jawaban, dan solusi tidak disalin.",
            "sha256": "33807318c280269bc3771ea0049201f0e6e603cc3402e89083008a4df8b6b8cc",
            "status": "verified",
            "title": "Indeks 826 konsep B95",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b95/data/concept-index.jsonl"
          },
          {
            "bytes": 10057959,
            "id": "B95:relation-index-v1",
            "resource_type": "educator-data",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan buku, segmen, latihan, jawaban, dan solusi tidak disalin.",
            "sha256": "3905367bd15508dc6694e173d62c5b6c51de68e3c92342c7a838cc4e1d9c6e85",
            "status": "verified",
            "title": "Indeks 11.127 relasi B95",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b95/data/relation-index.jsonl"
          },
          {
            "bytes": 1135391,
            "id": "B95:terms-index-v1",
            "resource_type": "terminology-register",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan buku, segmen, latihan, jawaban, dan solusi tidak disalin.",
            "sha256": "260e5dca291b82d372c50bbdf8f84267f8c20e33c06281a0c882f2bd320009b5",
            "status": "verified",
            "title": "Indeks status 859 istilah B95",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b95/data/terms-index.jsonl"
          },
          {
            "bytes": 395526,
            "id": "B95:corrections-index-v1",
            "resource_type": "correction-ledger",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan buku, segmen, latihan, jawaban, dan solusi tidak disalin.",
            "sha256": "b52989704ae63ced020ce01341d56a9dd694f7431c7e9f7cb36f5e003e1584c0",
            "status": "verified",
            "title": "Indeks status 302 koreksi B95",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b95/data/corrections-index.jsonl"
          },
          {
            "bytes": 98145,
            "id": "B95:rights-index-v1",
            "resource_type": "rights-ledger",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan buku, segmen, latihan, jawaban, dan solusi tidak disalin.",
            "sha256": "195a9c82a293475b9b3c3c9f024a933263362f7d7bc2c87db9c7da2bcf80f6e3",
            "status": "verified",
            "title": "Indeks 80 rekaman hak komponen B95",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b95/data/rights-index.jsonl"
          },
          {
            "bytes": 2592224,
            "id": "B95:segment-index-v1",
            "resource_type": "translation-ledger",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan buku, segmen, latihan, jawaban, dan solusi tidak disalin.",
            "sha256": "0638468cd071abddd5763dc3937a8d1db1cfccdefeea40876b8e509fdd7eeeb4",
            "status": "verified",
            "title": "Indeks 2.231 segmen B95",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b95/data/segment-index.jsonl"
          },
          {
            "bytes": 3335934,
            "id": "B95:localization-index-v1",
            "resource_type": "translation-ledger",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan buku, segmen, latihan, jawaban, dan solusi tidak disalin.",
            "sha256": "3d90a782e362d8d398ed34406caa23550951dd114fd509819abb3a2ce84327a3",
            "status": "verified",
            "title": "Indeks 2.231 lokalisasi B95",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b95/data/localization-index.jsonl"
          },
          {
            "bytes": 2694671,
            "id": "B95:evidence-index-v1",
            "resource_type": "evidence-ledger",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan buku, segmen, latihan, jawaban, dan solusi tidak disalin.",
            "sha256": "863c7ef7f21f4bf8ebd33c80cf2899f817d1028cc8e83be305174a4c4d2a42a8",
            "status": "verified",
            "title": "Indeks 2.049 rekaman bukti B95",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b95/data/evidence-index.jsonl"
          },
          {
            "bytes": 4047,
            "id": "B95:release-inventory-v1",
            "resource_type": "release-evidence",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan buku, segmen, latihan, jawaban, dan solusi tidak disalin.",
            "sha256": "b1fb2e311639c6950ff72b1e1f716639bd739183bdfc27f0e788f8d5bb5cfbd6",
            "status": "verified",
            "title": "Inventaris rilis B039 B95",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b95/data/release-inventory.json"
          }
        ],
        "status": "verified",
        "unit_alignment": "verified"
      },
      "layers": {
        "curriculum": {
          "evidence_count": 0,
          "status": "verified"
        },
        "educator": {
          "evidence_count": 1,
          "status": "verified"
        },
        "federation": {
          "evidence_count": 0,
          "status": "verified"
        },
        "interoperability": {
          "evidence_count": 0,
          "status": "verified"
        },
        "learner": {
          "evidence_count": 0,
          "status": "verified"
        },
        "production": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "translation": {
          "evidence_count": 0,
          "status": "available_unverified"
        }
      },
      "learner": {
        "relationship": "directly_consumes_adapter_outputs",
        "tools": [
          {
            "href": "../backend/b95/B95.html",
            "label": "B95 · Statistika Terapan dan Analisis Data"
          }
        ],
        "unit_identity": "verified"
      },
      "native_capability_parity_completion": "verified",
      "native_design_audit": {
        "limitations": [
          "One inherited invalid deferred state prevents clean full-schema replay.",
          "399020415 bytes across 948 files, including 910 evidence files.",
          "Learner delivery remains PDF."
        ],
        "pattern": "Rich incremental 10102-record graph with explicit translation states and a byte-preserved predecessor.",
        "recommended_reuse": [
          "incremental graph",
          "translation-state modeling",
          "byte-preserved predecessor lineage"
        ],
        "status": "historical_comparison_not_new_native_reaudit"
      },
      "native_family_id": "family-11-statistics",
      "native_family_name": "Statistics",
      "next_required_work": [
        "Paket adapter v2.3.1 telah dipertahankan dan dibaca kembali secara anonim dalam rilis pusat v0.63.24.",
        "Selesaikan audit sembilan bidang kemampuan dan bukti penggunaannya; adapter yang lulus tidak otomatis berarti backend lengkap."
      ],
      "role_id": "B95",
      "title": "Statistika Terapan dan Analisis Data",
      "whole_course_backend_completion": "not_yet_proven"
    },
    {
      "common_adapter": {
        "contract": "lebl-learning-capability/1",
        "github_public_evidence": "new_anonymous_source_and_pages_readback",
        "local_evidence": [
          {
            "bytes": 9844,
            "kind": "central_adapter_manifest",
            "locator": "backend/course-capsule-v1/adapters/lebl-capability-v1/manifest.json",
            "sha256": "ae60b4f3257f479da2693970b67c7305c923428c28ded576cca138a6c11b1389",
            "verified_date": "2026-09-04"
          },
          {
            "bytes": 5351,
            "kind": "deterministic_validation_receipt",
            "locator": "backend/course-capsule-v1/adapters/lebl-capability-v1/validation.json",
            "sha256": "79781ee7b3a60f185b1ac17b16187735a8300eb44adad37236b8d0a2dbd2d2cd",
            "verified_date": "2026-09-04"
          },
          {
            "bytes": 3463,
            "kind": "pinned_native_stream_projection",
            "locator": "backend/course-capsule-v1/adapters/lebl-capability-v1/native-evidence-binding.json",
            "sha256": "66f5f204db236638c487db7df72f844f64e99383992817d63b4f129ed586202a",
            "verified_date": "2026-09-04"
          }
        ],
        "mapping_scope": "loss_accounted_native_metadata_with_shared_learner_teacher_and_terminology_views",
        "public_package": null,
        "status": "verified",
        "zenodo_preservation": "not_established"
      },
      "common_exchange_layer_completion": "verified",
      "dimensions": {
        "accessibility": {
          "mathml": "not_yet_produced",
          "semantic_html": "not_yet_produced"
        },
        "curriculum": {
          "course_graph": "verified",
          "unit_identity": "verified"
        },
        "educator": {
          "materials": "verified",
          "unit_alignment": "verified"
        },
        "federation": {
          "component_rights": [
            {
              "id": "C10:primary",
              "status": "unknown"
            }
          ],
          "references": "verified"
        },
        "interoperability": {
          "adapter": "verified",
          "contract": "lebl-learning-capability/1"
        },
        "learner": {
          "central_tools": 3,
          "delivery": "verified"
        },
        "reproducible_production": {
          "build": "unknown",
          "replay": "unknown"
        },
        "source_translation_ledger": {
          "corrections": "unknown",
          "ledger": "unknown"
        },
        "terminology": {
          "register": "verified"
        }
      },
      "educator": {
        "resources": [
          {
            "bytes": 1233613,
            "id": "C10:lebl-educator-v1",
            "resource_type": "teacher-guide",
            "scope": "539 rekaman latihan dalam keluarga Lebl; identitas sumber dipertahankan, unit yang bertumpang tindih bukan beban unik",
            "sha256": "fafcd2bffb5e57b62a2b1d2655885c9ddd3db7d8300b43a3e2be769110834ace",
            "status": "verified",
            "title": "Bank latihan dan penyusun kegiatan C10",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/lebl/C10-pengajar.html"
          }
        ],
        "status": "verified",
        "unit_alignment": "verified"
      },
      "layers": {
        "curriculum": {
          "evidence_count": 0,
          "status": "verified"
        },
        "educator": {
          "evidence_count": 1,
          "status": "verified"
        },
        "federation": {
          "evidence_count": 0,
          "status": "verified"
        },
        "interoperability": {
          "evidence_count": 0,
          "status": "verified"
        },
        "learner": {
          "evidence_count": 0,
          "status": "verified"
        },
        "production": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "translation": {
          "evidence_count": 0,
          "status": "available_unverified"
        }
      },
      "learner": {
        "relationship": "directly_consumes_adapter_outputs",
        "tools": [
          {
            "href": "../backend/lebl/C10-pengajar.html",
            "label": "Susun rencana kegiatan pengajar"
          },
          {
            "href": "../backend/lebl/C10.html",
            "label": "Buku, latihan, dan dukungan sumber"
          },
          {
            "href": "../backend/lebl/istilah.html",
            "label": "Istilah dan alternatif keluarga Lebl"
          }
        ],
        "unit_identity": "verified"
      },
      "native_capability_parity_completion": "not_yet_proven",
      "native_design_audit": {
        "limitations": [
          "All 432 segments are headings rather than reusable prose.",
          "Retained micro-checkpoint history dominates the machinery."
        ],
        "pattern": "UUID/alias family catalog with explicit hint-only/no-answer states and exact legacy-locator checks.",
        "recommended_reuse": [
          "UUID/alias catalog",
          "explicit hint-only and no-answer states",
          "legacy-locator verification"
        ],
        "status": "historical_comparison_not_new_native_reaudit"
      },
      "native_family_id": "family-08-lebl-family",
      "native_family_name": "Lebl family",
      "next_required_work": [
        "Buktikan ledger sumber/penerjemahan asli; status ini tidak menyatakan terjemahan belum selesai.",
        "Buktikan produksi asli yang dapat diulang; build adapter saja bukan bukti build buku.",
        "Selesaikan audit sembilan bidang kemampuan dan bukti penggunaannya; adapter yang lulus tidak otomatis berarti backend lengkap."
      ],
      "role_id": "C10",
      "title": "Analisis Real I",
      "whole_course_backend_completion": "not_yet_proven"
    },
    {
      "common_adapter": {
        "contract": "lebl-learning-capability/1",
        "github_public_evidence": "new_anonymous_source_and_pages_readback",
        "local_evidence": [
          {
            "bytes": 9844,
            "kind": "central_adapter_manifest",
            "locator": "backend/course-capsule-v1/adapters/lebl-capability-v1/manifest.json",
            "sha256": "ae60b4f3257f479da2693970b67c7305c923428c28ded576cca138a6c11b1389",
            "verified_date": "2026-09-04"
          },
          {
            "bytes": 5351,
            "kind": "deterministic_validation_receipt",
            "locator": "backend/course-capsule-v1/adapters/lebl-capability-v1/validation.json",
            "sha256": "79781ee7b3a60f185b1ac17b16187735a8300eb44adad37236b8d0a2dbd2d2cd",
            "verified_date": "2026-09-04"
          },
          {
            "bytes": 3463,
            "kind": "pinned_native_stream_projection",
            "locator": "backend/course-capsule-v1/adapters/lebl-capability-v1/native-evidence-binding.json",
            "sha256": "66f5f204db236638c487db7df72f844f64e99383992817d63b4f129ed586202a",
            "verified_date": "2026-09-04"
          }
        ],
        "mapping_scope": "loss_accounted_native_metadata_with_shared_learner_teacher_and_terminology_views",
        "public_package": null,
        "status": "verified",
        "zenodo_preservation": "not_established"
      },
      "common_exchange_layer_completion": "verified",
      "dimensions": {
        "accessibility": {
          "mathml": "not_yet_produced",
          "semantic_html": "not_yet_produced"
        },
        "curriculum": {
          "course_graph": "verified",
          "unit_identity": "verified"
        },
        "educator": {
          "materials": "verified",
          "unit_alignment": "verified"
        },
        "federation": {
          "component_rights": [
            {
              "id": "C20:primary",
              "status": "unknown"
            }
          ],
          "references": "verified"
        },
        "interoperability": {
          "adapter": "verified",
          "contract": "lebl-learning-capability/1"
        },
        "learner": {
          "central_tools": 3,
          "delivery": "verified"
        },
        "reproducible_production": {
          "build": "unknown",
          "replay": "unknown"
        },
        "source_translation_ledger": {
          "corrections": "unknown",
          "ledger": "unknown"
        },
        "terminology": {
          "register": "verified"
        }
      },
      "educator": {
        "resources": [
          {
            "bytes": 1967595,
            "id": "C20:lebl-educator-v1",
            "resource_type": "teacher-guide",
            "scope": "849 rekaman latihan dalam keluarga Lebl; identitas sumber dipertahankan, unit yang bertumpang tindih bukan beban unik",
            "sha256": "427e8d35b4b8397ef4cb78818b6624bcc1d7ca413de9c70adf27122e98a79c77",
            "status": "verified",
            "title": "Bank latihan dan penyusun kegiatan C20",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/lebl/C20-pengajar.html"
          }
        ],
        "status": "verified",
        "unit_alignment": "verified"
      },
      "layers": {
        "curriculum": {
          "evidence_count": 0,
          "status": "verified"
        },
        "educator": {
          "evidence_count": 1,
          "status": "verified"
        },
        "federation": {
          "evidence_count": 0,
          "status": "verified"
        },
        "interoperability": {
          "evidence_count": 0,
          "status": "verified"
        },
        "learner": {
          "evidence_count": 0,
          "status": "verified"
        },
        "production": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "translation": {
          "evidence_count": 0,
          "status": "available_unverified"
        }
      },
      "learner": {
        "relationship": "directly_consumes_adapter_outputs",
        "tools": [
          {
            "href": "../backend/lebl/C20-pengajar.html",
            "label": "Susun rencana kegiatan pengajar"
          },
          {
            "href": "../backend/lebl/C20.html",
            "label": "Buku, latihan, dan dukungan sumber"
          },
          {
            "href": "../backend/lebl/istilah.html",
            "label": "Istilah dan alternatif keluarga Lebl"
          }
        ],
        "unit_identity": "verified"
      },
      "native_capability_parity_completion": "not_yet_proven",
      "native_design_audit": {
        "limitations": [
          "All 432 segments are headings rather than reusable prose.",
          "Retained micro-checkpoint history dominates the machinery."
        ],
        "pattern": "UUID/alias family catalog with explicit hint-only/no-answer states and exact legacy-locator checks.",
        "recommended_reuse": [
          "UUID/alias catalog",
          "explicit hint-only and no-answer states",
          "legacy-locator verification"
        ],
        "status": "historical_comparison_not_new_native_reaudit"
      },
      "native_family_id": "family-08-lebl-family",
      "native_family_name": "Lebl family",
      "next_required_work": [
        "Buktikan ledger sumber/penerjemahan asli; status ini tidak menyatakan terjemahan belum selesai.",
        "Buktikan produksi asli yang dapat diulang; build adapter saja bukan bukti build buku.",
        "Selesaikan audit sembilan bidang kemampuan dan bukti penggunaannya; adapter yang lulus tidak otomatis berarti backend lengkap."
      ],
      "role_id": "C20",
      "title": "Analisis Real II",
      "whole_course_backend_completion": "not_yet_proven"
    },
    {
      "common_adapter": {
        "contract": "2.3.1",
        "github_public_evidence": "frozen_public_readback",
        "local_evidence": [
          {
            "bytes": 28845,
            "kind": "central_adapter_manifest",
            "locator": "backend/course-capsule-v1/adapters/judson-v231/manifest.json",
            "sha256": "00b80a3f7406c96b375ddb390981dbd0a1f1e3d41e0d240c93b194694521c28a",
            "verified_date": "2026-08-31"
          },
          {
            "bytes": 20715,
            "kind": "canonical_admission_receipt",
            "locator": "backend/course-capsule-v1/adapters/judson-v231/ADMISSION.json",
            "sha256": "0c73d1be90d3a0318b70293eccf7b5ec58b41f323fbb2639b5c12b4451783e74",
            "verified_date": "2026-08-31"
          }
        ],
        "mapping_scope": "reversible_native_two_course_chapter_route_adapter",
        "public_package": {
          "bytes": 16905857,
          "central_record": "https://doi.org/10.5281/zenodo.22303203",
          "sha256": "177eda23cf07dd7d1225a176466f8686bbcdb91c233309f81252dd897a024700",
          "url": "https://github.com/KokunoYumeto/program-matematika-indonesia/releases/download/v0.62.14/program-matematika-indonesia-judson-c30-c40-v2.3.1.zip"
        },
        "status": "verified",
        "zenodo_preservation": "frozen_public_readback"
      },
      "common_exchange_layer_completion": "verified",
      "dimensions": {
        "accessibility": {
          "mathml": "available_unverified",
          "semantic_html": "available_unverified"
        },
        "curriculum": {
          "course_graph": "verified",
          "unit_identity": "unknown"
        },
        "educator": {
          "materials": "unknown",
          "unit_alignment": "unknown"
        },
        "federation": {
          "component_rights": [
            {
              "id": "C30:primary",
              "status": "unknown"
            }
          ],
          "references": "verified"
        },
        "interoperability": {
          "adapter": "verified",
          "contract": "2.3.1"
        },
        "learner": {
          "central_tools": 1,
          "delivery": "available_unverified"
        },
        "reproducible_production": {
          "build": "unknown",
          "replay": "unknown"
        },
        "source_translation_ledger": {
          "corrections": "unknown",
          "ledger": "unknown"
        },
        "terminology": {
          "register": "unknown"
        }
      },
      "educator": {
        "resources": [],
        "status": "unknown",
        "unit_alignment": "unknown"
      },
      "layers": {
        "curriculum": {
          "evidence_count": 0,
          "status": "verified"
        },
        "educator": {
          "evidence_count": 0,
          "status": "unknown"
        },
        "federation": {
          "evidence_count": 0,
          "status": "verified"
        },
        "interoperability": {
          "evidence_count": 0,
          "status": "verified"
        },
        "learner": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "production": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "translation": {
          "evidence_count": 0,
          "status": "available_unverified"
        }
      },
      "learner": {
        "relationship": "directly_consumes_adapter_outputs",
        "tools": [
          {
            "href": "../backend/judson/C30.html",
            "label": "Peta bab & edisi arsip"
          }
        ],
        "unit_identity": "unknown"
      },
      "native_capability_parity_completion": "not_yet_proven",
      "native_design_audit": {
        "limitations": [
          "Course selectors are not exposed as distinct learner navigation.",
          "Semantics rely on custom verifier code beyond the permissive envelope schema."
        ],
        "pattern": "One 3323-unit graph producing two nonduplicating course views with 6505 typed relations, persistent birth/current identities, source-frozen state, corrections, and deterministic self-contained exchange.",
        "recommended_reuse": [
          "one canonical graph with nonduplicating course views",
          "persistent birth/current identities",
          "source-frozen state",
          "typed relations",
          "self-contained exchange"
        ],
        "status": "historical_comparison_not_new_native_reaudit"
      },
      "native_family_id": "family-12-judson",
      "native_family_name": "Judson",
      "next_required_work": [
        "Buktikan ledger sumber/penerjemahan asli; status ini tidak menyatakan terjemahan belum selesai.",
        "Periksa register istilah dan kaitannya dengan teks serta alternatif istilah.",
        "Buktikan produksi asli yang dapat diulang; build adapter saja bukan bukti build buku.",
        "Hubungkan bahan pengajar dengan identitas unit/latihan yang dipakai pelajar.",
        "Selesaikan audit sembilan bidang kemampuan dan bukti penggunaannya; adapter yang lulus tidak otomatis berarti backend lengkap."
      ],
      "role_id": "C30",
      "title": "Aljabar Abstrak I",
      "whole_course_backend_completion": "not_yet_proven"
    },
    {
      "common_adapter": {
        "contract": "2.3.1",
        "github_public_evidence": "frozen_public_readback",
        "local_evidence": [
          {
            "bytes": 28845,
            "kind": "central_adapter_manifest",
            "locator": "backend/course-capsule-v1/adapters/judson-v231/manifest.json",
            "sha256": "00b80a3f7406c96b375ddb390981dbd0a1f1e3d41e0d240c93b194694521c28a",
            "verified_date": "2026-08-31"
          },
          {
            "bytes": 20715,
            "kind": "canonical_admission_receipt",
            "locator": "backend/course-capsule-v1/adapters/judson-v231/ADMISSION.json",
            "sha256": "0c73d1be90d3a0318b70293eccf7b5ec58b41f323fbb2639b5c12b4451783e74",
            "verified_date": "2026-08-31"
          }
        ],
        "mapping_scope": "reversible_native_two_course_chapter_route_adapter",
        "public_package": {
          "bytes": 16905857,
          "central_record": "https://doi.org/10.5281/zenodo.22303203",
          "sha256": "177eda23cf07dd7d1225a176466f8686bbcdb91c233309f81252dd897a024700",
          "url": "https://github.com/KokunoYumeto/program-matematika-indonesia/releases/download/v0.62.14/program-matematika-indonesia-judson-c30-c40-v2.3.1.zip"
        },
        "status": "verified",
        "zenodo_preservation": "frozen_public_readback"
      },
      "common_exchange_layer_completion": "verified",
      "dimensions": {
        "accessibility": {
          "mathml": "available_unverified",
          "semantic_html": "available_unverified"
        },
        "curriculum": {
          "course_graph": "verified",
          "unit_identity": "unknown"
        },
        "educator": {
          "materials": "unknown",
          "unit_alignment": "unknown"
        },
        "federation": {
          "component_rights": [
            {
              "id": "C40:primary",
              "status": "unknown"
            }
          ],
          "references": "verified"
        },
        "interoperability": {
          "adapter": "verified",
          "contract": "2.3.1"
        },
        "learner": {
          "central_tools": 1,
          "delivery": "available_unverified"
        },
        "reproducible_production": {
          "build": "unknown",
          "replay": "unknown"
        },
        "source_translation_ledger": {
          "corrections": "unknown",
          "ledger": "unknown"
        },
        "terminology": {
          "register": "unknown"
        }
      },
      "educator": {
        "resources": [],
        "status": "unknown",
        "unit_alignment": "unknown"
      },
      "layers": {
        "curriculum": {
          "evidence_count": 0,
          "status": "verified"
        },
        "educator": {
          "evidence_count": 0,
          "status": "unknown"
        },
        "federation": {
          "evidence_count": 0,
          "status": "verified"
        },
        "interoperability": {
          "evidence_count": 0,
          "status": "verified"
        },
        "learner": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "production": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "translation": {
          "evidence_count": 0,
          "status": "available_unverified"
        }
      },
      "learner": {
        "relationship": "directly_consumes_adapter_outputs",
        "tools": [
          {
            "href": "../backend/judson/C40.html",
            "label": "Peta bab & edisi arsip"
          }
        ],
        "unit_identity": "unknown"
      },
      "native_capability_parity_completion": "not_yet_proven",
      "native_design_audit": {
        "limitations": [
          "Course selectors are not exposed as distinct learner navigation.",
          "Semantics rely on custom verifier code beyond the permissive envelope schema."
        ],
        "pattern": "One 3323-unit graph producing two nonduplicating course views with 6505 typed relations, persistent birth/current identities, source-frozen state, corrections, and deterministic self-contained exchange.",
        "recommended_reuse": [
          "one canonical graph with nonduplicating course views",
          "persistent birth/current identities",
          "source-frozen state",
          "typed relations",
          "self-contained exchange"
        ],
        "status": "historical_comparison_not_new_native_reaudit"
      },
      "native_family_id": "family-12-judson",
      "native_family_name": "Judson",
      "next_required_work": [
        "Buktikan ledger sumber/penerjemahan asli; status ini tidak menyatakan terjemahan belum selesai.",
        "Periksa register istilah dan kaitannya dengan teks serta alternatif istilah.",
        "Buktikan produksi asli yang dapat diulang; build adapter saja bukan bukti build buku.",
        "Hubungkan bahan pengajar dengan identitas unit/latihan yang dipakai pelajar.",
        "Selesaikan audit sembilan bidang kemampuan dan bukti penggunaannya; adapter yang lulus tidak otomatis berarti backend lengkap."
      ],
      "role_id": "C40",
      "title": "Aljabar Abstrak II",
      "whole_course_backend_completion": "not_yet_proven"
    },
    {
      "common_adapter": {
        "contract": "lebl-learning-capability/1",
        "github_public_evidence": "new_anonymous_source_and_pages_readback",
        "local_evidence": [
          {
            "bytes": 9844,
            "kind": "central_adapter_manifest",
            "locator": "backend/course-capsule-v1/adapters/lebl-capability-v1/manifest.json",
            "sha256": "ae60b4f3257f479da2693970b67c7305c923428c28ded576cca138a6c11b1389",
            "verified_date": "2026-09-04"
          },
          {
            "bytes": 5351,
            "kind": "deterministic_validation_receipt",
            "locator": "backend/course-capsule-v1/adapters/lebl-capability-v1/validation.json",
            "sha256": "79781ee7b3a60f185b1ac17b16187735a8300eb44adad37236b8d0a2dbd2d2cd",
            "verified_date": "2026-09-04"
          },
          {
            "bytes": 3463,
            "kind": "pinned_native_stream_projection",
            "locator": "backend/course-capsule-v1/adapters/lebl-capability-v1/native-evidence-binding.json",
            "sha256": "66f5f204db236638c487db7df72f844f64e99383992817d63b4f129ed586202a",
            "verified_date": "2026-09-04"
          }
        ],
        "mapping_scope": "loss_accounted_native_metadata_with_shared_learner_teacher_and_terminology_views",
        "public_package": null,
        "status": "verified",
        "zenodo_preservation": "not_established"
      },
      "common_exchange_layer_completion": "verified",
      "dimensions": {
        "accessibility": {
          "mathml": "not_yet_produced",
          "semantic_html": "not_yet_produced"
        },
        "curriculum": {
          "course_graph": "verified",
          "unit_identity": "verified"
        },
        "educator": {
          "materials": "verified",
          "unit_alignment": "verified"
        },
        "federation": {
          "component_rights": [
            {
              "id": "C50:primary",
              "status": "unknown"
            }
          ],
          "references": "verified"
        },
        "interoperability": {
          "adapter": "verified",
          "contract": "lebl-learning-capability/1"
        },
        "learner": {
          "central_tools": 3,
          "delivery": "verified"
        },
        "reproducible_production": {
          "build": "unknown",
          "replay": "unknown"
        },
        "source_translation_ledger": {
          "corrections": "unknown",
          "ledger": "unknown"
        },
        "terminology": {
          "register": "verified"
        }
      },
      "educator": {
        "resources": [
          {
            "bytes": 1439480,
            "id": "C50:lebl-educator-v1",
            "resource_type": "teacher-guide",
            "scope": "607 rekaman latihan dalam keluarga Lebl; identitas sumber dipertahankan, unit yang bertumpang tindih bukan beban unik",
            "sha256": "05a42c0d212e26586525d40e85dc61c2fb98d8102f6cc5db14dedd14719c9122",
            "status": "verified",
            "title": "Bank latihan dan penyusun kegiatan C50",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/lebl/C50-pengajar.html"
          }
        ],
        "status": "verified",
        "unit_alignment": "verified"
      },
      "layers": {
        "curriculum": {
          "evidence_count": 0,
          "status": "verified"
        },
        "educator": {
          "evidence_count": 1,
          "status": "verified"
        },
        "federation": {
          "evidence_count": 0,
          "status": "verified"
        },
        "interoperability": {
          "evidence_count": 0,
          "status": "verified"
        },
        "learner": {
          "evidence_count": 0,
          "status": "verified"
        },
        "production": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "translation": {
          "evidence_count": 0,
          "status": "available_unverified"
        }
      },
      "learner": {
        "relationship": "directly_consumes_adapter_outputs",
        "tools": [
          {
            "href": "../backend/lebl/C50-pengajar.html",
            "label": "Susun rencana kegiatan pengajar"
          },
          {
            "href": "../backend/lebl/C50.html",
            "label": "Buku, latihan, dan dukungan sumber"
          },
          {
            "href": "../backend/lebl/istilah.html",
            "label": "Istilah dan alternatif keluarga Lebl"
          }
        ],
        "unit_identity": "verified"
      },
      "native_capability_parity_completion": "not_yet_proven",
      "native_design_audit": {
        "limitations": [
          "All 432 segments are headings rather than reusable prose.",
          "Retained micro-checkpoint history dominates the machinery."
        ],
        "pattern": "UUID/alias family catalog with explicit hint-only/no-answer states and exact legacy-locator checks.",
        "recommended_reuse": [
          "UUID/alias catalog",
          "explicit hint-only and no-answer states",
          "legacy-locator verification"
        ],
        "status": "historical_comparison_not_new_native_reaudit"
      },
      "native_family_id": "family-08-lebl-family",
      "native_family_name": "Lebl family",
      "next_required_work": [
        "Buktikan ledger sumber/penerjemahan asli; status ini tidak menyatakan terjemahan belum selesai.",
        "Buktikan produksi asli yang dapat diulang; build adapter saja bukan bukti build buku.",
        "Selesaikan audit sembilan bidang kemampuan dan bukti penggunaannya; adapter yang lulus tidak otomatis berarti backend lengkap."
      ],
      "role_id": "C50",
      "title": "Analisis Kompleks",
      "whole_course_backend_completion": "not_yet_proven"
    },
    {
      "common_adapter": {
        "contract": "course-learning-capability/1",
        "github_public_evidence": "new_anonymous_source_and_pages_readback",
        "local_evidence": [
          {
            "bytes": 19853,
            "kind": "central_adapter_manifest",
            "locator": "backend/course-capsule-v1/adapters/c60-capability-v1/manifest.json",
            "sha256": "f0f9eae897f65c9c3815de5bc8200b1896dc6adbe44e94993b39291b460501d3",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 8271,
            "kind": "deterministic_validation_receipt",
            "locator": "backend/course-capsule-v1/adapters/c60-capability-v1/validation.json",
            "sha256": "f6e68b03f77adb2e7c9b51eca9adb1a5d7a0e55a1d0a90befc00ee48e5c83273",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 31777,
            "kind": "dual_revision_native_source_lock",
            "locator": "backend/course-capsule-v1/adapters/c60-capability-v1/input/source-lock.json",
            "sha256": "32459a6dbc74be08b0deb70d2480efb910770d43952ac4b45dcf1afca980aa8b",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 4487,
            "kind": "verified_native_public_evidence",
            "locator": "backend/course-capsule-v1/adapters/c60-capability-v1/data/public-evidence.json",
            "sha256": "9f25a24a9b0623e04710f2bfb068f65c00bf4adfd3631a2110e95e8b74bada80",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 397175,
            "kind": "component_rights_terminology_and_corrections",
            "locator": "backend/course-capsule-v1/adapters/c60-capability-v1/data/rights-and-terms.json",
            "sha256": "95ffac6186e159004a7df0c319298e1bc2ac897414263dac69acfb771cbd5881",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 2813,
            "kind": "native_and_reversible_migration_ledgers",
            "locator": "backend/course-capsule-v1/adapters/c60-capability-v1/data/ledger-references.json",
            "sha256": "b509b3bb03d6fdafb9ad4281663dc0d35c5c2e06229ef5cb2ff333a69d952c38",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 1005965,
            "kind": "complete_native_id_index",
            "locator": "backend/course-capsule-v1/adapters/c60-capability-v1/data/native-id-index.json",
            "sha256": "790b17d30dc995c22c3a91c5dbbe71ff23911626992d0dd4f52f1f1b57972722",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 260110,
            "kind": "complete_concept_index",
            "locator": "backend/course-capsule-v1/adapters/c60-capability-v1/data/concept-index.json",
            "sha256": "01203cf15f1279ab3db25c25abfc95d34fb8852dfb46a38a5b0dfd1cbf6df439",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 1436900,
            "kind": "complete_relation_index",
            "locator": "backend/course-capsule-v1/adapters/c60-capability-v1/data/relation-index.json",
            "sha256": "28fcd3035e3f1bc79d62cc14adfcb1b9ae2e4684699d8c41a39d6f9012ff029d",
            "verified_date": "2026-09-06"
          }
        ],
        "mapping_scope": "zero_copy_projection_of_5272_native_ids_548_units_223_concepts_3297_relations_101_exercises_239_terms_141_corrections_15_rights_and_existing_6967_record_reversible_migration",
        "public_package": null,
        "status": "verified",
        "zenodo_preservation": "not_established"
      },
      "common_exchange_layer_completion": "verified",
      "dimensions": {
        "accessibility": {
          "mathml": "verified",
          "semantic_html": "verified"
        },
        "curriculum": {
          "course_graph": "verified",
          "unit_identity": "verified"
        },
        "educator": {
          "materials": "verified",
          "unit_alignment": "verified"
        },
        "federation": {
          "component_rights": [
            {
              "id": "C60:primary",
              "status": "unknown"
            }
          ],
          "references": "verified"
        },
        "interoperability": {
          "adapter": "verified",
          "contract": "course-learning-capability/1"
        },
        "learner": {
          "central_tools": 1,
          "delivery": "verified"
        },
        "reproducible_production": {
          "build": "verified",
          "replay": "verified"
        },
        "source_translation_ledger": {
          "corrections": "verified",
          "ledger": "verified"
        },
        "terminology": {
          "register": "verified"
        }
      },
      "educator": {
        "resources": [
          {
            "bytes": 1284673,
            "id": "C60:educator-hub-v1",
            "resource_type": "teacher-guide",
            "scope": "Seluruh 5.272 ID native, 548 unit, 223 konsep, 3.297 relasi, 101 latihan, 239 istilah, 141 koreksi, 15 rekaman hak, lima bab, dan 27 bagian; proyeksi common 6.967 rekaman tetap reversibel dan zero-copy.",
            "sha256": "e7b5f20829578112f485bf3c74b8ad8c542a63306bf6e53e49ab9bc837caadb6",
            "status": "verified",
            "title": "Pemilih unit, konsep, latihan, istilah, dan koreksi C60",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/c60/C60-pengajar.html"
          },
          {
            "bytes": 1281263,
            "id": "C60:educator-map-v1",
            "resource_type": "educator-data",
            "scope": "Peta zero-copy atas hierarki unit, konsep, latihan, koreksi, supersesi, dan rute pembaca.",
            "sha256": "81eb46d38de36059a83af95453476573d348f35596bfae928b6e7eb0aa6bd862",
            "status": "verified",
            "title": "Peta pengajar atas seluruh 548 unit native C60",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/c60/educator-map.json"
          },
          {
            "bytes": 260110,
            "id": "C60:concept-index-v1",
            "resource_type": "educator-data",
            "scope": "Indeks konsep native dan rute pembaca tanpa menyalin badan buku.",
            "sha256": "01203cf15f1279ab3db25c25abfc95d34fb8852dfb46a38a5b0dfd1cbf6df439",
            "status": "verified",
            "title": "Indeks 223 konsep C60",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/c60/concept-index.json"
          },
          {
            "bytes": 1436900,
            "id": "C60:relation-index-v1",
            "resource_type": "educator-data",
            "scope": "Seluruh relasi native, termasuk 192 prasyarat konsep dan 398 relasi latihan-konsep.",
            "sha256": "28fcd3035e3f1bc79d62cc14adfcb1b9ae2e4684699d8c41a39d6f9012ff029d",
            "status": "verified",
            "title": "Indeks 3.297 relasi native C60",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/c60/relation-index.json"
          },
          {
            "bytes": 397175,
            "id": "C60:rights-and-terms-v1",
            "resource_type": "terminology-register",
            "scope": "Hak, istilah, dan koreksi dipertahankan pada identitas native tanpa lisensi payung.",
            "sha256": "95ffac6186e159004a7df0c319298e1bc2ac897414263dac69acfb771cbd5881",
            "status": "verified",
            "title": "Hak komponen, 239 istilah, dan 141 koreksi C60",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/c60/rights-and-terms.json"
          },
          {
            "bytes": 2813,
            "id": "C60:ledger-references-v1",
            "resource_type": "provenance-ledger",
            "scope": "Rujukan sumber, target, build, dan migrasi; badan materi tidak disalin.",
            "sha256": "b509b3bb03d6fdafb9ad4281663dc0d35c5c2e06229ef5cb2ff333a69d952c38",
            "status": "verified",
            "title": "Rujukan ledger dan migrasi reversibel C60",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/c60/ledger-references.json"
          },
          {
            "bytes": 1005965,
            "id": "C60:native-id-index-v1",
            "resource_type": "identity-index",
            "scope": "Indeks identitas dan hash native lengkap untuk replay dan pemeriksaan silang.",
            "sha256": "790b17d30dc995c22c3a91c5dbbe71ff23911626992d0dd4f52f1f1b57972722",
            "status": "verified",
            "title": "Indeks hash seluruh 5.272 ID native C60",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/c60/native-id-index.json"
          }
        ],
        "status": "verified",
        "unit_alignment": "verified"
      },
      "layers": {
        "curriculum": {
          "evidence_count": 0,
          "status": "verified"
        },
        "educator": {
          "evidence_count": 1,
          "status": "verified"
        },
        "federation": {
          "evidence_count": 0,
          "status": "verified"
        },
        "interoperability": {
          "evidence_count": 0,
          "status": "verified"
        },
        "learner": {
          "evidence_count": 0,
          "status": "verified"
        },
        "production": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "translation": {
          "evidence_count": 0,
          "status": "available_unverified"
        }
      },
      "learner": {
        "relationship": "directly_consumes_adapter_outputs",
        "tools": [
          {
            "href": "../backend/c60/C60.html",
            "label": "C60 · Teori Bilangan dan Kriptologi"
          }
        ],
        "unit_identity": "verified"
      },
      "native_capability_parity_completion": "verified",
      "native_design_audit": {
        "limitations": [
          "Duplicated JSON, CSV, and XLSX.",
          "High evidence burden.",
          "TeX still drives the reader."
        ],
        "pattern": "Broad bilingual entity/event graph with concepts, prerequisites, corrections, rights, and many reversible projections.",
        "recommended_reuse": [
          "bilingual entity/event graph",
          "concept and prerequisite relations",
          "correction and rights records",
          "reversible projections"
        ],
        "status": "historical_comparison_not_new_native_reaudit"
      },
      "native_family_id": "family-13-number-theory",
      "native_family_name": "Number Theory",
      "next_required_work": [
        "Selesaikan audit sembilan bidang kemampuan dan bukti penggunaannya; adapter yang lulus tidak otomatis berarti backend lengkap."
      ],
      "role_id": "C60",
      "title": "Teori Bilangan dan Kriptologi",
      "whole_course_backend_completion": "not_yet_proven"
    },
    {
      "common_adapter": {
        "contract": "course-learning-capability/1",
        "github_public_evidence": "new_anonymous_source_and_pages_readback",
        "local_evidence": [
          {
            "bytes": 11425,
            "kind": "central_adapter_manifest",
            "locator": "backend/course-capsule-v1/adapters/c70-capability-v1/manifest.json",
            "sha256": "0ac8d3c8b9629cca64b81b1af32893b43806f5ff032d577747dfb46877454e9f",
            "verified_date": "2026-09-05"
          },
          {
            "bytes": 7141,
            "kind": "deterministic_validation_receipt",
            "locator": "backend/course-capsule-v1/adapters/c70-capability-v1/validation.json",
            "sha256": "19a67f0dbca42042769a1acfa175a0f0e9c7c5f6c284dd8d16ef869af4033363",
            "verified_date": "2026-09-05"
          },
          {
            "bytes": 7499,
            "kind": "native_migration_and_public_source_lock",
            "locator": "backend/course-capsule-v1/adapters/c70-capability-v1/input/source-lock.json",
            "sha256": "780fb69f8d79165242dca1ea8c9a0c55a356d6842234656ce77241d3bf0a7c50",
            "verified_date": "2026-09-05"
          },
          {
            "bytes": 17532,
            "kind": "anonymous_native_public_readback",
            "locator": "backend/course-capsule-v1/adapters/c70-capability-v1/input/public-native-readback.json",
            "sha256": "15cd05b868ce751a5a98fb49bef107076286e772374c048411e396213801a6d5",
            "verified_date": "2026-09-05"
          },
          {
            "bytes": 2713093,
            "kind": "component_rights_terminology_and_corrections",
            "locator": "backend/course-capsule-v1/adapters/c70-capability-v1/data/rights-and-terms.json",
            "sha256": "5ee3a71ff2a144faeee940eca60c929910110dceeb4cddd3125f21c8107b74fb",
            "verified_date": "2026-09-05"
          },
          {
            "bytes": 6320,
            "kind": "native_and_reversible_migration_ledgers",
            "locator": "backend/course-capsule-v1/adapters/c70-capability-v1/data/ledger-references.json",
            "sha256": "261c3a3f17db99678f599b6ded4bb62b6808a031c372bdd2bb3078c6159f3d80",
            "verified_date": "2026-09-05"
          },
          {
            "bytes": 338705,
            "kind": "complete_concept_index",
            "locator": "backend/course-capsule-v1/adapters/c70-capability-v1/data/concept-index.json",
            "sha256": "3b6cb818b900cb14d71db6daba8d1c88c46f605b655db7ac87914c951c5fe34a",
            "verified_date": "2026-09-05"
          },
          {
            "bytes": 1693427,
            "kind": "complete_relation_index",
            "locator": "backend/course-capsule-v1/adapters/c70-capability-v1/data/relation-index.json",
            "sha256": "9cc29c8dc458aac335f35662d031f863e302c5e28fb2b3faaf485aa92cf5d599",
            "verified_date": "2026-09-05"
          }
        ],
        "mapping_scope": "zero_copy_projection_of_1408_native_units_6334_relations_701_concepts_407_exercises_82_explicit_support_relations_633_terms_354_corrections_and_existing_19048_record_reversible_migration",
        "public_package": null,
        "status": "verified",
        "zenodo_preservation": "not_established"
      },
      "common_exchange_layer_completion": "verified",
      "dimensions": {
        "accessibility": {
          "mathml": "not_yet_produced",
          "semantic_html": "verified"
        },
        "curriculum": {
          "course_graph": "verified",
          "unit_identity": "verified"
        },
        "educator": {
          "materials": "verified",
          "unit_alignment": "verified"
        },
        "federation": {
          "component_rights": [
            {
              "id": "C70:primary",
              "status": "unknown"
            }
          ],
          "references": "verified"
        },
        "interoperability": {
          "adapter": "verified",
          "contract": "course-learning-capability/1"
        },
        "learner": {
          "central_tools": 1,
          "delivery": "verified"
        },
        "reproducible_production": {
          "build": "verified",
          "replay": "verified"
        },
        "source_translation_ledger": {
          "corrections": "verified",
          "ledger": "verified"
        },
        "terminology": {
          "register": "verified"
        }
      },
      "educator": {
        "resources": [
          {
            "bytes": 2630068,
            "id": "C70:educator-hub-v1",
            "resource_type": "teacher-guide",
            "scope": "Sembilan belas blok belajar, seluruh 1.408 unit native, 6.334 relasi, 701 konsep, 407 latihan, 82 pasangan dukungan eksplisit, 633 istilah, 354 koreksi, dan proyeksi common-v1 reversibel 19.049 rekaman. Ekspor JSON mempertahankan hanya relasi dukungan yang dinyatakan native.",
            "sha256": "8fdc6a9644230646406a90e36620d72b184e7c8677f712e2f557cb9761430d66",
            "status": "verified",
            "title": "Pemilih unit, konsep, dan dukungan latihan C70 untuk pengajar",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/c70/C70-pengajar.html"
          },
          {
            "bytes": 2194298,
            "id": "C70:educator-map-v1",
            "resource_type": "educator-data",
            "scope": "Data pemilih unit dengan hierarki, hash, konsep, dan pasangan dukungan eksplisit tanpa badan buku.",
            "sha256": "0cea92863de70891c528ae4953d4d0a09492f20afe5f65ec75fb372aa21713f9",
            "status": "verified",
            "title": "Peta 1.408 unit native dan 82 dukungan latihan C70",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/c70/educator-map.json"
          },
          {
            "bytes": 338705,
            "id": "C70:concept-index-v1",
            "resource_type": "educator-data",
            "scope": "Indeks konsep native dengan penggunaan unit dan istilah terkait.",
            "sha256": "3b6cb818b900cb14d71db6daba8d1c88c46f605b655db7ac87914c951c5fe34a",
            "status": "verified",
            "title": "Indeks 701 konsep C70",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/c70/concept-index.json"
          },
          {
            "bytes": 1693427,
            "id": "C70:relation-index-v1",
            "resource_type": "educator-data",
            "scope": "Seluruh relasi native dan proyeksi nonduplikatif 82 dukungan latihan.",
            "sha256": "9cc29c8dc458aac335f35662d031f863e302c5e28fb2b3faaf485aa92cf5d599",
            "status": "verified",
            "title": "Indeks 6.334 relasi native C70",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/c70/relation-index.json"
          }
        ],
        "status": "verified",
        "unit_alignment": "verified"
      },
      "layers": {
        "curriculum": {
          "evidence_count": 0,
          "status": "verified"
        },
        "educator": {
          "evidence_count": 1,
          "status": "verified"
        },
        "federation": {
          "evidence_count": 0,
          "status": "verified"
        },
        "interoperability": {
          "evidence_count": 0,
          "status": "verified"
        },
        "learner": {
          "evidence_count": 0,
          "status": "verified"
        },
        "production": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "translation": {
          "evidence_count": 0,
          "status": "available_unverified"
        }
      },
      "learner": {
        "relationship": "directly_consumes_adapter_outputs",
        "tools": [
          {
            "href": "../backend/c70/C70.html",
            "label": "C70 · Kombinatorika Terapan"
          }
        ],
        "unit_identity": "verified"
      },
      "native_capability_parity_completion": "verified",
      "native_design_audit": {
        "limitations": [
          "Huge source and reader inventories.",
          "High exporter/validator burden.",
          "One queued mapping in the terminal release."
        ],
        "pattern": "Exact parallel source/target PreTeXt graphs with 19048 records and a strong concept/prerequisite model.",
        "recommended_reuse": [
          "parallel source/target graphs",
          "concept/prerequisite model",
          "portable PreTeXt representation"
        ],
        "status": "historical_comparison_not_new_native_reaudit"
      },
      "native_family_id": "family-14-applied-combinatorics",
      "native_family_name": "Applied Combinatorics",
      "next_required_work": [
        "Selesaikan audit sembilan bidang kemampuan dan bukti penggunaannya; adapter yang lulus tidak otomatis berarti backend lengkap."
      ],
      "role_id": "C70",
      "title": "Kombinatorika Terapan",
      "whole_course_backend_completion": "not_yet_proven"
    },
    {
      "common_adapter": {
        "contract": "2.3.1",
        "github_public_evidence": "frozen_public_readback",
        "local_evidence": [
          {
            "bytes": 22315,
            "kind": "central_adapter_manifest",
            "locator": "backend/course-capsule-v1/adapters/openlogic-v231/manifest.json",
            "sha256": "01974670c902a50d3e0166214f665286e0030a270a781a56413976be52ca4b01",
            "verified_date": "2026-08-31"
          },
          {
            "bytes": 13623,
            "kind": "canonical_admission_receipt",
            "locator": "backend/course-capsule-v1/adapters/openlogic-v231/ADMISSION.json",
            "sha256": "2a86c41e92f9c9ef7e215448967998504bd4c16e7ba8e680d795d155aebef9a7",
            "verified_date": "2026-08-31"
          },
          {
            "bytes": 2867,
            "kind": "learner_route_validation",
            "locator": "docs/backend/openlogic/validation.json",
            "sha256": "bdb7b1d7d2c8803dae9d3bc2ef83701abeacb18f306fb324a2b3f376d1c97efc",
            "verified_date": "2026-08-31"
          }
        ],
        "mapping_scope": "reversible_native_course_route_adapter",
        "public_package": {
          "bytes": 2409875,
          "central_record": "https://doi.org/10.5281/zenodo.22303203",
          "sha256": "eb4293a9745dd7c6f98f7c94c05d214e4dfc904ef5dda3afea571e0ee1363673",
          "url": "https://github.com/KokunoYumeto/program-matematika-indonesia/releases/download/v0.62.14/program-matematika-indonesia-openlogic-c80-v2.3.1.zip"
        },
        "status": "verified",
        "zenodo_preservation": "frozen_public_readback"
      },
      "common_exchange_layer_completion": "verified",
      "dimensions": {
        "accessibility": {
          "mathml": "not_yet_produced",
          "semantic_html": "not_yet_produced"
        },
        "curriculum": {
          "course_graph": "verified",
          "unit_identity": "unknown"
        },
        "educator": {
          "materials": "unknown",
          "unit_alignment": "unknown"
        },
        "federation": {
          "component_rights": [
            {
              "id": "C80:primary",
              "status": "unknown"
            }
          ],
          "references": "verified"
        },
        "interoperability": {
          "adapter": "verified",
          "contract": "2.3.1"
        },
        "learner": {
          "central_tools": 1,
          "delivery": "available_unverified"
        },
        "reproducible_production": {
          "build": "unknown",
          "replay": "unknown"
        },
        "source_translation_ledger": {
          "corrections": "unknown",
          "ledger": "unknown"
        },
        "terminology": {
          "register": "unknown"
        }
      },
      "educator": {
        "resources": [],
        "status": "unknown",
        "unit_alignment": "unknown"
      },
      "layers": {
        "curriculum": {
          "evidence_count": 0,
          "status": "verified"
        },
        "educator": {
          "evidence_count": 0,
          "status": "unknown"
        },
        "federation": {
          "evidence_count": 0,
          "status": "verified"
        },
        "interoperability": {
          "evidence_count": 0,
          "status": "verified"
        },
        "learner": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "production": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "translation": {
          "evidence_count": 0,
          "status": "available_unverified"
        }
      },
      "learner": {
        "relationship": "course_link_only_no_adapter_consumption_claim",
        "tools": [
          {
            "href": "../backend/openlogic/C80.html",
            "label": "Buka Open Logic lengkap"
          }
        ],
        "unit_identity": "unknown"
      },
      "native_capability_parity_completion": "not_yet_proven",
      "native_design_audit": {
        "limitations": [
          "Not a normalized semantic backend.",
          "No course navigation or HTML.",
          "Toolchain pinning is incomplete."
        ],
        "pattern": "A 722-module TeX source overlay with an exact 642-reader/80-retained-source distinction, frozen import closure, and complete evidence.",
        "recommended_reuse": [
          "module-level preservation unitization",
          "reader-versus-retained-source distinction",
          "frozen import closure"
        ],
        "status": "historical_comparison_not_new_native_reaudit"
      },
      "native_family_id": "family-15-open-logic",
      "native_family_name": "Open Logic",
      "next_required_work": [
        "Buktikan ledger sumber/penerjemahan asli; status ini tidak menyatakan terjemahan belum selesai.",
        "Periksa register istilah dan kaitannya dengan teks serta alternatif istilah.",
        "Buktikan produksi asli yang dapat diulang; build adapter saja bukan bukti build buku.",
        "Hubungkan bahan pengajar dengan identitas unit/latihan yang dipakai pelajar.",
        "Selesaikan audit sembilan bidang kemampuan dan bukti penggunaannya; adapter yang lulus tidak otomatis berarti backend lengkap."
      ],
      "role_id": "C80",
      "title": "Logika Matematis, Teori Himpunan, dan Komputabilitas",
      "whole_course_backend_completion": "not_yet_proven"
    },
    {
      "common_adapter": {
        "contract": "topology-learning-capability/1",
        "github_public_evidence": "new_anonymous_source_and_pages_readback",
        "local_evidence": [
          {
            "bytes": 23619,
            "kind": "central_adapter_manifest",
            "locator": "backend/course-capsule-v1/adapters/topology-capability-v1/manifest.json",
            "sha256": "b735ec46e7e867e81900fd2b03e3852fab84260d248fcd3bc122d208ce197f40",
            "verified_date": "2026-09-04"
          },
          {
            "bytes": 1814,
            "kind": "deterministic_validation_receipt",
            "locator": "backend/course-capsule-v1/adapters/topology-capability-v1/validation.json",
            "sha256": "c7265477f168112a5a0ec26e6d09dea0313896854c97eead4ce11c1eba9ff448",
            "verified_date": "2026-09-04"
          },
          {
            "bytes": 41541,
            "kind": "native_metadata_intake",
            "locator": "backend/course-capsule-v1/adapters/topology-capability-v1/input/source-lock.json",
            "sha256": "9836ff9bf77dfe07296b38f3caa4d4a349235fbadf472e044b04954820146479",
            "verified_date": "2026-09-04"
          }
        ],
        "mapping_scope": "complete_native_chapter_companion_completion_and_staged_support_metadata_with_zero_copy_reader_destinations_and_preserved_pending_states",
        "public_package": null,
        "status": "verified",
        "zenodo_preservation": "not_established"
      },
      "common_exchange_layer_completion": "verified",
      "dimensions": {
        "accessibility": {
          "mathml": "available_unverified",
          "semantic_html": "available_unverified"
        },
        "curriculum": {
          "course_graph": "verified",
          "unit_identity": "verified"
        },
        "educator": {
          "materials": "verified",
          "unit_alignment": "verified"
        },
        "federation": {
          "component_rights": [
            {
              "id": "C90:primary",
              "status": "unknown"
            }
          ],
          "references": "verified"
        },
        "interoperability": {
          "adapter": "verified",
          "contract": "topology-learning-capability/1"
        },
        "learner": {
          "central_tools": 1,
          "delivery": "available_unverified"
        },
        "reproducible_production": {
          "build": "unknown",
          "replay": "unknown"
        },
        "source_translation_ledger": {
          "corrections": "unknown",
          "ledger": "unknown"
        },
        "terminology": {
          "register": "verified"
        }
      },
      "educator": {
        "resources": [
          {
            "id": "C90:native-reader-observation",
            "resource_type": "teacher-guide",
            "scope": "Permukaan native yang mendasari adapter; status historis dipertahankan.",
            "status": "available_unverified",
            "title": "Pembaca dan dukungan native topologi",
            "url": "https://kokunoyumeto.github.io/topology-an-inquiry-based-approach-id/reader/complete/"
          },
          {
            "bytes": 7646161,
            "id": "C90:topology-educator-v1",
            "resource_type": "teacher-guide",
            "scope": "1.227 rekaman/4.908 tujuan; 20 bab + 8 modul.",
            "sha256": "bd8507edbba240c820d97c057e6d7bd96f1a76b97b8950966c45862bed245113",
            "status": "verified",
            "title": "Penyusun paket kegiatan topologi",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/topology/pengajar.html"
          }
        ],
        "status": "verified",
        "unit_alignment": "verified"
      },
      "layers": {
        "curriculum": {
          "evidence_count": 0,
          "status": "verified"
        },
        "educator": {
          "evidence_count": 1,
          "status": "verified"
        },
        "federation": {
          "evidence_count": 0,
          "status": "verified"
        },
        "interoperability": {
          "evidence_count": 0,
          "status": "verified"
        },
        "learner": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "production": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "translation": {
          "evidence_count": 0,
          "status": "available_unverified"
        }
      },
      "learner": {
        "relationship": "directly_consumes_adapter_outputs",
        "tools": [
          {
            "href": "../backend/topology/C90.html",
            "label": "C90"
          }
        ],
        "unit_identity": "verified"
      },
      "native_capability_parity_completion": "not_yet_proven",
      "native_design_audit": {
        "limitations": [
          "Chapter-by-chapter schema drift.",
          "No clean global reversible graph."
        ],
        "pattern": "Per-prompt statement/hint/answer/solution manifests and mastery modules consumed in a collapsible self-study reader.",
        "recommended_reuse": [
          "per-prompt learning structure",
          "mastery modules",
          "direct collapsible-reader consumption"
        ],
        "status": "historical_comparison_not_new_native_reaudit"
      },
      "native_family_id": "family-16-topology",
      "native_family_name": "Topology",
      "next_required_work": [
        "Buktikan ledger sumber/penerjemahan asli; status ini tidak menyatakan terjemahan belum selesai.",
        "Buktikan produksi asli yang dapat diulang; build adapter saja bukan bukti build buku.",
        "Selesaikan audit sembilan bidang kemampuan dan bukti penggunaannya; adapter yang lulus tidak otomatis berarti backend lengkap."
      ],
      "role_id": "C90",
      "title": "Topologi Himpunan-Titik",
      "whole_course_backend_completion": "not_yet_proven"
    },
    {
      "common_adapter": {
        "contract": "geometry-learning-capability/1",
        "github_public_evidence": "new_anonymous_source_and_pages_readback",
        "local_evidence": [
          {
            "bytes": 11672,
            "kind": "central_adapter_manifest",
            "locator": "backend/course-capsule-v1/adapters/geometry-capability-v1/manifest.json",
            "sha256": "d6e4f7eb5d1fea8d39e40a0b29b218e199ffd2761725593e5f820e4146c398a6",
            "verified_date": "2026-09-04"
          },
          {
            "bytes": 1608,
            "kind": "deterministic_validation_receipt",
            "locator": "backend/course-capsule-v1/adapters/geometry-capability-v1/validation.json",
            "sha256": "35b1e015cc1a6ccc51689f8bf41fd1d3fc9bac8d4ffa1dfb745bd7b1ba1c68d2",
            "verified_date": "2026-09-04"
          },
          {
            "bytes": 22766,
            "kind": "native_metadata_intake",
            "locator": "backend/course-capsule-v1/adapters/geometry-capability-v1/input/source-lock.json",
            "sha256": "b6c29f1817468a2cd15bd39f732c70cec3d50216d2957ed8fff9611d9255bd72",
            "verified_date": "2026-09-04"
          }
        ],
        "mapping_scope": "native_concepts_terms_figures_corrections_and_existing_unit_support_with_explicit_precision_and_pending_states",
        "public_package": null,
        "status": "verified",
        "zenodo_preservation": "not_established"
      },
      "common_exchange_layer_completion": "verified",
      "dimensions": {
        "accessibility": {
          "mathml": "verified",
          "semantic_html": "verified"
        },
        "curriculum": {
          "course_graph": "verified",
          "unit_identity": "verified"
        },
        "educator": {
          "materials": "verified",
          "unit_alignment": "verified"
        },
        "federation": {
          "component_rights": [
            {
              "id": "C100:primary",
              "status": "unknown"
            },
            {
              "id": "C100:clemens-snapp-workbook-u022",
              "status": "available_unverified"
            }
          ],
          "references": "verified"
        },
        "interoperability": {
          "adapter": "verified",
          "contract": "geometry-learning-capability/1"
        },
        "learner": {
          "central_tools": 2,
          "delivery": "verified"
        },
        "reproducible_production": {
          "build": "unknown",
          "replay": "unknown"
        },
        "source_translation_ledger": {
          "corrections": "unknown",
          "ledger": "unknown"
        },
        "terminology": {
          "register": "verified"
        }
      },
      "educator": {
        "resources": [
          {
            "bytes": 1143531,
            "id": "clemens-snapp-workbook-u022",
            "license": "CC BY-NC-SA 4.0",
            "pages": 276,
            "resource_type": "workbook",
            "scope": "Seluruh 22 unit, pembaca 276 halaman; lini lisensi terpisah dari kursus utama.",
            "sha256": "436239ee2918f2ea43538c665aa9241ea207474e9c9ffcfc599121115ed1a90b",
            "status": "verified",
            "title": "Buku kerja geometri dua dimensi — lengkap 22/22 unit",
            "url": "https://zenodo.org/records/22151703/files/buku-kerja-geometri-dua-dimensi-id-unit001-022.pdf?download=1"
          },
          {
            "id": "C100:native-educator-observation",
            "resource_type": "teacher-guide",
            "scope": "Observasi sumber sebelumnya; fitur kegiatan dan akomodasi belum diverifikasi oleh adapter ini.",
            "status": "available_unverified",
            "title": "Catatan materi pengajar pada edisi sumber",
            "url": "https://zenodo.org/records/22102628"
          },
          {
            "bytes": 1621511,
            "id": "C100:geometry-educator-v1",
            "resource_type": "teacher-guide",
            "scope": "939 unit tetap; 491 konsep, 432 istilah, 214 deskripsi gambar, 285 permukaan latihan (253 soal induk). Status QA dan batas lokasi asli dipertahankan.",
            "sha256": "049b9c326b25e1b41f37bb34bc374af88f12b3fde567f87a7f5f5f1abe9b1b81",
            "status": "verified",
            "title": "Penyusun kegiatan geometri berbasis konsep dan latihan",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/geometry/pengajar.html"
          }
        ],
        "status": "verified",
        "unit_alignment": "verified"
      },
      "layers": {
        "curriculum": {
          "evidence_count": 0,
          "status": "verified"
        },
        "educator": {
          "evidence_count": 1,
          "status": "verified"
        },
        "federation": {
          "evidence_count": 0,
          "status": "verified"
        },
        "interoperability": {
          "evidence_count": 0,
          "status": "verified"
        },
        "learner": {
          "evidence_count": 0,
          "status": "verified"
        },
        "production": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "translation": {
          "evidence_count": 0,
          "status": "available_unverified"
        }
      },
      "learner": {
        "relationship": "directly_consumes_adapter_outputs",
        "tools": [
          {
            "href": "../backend/geometry/pengajar.html",
            "label": "Susun rencana kegiatan geometri"
          },
          {
            "href": "../backend/geometry/C100.html",
            "label": "Geometri: bacaan, latihan, konsep dan istilah"
          }
        ],
        "unit_identity": "verified"
      },
      "native_capability_parity_completion": "not_yet_proven",
      "native_design_audit": {
        "limitations": [
          "Permissive and ad-hoc statuses.",
          "Two-record/three-relation local-public catalog drift reduces reproducibility."
        ],
        "pattern": "Compact additive unit, exercise, hint, and figure catalogs directly consumed to build semantic HTML and EPUB.",
        "recommended_reuse": [
          "unit/exercise/hint/figure registries",
          "direct semantic HTML/EPUB generation",
          "operational accessibility metadata"
        ],
        "status": "historical_comparison_not_new_native_reaudit"
      },
      "native_family_id": "family-17-geometry",
      "native_family_name": "Geometry",
      "next_required_work": [
        "Buktikan ledger sumber/penerjemahan asli; status ini tidak menyatakan terjemahan belum selesai.",
        "Buktikan produksi asli yang dapat diulang; build adapter saja bukan bukti build buku.",
        "Selesaikan audit sembilan bidang kemampuan dan bukti penggunaannya; adapter yang lulus tidak otomatis berarti backend lengkap."
      ],
      "role_id": "C100",
      "title": "Geometri: Euklides, Afin, Projektif, dan Non-Euklides",
      "whole_course_backend_completion": "not_yet_proven"
    },
    {
      "common_adapter": {
        "contract": "course-learning-capability/1",
        "github_public_evidence": "new_anonymous_source_and_pages_readback",
        "local_evidence": [
          {
            "bytes": 6802,
            "kind": "central_adapter_manifest",
            "locator": "backend/course-capsule-v1/adapters/c110-capability-v1/manifest.json",
            "sha256": "49448ba460df5dd92415b239bcfa7d882a88008f246d96b8a8e73caf3e4cdf7d",
            "verified_date": "2026-09-05"
          },
          {
            "bytes": 16333,
            "kind": "deterministic_validation_receipt",
            "locator": "backend/course-capsule-v1/adapters/c110-capability-v1/validation.json",
            "sha256": "d26f8af6c046d94e6ba34dfcb047d417a789d7514c84d5e4608e7941282c9a9d",
            "verified_date": "2026-09-05"
          },
          {
            "bytes": 6914,
            "kind": "native_migration_and_public_source_lock",
            "locator": "backend/course-capsule-v1/adapters/c110-capability-v1/input/source-lock.json",
            "sha256": "78b672ffca5469f4142ce4e21031e5ee504596d1f17e57387746708a109167af",
            "verified_date": "2026-09-05"
          },
          {
            "bytes": 11922,
            "kind": "anonymous_native_public_readback",
            "locator": "backend/course-capsule-v1/adapters/c110-capability-v1/input/public-native-readback.json",
            "sha256": "66a791073a265e8c2a7f3ea2f502d52fd37b611177b7d2069d35d3e4b2a03704",
            "verified_date": "2026-09-05"
          },
          {
            "bytes": 882680,
            "kind": "component_rights_terminology_and_corrections",
            "locator": "backend/course-capsule-v1/adapters/c110-capability-v1/data/rights-and-terms.json",
            "sha256": "9e7e2808223544c9fccca4858d9f0c2dcc408d072d99228167b69e00e6079ae3",
            "verified_date": "2026-09-05"
          },
          {
            "bytes": 27321,
            "kind": "native_and_reversible_migration_ledgers",
            "locator": "backend/course-capsule-v1/adapters/c110-capability-v1/data/ledger-references.json",
            "sha256": "54c3c52355aa63f7f3a7f28296ef25d1877597050f322259f57eb912b7e8ea2d",
            "verified_date": "2026-09-05"
          },
          {
            "bytes": 4517096,
            "kind": "complete_translation_alignment_index",
            "locator": "backend/course-capsule-v1/adapters/c110-capability-v1/data/translation-alignments.json",
            "sha256": "24e5c2d06eea583aa6ae2c9fc35cda72f4c094921b7a46c2ff99282006069f06",
            "verified_date": "2026-09-05"
          }
        ],
        "mapping_scope": "zero_copy_projection_of_29_file_modules_281_native_units_4621_translation_alignments_593_terms_325_corrections_two_experiments_and_existing_28172_record_native_backend",
        "public_package": null,
        "status": "verified",
        "zenodo_preservation": "not_established"
      },
      "common_exchange_layer_completion": "verified",
      "dimensions": {
        "accessibility": {
          "mathml": "not_yet_produced",
          "semantic_html": "not_yet_produced"
        },
        "curriculum": {
          "course_graph": "verified",
          "unit_identity": "verified"
        },
        "educator": {
          "materials": "verified",
          "unit_alignment": "verified"
        },
        "federation": {
          "component_rights": [
            {
              "id": "C110:primary",
              "status": "unknown"
            }
          ],
          "references": "verified"
        },
        "interoperability": {
          "adapter": "verified",
          "contract": "course-learning-capability/1"
        },
        "learner": {
          "central_tools": 1,
          "delivery": "verified"
        },
        "reproducible_production": {
          "build": "verified",
          "replay": "verified"
        },
        "source_translation_ledger": {
          "corrections": "verified",
          "ledger": "verified"
        },
        "terminology": {
          "register": "verified"
        }
      },
      "educator": {
        "resources": [
          {
            "bytes": 577975,
            "id": "C110:educator-hub-v1",
            "resource_type": "teacher-guide",
            "scope": "Dua puluh sembilan modul berkas, seluruh 281 unit native, 4.621 alignment terjemahan, 593 istilah, 325 koreksi, dua eksperimen, 31 pasangan berkas sumber/target, dan proyeksi common-v1 reversibel 53.055 rekaman. Ekspor JSON mempertahankan batas modul solusi/jawaban tanpa menciptakan pasangan latihan.",
            "sha256": "4c07d866b424931ed6bcb4a6c1b3d2a854f054a5587bbb9406695803d8c18590",
            "status": "verified",
            "title": "Pemilih modul, unit, dan eksperimen C110 untuk pengajar",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/c110/C110-pengajar.html"
          },
          {
            "bytes": 560092,
            "id": "C110:educator-map-v1",
            "resource_type": "educator-data",
            "scope": "Data pemilih modul, unit, dan eksperimen dengan identitas native dan batas klaim eksplisit.",
            "sha256": "c4850f8400e64ea8547fff9e5580b2ba64d3e946f75ccaed5648f61d23ca2260",
            "status": "verified",
            "title": "Peta 29 modul dan 281 unit native C110",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/c110/educator-map.json"
          },
          {
            "bytes": 4517096,
            "id": "C110:alignment-index-v1",
            "resource_type": "educator-data",
            "scope": "Indeks tanpa badan teks yang mempertahankan ID segmen, lokalisasi, unit, modul, hash, dan status alur.",
            "sha256": "24e5c2d06eea583aa6ae2c9fc35cda72f4c094921b7a46c2ff99282006069f06",
            "status": "verified",
            "title": "Indeks 4.621 alignment terjemahan C110",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/c110/translation-alignments.json"
          }
        ],
        "status": "verified",
        "unit_alignment": "verified"
      },
      "layers": {
        "curriculum": {
          "evidence_count": 0,
          "status": "verified"
        },
        "educator": {
          "evidence_count": 1,
          "status": "verified"
        },
        "federation": {
          "evidence_count": 0,
          "status": "verified"
        },
        "interoperability": {
          "evidence_count": 0,
          "status": "verified"
        },
        "learner": {
          "evidence_count": 0,
          "status": "verified"
        },
        "production": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "translation": {
          "evidence_count": 0,
          "status": "available_unverified"
        }
      },
      "learner": {
        "relationship": "directly_consumes_adapter_outputs",
        "tools": [
          {
            "href": "../backend/c110/C110.html",
            "label": "C110 · Analisis Numerik"
          }
        ],
        "unit_identity": "verified"
      },
      "native_capability_parity_completion": "verified",
      "native_design_audit": {
        "limitations": [
          "Generic/permissive schema.",
          "No proved shared runtime.",
          "Later helper-packet evidence must not replace this primary interpretation."
        ],
        "pattern": "Tea Time backend with deterministic pack/merge, experiment records, exact toolchain receipts, one-byte drift rejection, and lossless open export.",
        "recommended_reuse": [
          "deterministic pack/merge",
          "experiment records",
          "exact toolchain receipts",
          "one-byte drift rejection",
          "lossless export"
        ],
        "status": "historical_comparison_not_new_native_reaudit"
      },
      "native_family_id": "family-18-numerical-analysis",
      "native_family_name": "Numerical Analysis",
      "next_required_work": [
        "Selesaikan audit sembilan bidang kemampuan dan bukti penggunaannya; adapter yang lulus tidak otomatis berarti backend lengkap."
      ],
      "role_id": "C110",
      "title": "Analisis Numerik",
      "whole_course_backend_completion": "not_yet_proven"
    },
    {
      "common_adapter": {
        "contract": "course-learning-capability/1",
        "github_public_evidence": "new_anonymous_source_and_pages_readback",
        "local_evidence": [
          {
            "bytes": 7090,
            "kind": "central_adapter_manifest",
            "locator": "backend/course-capsule-v1/adapters/c120-capability-v1/manifest.json",
            "sha256": "b5c2626ac946c666e3ced432203446981cfb60e873cb90a448fe3ed804072145",
            "verified_date": "2026-09-05"
          },
          {
            "bytes": 5990,
            "kind": "deterministic_validation_receipt",
            "locator": "backend/course-capsule-v1/adapters/c120-capability-v1/validation.json",
            "sha256": "774640008cf423e0482197fe7e57633bfb4b9bc4d5a3de2e7a3216607c7949a5",
            "verified_date": "2026-09-05"
          },
          {
            "bytes": 4547,
            "kind": "native_and_migration_source_lock",
            "locator": "backend/course-capsule-v1/adapters/c120-capability-v1/input/source-lock.json",
            "sha256": "5a6a7a5e66ebd831587cd353a9019c97754f48e3b1a644445cb8d6cbada83af5",
            "verified_date": "2026-09-05"
          },
          {
            "bytes": 2605,
            "kind": "verified_native_public_release",
            "locator": "backend/course-capsule-v1/adapters/c120-capability-v1/data/public-evidence.json",
            "sha256": "79f9f3edd68f2fcc01dca86a46d2b7a52a94e96d9d695f178bfd565ba387a383",
            "verified_date": "2026-09-05"
          },
          {
            "bytes": 174262,
            "kind": "component_rights_terminology_and_corrections",
            "locator": "backend/course-capsule-v1/adapters/c120-capability-v1/data/rights-and-terms.json",
            "sha256": "ca180bbce6ffa574114215db03c4d8c9750dce85aefbd16a10651a121f43419d",
            "verified_date": "2026-09-05"
          },
          {
            "bytes": 30603,
            "kind": "native_and_reversible_migration_ledgers",
            "locator": "backend/course-capsule-v1/adapters/c120-capability-v1/data/ledger-references.json",
            "sha256": "13e67e095794143d074f1036cbc309e67b074643188261151095af5d03ba997d",
            "verified_date": "2026-09-05"
          }
        ],
        "mapping_scope": "zero_copy_projection_of_26_native_units_4105_segments_141_mastery_problems_26_notebooks_12_projects_321_terms_160_corrections_and_existing_4941_record_reversible_migration",
        "public_package": null,
        "status": "verified",
        "zenodo_preservation": "not_established"
      },
      "common_exchange_layer_completion": "verified",
      "dimensions": {
        "accessibility": {
          "mathml": "available_unverified",
          "semantic_html": "available_unverified"
        },
        "curriculum": {
          "course_graph": "verified",
          "unit_identity": "verified"
        },
        "educator": {
          "materials": "verified",
          "unit_alignment": "verified"
        },
        "federation": {
          "component_rights": [
            {
              "id": "C120:primary",
              "status": "unknown"
            }
          ],
          "references": "verified"
        },
        "interoperability": {
          "adapter": "verified",
          "contract": "course-learning-capability/1"
        },
        "learner": {
          "central_tools": 1,
          "delivery": "available_unverified"
        },
        "reproducible_production": {
          "build": "verified",
          "replay": "verified"
        },
        "source_translation_ledger": {
          "corrections": "verified",
          "ledger": "verified"
        },
        "terminology": {
          "register": "verified"
        }
      },
      "educator": {
        "resources": [
          {
            "bytes": 145390,
            "id": "C120:educator-hub-v1",
            "resource_type": "teacher-guide",
            "scope": "Dua puluh enam unit, 4.105 segmen, 141 masalah penguasaan, 26 notebook, 12 paket proyek, 321 baris istilah, 160 koreksi, dan proyeksi reversibel 4.941 rekaman native. Ekspor JSON mempertahankan tipe dukungan dan batas proyek tanpa menyalin badan buku.",
            "sha256": "6c2ff772c627696072b55b3c5ed43fa9797d1050ab6a6eb0792d1093f259fff1",
            "status": "verified",
            "title": "Pemilih unit, masalah, dan proyek C120 untuk pengajar",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/c120/C120-pengajar.html"
          },
          {
            "bytes": 156380,
            "id": "C120:educator-map-v1",
            "resource_type": "educator-data",
            "scope": "Data pemilih 26 unit, 141 masalah, dan 12 proyek dengan identitas native serta batas klaim eksplisit.",
            "sha256": "362528a34e837e6a94cdd12e5af3091e98ede7d47ea86f163fa4f309fab012e0",
            "status": "verified",
            "title": "Peta unit, penguasaan, notebook, dan proyek C120",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/c120/educator-map.json"
          }
        ],
        "status": "verified",
        "unit_alignment": "verified"
      },
      "layers": {
        "curriculum": {
          "evidence_count": 0,
          "status": "verified"
        },
        "educator": {
          "evidence_count": 1,
          "status": "verified"
        },
        "federation": {
          "evidence_count": 0,
          "status": "verified"
        },
        "interoperability": {
          "evidence_count": 0,
          "status": "verified"
        },
        "learner": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "production": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "translation": {
          "evidence_count": 0,
          "status": "available_unverified"
        }
      },
      "learner": {
        "relationship": "directly_consumes_adapter_outputs",
        "tools": [
          {
            "href": "../backend/c120/C120.html",
            "label": "C120 · Pemodelan dan Dinamika Nonlinear"
          }
        ],
        "unit_identity": "verified"
      },
      "native_capability_parity_completion": "not_yet_proven",
      "native_design_audit": {
        "limitations": [
          "Earlier native validator coverage was incomplete.",
          "Latest readable task boundary concerned a revoked helper.",
          "Universal portability is not established."
        ],
        "pattern": "Paired source/target hashes, mastery triples, notebooks, and project packets; the manager adapter maps 4941 native records and reconstructs 81 files.",
        "recommended_reuse": [
          "paired source/target hashes",
          "mastery triples",
          "notebook/project-packet composition",
          "file reconstruction"
        ],
        "status": "historical_comparison_not_new_native_reaudit"
      },
      "native_family_id": "family-19-modeling-and-nonlinear-dynamics",
      "native_family_name": "Modeling and Nonlinear Dynamics",
      "next_required_work": [
        "Selesaikan audit sembilan bidang kemampuan dan bukti penggunaannya; adapter yang lulus tidak otomatis berarti backend lengkap."
      ],
      "role_id": "C120",
      "title": "Pemodelan Matematis dan Dinamika Nonlinear",
      "whole_course_backend_completion": "not_yet_proven"
    },
    {
      "common_adapter": {
        "contract": "2.3.1",
        "github_public_evidence": "frozen_public_readback",
        "local_evidence": [
          {
            "bytes": 22488,
            "kind": "central_adapter_manifest",
            "locator": "backend/course-capsule-v1/adapters/c130-v231/manifest.json",
            "sha256": "cad2922d9bd1facb33cc9d54a9836bb168fe0b8d996d9d4ef2e5d8c26053f239",
            "verified_date": "2026-08-30"
          },
          {
            "bytes": 4889,
            "kind": "canonical_admission_receipt",
            "locator": "backend/course-capsule-v1/adapters/c130-v231/ADMISSION.json",
            "sha256": "b311ab7d2a6a86af40174d051fbd8ef273a8536b34f0af77b76e5a1ce9b3397e",
            "verified_date": "2026-09-01"
          },
          {
            "bytes": 6636,
            "kind": "learner_route_validation",
            "locator": "docs/backend/c130/validation.json",
            "sha256": "6d9fa92226d7eee2ab29aba647d3cca0cee80b6cc2ee0bb0e14642216f9c8ae7",
            "verified_date": "2026-09-01"
          }
        ],
        "mapping_scope": "reversible_native_course_route_adapter",
        "public_package": {
          "bytes": 21213937,
          "central_record": "https://doi.org/10.5281/zenodo.22303203",
          "sha256": "eb195d1aa555e9d5e639c1e35a08b6f4425be24cc93b7f1f633161e9cacee865",
          "url": "https://github.com/KokunoYumeto/program-matematika-indonesia/releases/download/v0.62.14/program-matematika-indonesia-c130-operations-research-v2.3.1.zip"
        },
        "status": "verified",
        "zenodo_preservation": "frozen_public_readback"
      },
      "common_exchange_layer_completion": "verified",
      "dimensions": {
        "accessibility": {
          "mathml": "available_unverified",
          "semantic_html": "available_unverified"
        },
        "curriculum": {
          "course_graph": "verified",
          "unit_identity": "unknown"
        },
        "educator": {
          "materials": "available_unverified",
          "unit_alignment": "unknown"
        },
        "federation": {
          "component_rights": [
            {
              "id": "C130:primary",
              "status": "unknown"
            }
          ],
          "references": "verified"
        },
        "interoperability": {
          "adapter": "verified",
          "contract": "2.3.1"
        },
        "learner": {
          "central_tools": 1,
          "delivery": "available_unverified"
        },
        "reproducible_production": {
          "build": "unknown",
          "replay": "unknown"
        },
        "source_translation_ledger": {
          "corrections": "unknown",
          "ledger": "unknown"
        },
        "terminology": {
          "register": "unknown"
        }
      },
      "educator": {
        "resources": [],
        "status": "available_unverified",
        "unit_alignment": "unknown"
      },
      "layers": {
        "curriculum": {
          "evidence_count": 0,
          "status": "verified"
        },
        "educator": {
          "evidence_count": 1,
          "status": "available_unverified"
        },
        "federation": {
          "evidence_count": 0,
          "status": "verified"
        },
        "interoperability": {
          "evidence_count": 0,
          "status": "verified"
        },
        "learner": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "production": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "translation": {
          "evidence_count": 0,
          "status": "available_unverified"
        }
      },
      "learner": {
        "relationship": "course_link_only_no_adapter_consumption_claim",
        "tools": [
          {
            "href": "../backend/c130/C130.html",
            "label": "Buka Riset Operasi — Buku 1"
          }
        ],
        "unit_identity": "unknown"
      },
      "native_capability_parity_completion": "not_yet_proven",
      "native_design_audit": {
        "limitations": [
          "Large typed graph/evidence layer.",
          "No reverse importer."
        ],
        "pattern": "Complete locale-neutral graph with 1993 units, 5525 segments, 9545 relations, prerequisites, exercises, and executable lab adaptations.",
        "recommended_reuse": [
          "general locale-neutral course graph",
          "typed learning relations",
          "exercise and lab adaptation model"
        ],
        "status": "historical_comparison_not_new_native_reaudit"
      },
      "native_family_id": "family-20-operations-research",
      "native_family_name": "Operations Research",
      "next_required_work": [
        "Buktikan ledger sumber/penerjemahan asli; status ini tidak menyatakan terjemahan belum selesai.",
        "Periksa register istilah dan kaitannya dengan teks serta alternatif istilah.",
        "Buktikan produksi asli yang dapat diulang; build adapter saja bukan bukti build buku.",
        "Hubungkan bahan pengajar dengan identitas unit/latihan yang dipakai pelajar.",
        "Selesaikan audit sembilan bidang kemampuan dan bukti penggunaannya; adapter yang lulus tidak otomatis berarti backend lengkap."
      ],
      "role_id": "C130",
      "title": "Optimisasi Linear dan Integer / Riset Operasi",
      "whole_course_backend_completion": "not_yet_proven"
    },
    {
      "common_adapter": {
        "admission": {
          "package": {
            "bytes": 760573,
            "package_id": "urn:uuid:145e6cf2-499e-5465-8ed8-e2480fe00d7f",
            "path": "backend/course-capsule-v1/adapters/c140-v231",
            "sha256": "5ce4c31c116d9ed289970124294e7c497d6257fde60e05ef30f5983777560b1c"
          },
          "public_embedding": {
            "github_release": "https://github.com/KokunoYumeto/program-matematika-indonesia/releases/tag/v0.63.24",
            "receipt": {
              "bytes": 47719,
              "path": "publication-history/PUBLICATION_RECEIPT_v0.63.24.json",
              "sha256": "e5246f3d22fc8659da90a095f930f80fa55826e8c3828e75bc61b34b9576fc8e"
            },
            "status": "published_open_and_anonymously_verified",
            "version": "0.63.24",
            "zenodo": "https://doi.org/10.5281/zenodo.22646380"
          },
          "receipt": {
            "bytes": 19312,
            "path": "backend/course-capsule-v1/validation/20260907/GAP_ADMISSION.json",
            "sha256": "5e1168f28a6a319a3320d6a688c824d17d3323eca151547a1b26a2032e1ac8e9"
          },
          "spec": {
            "bytes": 27331,
            "path": "backend/v2.3/specs/20260907/C140.json",
            "sha256": "250c5ed9466bee83b46236dfb362c6ee4f53a422bd8dfb44487c61ca43332f6a"
          },
          "status": "pass",
          "twin": {
            "bytes": 2082,
            "package_manifest_sha256": "854866c5ea6b7b5e86dfc0fc1462fd9a39f326494042195ee578347ec14fd88b",
            "path": "backend/course-capsule-v1/validation/20260907/C140_TWIN.json",
            "payload_sha256": "5ce4c31c116d9ed289970124294e7c497d6257fde60e05ef30f5983777560b1c",
            "sha256": "30ff3cba532240d262c11a50e9d46a7e8495ce771524e2746cb8f1626906e46c",
            "status": "pass"
          }
        },
        "contract": "course-learning-capability/1",
        "github_public_evidence": "native_anonymous_release_and_pages_readback",
        "local_evidence": [
          {
            "bytes": 28428,
            "kind": "central_adapter_manifest",
            "locator": "backend/course-capsule-v1/adapters/c140-capability-v1/manifest.json",
            "sha256": "6573e4aa1e0a2909ced29229929aff00d6d9a5feb37ca1bde2a0989295fae37b",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 10355,
            "kind": "deterministic_validation_receipt",
            "locator": "backend/course-capsule-v1/adapters/c140-capability-v1/validation.json",
            "sha256": "531d1d33c05846d032ef17e59be87a9c2e542f152181ce3b12a10f477bf7edae",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 1263,
            "kind": "deterministic_package_receipt",
            "locator": "backend/course-capsule-v1/adapters/c140-capability-v1/build/PACKET_BUILD_RECEIPT.json",
            "sha256": "560b8976595f038dbc71c12c6b89d8a99006d3135888dc4d5dba32471f2cc6d1",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 1017886,
            "kind": "deterministic_capability_packet",
            "locator": "backend/course-capsule-v1/adapters/c140-capability-v1/build/C140_COMPLETE_THIN_CAPABILITY_METADATA_V1.zip",
            "sha256": "6c7745f1b999d72a517ec000259f1b230a922b56cf002a27f6506dea85baa296",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 19032,
            "kind": "native_source_lock",
            "locator": "backend/course-capsule-v1/adapters/c140-capability-v1/input/source-lock.json",
            "sha256": "23b71681c050140247463abc494371cdd50c5b6fbd141015249b4cfadcb5b965",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 76665,
            "kind": "anonymous_github_release_readback",
            "locator": "backend/course-capsule-v1/adapters/c140-capability-v1/input/github-release-readback.json",
            "sha256": "b574b72a58ceb3c33b13ec8fed5a143a266da29e6bfdeea06102d6929a2c3893",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 103239,
            "kind": "anonymous_github_pages_readback",
            "locator": "backend/course-capsule-v1/adapters/c140-capability-v1/input/github-pages-readback.json",
            "sha256": "2230f83f946c83d5a9633cdc3f4b1c5af72069634ff72586768a4f8f08a3eae6",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 25135,
            "kind": "anonymous_zenodo_readback",
            "locator": "backend/course-capsule-v1/adapters/c140-capability-v1/input/zenodo-readback.json",
            "sha256": "eb6c661e93450580296f8aec6b2be103b128f6b57834f4f6fb9b2148ee9897ff",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 23214,
            "kind": "verified_native_public_release",
            "locator": "backend/course-capsule-v1/adapters/c140-capability-v1/data/public-evidence.json",
            "sha256": "042e50c3fea1d12256b86ce3cb58c5572f2ab22e130f8526046403d70ac3d714",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 53587,
            "kind": "learner_document_map",
            "locator": "backend/course-capsule-v1/adapters/c140-capability-v1/data/learner-map.json",
            "sha256": "f26b453f9be21334acd19c6836bc53f67320bc9fbaa8ad70b9e8e4df6be2a149",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 146807,
            "kind": "educator_identity_map",
            "locator": "backend/course-capsule-v1/adapters/c140-capability-v1/data/educator-map.json",
            "sha256": "7fa63d73b8c5f97eb1c53a658a9ebf0bfbab69b3225b6758f1359715ec58b648",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 691,
            "kind": "claim_boundary",
            "locator": "backend/course-capsule-v1/adapters/c140-capability-v1/data/claim-boundary.json",
            "sha256": "1c51e0eedee8d58ad18abddad839315d3f10a5e865a8401daf6af02de351fd8b",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 39659,
            "kind": "native_document_index",
            "locator": "backend/course-capsule-v1/adapters/c140-capability-v1/data/document-index.jsonl",
            "sha256": "fe0db61cddb22033d5416d6967406d54a4275761a45db54791643812312d5811",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 3748229,
            "kind": "native_penn_unit_index",
            "locator": "backend/course-capsule-v1/adapters/c140-capability-v1/data/penn-unit-index.jsonl",
            "sha256": "685c39c07685952cc824858618d60afcea2e4c89bcde52af52acd215a4e0ded6",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 2318255,
            "kind": "native_penn_segment_index",
            "locator": "backend/course-capsule-v1/adapters/c140-capability-v1/data/penn-segment-index.jsonl",
            "sha256": "d682e45a009575e4792358f7ab54c79b617ab8c5e852100728df94533a8b99be",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 33555,
            "kind": "native_penn_terms_index",
            "locator": "backend/course-capsule-v1/adapters/c140-capability-v1/data/penn-terms-index.jsonl",
            "sha256": "5656377c0bba25e85da62063628816114bf1f7947daa62e95fe696f2f1dd21cf",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 318094,
            "kind": "native_penn_corrections_index",
            "locator": "backend/course-capsule-v1/adapters/c140-capability-v1/data/penn-corrections-index.jsonl",
            "sha256": "3a6eede5a12b5349fe6366a32e30b558ce078c833bac7ed65305c87095a166d5",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 545339,
            "kind": "native_random_entity_index",
            "locator": "backend/course-capsule-v1/adapters/c140-capability-v1/data/random-entity-index.jsonl",
            "sha256": "1e364198eda5460468cd40cc8fb11f0f48b325409e4d218d537ebcb48a99c986",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 131856,
            "kind": "native_random_relation_index",
            "locator": "backend/course-capsule-v1/adapters/c140-capability-v1/data/random-relation-index.jsonl",
            "sha256": "00ca2152832e2f508961d1c9015002a7cb85d2c622a03afb4024d77949a29f94",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 13898,
            "kind": "native_random_terms_index",
            "locator": "backend/course-capsule-v1/adapters/c140-capability-v1/data/random-terms-index.jsonl",
            "sha256": "fed6499c7f811bab760eade0f7a61ad5ca71d4e1b42d64480a8579bff3905def",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 4099,
            "kind": "native_random_adverse_index",
            "locator": "backend/course-capsule-v1/adapters/c140-capability-v1/data/random-adverse-index.jsonl",
            "sha256": "ffcc1c1f1f19859ff72eb49a9d69138cc5cc3f5874638efb35d706fa45596b8c",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 821472,
            "kind": "native_companion_entity_index",
            "locator": "backend/course-capsule-v1/adapters/c140-capability-v1/data/companion-entity-index.jsonl",
            "sha256": "17e06833bb81db4fd9b7454c6e4c13fc76f665ceb602132137123f016f0dbed9",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 220911,
            "kind": "native_companion_relation_index",
            "locator": "backend/course-capsule-v1/adapters/c140-capability-v1/data/companion-relation-index.jsonl",
            "sha256": "b0cb90b0935e2a55cec7672419e90b62e3d6ab2ecae2ad17a7e2969dec3c144e",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 2417,
            "kind": "native_rights_index",
            "locator": "backend/course-capsule-v1/adapters/c140-capability-v1/data/rights-index.jsonl",
            "sha256": "0735a9dec8d53ca9c6cd220bdff330a8334682d43e93a26686e6370a23a73807",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 17056,
            "kind": "central_adapter_manifest",
            "locator": "backend/course-capsule-v1/adapters/c140-v231/manifest.json",
            "sha256": "854866c5ea6b7b5e86dfc0fc1462fd9a39f326494042195ee578347ec14fd88b",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 2082,
            "kind": "deterministic_twin_validation",
            "locator": "backend/course-capsule-v1/validation/20260907/C140_TWIN.json",
            "sha256": "30ff3cba532240d262c11a50e9d46a7e8495ce771524e2746cb8f1626906e46c",
            "verified_date": "2026-09-07"
          },
          {
            "bytes": 27331,
            "kind": "frozen_owner_specification",
            "locator": "backend/v2.3/specs/20260907/C140.json",
            "sha256": "250c5ed9466bee83b46236dfb362c6ee4f53a422bd8dfb44487c61ca43332f6a",
            "verified_date": "2026-09-07"
          }
        ],
        "mapping_scope": "zero_copy_projection_of_complete_54_document_three_component_boundary_8358_stable_entity_ids_2423_structural_relations_234_terminology_rows_261_correction_or_adverse_rows_146_solved_problem_identities_62_rubrics_and_9_distinct_rights_projections",
        "public_package": null,
        "status": "verified",
        "zenodo_preservation": "not_established"
      },
      "common_exchange_layer_completion": "verified",
      "dimensions": {
        "accessibility": {
          "mathml": "available_unverified",
          "semantic_html": "verified"
        },
        "curriculum": {
          "course_graph": "verified",
          "unit_identity": "verified"
        },
        "educator": {
          "materials": "verified",
          "unit_alignment": "verified"
        },
        "federation": {
          "component_rights": [
            {
              "id": "C140:primary",
              "status": "unknown"
            },
            {
              "id": "C140:c140-companion-offline",
              "status": "unknown"
            },
            {
              "id": "C140:c140-companion-reader",
              "status": "unknown"
            },
            {
              "id": "C140:c140-companion-source-backend",
              "status": "unknown"
            },
            {
              "id": "C140:random-mathematical-statistics-doi",
              "status": "unknown"
            },
            {
              "id": "C140:random-mathematical-statistics-html",
              "status": "unknown"
            },
            {
              "id": "C140:random-mathematical-statistics-pdf",
              "status": "unknown"
            }
          ],
          "references": "verified"
        },
        "interoperability": {
          "adapter": "verified",
          "contract": "course-learning-capability/1"
        },
        "learner": {
          "central_tools": 1,
          "delivery": "verified"
        },
        "reproducible_production": {
          "build": "verified",
          "replay": "verified"
        },
        "source_translation_ledger": {
          "corrections": "verified",
          "ledger": "verified"
        },
        "terminology": {
          "register": "verified"
        }
      },
      "educator": {
        "resources": [
          {
            "id": "c140-companion-reader",
            "resource_type": "companion-reader",
            "status": "available_unverified",
            "title": "Pendamping orisinal C140 lengkap",
            "url": "https://kokunoyumeto.github.io/penn-state-stat-415-id/components/c140-companion/"
          },
          {
            "bytes": 61968,
            "id": "C140:educator-hub-v1",
            "resource_type": "teacher-guide",
            "scope": "Batas C5 lengkap: 54 dokumen publik (14 dokumen tulang punggung Penn, satu donor Random, dan 39 dokumen pendamping), 8.358 identitas entitas stabil, 2.423 relasi struktural, 234 rekaman istilah, 261 koreksi atau rekaman adverse, 146 masalah terselesaikan, 62 rubrik, dan sembilan proyeksi hak komponen.",
            "sha256": "c7429cb2e875c6cc420c1815218fa44cd846677e2156c7312d93705c7514d340",
            "status": "verified",
            "title": "Peta pengajar untuk tiga komponen C140",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/c140/C140-pengajar.html"
          },
          {
            "bytes": 146807,
            "id": "C140:educator-map-v1",
            "resource_type": "educator-data",
            "scope": "Peta zero-copy atas dokumen, 146 masalah terselesaikan, 62 rubrik, enam simulasi, empat asesmen, dua capstone, serta sebelas indeks tata kelola.",
            "sha256": "7fa63d73b8c5f97eb1c53a658a9ebf0bfbab69b3225b6758f1359715ec58b648",
            "status": "verified",
            "title": "Peta pengajar C140 atas 54 dokumen dan identitas asesmen",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/c140/educator-map.json"
          },
          {
            "bytes": 39659,
            "id": "C140:document-index-v1",
            "resource_type": "identity-index",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan sumber, soal, jawaban, dan solusi tidak disalin.",
            "sha256": "fe0db61cddb22033d5416d6967406d54a4275761a45db54791643812312d5811",
            "status": "verified",
            "title": "Indeks 54 dokumen C140",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/c140/data/document-index.jsonl"
          },
          {
            "bytes": 3748229,
            "id": "C140:penn-unit-index-v1",
            "resource_type": "identity-index",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan sumber, soal, jawaban, dan solusi tidak disalin.",
            "sha256": "685c39c07685952cc824858618d60afcea2e4c89bcde52af52acd215a4e0ded6",
            "status": "verified",
            "title": "Indeks 6.510 unit Penn",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/c140/data/penn-unit-index.jsonl"
          },
          {
            "bytes": 2318255,
            "id": "C140:penn-segment-index-v1",
            "resource_type": "translation-ledger",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan sumber, soal, jawaban, dan solusi tidak disalin.",
            "sha256": "d682e45a009575e4792358f7ab54c79b617ab8c5e852100728df94533a8b99be",
            "status": "verified",
            "title": "Indeks 4.932 segmen Penn",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/c140/data/penn-segment-index.jsonl"
          },
          {
            "bytes": 33555,
            "id": "C140:penn-terms-index-v1",
            "resource_type": "terminology-register",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan sumber, soal, jawaban, dan solusi tidak disalin.",
            "sha256": "5656377c0bba25e85da62063628816114bf1f7947daa62e95fe696f2f1dd21cf",
            "status": "verified",
            "title": "Indeks 192 istilah Penn",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/c140/data/penn-terms-index.jsonl"
          },
          {
            "bytes": 318094,
            "id": "C140:penn-corrections-index-v1",
            "resource_type": "correction-ledger",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan sumber, soal, jawaban, dan solusi tidak disalin.",
            "sha256": "3a6eede5a12b5349fe6366a32e30b558ce078c833bac7ed65305c87095a166d5",
            "status": "verified",
            "title": "Indeks 242 koreksi Penn",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/c140/data/penn-corrections-index.jsonl"
          },
          {
            "bytes": 545339,
            "id": "C140:random-entity-index-v1",
            "resource_type": "identity-index",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan sumber, soal, jawaban, dan solusi tidak disalin.",
            "sha256": "1e364198eda5460468cd40cc8fb11f0f48b325409e4d218d537ebcb48a99c986",
            "status": "verified",
            "title": "Indeks 325 entitas Random",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/c140/data/random-entity-index.jsonl"
          },
          {
            "bytes": 131856,
            "id": "C140:random-relation-index-v1",
            "resource_type": "educator-data",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan sumber, soal, jawaban, dan solusi tidak disalin.",
            "sha256": "00ca2152832e2f508961d1c9015002a7cb85d2c622a03afb4024d77949a29f94",
            "status": "verified",
            "title": "Indeks 474 relasi Random",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/c140/data/random-relation-index.jsonl"
          },
          {
            "bytes": 13898,
            "id": "C140:random-terms-index-v1",
            "resource_type": "terminology-register",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan sumber, soal, jawaban, dan solusi tidak disalin.",
            "sha256": "fed6499c7f811bab760eade0f7a61ad5ca71d4e1b42d64480a8579bff3905def",
            "status": "verified",
            "title": "Indeks 42 istilah Random",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/c140/data/random-terms-index.jsonl"
          },
          {
            "bytes": 4099,
            "id": "C140:random-adverse-index-v1",
            "resource_type": "correction-ledger",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan sumber, soal, jawaban, dan solusi tidak disalin.",
            "sha256": "ffcc1c1f1f19859ff72eb49a9d69138cc5cc3f5874638efb35d706fa45596b8c",
            "status": "verified",
            "title": "Indeks 19 rekaman adverse Random",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/c140/data/random-adverse-index.jsonl"
          },
          {
            "bytes": 821472,
            "id": "C140:companion-entity-index-v1",
            "resource_type": "identity-index",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan sumber, soal, jawaban, dan solusi tidak disalin.",
            "sha256": "17e06833bb81db4fd9b7454c6e4c13fc76f665ceb602132137123f016f0dbed9",
            "status": "verified",
            "title": "Indeks 1.523 entitas pendamping",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/c140/data/companion-entity-index.jsonl"
          },
          {
            "bytes": 220911,
            "id": "C140:companion-relation-index-v1",
            "resource_type": "educator-data",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan sumber, soal, jawaban, dan solusi tidak disalin.",
            "sha256": "b0cb90b0935e2a55cec7672419e90b62e3d6ab2ecae2ad17a7e2969dec3c144e",
            "status": "verified",
            "title": "Indeks 1.949 relasi pendamping",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/c140/data/companion-relation-index.jsonl"
          },
          {
            "bytes": 2417,
            "id": "C140:rights-index-v1",
            "resource_type": "rights-ledger",
            "scope": "Indeks metadata native dengan identitas dan hash stabil; badan sumber, soal, jawaban, dan solusi tidak disalin.",
            "sha256": "0735a9dec8d53ca9c6cd220bdff330a8334682d43e93a26686e6370a23a73807",
            "status": "verified",
            "title": "Sembilan proyeksi hak komponen C140",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/c140/data/rights-index.jsonl"
          }
        ],
        "status": "verified",
        "unit_alignment": "verified"
      },
      "layers": {
        "curriculum": {
          "evidence_count": 0,
          "status": "verified"
        },
        "educator": {
          "evidence_count": 1,
          "status": "verified"
        },
        "federation": {
          "evidence_count": 0,
          "status": "verified"
        },
        "interoperability": {
          "evidence_count": 0,
          "status": "verified"
        },
        "learner": {
          "evidence_count": 0,
          "status": "verified"
        },
        "production": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "translation": {
          "evidence_count": 0,
          "status": "available_unverified"
        }
      },
      "learner": {
        "relationship": "directly_consumes_adapter_outputs",
        "tools": [
          {
            "href": "../backend/c140/C140.html",
            "label": "C140 · Statistika Matematis"
          }
        ],
        "unit_identity": "verified"
      },
      "native_capability_parity_completion": "verified",
      "native_design_audit": {
        "limitations": [
          "Prerequisites and objectives remain in Markdown rather than graph edges.",
          "Per-lesson/checkpoint machinery is heavy."
        ],
        "pattern": "Rights-separated federation of Penn spine, donor material, and original companion with staged problems, simulations, mastery metadata, and byte-identical cumulative reuse.",
        "recommended_reuse": [
          "component-rights federation",
          "staged problem structure",
          "simulation and mastery metadata",
          "byte-identical cumulative reuse"
        ],
        "status": "historical_comparison_not_new_native_reaudit"
      },
      "native_family_id": "family-21-mathematical-statistics",
      "native_family_name": "Mathematical Statistics",
      "next_required_work": [
        "Paket adapter v2.3.1 telah dipertahankan dan dibaca kembali secara anonim dalam rilis pusat v0.63.24.",
        "Selesaikan audit sembilan bidang kemampuan dan bukti penggunaannya; adapter yang lulus tidak otomatis berarti backend lengkap."
      ],
      "role_id": "C140",
      "title": "Statistika Matematis",
      "whole_course_backend_completion": "selected_54_document_component_boundary_proven"
    },
    {
      "common_adapter": {
        "contract": "course-learning-capability/1",
        "github_public_evidence": "new_anonymous_source_and_pages_readback",
        "local_evidence": [
          {
            "bytes": 7340,
            "kind": "central_adapter_manifest",
            "locator": "backend/course-capsule-v1/adapters/d10-capability-v1/manifest.json",
            "sha256": "214f6b6fd7303c755cda68eac1c284021850f0e32a53f9738f68363e89b81461",
            "verified_date": "2026-09-05"
          },
          {
            "bytes": 5023,
            "kind": "deterministic_validation_receipt",
            "locator": "backend/course-capsule-v1/adapters/d10-capability-v1/validation.json",
            "sha256": "434a64fb5f131b40484c026ece8f859931e30689b4bcd3c352b916a599d3ed3a",
            "verified_date": "2026-09-05"
          },
          {
            "bytes": 5078,
            "kind": "native_metadata_intake",
            "locator": "backend/course-capsule-v1/adapters/d10-capability-v1/input/source-lock.json",
            "sha256": "c7d100ba4596eb3482b10d67e5625088ed0c203255bc2e6c42bf5f113616741d",
            "verified_date": "2026-09-05"
          },
          {
            "bytes": 3453,
            "kind": "verified_native_public_release",
            "locator": "backend/course-capsule-v1/adapters/d10-capability-v1/data/public-evidence.json",
            "sha256": "93467e2324963585d10bdb2784804e1daa13c4854a3f1f6d2e31b5e1f7f6e0e2",
            "verified_date": "2026-09-05"
          },
          {
            "bytes": 452045,
            "kind": "component_rights_terminology_and_corrections",
            "locator": "backend/course-capsule-v1/adapters/d10-capability-v1/data/rights-and-terms.json",
            "sha256": "155c26ccdf371192806ec3438df9404c42fec8b3d5151cdbe40a83ab33d65a04",
            "verified_date": "2026-09-05"
          },
          {
            "bytes": 321394,
            "kind": "catalog_and_source_target_ledgers",
            "locator": "backend/course-capsule-v1/adapters/d10-capability-v1/data/ledger-references.json",
            "sha256": "c0957dcae235bac6c014da4cd02a8ef92952d4f5e8f51a0f2bef526bbed6642f",
            "verified_date": "2026-09-05"
          }
        ],
        "mapping_scope": "zero_copy_projection_of_94_native_units_1096_typed_exercises_276_source_hints_53491_formulas_420_corrections_132_terminology_decisions_and_506_manifest_bound_catalog_files",
        "public_package": null,
        "status": "verified",
        "zenodo_preservation": "not_established"
      },
      "common_exchange_layer_completion": "verified",
      "dimensions": {
        "accessibility": {
          "mathml": "verified",
          "semantic_html": "verified"
        },
        "curriculum": {
          "course_graph": "verified",
          "unit_identity": "verified"
        },
        "educator": {
          "materials": "verified",
          "unit_alignment": "verified"
        },
        "federation": {
          "component_rights": [
            {
              "id": "D10:primary",
              "status": "unknown"
            }
          ],
          "references": "verified"
        },
        "interoperability": {
          "adapter": "verified",
          "contract": "course-learning-capability/1"
        },
        "learner": {
          "central_tools": 1,
          "delivery": "verified"
        },
        "reproducible_production": {
          "build": "verified",
          "replay": "verified"
        },
        "source_translation_ledger": {
          "corrections": "verified",
          "ledger": "verified"
        },
        "terminology": {
          "register": "verified"
        }
      },
      "educator": {
        "resources": [
          {
            "bytes": 186854,
            "id": "D10:educator-hub-v1",
            "resource_type": "teacher-guide",
            "scope": "Dua jilid, 94 unit native, 1.096 ID latihan, 276 petunjuk sumber, 53.491 kemunculan formula, 420 koreksi, 132 keputusan istilah, dan rute pembaca luring yang memakai identitas bersama. Ekspor JSON menyimpan pilihan ID native tanpa menyalin badan buku atau menciptakan solusi.",
            "sha256": "b7a8ae76a5e65b143d6e898f4dc479ab786a96faee01a73cff237501f522a00d",
            "status": "verified",
            "title": "Pemilih unit dan latihan D10 untuk pengajar",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/d10/D10-pengajar.html"
          },
          {
            "bytes": 178858,
            "id": "D10:educator-map-v1",
            "resource_type": "educator-data",
            "scope": "Data pemilih 94 unit dengan ID latihan eksak dan batas eksplisit bahwa tidak ada bank solusi lengkap.",
            "sha256": "c5cd1d5d3fd63bfcccd2109843cc38d2e4a8c0dad71a23e26aa8527f90b7e465",
            "status": "verified",
            "title": "Peta unit, latihan, petunjuk, formula, dan koreksi D10",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/d10/educator-map.json"
          }
        ],
        "status": "verified",
        "unit_alignment": "verified"
      },
      "layers": {
        "curriculum": {
          "evidence_count": 0,
          "status": "verified"
        },
        "educator": {
          "evidence_count": 1,
          "status": "verified"
        },
        "federation": {
          "evidence_count": 0,
          "status": "verified"
        },
        "interoperability": {
          "evidence_count": 0,
          "status": "verified"
        },
        "learner": {
          "evidence_count": 0,
          "status": "verified"
        },
        "production": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "translation": {
          "evidence_count": 0,
          "status": "available_unverified"
        }
      },
      "learner": {
        "relationship": "directly_consumes_adapter_outputs",
        "tools": [
          {
            "href": "../backend/d10/D10.html",
            "label": "D10 · Ukuran dan Integrasi"
          }
        ],
        "unit_identity": "verified"
      },
      "native_capability_parity_completion": "verified",
      "native_design_audit": {
        "limitations": [
          "Many empty projections and version chains.",
          "Almost no pedagogical prerequisites.",
          "Current backend exceeds the public release."
        ],
        "pattern": "Exact bilingual source-topology catalog with raw source/target TeX, hashes, rights, and deterministic JSONL/CSV replay.",
        "recommended_reuse": [
          "bilingual source topology",
          "raw source/target preservation",
          "hash and rights binding",
          "deterministic JSONL/CSV replay"
        ],
        "status": "historical_comparison_not_new_native_reaudit"
      },
      "native_family_id": "family-22-measure-and-integration",
      "native_family_name": "Measure and Integration",
      "next_required_work": [
        "Selesaikan audit sembilan bidang kemampuan dan bukti penggunaannya; adapter yang lulus tidak otomatis berarti backend lengkap."
      ],
      "role_id": "D10",
      "title": "Ukuran dan Integrasi",
      "whole_course_backend_completion": "not_yet_proven"
    },
    {
      "common_adapter": {
        "contract": "2.3.1",
        "github_public_evidence": "frozen_public_readback",
        "local_evidence": [
          {
            "bytes": 32321,
            "kind": "central_adapter_manifest",
            "locator": "backend/v2.3/extensions/d20-functional-analysis-v0.1.0/manifest.json",
            "sha256": "a8ec1635e8b2eb4034b8be1181d9cbeb39438ff095e33e5c26e686e9ba5301e9",
            "verified_date": "2026-08-31"
          },
          {
            "bytes": 3706,
            "kind": "deterministic_validation_receipt",
            "locator": "outputs/01a01ec1-e685-70d0-b022-211396334723/curriculum_logbook/191_D20_V231_ADAPTER_VALIDATION_V010_FINAL_20260831.json",
            "sha256": "d5236d85114369642fee2d939bbddd9f1c5990a8941b6a644897e85b4d7ee5a7",
            "verified_date": "2026-08-31"
          },
          {
            "bytes": 2793,
            "kind": "canonical_admission_receipt",
            "locator": "outputs/01a01ec1-e685-70d0-b022-211396334723/curriculum_logbook/192_D20_V231_ADAPTER_CANONICAL_ADMISSION_20260831.json",
            "sha256": "7cf570937da52eb9d77768f35cb92ae4c6baaabdfe97fb63bc59ddef2a2713ac",
            "verified_date": "2026-08-31"
          },
          {
            "bytes": 1648,
            "kind": "deterministic_package_receipt",
            "locator": "outputs/01a01ec1-e685-70d0-b022-211396334723/curriculum_logbook/193_D20_V231_ADAPTER_DETERMINISTIC_PACKAGE_20260831.json",
            "sha256": "d3af747ca7a67ddaad7a1a5aaa0fab5fa4eded7cd21806d0fdd064a3140938d0",
            "verified_date": "2026-08-31"
          }
        ],
        "mapping_scope": "reversible_native_adapter",
        "public_package": {
          "bytes": 61438875,
          "central_record": "https://doi.org/10.5281/zenodo.22303203",
          "sha256": "25e059d26f049141dad326817bd01319b120a19fc4b78fb2efc879764fea2099",
          "url": "https://github.com/KokunoYumeto/program-matematika-indonesia/releases/download/v0.62.12/program-matematika-indonesia-backend-v2.3.1-d20-adapter-v0.1.0.zip"
        },
        "status": "verified",
        "zenodo_preservation": "frozen_public_readback"
      },
      "common_exchange_layer_completion": "verified",
      "dimensions": {
        "accessibility": {
          "mathml": "available_unverified",
          "semantic_html": "available_unverified"
        },
        "curriculum": {
          "course_graph": "verified",
          "unit_identity": "unknown"
        },
        "educator": {
          "materials": "available_unverified",
          "unit_alignment": "unknown"
        },
        "federation": {
          "component_rights": [
            {
              "id": "D20:primary",
              "status": "unknown"
            }
          ],
          "references": "verified"
        },
        "interoperability": {
          "adapter": "verified",
          "contract": "2.3.1"
        },
        "learner": {
          "central_tools": 0,
          "delivery": "available_unverified"
        },
        "reproducible_production": {
          "build": "unknown",
          "replay": "unknown"
        },
        "source_translation_ledger": {
          "corrections": "unknown",
          "ledger": "unknown"
        },
        "terminology": {
          "register": "unknown"
        }
      },
      "educator": {
        "resources": [],
        "status": "available_unverified",
        "unit_alignment": "unknown"
      },
      "layers": {
        "curriculum": {
          "evidence_count": 0,
          "status": "verified"
        },
        "educator": {
          "evidence_count": 1,
          "status": "available_unverified"
        },
        "federation": {
          "evidence_count": 0,
          "status": "verified"
        },
        "interoperability": {
          "evidence_count": 0,
          "status": "verified"
        },
        "learner": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "production": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "translation": {
          "evidence_count": 0,
          "status": "available_unverified"
        }
      },
      "learner": {
        "relationship": "course_link_only_no_adapter_consumption_claim",
        "tools": [],
        "unit_identity": "unknown"
      },
      "native_capability_parity_completion": "not_yet_proven",
      "native_design_audit": {
        "limitations": [
          "Many chapter scripts.",
          "Many formula and structural rows.",
          "Prerequisite modeling remains thin."
        ],
        "pattern": "Immutable scholarly base with an additive learner companion overlay, formula alignment, solutions, HTML routes, and accessible SVGs.",
        "recommended_reuse": [
          "immutable-base/additive-overlay state model",
          "formula alignment",
          "learner companion structure",
          "accessible SVGs",
          "HTML route integration"
        ],
        "status": "historical_comparison_not_new_native_reaudit"
      },
      "native_family_id": "family-23-functional-analysis",
      "native_family_name": "Functional Analysis",
      "next_required_work": [
        "Buktikan ledger sumber/penerjemahan asli; status ini tidak menyatakan terjemahan belum selesai.",
        "Periksa register istilah dan kaitannya dengan teks serta alternatif istilah.",
        "Buktikan produksi asli yang dapat diulang; build adapter saja bukan bukti build buku.",
        "Hubungkan bahan pengajar dengan identitas unit/latihan yang dipakai pelajar.",
        "Selesaikan audit sembilan bidang kemampuan dan bukti penggunaannya; adapter yang lulus tidak otomatis berarti backend lengkap."
      ],
      "role_id": "D20",
      "title": "Analisis Fungsional",
      "whole_course_backend_completion": "not_yet_proven"
    },
    {
      "common_adapter": {
        "contract": "course-learning-capability/1",
        "github_public_evidence": "native_anonymous_source_and_pages_readback",
        "local_evidence": [
          {
            "bytes": 5781,
            "kind": "central_adapter_manifest",
            "locator": "backend/course-capsule-v1/adapters/d30-capability-v1/manifest.json",
            "sha256": "9bd3ff6949e83cb9f7fbc2886973dd5a6bae0cdf2a8f26917a539bc9c9698c57",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 3548,
            "kind": "deterministic_validation_receipt",
            "locator": "backend/course-capsule-v1/adapters/d30-capability-v1/validation.json",
            "sha256": "8119c3f453d8e23181c7f78b8d15d64e32e013b7b896f0389f177fcc8678fb16",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 3469,
            "kind": "native_metadata_intake",
            "locator": "backend/course-capsule-v1/adapters/d30-capability-v1/input/source-lock.json",
            "sha256": "c209b3e600c9d04339ad263885581aba0741dc37b4c965ae61656b33b78a619a",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 3015,
            "kind": "verified_native_public_release",
            "locator": "backend/course-capsule-v1/adapters/d30-capability-v1/data/public-evidence.json",
            "sha256": "f16104a57c88a98a24b9943e73402d5d6a43a9a7062480bcc77f5bd8f27ea70b",
            "verified_date": "2026-09-06"
          }
        ],
        "mapping_scope": "zero_copy_projection_of_2538_entities_6333_segments_3256_relations_57_high_level_surfaces_5_labs_36_solved_mastery_problems_and_2_equivalent_assessments",
        "public_package": null,
        "status": "verified",
        "zenodo_preservation": "not_established"
      },
      "common_exchange_layer_completion": "verified",
      "dimensions": {
        "accessibility": {
          "mathml": "available_unverified",
          "semantic_html": "verified"
        },
        "curriculum": {
          "course_graph": "verified",
          "unit_identity": "verified"
        },
        "educator": {
          "materials": "verified",
          "unit_alignment": "verified"
        },
        "federation": {
          "component_rights": [
            {
              "id": "D30:primary",
              "status": "unknown"
            }
          ],
          "references": "verified"
        },
        "interoperability": {
          "adapter": "verified",
          "contract": "course-learning-capability/1"
        },
        "learner": {
          "central_tools": 1,
          "delivery": "verified"
        },
        "reproducible_production": {
          "build": "verified",
          "replay": "verified"
        },
        "source_translation_ledger": {
          "corrections": "verified",
          "ledger": "verified"
        },
        "terminology": {
          "register": "verified"
        }
      },
      "educator": {
        "resources": [
          {
            "id": "D30:native-educator-observation",
            "resource_type": "teacher-guide",
            "scope": "Bukti pengajar historis pada rilis native dipertahankan sebagai sumber tambahan; lapisan pusat tidak menghapus atau menggantikannya.",
            "status": "available_unverified",
            "title": "Observasi pengajar pada rilis native D30",
            "url": "https://zenodo.org/records/22182655"
          },
          {
            "bytes": 33554,
            "id": "D30:educator-hub-v1",
            "resource_type": "teacher-guide",
            "scope": "57 permukaan tingkat-atas, lima laboratorium, 36 masalah penguasaan terpecahkan, dan dua formulir penilaian ekuivalen.",
            "sha256": "9d7ee40c17ddb0e129c624646ddd7d91845f83a2f4e555a82b599d054f07ba62",
            "status": "verified",
            "title": "Peta hak, relasi, asesmen, laboratorium, dan provenans D30",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/d30/D30-pengajar.html"
          },
          {
            "bytes": 58082,
            "id": "D30:educator-map-v1",
            "resource_type": "teacher-guide",
            "scope": "Proyeksi metadata zero-copy yang terikat pada sumber native checkpoint 38.",
            "sha256": "fd1e9b197a2abd1aaab8a9094e2c9ca8898bea46e17473f6a3284b7d6895dc06",
            "status": "verified",
            "title": "Peta mesin pengajar D30",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/d30/educator-map.json"
          },
          {
            "bytes": 42797,
            "id": "D30:terms-index-v1",
            "resource_type": "terminology-index",
            "scope": "Proyeksi metadata zero-copy yang terikat pada sumber native checkpoint 38.",
            "sha256": "17c96da4730b27f643f9d6589033e3201a860bc17acace22bced85d8ffe472c3",
            "status": "verified",
            "title": "Indeks istilah D30",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/d30/data/terms-index.jsonl"
          },
          {
            "bytes": 31801,
            "id": "D30:rights-index-v1",
            "resource_type": "rights-index",
            "scope": "Proyeksi metadata zero-copy yang terikat pada sumber native checkpoint 38.",
            "sha256": "339753f87ef850184393a9c0bb6db80ac580d8af1fcce516693ccd10ff086254",
            "status": "verified",
            "title": "Indeks hak komponen D30",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/d30/data/rights-index.jsonl"
          },
          {
            "bytes": 219323,
            "id": "D30:corrections-index-v1",
            "resource_type": "corrections-index",
            "scope": "Proyeksi metadata zero-copy yang terikat pada sumber native checkpoint 38.",
            "sha256": "15b8e37657c22954e63a8285826747c2284852679347f0a5c003ae6dbbd0a400",
            "status": "verified",
            "title": "Indeks koreksi D30",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/d30/data/corrections-index.jsonl"
          },
          {
            "bytes": 1144312,
            "id": "D30:relations-index-v1",
            "resource_type": "relations-index",
            "scope": "Proyeksi metadata zero-copy yang terikat pada sumber native checkpoint 38.",
            "sha256": "338dd2c5a808968ab602491340f0e17b52bca9429536276f84d233f5645b8d34",
            "status": "verified",
            "title": "Indeks relasi native D30",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/d30/data/relations-index.jsonl"
          }
        ],
        "status": "verified",
        "unit_alignment": "verified"
      },
      "layers": {
        "curriculum": {
          "evidence_count": 0,
          "status": "verified"
        },
        "educator": {
          "evidence_count": 1,
          "status": "verified"
        },
        "federation": {
          "evidence_count": 0,
          "status": "verified"
        },
        "interoperability": {
          "evidence_count": 0,
          "status": "verified"
        },
        "learner": {
          "evidence_count": 0,
          "status": "verified"
        },
        "production": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "translation": {
          "evidence_count": 0,
          "status": "available_unverified"
        }
      },
      "learner": {
        "relationship": "directly_consumes_adapter_outputs",
        "tools": [
          {
            "href": "../backend/d30/D30.html",
            "label": "D30 · Probabilitas Teoretis-Ukuran dan Proses Stokastik"
          }
        ],
        "unit_identity": "verified"
      },
      "native_capability_parity_completion": "verified",
      "native_design_audit": {
        "limitations": [
          "The site shares identifiers but does not consume the backend.",
          "Exporter and artifact weight is high."
        ],
        "pattern": "Generic typed course graph joining donor sources, outcomes, labs, programs, assets, rights, and activities.",
        "recommended_reuse": [
          "portable outcomes/lab model",
          "typed course relations",
          "donor-source and rights joins"
        ],
        "status": "historical_comparison_not_new_native_reaudit"
      },
      "native_family_id": "family-24-stochastic-processes",
      "native_family_name": "Stochastic Processes",
      "next_required_work": [
        "Selesaikan audit sembilan bidang kemampuan dan bukti penggunaannya; adapter yang lulus tidak otomatis berarti backend lengkap."
      ],
      "role_id": "D30",
      "title": "Probabilitas Teoretis-Ukuran dan Proses Stokastik",
      "whole_course_backend_completion": "not_yet_proven"
    },
    {
      "common_adapter": {
        "contract": "course-learning-capability/1",
        "github_public_evidence": "new_anonymous_source_and_pages_readback",
        "local_evidence": [
          {
            "bytes": 92798,
            "file_name": "RELEASE_MANIFEST.json",
            "kind": "course_native_release_manifest",
            "locator": "https://zenodo.org/records/22184259/files/RELEASE_MANIFEST.json?download=1",
            "note": "Dua backend semantik kursus tersedia dan terikat pada rilis native; adapter pusat yang baru tetap merupakan proyeksi metadata tanpa salinan badan.",
            "sha256": "3991fd2234e263134090c3686b93553dcab1215d86144509fd7937d5a4065a97",
            "verified_date": "2026-08-31"
          },
          {
            "bytes": 16705,
            "kind": "central_adapter_manifest",
            "locator": "backend/course-capsule-v1/adapters/d40-capability-v1/manifest.json",
            "sha256": "460c23ecf03ffeb77602b827722335123ca9b4f6392bfff7702f0b9d765f5c9e",
            "verified_date": "2026-09-04"
          },
          {
            "bytes": 5392,
            "kind": "deterministic_validation_receipt",
            "locator": "backend/course-capsule-v1/adapters/d40-capability-v1/validation.json",
            "sha256": "d1aac59490de1ebf12f97944670f6c6dc2310fe46fb11b8e6bd78a1e117d70c8",
            "verified_date": "2026-09-04"
          },
          {
            "bytes": 6731,
            "kind": "native_metadata_intake",
            "locator": "backend/course-capsule-v1/adapters/d40-capability-v1/input/source-lock.json",
            "sha256": "5718dfbc784903fe473816064e3f3694c1f77125eb49c6f549436550ba660f70",
            "verified_date": "2026-09-04"
          }
        ],
        "mapping_scope": "zero_copy_68_root_pde_mastery_projection_with_14_theory_chapters_130_many_to_many_supports_108_prerequisites_and_execution_evidence",
        "public_package": null,
        "status": "verified",
        "zenodo_preservation": "not_established"
      },
      "common_exchange_layer_completion": "verified",
      "dimensions": {
        "accessibility": {
          "mathml": "verified",
          "semantic_html": "verified"
        },
        "curriculum": {
          "course_graph": "verified",
          "unit_identity": "verified"
        },
        "educator": {
          "materials": "verified",
          "unit_alignment": "verified"
        },
        "federation": {
          "component_rights": [
            {
              "id": "D40:primary",
              "status": "unknown"
            },
            {
              "id": "D40:d40-complete-package",
              "status": "available_unverified"
            },
            {
              "id": "D40:dionne-unit14-source",
              "status": "available_unverified"
            }
          ],
          "references": "verified"
        },
        "interoperability": {
          "adapter": "verified",
          "contract": "course-learning-capability/1"
        },
        "learner": {
          "central_tools": 1,
          "delivery": "verified"
        },
        "reproducible_production": {
          "build": "verified",
          "replay": "verified"
        },
        "source_translation_ledger": {
          "corrections": "verified",
          "ledger": "verified"
        },
        "terminology": {
          "register": "verified"
        }
      },
      "educator": {
        "resources": [
          {
            "id": "D40:native-educator-observation",
            "resource_type": "teacher-guide",
            "scope": "Observasi historis pada rilis native; status fitur lama tetap belum diverifikasi oleh lapisan pusat.",
            "status": "available_unverified",
            "title": "Materi pendukung native persamaan diferensial parsial",
            "url": "https://zenodo.org/records/22184259"
          },
          {
            "bytes": 78406,
            "id": "D40:educator-hub-v1",
            "resource_type": "teacher-guide",
            "scope": "68 akar pembelajaran native: 48 latihan, 16 asesmen, dan 4 laboratorium; 14 bab teori, 130 relasi dukungan many-to-many, 108 prasyarat, dan bukti 4 notebook tereksekusi.",
            "sha256": "edb08862ae74f733834c49d170a14a2f1914152ecc98bffade12137c26aa8838",
            "status": "verified",
            "title": "Peta teori, mastery, asesmen, laboratorium, eksekusi, hak, dan provenans D40 untuk pengajar",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/d40/D40-pengajar.html"
          }
        ],
        "status": "verified",
        "unit_alignment": "verified"
      },
      "layers": {
        "curriculum": {
          "evidence_count": 0,
          "status": "verified"
        },
        "educator": {
          "evidence_count": 1,
          "status": "verified"
        },
        "federation": {
          "evidence_count": 0,
          "status": "verified"
        },
        "interoperability": {
          "evidence_count": 0,
          "status": "verified"
        },
        "learner": {
          "evidence_count": 0,
          "status": "verified"
        },
        "production": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "translation": {
          "evidence_count": 0,
          "status": "available_unverified"
        }
      },
      "learner": {
        "relationship": "directly_consumes_adapter_outputs",
        "tools": [
          {
            "href": "../backend/d40/D40.html",
            "label": "D40 · Persamaan Diferensial Parsial"
          }
        ],
        "unit_identity": "verified"
      },
      "native_capability_parity_completion": "verified",
      "native_design_audit": {
        "limitations": [
          "No formal schema.",
          "Models topology rather than learning semantics.",
          "Dual legacy/current backends.",
          "Heavy cumulative receipts."
        ],
        "pattern": "Append-only TeX document graph with label-derived stable IDs and byte-identical predecessor prefixes/xref snapshots.",
        "recommended_reuse": [
          "append-only release lineage",
          "label-derived stable IDs",
          "predecessor-prefix and xref snapshots"
        ],
        "status": "historical_comparison_not_new_native_reaudit"
      },
      "native_family_id": "family-25-partial-differential-equations",
      "native_family_name": "Partial Differential Equations",
      "next_required_work": [
        "Selesaikan audit sembilan bidang kemampuan dan bukti penggunaannya; adapter yang lulus tidak otomatis berarti backend lengkap."
      ],
      "role_id": "D40",
      "title": "Persamaan Diferensial Parsial",
      "whole_course_backend_completion": "not_yet_proven"
    },
    {
      "common_adapter": {
        "contract": "2.3.1",
        "github_public_evidence": "new_anonymous_release_asset_readback",
        "local_evidence": [
          {
            "bytes": 23805,
            "kind": "central_adapter_manifest",
            "locator": "backend/v2.3/admissions/d50-smooth-manifolds-v0.1.0/manifest.json",
            "sha256": "60912d69f7601b2d9ffffa5a5da77439583c30cecbce0bdae5dd02481ea2a853",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 1824,
            "kind": "central_admission_validation",
            "locator": "backend/v2.3/admissions/d50-smooth-manifolds-v0.1.0/ADMISSION_VALIDATION.json",
            "sha256": "aed08ad3dad0af55434e18f9731d15668461f24d34322fddba8d1faf33f96789",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 15385668,
            "kind": "sealed_zero_copy_adapter_package",
            "locator": "backend/v2.3/packages/program-matematika-indonesia-backend-v2.3.1-d50-smooth-manifolds-adapter-v0.1.0.zip",
            "sha256": "dedcc369a482295677ee2763690b92c08fddec85cb40fe89f4542b833138052d",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 2627,
            "kind": "fail_closed_negative_probe_report",
            "locator": "backend/v2.3/admissions/d50-smooth-manifolds-v0.1.0/NEGATIVE_PROBE_REPORT.json",
            "sha256": "4b3c6307b259993892ac2fa9f7f84018f980d6ee24a1cebc13794e11305263c8",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 3482,
            "kind": "independent_package_audit",
            "locator": "backend/v2.3/admissions/d50-smooth-manifolds-v0.1.0/INDEPENDENT_AUDIT.json",
            "sha256": "d646ce1de4c4ae21c51585d294eed841d957307427578d1125d03fee0c03d6b6",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 2365,
            "kind": "central_publication_binding",
            "locator": "backend/v2.3/admissions/d50-smooth-manifolds-v0.1.0/publication/PUBLICATION_BINDING_v0.63.21.json",
            "sha256": "83686b790e8a1958f599bc763760dca525488931c1128aeca118d0264c4698e2",
            "verified_date": "2026-09-06"
          }
        ],
        "mapping_scope": "zero_copy_projection_of_6912_owner_native_rows_to_24796_common_records_with_direct_hash_only_and_lineage_only_classes_preserved",
        "public_package": {
          "bytes": 15385668,
          "central_record": "https://doi.org/10.5281/zenodo.22542577",
          "sha256": "dedcc369a482295677ee2763690b92c08fddec85cb40fe89f4542b833138052d",
          "url": "https://github.com/KokunoYumeto/program-matematika-indonesia/releases/download/v0.63.21/D50_SMOOTH_MANIFOLDS_V231_ADAPTER.zip",
          "zenodo_container": "peta-belajar-multilingual-v0.63.21.zip",
          "zenodo_member": "backend/v2.3/packages/program-matematika-indonesia-backend-v2.3.1-d50-smooth-manifolds-adapter-v0.1.0.zip"
        },
        "status": "verified",
        "zenodo_preservation": "new_embedded_successor_readback"
      },
      "common_exchange_layer_completion": "verified",
      "dimensions": {
        "accessibility": {
          "mathml": "not_yet_produced",
          "semantic_html": "not_yet_produced"
        },
        "curriculum": {
          "course_graph": "verified",
          "unit_identity": "verified"
        },
        "educator": {
          "materials": "available_unverified",
          "unit_alignment": "unknown"
        },
        "federation": {
          "component_rights": [
            {
              "id": "D50:primary",
              "status": "unknown"
            }
          ],
          "references": "verified"
        },
        "interoperability": {
          "adapter": "verified",
          "contract": "2.3.1"
        },
        "learner": {
          "central_tools": 0,
          "delivery": "available_unverified"
        },
        "reproducible_production": {
          "build": "unknown",
          "replay": "unknown"
        },
        "source_translation_ledger": {
          "corrections": "verified",
          "ledger": "verified"
        },
        "terminology": {
          "register": "verified"
        }
      },
      "educator": {
        "resources": [],
        "status": "available_unverified",
        "unit_alignment": "unknown"
      },
      "layers": {
        "curriculum": {
          "evidence_count": 0,
          "status": "verified"
        },
        "educator": {
          "evidence_count": 1,
          "status": "available_unverified"
        },
        "federation": {
          "evidence_count": 0,
          "status": "verified"
        },
        "interoperability": {
          "evidence_count": 0,
          "status": "verified"
        },
        "learner": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "production": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "translation": {
          "evidence_count": 0,
          "status": "available_unverified"
        }
      },
      "learner": {
        "relationship": "no_common_adapter_consumption_proven",
        "tools": [],
        "unit_identity": "verified"
      },
      "native_capability_parity_completion": "not_yet_proven",
      "native_design_audit": {
        "limitations": [
          "Graph is dominated by QA, artifact, and order history.",
          "README hashes are stale."
        ],
        "pattern": "Append-only provenance topology distinguishing official answers, missing answers, original repairs, rights, corrections, and reader anchors.",
        "recommended_reuse": [
          "official/missing/original answer distinctions",
          "provenance and rights topology",
          "reader anchors",
          "reproducible source packaging"
        ],
        "status": "historical_comparison_not_new_native_reaudit"
      },
      "native_family_id": "family-26-differential-geometry",
      "native_family_name": "Differential Geometry",
      "next_required_work": [
        "Buktikan produksi asli yang dapat diulang; build adapter saja bukan bukti build buku.",
        "Hubungkan bahan pengajar dengan identitas unit/latihan yang dipakai pelajar.",
        "Selesaikan audit sembilan bidang kemampuan dan bukti penggunaannya; adapter yang lulus tidak otomatis berarti backend lengkap."
      ],
      "role_id": "D50",
      "title": "Lipatan Mulus dan Geometri Diferensial",
      "whole_course_backend_completion": "not_yet_proven"
    },
    {
      "common_adapter": {
        "contract": "2.3.1",
        "github_public_evidence": "frozen_public_readback",
        "local_evidence": [
          {
            "bytes": 24000,
            "kind": "central_adapter_manifest",
            "locator": "release-asset:releases/v0.62.16/program-matematika-indonesia-backend-v2.3.1-d60-adapter-v0.1.0.zip#manifest.json",
            "sha256": "1f2b9fd5daf7feaf42846fddc2cc82aa7c4818a8bfaf79faa3f4005ea9584820",
            "verified_date": "2026-08-30"
          }
        ],
        "mapping_scope": "reversible_native_adapter",
        "public_package": {
          "bytes": 9031171,
          "central_record": "https://doi.org/10.5281/zenodo.22303203",
          "sha256": "e80654a5cd5a1ddbc801d8b61ae746108f9af8741c956616f5f21f3af42da549",
          "url": "https://github.com/KokunoYumeto/program-matematika-indonesia/releases/download/v0.62.10/program-matematika-indonesia-backend-v2.3.1-d60-adapter-v0.1.0.zip"
        },
        "status": "verified",
        "zenodo_preservation": "frozen_public_readback"
      },
      "common_exchange_layer_completion": "verified",
      "dimensions": {
        "accessibility": {
          "mathml": "available_unverified",
          "semantic_html": "available_unverified"
        },
        "curriculum": {
          "course_graph": "verified",
          "unit_identity": "unknown"
        },
        "educator": {
          "materials": "available_unverified",
          "unit_alignment": "unknown"
        },
        "federation": {
          "component_rights": [
            {
              "id": "D60:primary",
              "status": "unknown"
            },
            {
              "id": "D60:d60-editable-source-backend-complete",
              "status": "available_unverified"
            }
          ],
          "references": "verified"
        },
        "interoperability": {
          "adapter": "verified",
          "contract": "2.3.1"
        },
        "learner": {
          "central_tools": 0,
          "delivery": "available_unverified"
        },
        "reproducible_production": {
          "build": "unknown",
          "replay": "unknown"
        },
        "source_translation_ledger": {
          "corrections": "unknown",
          "ledger": "unknown"
        },
        "terminology": {
          "register": "unknown"
        }
      },
      "educator": {
        "resources": [],
        "status": "available_unverified",
        "unit_alignment": "unknown"
      },
      "layers": {
        "curriculum": {
          "evidence_count": 0,
          "status": "verified"
        },
        "educator": {
          "evidence_count": 1,
          "status": "available_unverified"
        },
        "federation": {
          "evidence_count": 0,
          "status": "verified"
        },
        "interoperability": {
          "evidence_count": 0,
          "status": "verified"
        },
        "learner": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "production": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "translation": {
          "evidence_count": 0,
          "status": "available_unverified"
        }
      },
      "learner": {
        "relationship": "course_link_only_no_adapter_consumption_claim",
        "tools": [],
        "unit_identity": "unknown"
      },
      "native_capability_parity_completion": "not_yet_proven",
      "native_design_audit": {
        "limitations": [
          "Duplicated units and segments.",
          "566 correction rows create high synchronization cost.",
          "Compact Zenodo archive alone is not a build tree."
        ],
        "pattern": "Eleven typed locale-neutral JSONL streams covering concepts, hints, solutions, proofs, rights, and routes.",
        "recommended_reuse": [
          "typed locale-neutral JSONL streams",
          "concept/hint/solution/proof separation",
          "rights and route streams",
          "verified learner-route design"
        ],
        "status": "historical_comparison_not_new_native_reaudit"
      },
      "native_family_id": "family-27-algebraic-topology",
      "native_family_name": "Algebraic Topology",
      "next_required_work": [
        "Buktikan ledger sumber/penerjemahan asli; status ini tidak menyatakan terjemahan belum selesai.",
        "Periksa register istilah dan kaitannya dengan teks serta alternatif istilah.",
        "Buktikan produksi asli yang dapat diulang; build adapter saja bukan bukti build buku.",
        "Hubungkan bahan pengajar dengan identitas unit/latihan yang dipakai pelajar.",
        "Selesaikan audit sembilan bidang kemampuan dan bukti penggunaannya; adapter yang lulus tidak otomatis berarti backend lengkap."
      ],
      "role_id": "D60",
      "title": "Topologi Aljabar",
      "whole_course_backend_completion": "not_yet_proven"
    },
    {
      "common_adapter": {
        "contract": "course-learning-capability/1",
        "github_public_evidence": "new_anonymous_source_and_pages_readback",
        "local_evidence": [
          {
            "bytes": 8638,
            "kind": "central_adapter_manifest",
            "locator": "backend/course-capsule-v1/adapters/d70-capability-v1/manifest.json",
            "sha256": "fc51d4e10e997bf62a4d5b3e3fec56b6e07fccd293ffb8bd2a6895da27233077",
            "verified_date": "2026-09-05"
          },
          {
            "bytes": 5734,
            "kind": "deterministic_validation_receipt",
            "locator": "backend/course-capsule-v1/adapters/d70-capability-v1/validation.json",
            "sha256": "a9af8513f3af68bf38da6e79be652f08d29f2d7ec6555fd2f3a23be89281fbb1",
            "verified_date": "2026-09-05"
          },
          {
            "bytes": 11497,
            "kind": "native_metadata_intake",
            "locator": "backend/course-capsule-v1/adapters/d70-capability-v1/input/source-lock.json",
            "sha256": "c9c17e670b9be3dd3da51d97f781b95ae8fca26a445ca85a72369482d7873f8d",
            "verified_date": "2026-09-05"
          }
        ],
        "mapping_scope": "zero_copy_four_component_716_page_projection_of_54_native_roots_20_routes_36_relations_8_diagnostics_and_8_edition_original_mastery_tasks",
        "public_package": null,
        "status": "verified",
        "zenodo_preservation": "not_established"
      },
      "common_exchange_layer_completion": "verified",
      "dimensions": {
        "accessibility": {
          "mathml": "not_yet_produced",
          "semantic_html": "not_yet_produced"
        },
        "curriculum": {
          "course_graph": "verified",
          "unit_identity": "verified"
        },
        "educator": {
          "materials": "verified",
          "unit_alignment": "verified"
        },
        "federation": {
          "component_rights": [
            {
              "id": "D70:primary",
              "status": "unknown"
            }
          ],
          "references": "verified"
        },
        "interoperability": {
          "adapter": "verified",
          "contract": "course-learning-capability/1"
        },
        "learner": {
          "central_tools": 1,
          "delivery": "available_unverified"
        },
        "reproducible_production": {
          "build": "available_unverified",
          "replay": "available_unverified"
        },
        "source_translation_ledger": {
          "corrections": "verified",
          "ledger": "verified"
        },
        "terminology": {
          "register": "verified"
        }
      },
      "educator": {
        "resources": [
          {
            "id": "D70:native-educator-observation",
            "resource_type": "teacher-guide",
            "scope": "Observasi historis pada rilis native; fitur lama tetap belum diverifikasi oleh lapisan pusat.",
            "status": "available_unverified",
            "title": "Materi pendukung native aljabar pascasarjana",
            "url": "https://zenodo.org/records/22160944"
          },
          {
            "bytes": 16434,
            "id": "D70:educator-hub-v1",
            "resource_type": "teacher-guide",
            "scope": "Empat komponen/716 halaman; 54 akar native, 20 rute, 36 prasyarat, 8 diagnostik, dan 8 tugas penguasaan dengan 16 petunjuk/8 jawaban edisi-asli. Materi sumber tidak memiliki jawaban/solusi; hanya delapan jawaban edisi-asli yang ditampilkan bertahap.",
            "sha256": "f5d3bdfabcc0d50f7a555077a007de3d5edb951353bac47d4a9e5ccf20140370",
            "status": "verified",
            "title": "Rute, diagnostik, mastery, istilah, hak, koreksi, dan provenans D70 untuk pengajar",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/d70/D70-pengajar.html"
          }
        ],
        "status": "verified",
        "unit_alignment": "verified"
      },
      "layers": {
        "curriculum": {
          "evidence_count": 0,
          "status": "verified"
        },
        "educator": {
          "evidence_count": 1,
          "status": "verified"
        },
        "federation": {
          "evidence_count": 0,
          "status": "verified"
        },
        "interoperability": {
          "evidence_count": 0,
          "status": "verified"
        },
        "learner": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "production": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "translation": {
          "evidence_count": 0,
          "status": "available_unverified"
        }
      },
      "learner": {
        "relationship": "directly_consumes_adapter_outputs",
        "tools": [
          {
            "href": "../backend/d70/D70.html",
            "label": "D70 · Aljabar Pascasarjana"
          }
        ],
        "unit_identity": "verified"
      },
      "native_capability_parity_completion": "not_yet_proven",
      "native_design_audit": {
        "limitations": [
          "Four backend dialects.",
          "Repeated rights and prerequisites.",
          "Labeling defects.",
          "Four PDFs rather than one integrated learner corpus."
        ],
        "pattern": "Component-sovereign Li, Duncan, CRing, and original backends federated by a real cross-component learner route.",
        "recommended_reuse": [
          "component sovereignty",
          "rights-preserving federation",
          "cross-component branching mastery routes"
        ],
        "status": "historical_comparison_not_new_native_reaudit"
      },
      "native_family_id": "family-28-graduate-algebra",
      "native_family_name": "Graduate Algebra",
      "next_required_work": [
        "Buktikan produksi asli yang dapat diulang; build adapter saja bukan bukti build buku.",
        "Selesaikan audit sembilan bidang kemampuan dan bukti penggunaannya; adapter yang lulus tidak otomatis berarti backend lengkap."
      ],
      "role_id": "D70",
      "title": "Aljabar Pascasarjana",
      "whole_course_backend_completion": "not_yet_proven"
    },
    {
      "common_adapter": {
        "contract": "course-learning-capability/1",
        "github_public_evidence": "new_anonymous_source_and_pages_readback",
        "local_evidence": [
          {
            "bytes": 10650,
            "kind": "central_adapter_manifest",
            "locator": "backend/course-capsule-v1/adapters/d80-capability-v1/manifest.json",
            "sha256": "7c270a57368b895433755b3e0f6650d9be6d7b4035a33cef02f43a684da54088",
            "verified_date": "2026-09-04"
          },
          {
            "bytes": 2902,
            "kind": "deterministic_validation_receipt",
            "locator": "backend/course-capsule-v1/adapters/d80-capability-v1/validation.json",
            "sha256": "312e48ad4dbe6c270b1d242f35cf507ddc0359b4a4de0ddff94e1e9c42c7ea08",
            "verified_date": "2026-09-04"
          },
          {
            "bytes": 6840,
            "kind": "native_metadata_intake",
            "locator": "backend/course-capsule-v1/adapters/d80-capability-v1/input/source-lock.json",
            "sha256": "18331d96d7c601581f9d076089a90b8909305067b0563c93e9991355db412c23",
            "verified_date": "2026-09-04"
          }
        ],
        "mapping_scope": "reconciled_146_unit_navigation_with_separate_independent_mastery_bridges_and_preserved_native_ledger_boundaries",
        "public_package": null,
        "status": "verified",
        "zenodo_preservation": "not_established"
      },
      "common_exchange_layer_completion": "verified",
      "dimensions": {
        "accessibility": {
          "mathml": "available_unverified",
          "semantic_html": "verified"
        },
        "curriculum": {
          "course_graph": "verified",
          "unit_identity": "verified"
        },
        "educator": {
          "materials": "verified",
          "unit_alignment": "verified"
        },
        "federation": {
          "component_rights": [
            {
              "id": "D80:primary",
              "status": "unknown"
            },
            {
              "id": "D80:metode-aljabar-jilid-2-backend",
              "status": "available_unverified"
            },
            {
              "id": "D80:metode-aljabar-jilid-2-html-offline-corrected",
              "status": "available_unverified"
            }
          ],
          "references": "verified"
        },
        "interoperability": {
          "adapter": "verified",
          "contract": "course-learning-capability/1"
        },
        "learner": {
          "central_tools": 1,
          "delivery": "verified"
        },
        "reproducible_production": {
          "build": "unknown",
          "replay": "unknown"
        },
        "source_translation_ledger": {
          "corrections": "unknown",
          "ledger": "unknown"
        },
        "terminology": {
          "register": "unknown"
        }
      },
      "educator": {
        "resources": [
          {
            "id": "D80:native-educator-observation",
            "resource_type": "teacher-guide",
            "scope": "Observasi historis pada edisi native; status fitur lama tetap belum diverifikasi.",
            "status": "available_unverified",
            "title": "Materi pendukung native metode aljabar",
            "url": "https://zenodo.org/records/22167691"
          },
          {
            "bytes": 72127,
            "id": "D80:educator-hub-v1",
            "resource_type": "teacher-guide",
            "scope": "146 unit sumber + 2 jembatan mandiri; 148 rute dan 16 latihan/16 solusi jembatan dengan identitas bersama.",
            "sha256": "784cef51480a12dd729200033a7118746ea2713ede01ff04adb592696d45fc0f",
            "status": "verified",
            "title": "Keselarasan unit, provenans, latihan, dan solusi D80 untuk pengajar",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/d80/D80-pengajar.html"
          }
        ],
        "status": "verified",
        "unit_alignment": "verified"
      },
      "layers": {
        "curriculum": {
          "evidence_count": 0,
          "status": "verified"
        },
        "educator": {
          "evidence_count": 1,
          "status": "verified"
        },
        "federation": {
          "evidence_count": 0,
          "status": "verified"
        },
        "interoperability": {
          "evidence_count": 0,
          "status": "verified"
        },
        "learner": {
          "evidence_count": 0,
          "status": "verified"
        },
        "production": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "translation": {
          "evidence_count": 0,
          "status": "available_unverified"
        }
      },
      "learner": {
        "relationship": "directly_consumes_adapter_outputs",
        "tools": [
          {
            "href": "../backend/d80/D80.html",
            "label": "D80 · Metode kategori dan homologi"
          }
        ],
        "unit_identity": "verified"
      },
      "native_capability_parity_completion": "not_yet_proven",
      "native_design_audit": {
        "limitations": [
          "Sparse and ad-hoc semantics.",
          "Stale states.",
          "Public replay is not self-contained."
        ],
        "pattern": "Lean source-span, terminology, and alt-text ledgers whose alt descriptions are consumed by the HTML reader.",
        "recommended_reuse": [
          "source-span precision",
          "terminology ledger",
          "alt-text ledger",
          "reader-consumed accessibility metadata"
        ],
        "status": "historical_comparison_not_new_native_reaudit"
      },
      "native_family_id": "family-29-category-and-homological-methods",
      "native_family_name": "Category and Homological Methods",
      "next_required_work": [
        "Buktikan ledger sumber/penerjemahan asli; status ini tidak menyatakan terjemahan belum selesai.",
        "Periksa register istilah dan kaitannya dengan teks serta alternatif istilah.",
        "Buktikan produksi asli yang dapat diulang; build adapter saja bukan bukti build buku.",
        "Selesaikan audit sembilan bidang kemampuan dan bukti penggunaannya; adapter yang lulus tidak otomatis berarti backend lengkap."
      ],
      "role_id": "D80",
      "title": "Teori Kategori dan Metode Homologis",
      "whole_course_backend_completion": "not_yet_proven"
    },
    {
      "common_adapter": {
        "contract": "course-learning-capability/1",
        "github_public_evidence": "new_anonymous_source_and_pages_readback",
        "local_evidence": [
          {
            "bytes": 8987,
            "kind": "central_adapter_manifest",
            "locator": "backend/course-capsule-v1/adapters/d90-capability-v1/manifest.json",
            "sha256": "9df3955d918c1c010be7e7b8beca01dcc199b9edfe7686966ac049dc4585663f",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 9554,
            "kind": "deterministic_validation_receipt",
            "locator": "backend/course-capsule-v1/adapters/d90-capability-v1/validation.json",
            "sha256": "74d93103d66bddd11c1c12dadceb0209d004547c29685017b81aff5b603ddfe7",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 2301,
            "kind": "native_source_lock",
            "locator": "backend/course-capsule-v1/adapters/d90-capability-v1/input/source-lock.json",
            "sha256": "4fad5b0e0a761ac02045f1e2162e0e76554609920e6d9f51f5135aa55830f724",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 3948,
            "kind": "verified_native_public_release",
            "locator": "backend/course-capsule-v1/adapters/d90-capability-v1/data/public-evidence.json",
            "sha256": "86a3e7568acf1cfc7cfd4ac4049d7b230dd807bc04393ec55c7c94162fc75dbd",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 65395,
            "kind": "component_rights_index",
            "locator": "backend/course-capsule-v1/adapters/d90-capability-v1/data/rights-index.jsonl",
            "sha256": "5aca12cc504b9cc96158c044194235ef1ffb771d77a64eced2d5f99151e310c6",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 130465,
            "kind": "correction_index",
            "locator": "backend/course-capsule-v1/adapters/d90-capability-v1/data/corrections-index.jsonl",
            "sha256": "58138adbec2e1789998a3843c8069cf31cb81517249e11db961e127bcf183c9a",
            "verified_date": "2026-09-06"
          },
          {
            "bytes": 84282,
            "kind": "terminology_index",
            "locator": "backend/course-capsule-v1/adapters/d90-capability-v1/data/terms-index.jsonl",
            "sha256": "6a0984302425c6145cefc5ec47706df8d59976753988503f788345f95a7f9a5a",
            "verified_date": "2026-09-06"
          }
        ],
        "mapping_scope": "zero_copy_projection_of_4877_native_records_438_original03_public_learning_surfaces_54_five_stage_prompt_chains_32_four_stage_practice_chains_93_rights_248_corrections_and_127_terms",
        "public_package": null,
        "status": "verified",
        "zenodo_preservation": "not_established"
      },
      "common_exchange_layer_completion": "verified",
      "dimensions": {
        "accessibility": {
          "mathml": "verified",
          "semantic_html": "verified"
        },
        "curriculum": {
          "course_graph": "verified",
          "unit_identity": "verified"
        },
        "educator": {
          "materials": "verified",
          "unit_alignment": "verified"
        },
        "federation": {
          "component_rights": [
            {
              "id": "D90:primary",
              "status": "unknown"
            }
          ],
          "references": "verified"
        },
        "interoperability": {
          "adapter": "verified",
          "contract": "course-learning-capability/1"
        },
        "learner": {
          "central_tools": 1,
          "delivery": "verified"
        },
        "reproducible_production": {
          "build": "verified",
          "replay": "verified"
        },
        "source_translation_ledger": {
          "corrections": "verified",
          "ledger": "verified"
        },
        "terminology": {
          "register": "verified"
        }
      },
      "educator": {
        "resources": [
          {
            "id": "D90:native-educator-observation",
            "resource_type": "assessment-blueprints",
            "scope": "Rekaman native yang mendahului adapter pusat; dipertahankan terpisah dari bukti konsumsi bersama.",
            "status": "available_unverified",
            "title": "Rekaman rilis native D90 untuk asesmen, rubrik, dan lab",
            "url": "https://zenodo.org/records/22142120"
          },
          {
            "bytes": 18202,
            "id": "D90:educator-hub-v1",
            "resource_type": "teacher-guide",
            "scope": "Sebanyak 4.877 rekaman native dan 438 permukaan belajar Original-03: 54 rantai prompt lima tahap, 32 rantai latihan empat tahap, 54 wadah asesmen, dua lab, tujuh rubrik, tujuh milestone, 93 rekaman hak, 248 koreksi, dan 127 istilah.",
            "sha256": "1952665e8dbcd4f4b5402bfa3c0fcc6c94469f0fcf5f5fd2547413a9489a794b",
            "status": "verified",
            "title": "Pemilih asesmen, petunjuk, jawaban, solusi, rubrik, lab, dan capstone D90 untuk pengajar",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/d90/D90-pengajar.html"
          },
          {
            "bytes": 100847,
            "id": "D90:educator-map-v1",
            "resource_type": "educator-data",
            "scope": "Peta zero-copy atas identitas asesmen, rubrik, lab, capstone, dan rantai dukungan native.",
            "sha256": "f809ed8786064155349a869a5c13103a62d1f284ab4c8142243f64a28f2398df",
            "status": "verified",
            "title": "Peta asesmen dan dukungan bertahap D90",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/d90/educator-map.json"
          },
          {
            "bytes": 84282,
            "id": "D90:terms-index-v1",
            "resource_type": "terminology-register",
            "scope": "Indeks metadata native yang dipertahankan tanpa menyalin badan materi kursus.",
            "sha256": "6a0984302425c6145cefc5ec47706df8d59976753988503f788345f95a7f9a5a",
            "status": "verified",
            "title": "Indeks 127 istilah D90",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/d90/data/terms-index.jsonl"
          },
          {
            "bytes": 65395,
            "id": "D90:rights-index-v1",
            "resource_type": "rights-ledger",
            "scope": "Indeks metadata native yang dipertahankan tanpa menyalin badan materi kursus.",
            "sha256": "5aca12cc504b9cc96158c044194235ef1ffb771d77a64eced2d5f99151e310c6",
            "status": "verified",
            "title": "Indeks 93 rekaman hak D90",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/d90/data/rights-index.jsonl"
          },
          {
            "bytes": 130465,
            "id": "D90:corrections-index-v1",
            "resource_type": "correction-ledger",
            "scope": "Indeks metadata native yang dipertahankan tanpa menyalin badan materi kursus.",
            "sha256": "58138adbec2e1789998a3843c8069cf31cb81517249e11db961e127bcf183c9a",
            "status": "verified",
            "title": "Indeks 248 koreksi D90",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/d90/data/corrections-index.jsonl"
          }
        ],
        "status": "verified",
        "unit_alignment": "verified"
      },
      "layers": {
        "curriculum": {
          "evidence_count": 0,
          "status": "verified"
        },
        "educator": {
          "evidence_count": 1,
          "status": "verified"
        },
        "federation": {
          "evidence_count": 0,
          "status": "verified"
        },
        "interoperability": {
          "evidence_count": 0,
          "status": "verified"
        },
        "learner": {
          "evidence_count": 0,
          "status": "verified"
        },
        "production": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "translation": {
          "evidence_count": 0,
          "status": "available_unverified"
        }
      },
      "learner": {
        "relationship": "directly_consumes_adapter_outputs",
        "tools": [
          {
            "href": "../backend/d90/D90.html",
            "label": "D90 · Optimisasi Lanjut dan Analisis Konveks"
          }
        ],
        "unit_identity": "verified"
      },
      "native_capability_parity_completion": "verified",
      "native_design_audit": {
        "limitations": [
          "Limited reversible/external reuse evidence.",
          "Heavy 100-file release."
        ],
        "pattern": "Integrated course-object graph tying definitions, proofs, labs, assessments, solutions, and capstone to one stable identity.",
        "recommended_reuse": [
          "integrated assessable-course object graph",
          "stable identity across definitions/proofs/labs/assessments/solutions/capstone"
        ],
        "status": "historical_comparison_not_new_native_reaudit"
      },
      "native_family_id": "family-30-advanced-optimization",
      "native_family_name": "Advanced Optimization",
      "next_required_work": [
        "Selesaikan audit sembilan bidang kemampuan dan bukti penggunaannya; adapter yang lulus tidak otomatis berarti backend lengkap."
      ],
      "role_id": "D90",
      "title": "Optimisasi Lanjut dan Analisis Konveks",
      "whole_course_backend_completion": "not_yet_proven"
    },
    {
      "common_adapter": {
        "contract": "course-learning-capability/1",
        "github_public_evidence": "new_anonymous_source_and_pages_readback",
        "local_evidence": [
          {
            "bytes": 11356,
            "kind": "central_adapter_manifest",
            "locator": "backend/course-capsule-v1/adapters/d100-capability-v1/manifest.json",
            "sha256": "366be8e27f2b543353b7705b8a03a5137fbfbe95e2f465b1726e30325dc935ca",
            "verified_date": "2026-09-05"
          },
          {
            "bytes": 3345,
            "kind": "deterministic_validation_receipt",
            "locator": "backend/course-capsule-v1/adapters/d100-capability-v1/validation.json",
            "sha256": "1927526a963058115ff6356cccd1ef358c5103c653b393de2cb5610578db3d42",
            "verified_date": "2026-09-05"
          },
          {
            "bytes": 4324,
            "kind": "native_metadata_intake",
            "locator": "backend/course-capsule-v1/adapters/d100-capability-v1/input/source-lock.json",
            "sha256": "0f4e4a84eec9078164c4195b6e920ec9d31b54704806ef5e4add18f88aee963c",
            "verified_date": "2026-09-05"
          },
          {
            "bytes": 6535,
            "kind": "verified_english_public_release",
            "locator": "backend/course-capsule-v1/adapters/d100-capability-v1/data/public-evidence.json",
            "sha256": "f7f36ad8ac8a003816060685d39dca45d977dbc10cc4e6c6b6de07b9707bbdbe",
            "verified_date": "2026-09-05"
          }
        ],
        "mapping_scope": "english_en_v1_release_zero_copy_projection_of_92_navigation_units_1201_exercises_57_mastery_items_and_native_ledgers_without_rewriting_central_id_id_truth",
        "public_package": null,
        "status": "verified",
        "zenodo_preservation": "not_established"
      },
      "common_exchange_layer_completion": "verified",
      "dimensions": {
        "accessibility": {
          "mathml": "available_unverified",
          "semantic_html": "available_unverified"
        },
        "curriculum": {
          "course_graph": "verified",
          "unit_identity": "verified"
        },
        "educator": {
          "materials": "verified",
          "unit_alignment": "verified"
        },
        "federation": {
          "component_rights": [
            {
              "id": "D100:primary",
              "status": "unknown"
            },
            {
              "id": "D100:bgk-units-01-30-corr1",
              "status": "available_unverified"
            },
            {
              "id": "D100:original-bridge-corr1",
              "status": "available_unverified"
            }
          ],
          "references": "verified"
        },
        "interoperability": {
          "adapter": "verified",
          "contract": "course-learning-capability/1"
        },
        "learner": {
          "central_tools": 1,
          "delivery": "available_unverified"
        },
        "reproducible_production": {
          "build": "available_unverified",
          "replay": "available_unverified"
        },
        "source_translation_ledger": {
          "corrections": "verified",
          "ledger": "verified"
        },
        "terminology": {
          "register": "verified"
        }
      },
      "educator": {
        "resources": [
          {
            "bytes": 747673,
            "id": "original-bridge-corr1",
            "license": "CC BY-SA 4.0; atribusi dan hak komponen dipertahankan",
            "pages": 90,
            "resource_type": "companion-reader",
            "scope": "Pendamping editorial 90 halaman: 32 unit, 44 solusi penguasaan baru, 13 rujukan solusi sumber, 12 masalah integratif, satu seam, dan satu capstone.",
            "sha256": "ed54f440409b2aa7beb5a1ff24be0e54de7845576f3f4d06e88fd58c9feb2131",
            "status": "verified",
            "title": "Pendamping Editorial: Dari Varietas ke Skema",
            "url": "https://zenodo.org/records/22543825/files/01_Pendamping-Editorial-Varietas-ke-Skema_id-ID_corr1.pdf?download=1"
          },
          {
            "bytes": 466086,
            "id": "D100:educator-hub-en-v1",
            "resource_type": "teacher-guide",
            "scope": "English en-v1.0.0 capability view: 60 source-course aggregates, 32 separate companion units, 1,201 exercises, exact solution provenance, and a 57-item concentrated mastery route. This is explicitly English-language support, not a claim of Indonesian educator prose.",
            "sha256": "7a81c13384c34a7ed53e34399ed5936697acbd58261a039cf0121591b1f6aef2",
            "status": "verified",
            "title": "D100 educator hub — English capability",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/d100/D100-pengajar.html"
          }
        ],
        "status": "verified",
        "unit_alignment": "verified"
      },
      "layers": {
        "curriculum": {
          "evidence_count": 0,
          "status": "verified"
        },
        "educator": {
          "evidence_count": 1,
          "status": "verified"
        },
        "federation": {
          "evidence_count": 0,
          "status": "verified"
        },
        "interoperability": {
          "evidence_count": 0,
          "status": "verified"
        },
        "learner": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "production": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "translation": {
          "evidence_count": 0,
          "status": "available_unverified"
        }
      },
      "learner": {
        "relationship": "directly_consumes_adapter_outputs",
        "tools": [
          {
            "href": "../backend/d100/D100.html",
            "label": "D100 · Algebraic Geometry capability (English)"
          }
        ],
        "unit_identity": "verified"
      },
      "native_capability_parity_completion": "not_yet_proven",
      "native_design_audit": {
        "limitations": [
          "Corpus remains incomplete.",
          "Terminal replay remains incomplete.",
          "Synchronization burden is high."
        ],
        "pattern": "Full 60-unit authority graph with a 19-unit learner route as a nonduplicating view, separating edition, release snapshot, and route.",
        "recommended_reuse": [
          "authority graph plus nonduplicating learner views",
          "edition/release/route identity separation"
        ],
        "status": "historical_comparison_not_new_native_reaudit"
      },
      "native_family_id": "family-31-algebraic-geometry",
      "native_family_name": "Algebraic Geometry",
      "next_required_work": [
        "Buktikan produksi asli yang dapat diulang; build adapter saja bukan bukti build buku.",
        "Selesaikan audit sembilan bidang kemampuan dan bukti penggunaannya; adapter yang lulus tidak otomatis berarti backend lengkap."
      ],
      "role_id": "D100",
      "title": "Jembatan Geometri Aljabar",
      "whole_course_backend_completion": "not_yet_proven"
    },
    {
      "common_adapter": {
        "contract": "2.3.1",
        "github_public_evidence": "frozen_public_readback",
        "local_evidence": [
          {
            "kind": "central_release",
            "locator": "https://github.com/KokunoYumeto/program-matematika-indonesia/releases/tag/v0.62.11",
            "verified_date": "2026-08-30"
          }
        ],
        "mapping_scope": "reversible_native_adapter",
        "public_package": {
          "bytes": 14097074,
          "central_record": "https://doi.org/10.5281/zenodo.22303203",
          "sha256": "bfd554c0d459787ea0ccde0c2de1f22264705d2dffa20061fa2525095b83287b",
          "url": "https://github.com/KokunoYumeto/program-matematika-indonesia/releases/download/v0.62.11/program-matematika-indonesia-backend-v2.3.1-d110-adapter-v0.1.0.zip"
        },
        "status": "verified",
        "zenodo_preservation": "frozen_public_readback"
      },
      "common_exchange_layer_completion": "verified",
      "dimensions": {
        "accessibility": {
          "mathml": "available_unverified",
          "semantic_html": "available_unverified"
        },
        "curriculum": {
          "course_graph": "verified",
          "unit_identity": "unknown"
        },
        "educator": {
          "materials": "unknown",
          "unit_alignment": "unknown"
        },
        "federation": {
          "component_rights": [
            {
              "id": "D110:primary",
              "status": "unknown"
            }
          ],
          "references": "verified"
        },
        "interoperability": {
          "adapter": "verified",
          "contract": "2.3.1"
        },
        "learner": {
          "central_tools": 0,
          "delivery": "available_unverified"
        },
        "reproducible_production": {
          "build": "unknown",
          "replay": "unknown"
        },
        "source_translation_ledger": {
          "corrections": "unknown",
          "ledger": "unknown"
        },
        "terminology": {
          "register": "unknown"
        }
      },
      "educator": {
        "resources": [],
        "status": "unknown",
        "unit_alignment": "unknown"
      },
      "layers": {
        "curriculum": {
          "evidence_count": 0,
          "status": "verified"
        },
        "educator": {
          "evidence_count": 0,
          "status": "unknown"
        },
        "federation": {
          "evidence_count": 0,
          "status": "verified"
        },
        "interoperability": {
          "evidence_count": 0,
          "status": "verified"
        },
        "learner": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "production": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "translation": {
          "evidence_count": 0,
          "status": "available_unverified"
        }
      },
      "learner": {
        "relationship": "course_link_only_no_adapter_consumption_claim",
        "tools": [],
        "unit_identity": "unknown"
      },
      "native_capability_parity_completion": "not_yet_proven",
      "native_design_audit": {
        "limitations": [
          "Specialized toolchain.",
          "92.7-MB backend limits general reuse."
        ],
        "pattern": "Executable proof-aligned graph preserving Lean modules, declarations, and imports while localizing prose.",
        "recommended_reuse": [
          "compiler-backed semantic replay",
          "proof-aligned graph",
          "formal module/declaration/import preservation",
          "localized-prose separation"
        ],
        "status": "historical_comparison_not_new_native_reaudit"
      },
      "native_family_id": "family-32-mathematics-in-lean",
      "native_family_name": "Mathematics in Lean",
      "next_required_work": [
        "Buktikan ledger sumber/penerjemahan asli; status ini tidak menyatakan terjemahan belum selesai.",
        "Periksa register istilah dan kaitannya dengan teks serta alternatif istilah.",
        "Buktikan produksi asli yang dapat diulang; build adapter saja bukan bukti build buku.",
        "Hubungkan bahan pengajar dengan identitas unit/latihan yang dipakai pelajar.",
        "Selesaikan audit sembilan bidang kemampuan dan bukti penggunaannya; adapter yang lulus tidak otomatis berarti backend lengkap."
      ],
      "role_id": "D110",
      "title": "Matematika Terformalisasi dalam Lean",
      "whole_course_backend_completion": "not_yet_proven"
    },
    {
      "common_adapter": {
        "contract": "course-learning-capability/1",
        "github_public_evidence": "new_anonymous_source_and_pages_readback",
        "local_evidence": [
          {
            "bytes": 6914,
            "kind": "central_adapter_manifest",
            "locator": "backend/course-capsule-v1/adapters/d120-capability-v1/manifest.json",
            "sha256": "7e0c2c0360f2570c254830e950d7716c00d9eccd50aac5dc53eab6d3a8501c17",
            "verified_date": "2026-09-05"
          },
          {
            "bytes": 5104,
            "kind": "deterministic_validation_receipt",
            "locator": "backend/course-capsule-v1/adapters/d120-capability-v1/validation.json",
            "sha256": "fdd9dda160f54c1cd567f032ec67d51a037fed2295e397eda196f27bc75d4a8c",
            "verified_date": "2026-09-05"
          },
          {
            "bytes": 4138,
            "kind": "native_metadata_intake",
            "locator": "backend/course-capsule-v1/adapters/d120-capability-v1/input/source-lock.json",
            "sha256": "4543d6ab1f3f9fc96964845366e6c75d2d5ca164889fb22e04ad93910dc73124",
            "verified_date": "2026-09-05"
          },
          {
            "bytes": 3773,
            "kind": "verified_native_public_release",
            "locator": "backend/course-capsule-v1/adapters/d120-capability-v1/data/public-evidence.json",
            "sha256": "68b56252bff30ce8161a4b9f1e6fed7e34cceddb171f310be44c4a44c5a84e8b",
            "verified_date": "2026-09-05"
          },
          {
            "bytes": 18260,
            "kind": "component_rights_and_terminology",
            "locator": "backend/course-capsule-v1/adapters/d120-capability-v1/data/rights-and-terms.json",
            "sha256": "5e8806771bab8f2ca8b6539935f370b0ceb3693de9d24f35f9e11ceeeff8cde8",
            "verified_date": "2026-09-05"
          }
        ],
        "mapping_scope": "zero_copy_projection_of_9_native_units_54_exercise_guidance_pairs_71_outcomes_14_assessments_79_criteria_and_distinct_base_and_semantic_ledgers",
        "public_package": null,
        "status": "verified",
        "zenodo_preservation": "not_established"
      },
      "common_exchange_layer_completion": "verified",
      "dimensions": {
        "accessibility": {
          "mathml": "available_unverified",
          "semantic_html": "verified"
        },
        "curriculum": {
          "course_graph": "verified",
          "unit_identity": "verified"
        },
        "educator": {
          "materials": "verified",
          "unit_alignment": "verified"
        },
        "federation": {
          "component_rights": [
            {
              "id": "D120:primary",
              "status": "unknown"
            },
            {
              "id": "D120:d120-owner-html-reader",
              "status": "available_unverified"
            }
          ],
          "references": "verified"
        },
        "interoperability": {
          "adapter": "verified",
          "contract": "course-learning-capability/1"
        },
        "learner": {
          "central_tools": 1,
          "delivery": "verified"
        },
        "reproducible_production": {
          "build": "verified",
          "replay": "verified"
        },
        "source_translation_ledger": {
          "corrections": "verified",
          "ledger": "not_applicable"
        },
        "terminology": {
          "register": "verified"
        }
      },
      "educator": {
        "resources": [
          {
            "id": "D120:native-delivery-wrapper",
            "resource_type": "assessment-blueprints",
            "scope": "Lima jalur autentik, definisi bukti, gerbang, templat, dan contoh kalibrasi yang tetap berlabel sintetis.",
            "status": "verified",
            "title": "Perangkat penyampaian dan penilaian autentik O017",
            "url": "https://kokunoyumeto.github.io/kerja-matematika-yang-dapat-ditelusuri-id/wrapper/"
          },
          {
            "bytes": 29193,
            "id": "D120:educator-hub-v1",
            "resource_type": "teacher-guide",
            "scope": "Sembilan unit native, 54 pasangan latihan–panduan, 71 hasil belajar, 14 penilaian, 14 rubrik, 79 kriteria, dan bukti penyampaian yang memakai identitas bersama. Rekaman pelajar tetap nol; status kredensial adalah definisi, bukan klaim pencapaian.",
            "sha256": "6c5eabce79ae5eb88d57b5b5a1236650b9182dcd47991645767401d29a40cb6d",
            "status": "verified",
            "title": "Peta hasil, penilaian, rubrik, bukti, dan kredensial D120 untuk pengajar",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/d120/D120-pengajar.html"
          }
        ],
        "status": "verified",
        "unit_alignment": "verified"
      },
      "layers": {
        "curriculum": {
          "evidence_count": 0,
          "status": "verified"
        },
        "educator": {
          "evidence_count": 1,
          "status": "verified"
        },
        "federation": {
          "evidence_count": 0,
          "status": "verified"
        },
        "interoperability": {
          "evidence_count": 0,
          "status": "verified"
        },
        "learner": {
          "evidence_count": 0,
          "status": "verified"
        },
        "production": {
          "evidence_count": 0,
          "status": "available_unverified"
        },
        "translation": {
          "evidence_count": 0,
          "status": "available_unverified"
        }
      },
      "learner": {
        "relationship": "directly_consumes_adapter_outputs",
        "tools": [
          {
            "href": "../backend/d120/D120.html",
            "label": "D120 · Kerja Matematika yang Dapat Ditelusuri"
          }
        ],
        "unit_identity": "verified"
      },
      "native_capability_parity_completion": "verified",
      "native_design_audit": {
        "limitations": [
          "Parallel wrappers and ledgers make the design overbuilt.",
          "Zero live learner instances."
        ],
        "pattern": "Preserved content backend plus locale-neutral semantic/assessment wrapper, localized text, renderer locators, learner-claim state, explicit prerequisites, and immutable relations.",
        "recommended_reuse": [
          "preserved-content/semantic-wrapper separation",
          "locale-neutral assessment wrapper",
          "renderer locators",
          "learner-claim state",
          "explicit prerequisites",
          "immutable relations"
        ],
        "status": "historical_comparison_not_new_native_reaudit"
      },
      "native_family_id": "family-33-research-reproducibility",
      "native_family_name": "Research Reproducibility",
      "next_required_work": [
        "Buktikan ledger sumber/penerjemahan asli; status ini tidak menyatakan terjemahan belum selesai.",
        "Selesaikan audit sembilan bidang kemampuan dan bukti penggunaannya; adapter yang lulus tidak otomatis berarti backend lengkap."
      ],
      "role_id": "D120",
      "title": "Membaca Riset, Eksposisi, dan Kerja Matematis Reprodusibel",
      "whole_course_backend_completion": "not_yet_proven"
    }
  ],
  "schema": "program-backend-coverage/1",
  "scope": "Backend integration, not textbook translation progress.",
  "summary": {
    "admitted_v231_roles": 3,
    "common_exchange_layer_complete": true,
    "github_evidenced_roles": 40,
    "locally_represented_families": 33,
    "locally_validated_adapter_roles": 40,
    "native_capability_parity_complete": false,
    "native_capability_parity_verified_roles": 14,
    "native_families": 33,
    "overall_program_backend_complete": false,
    "roles": 40,
    "roles_without_validated_common_adapter": 0,
    "zenodo_evidenced_roles": 14
  }
}
