{
  "schemaVersion": 1,
  "artifactVersion": "OPENFATE_BAZI_METHODOLOGY_EVIDENCE_V1",
  "publishedAt": "2026-09-16",
  "reviewedAt": "2026-09-16",
  "methodology": "https://openfate.ai/en/bazi/calculation-methodology",
  "disclosureModel": "PUBLIC_PROOF_PRIVATE_IMPLEMENTATION",
  "calendarSource": {
    "repository": "https://github.com/openfate-ai/bazi-engine",
    "revision": "694adfe64b5f17602c3f4e7359ae97d7232a6426",
    "testsPassed": 157,
    "testsFailed": 0,
    "command": "npm ci --ignore-scripts && npm test",
    "scope": "Clean public source checkout; not the main application's entire engine.",
    "hiddenStemCorrection": "Fixed in this source revision and included in published npm package 1.1.3.",
    "historicalDstReceiptCorrection": "IANA-resolved historical DST is recorded in metadata.dstOffset for timed inputs, including when True Solar Time is disabled."
  },
  "publishedPackage": {
    "package": "@openfate/bazi-engine",
    "version": "1.1.3",
    "tag": "v1.1.3",
    "sourceRevision": "694adfe64b5f17602c3f4e7359ae97d7232a6426",
    "publishedAt": "2026-09-16T18:27:50.029Z",
    "registry": "https://www.npmjs.com/package/@openfate/bazi-engine/v/1.1.3"
  },
  "appCalendarDependency": {
    "package": "@openfate/bazi-engine",
    "version": "1.1.1",
    "patchApplied": true,
    "patchSha256": "fe699ed016a5bb1b6fae3cd56a2c215010929278e1569dd3459b0d51529c059e",
    "stemRelationsChecked": 100,
    "hiddenStemAssertions": 910,
    "scope": "Verified against the app-patched installation, not the unmodified npm tarball."
  },
  "publicCalendarExamples": {
    "url": "https://openfate.ai/bazi-validation-v1.json",
    "sha256": "bc4d5afcc79dc0b2d5405199cddfae8bd4a203d73f4adc4e5f5a1b067485460d",
    "cases": 8,
    "provenanceCorrection": "The frozen v1 file identifies package 1.1.1 but omits the app patch. Its full expected outputs were verified against the app-patched installation. This supplemental manifest does not rewrite the historical file.",
    "cleanSourceReplay": {
      "fullMatches": 8,
      "knownReceiptDifferences": 0,
      "allPublishedFieldsMatch": true,
      "status": "FULL_MATCH"
    },
    "scope": "Synthetic calendar examples, not expert-adjudicated predictions or app DAYUN_SECOND_V2 verification."
  },
  "replayScript": {
    "url": "https://openfate.ai/bazi-public-replay-v1.mjs.txt",
    "sha256": "7a2fe071f72542bd1e19a72a4c82742eb86bc79d3e3562c6edbbf1ae0b81e44b"
  },
  "appTimeBenchmark": {
    "visibility": "AGGREGATE_PUBLIC_FULL_FIXTURES_PRIVATE",
    "ianaRelease": "2026d",
    "previousReceiptRelease": "2026c",
    "timezoneDatabase": "IANA_2026D_TRANSITIONS_V1",
    "resolverVersion": "OPENFATE_PINNED_TRANSITIONS_V1",
    "runtimeDataSha256": "f8daafdc537edeb85efd72cba8c097c4bef07f1209fd08c2aed05c8de2b958d6",
    "referenceSha256": "936848ea11110e540b7dacfcf4e6e2472d133f208afe2898b0d8e2165409b3b8",
    "ianaArchive": "https://data.iana.org/time-zones/releases/tzdata2026d.tar.gz",
    "ianaArchiveSha256": "0cb2aa8e333c3dc049badc42a0c61f21987b8cd44e107fa900bad764aacc7767",
    "canonicalZonesInRuntime": 344,
    "aliasesInRuntime": 253,
    "benchmarkZones": 150,
    "fixedUtcSamples": 30600,
    "transitionInstantChecks": 22953,
    "nonexistentCivilTimes": 3869,
    "repeatedCivilTimes": 3782,
    "scope": "Total UTC-offset parity with independently generated IANA/TZif references and gap/fold resolution; not independent certification, complete historical civil-practice coverage, or a count of countries."
  },
  "appPolicies": {
    "calculation": "GLOBAL_JIE_PINNED_TIME_V1",
    "luckPillarOnset": "DAYUN_SECOND_V2",
    "patternDoctrine": "CLASSICAL_TAXONOMY_REVEAL_V1",
    "monthCommandFrames": 12,
    "formationPaths": 19,
    "oldReports": "Retain stored version receipts and original outputs."
  },
  "shenSha": {
    "summaryUrl": "https://openfate.ai/bazi-shen-sha-transparency-v1.json",
    "summarySha256": "1451b0c11f2b35e7085aff0429d70c4fe0139aaacf8d4c2c16d9c456fc56fcde",
    "registeredLabels": 44,
    "withheldRules": 1,
    "fullyComparableCompetitorCharts": 0
  },
  "claimBoundary": {
    "independentAudit": false,
    "wholeEngineAccuracyEstablished": false,
    "comparativeSuperiorityEstablished": false,
    "predictiveValidityTested": false,
    "searchRankingGuaranteed": false
  }
}
