Activity-specific Muhurta profiles
personal.muhurta-activity-profiles
Source-profile rule tables define admissions, exclusions, preferences, and manual checks per activity.
Assurance
| Level | Current statement |
|---|---|
| Documented and traceable | Yes — the canonical record includes the process and a worked example. |
| Regression or reproduction checked | Linked to 5 repository test file(s). |
| Independently source-supported | Available only for the explicitly named provenance claims or comparison cells. |
Computation method
Method type: interpretive-procedure
Resolve an activity key to one declarative profile whose fields separately express hard day gates, slot gates, ranking preferences, unresolved manual checks, and provenance authority.
Process
- Resolve the single compatibility alias litigation to the canonical court profile.
- Load the profile by exact activity identifier; reject unknown identifiers in the public finder.
- Normalize source-facing Nakshatra spellings to engine spellings at comparison time.
- Apply allowed/avoid/required fields as hard gates and prefer/penalty fields as disclosed score changes.
- For all 30 browser activities, join deterministic Panchangam fields, exact personal/chart rule IDs and every source-authored manual row to the generated structured check contract; use its explicit chart, information or practical section instead of inferring from prose.
- Surface manual_checks and manual_prerequisites rather than pretending to compute horoscope or practitioner judgments.
- Read source_claim, audit_claim, heuristic_claim, and related_claims independently; never promote the umbrella record into authority for a profile.
Worked example
Wedding profile authority and gates
Inputs
- Activity: wedding
Calculation
- Resolve directly to ACTIVITY_RULES[wedding].
- Require its admitted Maasams, Vaarams, Tithis, Nakshatras, Lagnas, and non-Vishti Karana; apply eclipse, Sankramana, Adhika, Pitru Paksha, Simha-Stha, Yoga, and combustion exclusions.
- Preserve the manual Pada, chart, and couple-specific prerequisites in output.
- Attach source_claim muhurta.wedding and disclose its related lineage-divergence claim.
Result
- A structured rule profile, not a precomputed yes/no date
- Any surviving slot remains subject to listed practitioner checks
Method notes
- At this snapshot 34 of 35 canonical profiles have verified activity-level claims; the generic any profile is an explicit heuristic.
- The generated check contract changes display classification only; it does not promote a manual source statement into an automated rule.
Contract
Owning layer: personal
Claim kind: textual-rule
Time basis: Rules are applied to each candidate day and slot.
Inputs
- activity identifier
Outputs
- automated constraints
- ranking preferences
- manual checks
- structured check classifications
- provenance identifier
References and evidence
Evidence classes: textual, project_heuristic
Verification states: needs_locator, verified, heuristic
The umbrella claim remains needs_locator and grants no authority. At the activity level, 34 of 35 canonical profiles are verified and the remaining generic any profile is an explicit heuristic; no profile is currently contradicted.
muhurta.activity_rules
Evidence class: textual
Verification state: needs_locator
Locator: No precise locator is registered.
Scope: Each activity needs rule-level locators; shared defaults must not imply universal textual agreement.
Sources
- Muhurtha (Electional Astrology) — B. V. Raman; UBS Publishers' Distributors, 1993, ISBN 9788185674681, 181 catalogued pages; authority type:
modern_synthesis
The complete machine-readable source registry is available in provenance.json. A regression fixture or same-code reproduction is not independent verification.
Reproduce and review
tests/test_activity_provenance_contract.pytests/test_activity_rules_export.pytests/test_activity_surface_parity.pytests/test_activity_check_contract.pysrc/scorer/__tests__/activity-check-contract.test.ts
Run the linked tests, then the complete offline contract:
python tools/verify_project.pyPublic surfaces
python-librarymcpwebsitegenerated-data
Limitations
- Each activity's evidence state must be read from its own provenance claim; this umbrella record is not a blanket verification claim.
Implementation
- owner:
telugu_panchangam/personal/activity_rules.py—ACTIVITY_RULES - owner:
telugu_panchangam/personal/activity_rules.py—get_activity_rules - owner:
telugu_panchangam/personal/activity_check_contract.py—build_activity_check_contract - mirror:
tools/export_activity_rules.py—main - mirror:
src/panels/tarabalam.ts—MU_ACTIVITY
This route is generated from computations.json. Edit the registry and canonical reference prose in the same pull request as a behavior change.