moira

Hellenistic Source Validation and Admission Audit

Date: 2026-07-26 Scope: Moira C++ repository, Python-governed astrology engine and FastAPI transport; website implementation is excluded from this gate.

Outcome

Phase 6 replaces broad historical completion language with evidence-specific claims:

The current runtime views are:

Evidence law

The audit uses five evidence classes:

Evidence class What it proves What it does not prove
Independent source golden Runtime data or arithmetic matches a datum transcribed from a named edition/witness Astrological effects, interpretation, or an unrecorded variant
Source-locked literal test A named catalog transcription matches its identified edition Geometry not supplied by the edition
Policy regression Moira consistently applies an explicit modern or disputed choice That the choice is the only historical doctrine
Geometric/invariant test Internal vessels, boundaries, dependencies, and algebra are coherent Historical attribution or external agreement
Transport parity Engine truth survives facade, serializer, REST, and OpenAPI transport Doctrine completeness

Every new golden records the authority, edition/location, units, interval semantics where applicable, and numeric tolerance. The fixtures are hand-authored and must never be regenerated from Moira output.

Source-owned corpus

Dorothean triplicity

Authority: Dorotheus of Sidon, Carmen Astrologicum, David Pingree edition and translation (Teubner, 1976), Book I.1.

The direct table confirms:

This re-check confirms that the corrected water triplicity currently in the engine is source-consistent. It is not evidence for silently merging other triplicity traditions into the named DOROTHEAN_PINGREE_1976 doctrine.

Online witness: Dorotheus Book I.

Planetary joys

The seven joy-house assignments are locked from Chris Brennan’s 2013 source synthesis, which identifies Paulus, Olympiodorus, Firmicus, and Rhetorius as the primary locations:

Mercury 1, Moon 3, Venus 5, Mars 6, Sun 9, Jupiter 11, Saturn 12.

This evidence grade is deliberately recorded as a secondary synthesis with identified primary locations. It locks the assignment table only; it does not validate a strength score or interpretation.

Online witness: The Planetary Joys.

Bounds

Authority: Ptolemy, Tetrabiblos I.20/I.21, F. E. Robbins translation, Loeb Classical Library 435 (1940):

The golden owns both literal Egyptian/Ptolemaic tables and the complete Chaldean construction rules. Tests check every segment and lookup boundary. The Ptolemaic final Libra segment remains Mars because that reading alone preserves the source-stated Saturn 57 and Mars 66 totals. Chaldean day/night remain separate doctrines because Saturn/Mercury precedence reverses by sect.

Online witnesses: Robbins transcription and Loeb 435 scan.

Ordinary Chaldean faces

Authority: Agrippa, Three Books of Occult Philosophy, Book II.37, J. F. English translation (1651).

The source-owned datum is the repeating ruler cycle beginning at Aries zero:

Mars, Sun, Venus, Mercury, Moon, Saturn, Jupiter.

The witness is Renaissance, so the capability matrix labels this admitted_qualified. It validates Moira’s ordinary 36-face ruler cycle but does not prove a Hellenistic date of origin and does not admit the separate Hermetic name/star/rising family.

Online witness: University of Michigan EEBO transcription.

Unified-profile lots

Authority: Valens, Anthologies, Mark T. Riley translation:

The golden locks projector, operand direction, night reversal, and a concrete day/night case for only the four profile lots. The full lots catalog remains a heterogeneous Hellenistic/medieval/modern catalog and is not promoted to a single-authority validation claim.

Research ledger: Lots Source Verification.

Decennials L1/L2

Authority: Valens, Anthologies VI.6-8, Riley annotated PDF pages 494-502.

The golden locks:

Moira preserves that symbolic distribution coordinate separately from its elapsed-Julian-day projection. The golden does not admit Decennial L3/L4.

Zodiacal Releasing

Authority: Valens, Anthologies IV.4, Riley annotated PDF pages 329-333.

The source fixture owns two disputed cases:

The prose and explanatory arithmetic govern the 211-month case; the inconsistent intervening table is not treated as a second algorithm.

Source fixture: tests/golden/hellenistic_zr_valens_iv4.json.

Valens online witness: Riley annotated translation.

Hermetic catalog

The 36 names, planetary faces, edition pages, and source identifier remain source-locked to Wilhelm Gundel, Dekane und Dekansternbilder (1936), pages 379-383, transcribing British Library Harley MS 3731.

The complete edited text’s opening passage begins from Aries and counts ten degrees for each decan. Equal segmentation is therefore source-supported; the modern equinox-fixed tropical realization and Ascendant composition are not admitted product policies. They remain closed research exclusions rather than pending engine capability.

The identified edition does not supply the former fixed-star assignments, and no located passage supports the removed sunset-MC/equal-night-hour algorithm. Fixed-star access therefore fails closed. The night-hour function, vessels, tests, server plumbing, and route definition were removed on 2026-07-26. Any future Egyptian stellar decanal-clock work requires a separate table, epoch, observer, event-semantics, visibility, and validation contract.

Official witnesses: Bavarian Academy Gundel edition and British Library Harley MS 3731 catalogue.

Policy and qualification findings

The following are intentionally not misrepresented as independent ancient table goldens:

Generated runtime governance

scripts/generate_hellenistic_inventory.py:

  1. imports every declared capability owner and verifies its runtime anchors;
  2. records identity counts across moira, moira.classical, and moira.facade instead of assuming all classical helpers share one export tier;
  3. requires identity parity for every moira.hellenistic.__all__ symbol;
  4. reads the current FastAPI OpenAPI registry;
  5. records exact route, request schema, response schema, tag, and operation ID;
  6. fails if an expected route family disappears;
  7. fails if Hermetic, Triacontaeteris, or Decennial L3/L4 paths appear;
  8. supports --check, and a unit test compares both committed generated files to fresh runtime rendering.

This makes future code/API drift fail the test gate instead of silently leaving the capability matrix stale.

Validation commands

$env:MOIRA_TEST_MODE = "1"
$env:MOIRA_STRICT_KNOWN_ISSUES = "1"
.\.venv\Scripts\python.exe -m pytest tests\unit\test_hellenistic_source_goldens.py -q
.\.venv\Scripts\python.exe -m pytest tests\unit\test_hellenistic_inventory_generation.py -q
.\.venv\Scripts\python.exe scripts\generate_hellenistic_inventory.py --check
.\.venv\Scripts\python.exe scripts\sync_rest_api_reference.py --check
.\.venv\Scripts\python.exe scripts\check_doc_consistency.py

The final Phase 6 checkpoint must also run the existing Hellenistic dependency, profile, export, serializer, REST, and OpenAPI suites under strict known-issues mode. Test counts belong in the gate roadmap only after the final run; they are not embedded as permanent capability claims here.

Product boundary

This closes an engine validation/documentation gate. It does not publish or update website documentation, deploy a server, or make an interpretive astrology product. Website work may begin only as a separately authorized implementation using these generated artifacts as the source of current engine truth.