P0: Vedic (Jyotish) architecture & source-matrix freeze (ADR 0013, Proposed) - #21
Merged
Conversation
Freeze the Jyotish (system id: vedic) engineering boundaries before any code: Lahiri = IAE-1985 standard (Swiss SE_SIDM_LAHIRI, never conflated with True Chitra / Lahiri ICRC), Ketu = Rahu+180, whole-sign bhava, 27-nakshatra scheme, instantaneous panchanga, D1/D9 Parashari mapping, interval/rounding conventions, timeAccuracy degradation table, v0.3.0 contract-break plan (PublicResult.systems 3->4, contract v2) and the P1-P6 PR roadmap. Semantic defaults stay proposed/blocked pending owner confirmation: mean-Rahu (proposed); sunrise rule target upper-limb (backend mapping unverified, P2/P3 blocker; astronomy-engine 2.1.19 evidence recorded); Vimshottari year model candidate julian-365.25 (P3 BLOCKED on owner decision + same-model dual-implementation cross-check; P1 may reserve the enum but wires no default). Adds docs/VEDIC_SOURCE_MATRIX.md (per-topic sources, license boundary: Swiss golden-only, PyJHora research-only, node-jhora excluded, jyotishganit/VedAstro cross-check-only), a PLANNED entry in RULESETS.md, and tools/vedic-docs.test.ts guarding doc presence, proposed/blocked semantics and against premature capability claims. No calculation code, contracts, lockfile, SBOM, dist bundle or golden changes (verified byte-identical after verify:cloud). Doc counts updated from a real run (692 tests / 35 files).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
P0: Vedic (Jyotish) architecture & source-matrix freeze (ADR 0013, Proposed)
Docs-only slice that freezes the engineering boundaries for the fourth first-class system
(
vedic) before any code. No calculation code, contracts, CLI, lockfile, SBOM, dist bundleor golden values change (verified byte-identical after a full
verify:cloudincluding build).What this PR contains (6 files)
docs/adr/0013-vedic-architecture.md(new) — Status: Proposed — P0 architecturecomplete; semantic defaults awaiting owner confirmation.
vedic+@ming/vedic/@ming/vedic-rulespackage split; geocentric apparent ecliptic-of-date frame on the existing astronomy-engine
base; Lahiri precisely identified as the IAE-1985 standard (Swiss
SE_SIDM_LAHIRI, neverconflated with True Chitra Paksha or Lahiri ICRC — goldens pinned to
swetest -sid1);Ketu = Rahu + 180° exactly; whole-sign bhava only (structured warning for Chalit);
27-nakshatra scheme with left-closed right-open intervals; instantaneous panchanga
formulas; D1/D9 Parashari mapping; canonical-rounding classification policy; timeAccuracy
degradation table; v0.3.0 public-contract break plan (
PublicResult.systems3→4, contractv2) and the P1–P6 PR roadmap.
pending); sunrise rule target upper-limb (astronomy-engine 2.1.19 source evidence recorded:
top-edge semantics + apparent angular radius + fixed 34′ refraction; exact mapping to the
classical −50′ center convention is an explicit P2/P3 blocker); Vimshottari year model —
BLOCKED on owner decision (candidate
julian-365.25; P3 additionally gated on asame-model dual-implementation cross-check; P1 may reserve the enum but wires no default).
docs/VEDIC_SOURCE_MATRIX.md(new) — per-topic registry (adopted definition, primary +secondary sources, school disagreements, license status, future implementation file, external
golden method, acceptable error, unresolved questions). Traditional rule sources (BPHS, Surya
Siddhanta — public domain, chapter-cited) kept separate from modern astronomical sources
(IAE, Swiss docs as reference documentation, astronomy-engine, Meeus). Binding license
boundary: Swiss Ephemeris = external golden generator only; PyJHora = research-only;
node-jhora = fully excluded; jyotishganit / VedAstro = independent cross-check only.
docs/RULESETS.md— addsvedic-parashara-lahiri@0.1.0as PLANNED, not implemented.tools/vedic-docs.test.ts(new, 7 tests) — doc gate: P0 deliverables + required sectionspresent; ADR status must stay Proposed with the year-model/sunrise blockers intact; Skill
surfaces must not claim any vedic/jyotish capability before the P5 slice ships.
docs/STATUS.md/docs/VALIDATION.md— test-count lines only, from a real run(692 tests / 35 files); byte-level patch, no other content touched.
Verification (all green, local)
pnpm install --frozen-lockfile→ already up to date (lockfile untouched)pnpm run verify:cloud→ all 18 stages pass: format:check, lint, typecheck,test (692/35), build, validate:provenance, validate:skill 40/40, validate:reading 53/53,
validate:docs 134/134, smoke, forward:test, package:hosts, verify:hosts,
verify:install 106/106, check:doc-counts 12/12, scan:deps (0 advisories),
scan:licenses 20/20, validate:sbom 96/96, scan:secrets
git diff --checkclean;pnpm-lock.yaml,sbom.*.json,scripts/dist/,packages/western/goldens/byte-identical tomainExplicitly out of scope
No merge decision, no tag, no Release, no manifest promotion, no engine-version change. All
inputs referenced in the plan are synthetic; no real birth data anywhere.
Owner decisions requested (ADR "Open questions")
mean(proposed) — confirm?julian-365.25vs savana-360 vs sidereal.systemsto 4, or keepvedicopt-in?