{
  "format": "kerf-keep-customer-starter-pack-inventory",
  "schemaVersion": 2,
  "preparedDate": "2026-11-05",
  "status": "FROZEN_PACKAGING_REVISION_2",
  "entryPoint": "index.html",
  "scope": "Three unchanged fixture CSV pairs and historical PDF samples; responsive guide repair and documentation reconciled with the actual 12-group native CSV result. The full 18-case plan remains partially executed.",
  "packageMemberCountIncludingInventory": 23,
  "self": {
    "path": "package-inventory.json",
    "sha256": null,
    "reason": "An inventory cannot contain its own final byte hash. The final inventory hash is returned in the handoff and external PACKAGE-RECEIPT.json."
  },
  "files": [
    {
      "path": "README.txt",
      "bytes": 4378,
      "sha256": "f6bc89cb4641b85e6fc6f3317a83eae831af64186f16656924fed021d4a43845",
      "role": "package source/provenance documentation"
    },
    {
      "path": "csv/cabinet-plywood-parts.csv",
      "bytes": 350,
      "sha256": "425b723fb85d327432c479b3817f70008bf33bff187f9bf30a408596e1d548fc",
      "role": "synthetic CSV row exchange"
    },
    {
      "path": "csv/cabinet-plywood-stock.csv",
      "bytes": 182,
      "sha256": "2bca53f770c55a605c85727e21d98a4d07776b4ff5111ca6440394ec175e58c8",
      "role": "synthetic CSV row exchange"
    },
    {
      "path": "csv/inch-fraction-workshop-parts.csv",
      "bytes": 393,
      "sha256": "611a79764ad66aaf2bc4a1b1e6023620b754d773ea54c2325e2d6b54825be3d1",
      "role": "synthetic CSV row exchange"
    },
    {
      "path": "csv/inch-fraction-workshop-stock.csv",
      "bytes": 189,
      "sha256": "5197688c5c114504f64d60802abef33ee2d1315bec73fba5f1ff3e6cc59c87c5",
      "role": "synthetic CSV row exchange"
    },
    {
      "path": "csv/mixed-offcut-reuse-parts.csv",
      "bytes": 299,
      "sha256": "91f66baa81002fa2e1249372d8c3db907ea0d4646f08a9250344a6bbdd6cba7e",
      "role": "synthetic CSV row exchange"
    },
    {
      "path": "csv/mixed-offcut-reuse-stock.csv",
      "bytes": 326,
      "sha256": "2c135a75dfa29115ee75c97d2f19c3bf9b8e684815ed31c90080447b3cdd07b7",
      "role": "synthetic CSV row exchange"
    },
    {
      "path": "fixture-provenance.json",
      "bytes": 16639,
      "sha256": "ecea910647feb7242a8ffc2a356e0e4a26f4a644e644dbc65a0951465d34f949",
      "role": "package source/provenance documentation"
    },
    {
      "path": "index.html",
      "bytes": 14048,
      "sha256": "c286584a0013c4d1a7b79bb1130f911b1732649e8acc76e47d45d494c26f2510",
      "role": "customer quick-start and troubleshooting"
    },
    {
      "path": "native-csv-validation-cases.json",
      "bytes": 30985,
      "sha256": "cc3948e3153fed222d227b75ba37a5b6598aad5d47d6dfe08f7c21f3c622be2f",
      "role": "package source/provenance documentation"
    },
    {
      "path": "sample-output-manifest.json",
      "bytes": 10752,
      "sha256": "3a073a8495c2b44118927686fb255285036d76861897a223379d199c724e43da",
      "role": "package source/provenance documentation"
    },
    {
      "path": "samples/pdf/pdf-smoke-a4-committedRemnantLabels.pdf",
      "bytes": 28123,
      "sha256": "caae34665da71cabab3ea85d35b26acc5a0194caf9492c0eb2a5b26a0a40450e",
      "role": "unchanged historical synthetic PDF"
    },
    {
      "path": "samples/pdf/pdf-smoke-a4-jobPacket.pdf",
      "bytes": 53555,
      "sha256": "4ff7a87a2ce96f0faa2501c2cd6f98c04ae7bdc55f17cd4c0648975de6a4b199",
      "role": "unchanged historical synthetic PDF"
    },
    {
      "path": "samples/pdf/pdf-smoke-a4-partLabels.pdf",
      "bytes": 39579,
      "sha256": "77db420dfeec27d398c4d89fc7abcbb32c80cb86e1408bdb014e24b6c3a866b1",
      "role": "unchanged historical synthetic PDF"
    },
    {
      "path": "samples/pdf/pdf-smoke-letter-committedRemnantLabels.pdf",
      "bytes": 28276,
      "sha256": "df5285f26c6ccb5168c4edaeab7bbb06c70e6653bd12f752aa41778eaf7b5832",
      "role": "unchanged historical synthetic PDF"
    },
    {
      "path": "samples/pdf/pdf-smoke-letter-jobPacket.pdf",
      "bytes": 53424,
      "sha256": "2612be2996b76aeaec218bd4339425532bb41abcf7e50ea45d35317a9ac32689",
      "role": "unchanged historical synthetic PDF"
    },
    {
      "path": "samples/pdf/pdf-smoke-letter-partLabels.pdf",
      "bytes": 39643,
      "sha256": "c2f7f4ce4011cfe918989801fc23cd19d58e08fc6f62ac4423139d68d831869a",
      "role": "unchanged historical synthetic PDF"
    },
    {
      "path": "samples/provenance/README.txt",
      "bytes": 1275,
      "sha256": "bf033474eb84c2b2eedcea042ab72a163f13e3ce36693b8f24e0e6c8e9f87895",
      "role": "historical sample provenance"
    },
    {
      "path": "samples/provenance/pdf-smoke-observations.json",
      "bytes": 2383,
      "sha256": "9f313f8293729ce3cd665c3f3af8cc42def37414f34177aff25683d7d97f97bf",
      "role": "historical sample provenance"
    },
    {
      "path": "samples/provenance/repeat-shop-first-job-witness.json",
      "bytes": 2366,
      "sha256": "f2314a9bd9a0d0b5e96c061a6c1785d4611341950ee075306b19d8ceb70622a4",
      "role": "historical sample provenance"
    },
    {
      "path": "samples/provenance/repeat-shop-first-job.json",
      "bytes": 864,
      "sha256": "52091677851585dca6c68f654226dd334bc63714d4577be3b11efab6944c04d8",
      "role": "historical sample provenance"
    },
    {
      "path": "source-review.json",
      "bytes": 8515,
      "sha256": "d2b41b04b44f18c4c1245001571d2a5c95bc8b026f420c8ee873083f66d02af2",
      "role": "package source/provenance documentation"
    }
  ],
  "counts": {
    "csvFiles": 6,
    "csvPartRows": 10,
    "csvPartQuantity": 18,
    "csvStockRows": 5,
    "csvStockQuantity": 5,
    "historicalPDFs": 6,
    "historicalPDFPages": 14,
    "nativeValidationCases": 18,
    "full18CasePlanExecuted": false,
    "actualNativeGroupedChecksPassed": 12,
    "partiallyExecutedPlanCases": 13,
    "unrunPlanCases": 5
  },
  "checks": {
    "historicalFixtureSourceTextComparisons": 6,
    "historicalPDFHashMatches": 6,
    "historicalSourcePinsMatched": 13,
    "finalSourcePass": "SOURCE_JSON_LINK_AND_BYTE_CHECKS",
    "jsonDocumentsParsed": 8,
    "htmlFileLinksResolved": 16,
    "htmlAnchorsResolved": 5,
    "actualNativeGroupsPassed": 12,
    "browserR1": {
      "reviewedGuideSHA256": "6d52c44509aa5cd24161e3910e05ee315f795ecfab9320ddd4f9d8132a104624",
      "layoutPassed": 19,
      "layoutFailed": 1,
      "guide375Text200BodyWidth": 383,
      "downloadCheck": "INCOMPLETE_INSPECTOR_ERROR"
    }
  },
  "limitations": [
    "The six unchanged CSVs passed 12 grouped macOS NativeCSV checks. The 18-case plan is partially executed; this does not establish iOS, GUI or solver behavior.",
    "The guide contains a source-supported CSS repair. Browser and publication certification are recorded separately from this immutable package.",
    "The six historical synthetic PDFs retain their original bytes and provenance; no new PDF visual, clipping or printing review is claimed.",
    "Original source-preparation records remain historical; current scoped native evidence is recorded separately.",
    "No App Store, purchase, customer-stock, savings, sales or revenue outcome is established by this inventory."
  ],
  "archivePolicy": "The ZIP contains only files listed here plus this inventory. PACKAGE-RECEIPT.json and the ZIP itself are outside the ZIP and excluded from member hashes.",
  "packagingRevision": 2,
  "nativeValidation": {
    "status": "PASSED_SCOPED_STARTER_PACK_CSV_CHECKS",
    "groups": 12,
    "nativeReceiptSHA256": "2a307e34feb35117a28cf1db4bb2d9e1a104c66c2f68115444e0230170c78a02",
    "outerReceiptSHA256": "f8e3ac7887ad059d565143042fb5a3f67e4c55127a17675bf4c944139406a621",
    "terminalReceiptSHA256": "0a30d700357f6b832f8308905ee618fd8dcc7f74029bc460c0171264ff17b813",
    "binding": "The exact six CSV hashes in this inventory remain unchanged. Later guide, ZIP and documentation revisions do not rerun or broaden the completed native evidence.",
    "scope": "macOS NativeCSV import/apply/export/roundtrip and selected negatives; not iOS/UI/solver/PDF/full18-case coverage."
  },
  "packagingDelta": {
    "reason": "Actual375px/text200 browser finding:8px document overflow. Grid item can shrink and wrap long words, without hiding content or shrinking text.",
    "css": ".steps>li{min-width:0;overflow-wrap:anywhere}",
    "oldGuideSHA256": "6d52c44509aa5cd24161e3910e05ee315f795ecfab9320ddd4f9d8132a104624",
    "newGuideSHA256": "c286584a0013c4d1a7b79bb1130f911b1732649e8acc76e47d45d494c26f2510",
    "content": "Workflow unchanged. Documentation now records the scoped 12-group native result while preserving full-plan and historical-PDF limits.",
    "CSVChanged": false,
    "PDFChanged": false,
    "CoreChanged": false,
    "verificationPolicy": "Browser and deployment receipts are maintained outside the immutable 25-file customer payload."
  }
}
