{
  "schema": 1,
  "date": "2026-10-02",
  "library_version": "v1.5.312",
  "library_commit": "ecb61bca986e323a03f6926bca5304902fec8498",
  "scope": "Versioned finite-sample evidence. Geometric reference, independent contacts, compatibility and UI/deployment status are separate. No predictive-effect certification.",
  "validation_record_sha256": "223ad5648a39ea4cc47e6723b81e99f7d16a9ea74ec4d6a37eb1f85b4441b918",
  "validation_record_stage": "Local expansion from base a8471ff, subsequently published in v1.5.312; the original record remains historical.",
  "positions": {
    "APC": {
      "finite_C": 2016,
      "unavailable_C": 144,
      "inverse_checks": 2160
    },
    "Alcabitius": {
      "finite_C": 2160,
      "unavailable_C": 0,
      "inverse_checks": 2160
    },
    "Meridian": {
      "finite_C": 2160,
      "unavailable_C": 0,
      "inverse_checks": 2160
    }
  },
  "original_validation_record": {
    "date": "2026-10-02",
    "base_astro_go_commit": "a8471ffa2f2cc97ade50c8a8a5868307c72907b2",
    "environment": {
      "go": "1.26.3",
      "GOWORK": "off",
      "CGO_ENABLED": 0,
      "astroeph_module": "v2.2.4-rc.4",
      "module_changes_in_this_expansion": false,
      "source_sha256": {
        "go.mod": "899dcd169ddb87ee195c34cb508f49c37f12fbeb937fae412be8d7f0201a787f",
        "go.sum": "5133f7f0c8ba52b0d9cf71246b96c1df98a089027f805af1b43ec216d286ce50",
        "ephemeris/astroeph/default.go": "e9cf2abf47009978984ddc11c5370a40037fa4ff56a8f9c998e88c4be70ee3a8",
        "ephemeris/astroeph/data_profile.go": "a471c5b77063277863af7834269d5cea2ba150a7bc88519a9b2ebb6a6523bdc6"
      }
    },
    "scope": "Local library expansion, frozen C position oracle, request parameters, physical table and biwheel integration; not deployment/GUI acceptance or arbitrary-root completeness",
    "new_methods": [
      "APC",
      "Alcabitius",
      "Meridian"
    ],
    "full_suite": {
      "location": "actual local astro-go working directory, after scoped promotion",
      "packages": [
        {
          "package": "codeup.aliyun.com/huakai/qishv/calc/astro-go/primarydirections",
          "status": "pass",
          "elapsed_seconds": 0.377
        },
        {
          "package": "codeup.aliyun.com/huakai/qishv/calc/astro-go/primarydirections/chart",
          "status": "pass",
          "elapsed_seconds": 0.359
        },
        {
          "package": "codeup.aliyun.com/huakai/qishv/calc/astro-go/primarydirections/geometry",
          "status": "pass",
          "elapsed_seconds": 0.393
        },
        {
          "package": "codeup.aliyun.com/huakai/qishv/calc/astro-go/primarydirections/objects",
          "status": "pass",
          "elapsed_seconds": 0.559
        },
        {
          "package": "codeup.aliyun.com/huakai/qishv/calc/astro-go/primarydirections/table",
          "status": "pass",
          "elapsed_seconds": 0.722
        },
        {
          "package": "codeup.aliyun.com/huakai/qishv/calc/astro-go/primarydirections/timekey",
          "status": "pass",
          "elapsed_seconds": 0.736
        },
        {
          "package": "codeup.aliyun.com/huakai/qishv/calc/astro-go/primarydirections/ephemeris",
          "status": "pass",
          "elapsed_seconds": 2.091
        },
        {
          "package": "codeup.aliyun.com/huakai/qishv/calc/astro-go/ephemeris/astroeph",
          "status": "pass",
          "elapsed_seconds": 1.553
        },
        {
          "package": "codeup.aliyun.com/huakai/qishv/calc/astro-go/astro-utils",
          "status": "pass",
          "elapsed_seconds": 96.152
        }
      ],
      "passed_tests_and_subtests": 3944,
      "primarydirections_and_astro_utils_passed_tests_and_subtests": 3931,
      "failed_tests_and_subtests": 0
    },
    "checks": {
      "new_C_position_comparisons": 6336,
      "C_unavailable_APC_rows": 144,
      "new_independent_inverses": 6480,
      "new_table_parameter_cases": 72,
      "verified_table_events": 816,
      "new_geometric_chart_cases": 96,
      "native_biwheels": 120,
      "native_moving_moon_solar_tables": 36,
      "all_methods_table_geometries": 19,
      "all_methods_biwheels": 10,
      "solar_date_paths": 8,
      "old_public_table_cases": 88,
      "old_public_table_events": 8489,
      "old_public_chart_cases": 512,
      "old_derived_table_cases": 80,
      "old_derived_table_events": 89346,
      "old_key_direction_default_cases": 60,
      "vet_all_library_packages": "pass",
      "backend_packages": "pass",
      "race_new_geometry_table_chart": "pass",
      "strengthened_direct_physical_moon_contacts": "pass"
    },
    "source_sha256": {
      "primarydirections/catalog.go": "d9709ab1027ab40bee9c6cd744cdaf026b031fc88d12c97bc9fd899c5d4cabbd",
      "primarydirections/chart/aspects.go": "7802864a39929d8e178951b81cfb2e68bb8f47f3da8d96c3f949f4ad012b7b43",
      "primarydirections/chart/biwheel.go": "e65b01e57b815e668061a451638e7e9cf96edecc94b0669d6f510f958f6f061a",
      "primarydirections/chart/biwheel_test.go": "134c63ab1890a78d5b17a5f188b6614391e39c7302b7585093cd6eca3e98a974",
      "primarydirections/chart/calculate.go": "ce9fc569fff28a779b95f9df7145dfa2d5c8ff25cea858d95257a52eec3c8ea1",
      "primarydirections/chart/calculate_test.go": "37038d845adc150019c376467af2921db4010fd8da3b460f3ebcda1bf2e14d28",
      "primarydirections/chart/celestial.go": "940f64ecbea08a6134ddcc0e102f22212b2edcca85b99300aad06d91a26134ee",
      "primarydirections/chart/celestial_test.go": "3b2fde6af3beebd2e97e70970fccd10e51e1ba6ecc1060f11032f6267030b96c",
      "primarydirections/chart/house_models_test.go": "131c99c1387451a0ddcf52b8460696eccdc1324411e47fb4d7d8f82bc3ff0347",
      "primarydirections/chart/model.go": "39a890fab9643926366895de16b75aa8ef2dddbb302f0e66d05cf89071ff4235",
      "primarydirections/chart/morinus_fixture_test.go": "4cdfd8328b937f96c8ab2efcbcae718605d074d7cb65219fa48f9b722fcdde48",
      "primarydirections/chart/morinus_motion_fixture_test.go": "08dcdb5f7b778fd0b22a9dcf71430560ea33575dad0744de4795646f481086fb",
      "primarydirections/chart/motion.go": "02f28c592a0076561f6d80e8093d83dc618f2a962bb3be13c8406ec900a93c55",
      "primarydirections/chart/motion_test.go": "e1de89b27b7e85a4a748189755c8349e4998fb26bc145efc84925eb5f8e4cab1",
      "primarydirections/chart/project.go": "fc9389242f5f294a2c28f35848ef488a65870d987c8ae9ecb121f2ebd59d84fa",
      "primarydirections/chart/projectors.go": "dfd9e51b948c2eef1f1b4eb9163c8429fc72fdc29012a22352f2e99d350cd687",
      "primarydirections/chart/time.go": "0cb6488fe6932d08be69f5e19c4f8a13636cebbd56656c592a9694508cd887d9",
      "primarydirections/date.go": "6e3c9a8fc3f53eb189d54b3641d138019f8c90d52594d0423bd67a350f6a0fbb",
      "primarydirections/date_test.go": "209bbde8c62b5f719b5410bbb8a937ebc56b5b2ebd1651ba97c5f71067ba4d7a",
      "primarydirections/doc.go": "cb59f82052f673ded83d326c8267cf4dafb995864d9bedd19c198f55f8b3df37",
      "primarydirections/engine.go": "21d4a99c87e7477616cd65f393fd2e67298cc45fc0c317e26cb503972fd6505a",
      "primarydirections/engine_test.go": "391d0ad94cb5b37e6094235ef022144ab23e0a28c4d3ce483bc57ec53617c10f",
      "primarydirections/ephemeris/chart_frame.go": "c0fbdf506281e2f3778966323d20e48903ec521af2c32f4b0a662c99779c7952",
      "primarydirections/ephemeris/display.go": "bfdbb8864d53ee3cfd6573484ad92c3175b5ad0b62dfb702835bd52d7e7e7b44",
      "primarydirections/ephemeris/fixed_stars.go": "90ced6a1dd21383fbbadf879877f8d91e238787c01ccead23252144d8e6af425",
      "primarydirections/ephemeris/house_models_test.go": "1ad79623a3a9d6e5d9aeeb2bdd05e72cb2c578cade34dec8624b111fe18d35cc",
      "primarydirections/ephemeris/integration_test.go": "72eaabb1e440b1ffba7130b93dcd0189748ddb72ccf3d737f6d82869cf8b1681",
      "primarydirections/ephemeris/motion.go": "ab8d761d418e95ac1664d670d51817f83b5221fa55d63d9280baf3f6911422d3",
      "primarydirections/ephemeris/provider.go": "060307c42e629b3bb04b1c3c1d1fe0588df8afa215fb857c699a28b0abe8ee8d",
      "primarydirections/ephemeris/solar_key.go": "eb919a2cc4fc5b696d2f5efe780f861540a292b7ac4655b338c7938d95595957",
      "primarydirections/geometry/analytic.go": "23180b029dbd5cc7c142a899f4060601fec4af4869d83d96a2735f1cfafa92c6",
      "primarydirections/geometry/analytic_test.go": "324c1bb889f3bb79c9fa0325440674731159dad8e51a13b556cb611944e0e656",
      "primarydirections/geometry/contact.go": "3877b976ed79e4953608bcc112b5e392c01932abba5b3db64ab1b2bc4e341217",
      "primarydirections/geometry/domain.go": "64eb7f13dc2754ff5b2fe2d065bd505c054125999c41fffd003e218f99cc48c2",
      "primarydirections/geometry/domain_test.go": "59f0710b06036276a12aa8a5a669649d8a38f95ad56520cebe5bec2e61f4863e",
      "primarydirections/geometry/ecliptic.go": "09f926fc85dfb55d6f77d72733d6490a0225fefdb5452b3d3f83ecbdf7256dfb",
      "primarydirections/geometry/geometry.go": "d1e5a59e0de5c13f7fa4e2446b694a6bd39533506da8f767392c0611a4a62e24",
      "primarydirections/geometry/geometry_test.go": "81acab1601e807679ecb315e1c30b51fadb2161b86487fed9658c8d4c741b28c",
      "primarydirections/geometry/house_models.go": "8a25d47ff474876353cb376d76809dd958fb90e54d096cdd19ba870a5d9815d7",
      "primarydirections/geometry/house_models_test.go": "ac7ba5a9e1ab67f91dde9accea69d410a4ce6881077efd3a4a34d612b89b4b81",
      "primarydirections/geometry/motion.go": "9a0623352039e71b77cd51e9b69cc68186db408d16fb0fb263c1dd7a14d33405",
      "primarydirections/geometry/motion_test.go": "dcaa93a064e044c2c41d05b60bd1eccaf38fba2214da1fae92bf05cebccfad52",
      "primarydirections/geometry/reference.go": "f1d6c522c120e86408cf35afb60d3dcd09213b80d47ba07dd92d8b1617d075a1",
      "primarydirections/geometry/solar_circle.go": "978329f1501f13c86c9ac7ca6186b8b22615ef1b04e5f8b170a0e88392f1b779",
      "primarydirections/geometry/solar_circle_fixture_test.go": "1461af3cd453c563fcb85fd2a15930ce08e76d778a1a4386b474f9b164bebe21",
      "primarydirections/geometry/solar_circle_test.go": "257d6a81cacd25cf5c5434f5ce08ba92df9b8e6c1edf848a98ddbd3d67909291",
      "primarydirections/model.go": "e440a8c521de9e63c56c551dec64ff9273d08881288be47c4a19ccb36f7f6186",
      "primarydirections/objects/arabic.go": "a98e15149c59d764a73623aee52c20f3192282ebfcba6f308fe6158c28102654",
      "primarydirections/objects/expand.go": "0c1982274540e153e21cdc25c25848f4061d4a3f9bdef17d687307c64c2edb33",
      "primarydirections/objects/model.go": "b874dff8e9539c4b2533fe29f0f7e7539daa7d716953bcf47fedde34524c6387",
      "primarydirections/objects/objects_test.go": "ea21618f321cfe4da34095c8ebfdd842fa4cf4601d30e0c3284335f059dd9952",
      "primarydirections/objects/reflect.go": "b7ab7af22ea091f57171ce30768db489ccbf0b70db98ed1393865fcec0091e87",
      "primarydirections/objects/term_tables.go": "a13041ae1a62934e0f1330f11733b70f7d151e7405cfb8cc09afdc5e5931e63b",
      "primarydirections/objects/terms.go": "b126b58f0481be09abae77d632dc77ea2469289ee834c6aed4fd07e21e8a10b9",
      "primarydirections/objects/terms_test.go": "d4faf5dca0e729e89620070accc57e154b7f481b5d1d091b606d90a605d9536e",
      "primarydirections/table/calculate.go": "86ca88ee6bdb46f47f7c1c5ffd3dcf3c892d4607b40963227f316013ae4ba395",
      "primarydirections/table/calculate_test.go": "3e4ff3c0550bb9d32ad900e3e9061922c85ac1d6058ae97dd556c52925fd2b87",
      "primarydirections/table/contacts.go": "b4c9e607c23bcc40eeabab6991c93ddf2afd843eff712d9516e7620a1b58cfbd",
      "primarydirections/table/date_test.go": "10b46f91e5fc6a7f5c28da14c2be80ee7e060a04848c9cddba38e38089930fef",
      "primarydirections/table/diagnostics_test.go": "bab167eb1fd5e5b2c5715c58daad4d4176abd5e4b373e6642f7cd74f91e76bc4",
      "primarydirections/table/eligibility.go": "3d4f1e56c716df5ac57e3bf4d5b8959e601854c145c4f9d138e31906b431b62c",
      "primarydirections/table/eligibility_test.go": "002a90b5ab32db993af73c50a1d0980e38d530f66027bd94c53a2d7120b2c2b8",
      "primarydirections/table/event.go": "5ba706fba4c1be7d1014f00c080cd4d70cee3e5f3f74a023a9c5242be53ab865",
      "primarydirections/table/historical.go": "caba471c3621bac41b59d1bdd39db336cc2a5ee848c0d7477a6e68f4377383ef",
      "primarydirections/table/house_models_test.go": "beb64140152926309aa77ef2b07f2b2252fa1e2390f1c2f6fcbe716d81fef914",
      "primarydirections/table/model.go": "511ee77b37e34074639152788cb36ba64638110c1bf4ad00846ba5e304057f0e",
      "primarydirections/table/parallel.go": "e50befa4ab33cd3e373f7cb52c24b4fdb25caab41bee7d573ca913cd5392d10e",
      "primarydirections/table/parallel_test.go": "3baa1784e432ab5344539b65ee6bf8aba125a1f16a53a362f09cdc36b81a2b85",
      "primarydirections/table/prepare.go": "2add02765130bb2b16f69150ac6f112b0698e31a037884b3648ccfdf91cc219f",
      "primarydirections/table/solar_circle_test.go": "b883e0c2d10475d1aedd5dab54ca96e13afd05b5480920b3489efd5ff2d21009",
      "primarydirections/table/timekey_test.go": "54bbc14b00f4a5cf984c0d203900c7ce5ae5728eed0f90730b9eadcd201245c4",
      "primarydirections/table/zodiacal_test.go": "53626fa8cea9fabb8c0a62198731ffd1280d62d8ac0e69e4993a5b46ad612ddf",
      "primarydirections/timekey/morinus.go": "637950facf1c91121cf54d2e857c556c606e932626c9cd4533e0e8934a767fb4",
      "primarydirections/timekey/morinus_date_fixture_test.go": "a165580ad9a1ae52a71e761c3a3e3b21416d138356fab23afc234bd502135dae",
      "primarydirections/timekey/morinus_fixture_test.go": "f8a2119ca288a62fa5a605f7b970f42f69f4310cb9fea6cad2c5e11b5a4fbd68",
      "primarydirections/timekey/morinus_test.go": "9fa460c8ac10d0ae9fcc3b1219b9e597bf49f987322e3a1347ae81bc01152e0b",
      "primarydirections/timekey/solar.go": "2ccbf917e4a650e74e00bdb5c707796734720ea2e4728ba321991b376c92e2a4",
      "primarydirections/timekey/solar_test.go": "f84f0aafce966eb94142c0269a68785eee23b651af65477f0811289e5b61f836",
      "primarydirections/timekey/static.go": "ab572f24eee0fdc2dbe67f2f6dc437485fe73a8ce83771241b134c82986c90c9",
      "primarydirections/timekey.go": "39140e1f1a235c5e42e55423759e28482785a3ec8d4247decd5d3b9b94ab10f9",
      "primarydirections/timekey_context_test.go": "2032d098c46cd82e060164070feaf30455d9dfb6875dd76b718b9c9dc4476853",
      "astro-utils/pd-base.go": "393b80e4a2d133aca9120b4c0cbc7467d9837d03329b19839ef130a61c35f795",
      "astro-utils/pd_unified_integration_test.go": "f8ff62a295a48763958f018de4a9574c1a431f6d64a78696bb3e66c27855fa48",
      "primarydirections/geometry/solar-circle-fixtures.json": "546f9c6a9dd9fe51ddde86c3dca9dc5ea8a67e18bfd3fef61350c4577c55b983",
      "primarydirections/geometry/house-grid-fixtures.json": "08b968b51d2c67d36467add5b1c73869e2c8b6e480ef99174eed2ff04b1ead7e"
    },
    "notes": [
      "APC C-unavailable rows are not counted as passing C comparisons.",
      "General numerical root completeness is not certified.",
      "Existing concurrent backend/Go module changes are preserved.",
      "No push, tag, deployment or client release.",
      "Final Sunshine diagnostic mapping retains prior codes and reasons; a regression test covers this shared-mathematics refactor.",
      "Final full suite rerun passed in the actual library after promotion, including the strengthened physical Moon and Sunshine diagnostic checks."
    ],
    "release_candidate": {
      "tag": "v1.5.312",
      "core": "astroeph-go/v2 v2.2.4-rc.4",
      "Go": "1.26.3",
      "full_suite_passed_tests_and_subtests": 3944,
      "failures": 0,
      "vet_passed": true,
      "house_grid_and_custom_method_race_passed": true,
      "APC_equator_analytic_limit_assertions": 432,
      "original_C_unavailable_rows_remain_separate": 144
    }
  },
  "teaching_example": {
    "file": "examples-v1.5.312.json",
    "sha256": "3bb1f5c06a24a1977ad02703541e047342078a45a66e7e3e361f345527132505",
    "geometry_contacts": 4,
    "tables": 10,
    "events": 20,
    "chart_points": 20
  },
  "source_urls": [
    "https://www.astro.com/swisseph/swisseph.htm",
    "https://www.astro.com/swisseph/swephprg.htm",
    "https://juanestadella.com/Predictive_Astrology_Juan-Estadella_3rd_edition.pdf",
    "https://www.astro.nu/2017/03/03/astrology-house-systems/",
    "https://github.com/AgustinDavidNievas/Morinus"
  ],
  "UI_comparison_and_export": "design; not asserted released",
  "deployment_changed_in_this_work": false
}
