feat: sync guarded rectification gates

This commit is contained in:
732642856
2026-07-19 16:09:24 +08:00
parent 0bb7dbfe42
commit 352809fa82
9 changed files with 761 additions and 230 deletions
@@ -160,7 +160,7 @@
"domain": "birth_time_rectification",
"claim_status": "partial",
"consumer_policy": "research_only",
"claim_boundary": "Rectification uses candidate sweep, Vimshottari event scoring and varga sensitivity; Narayana/Jaimini/Shadbala/AV/Vimsopaka/Avastha/Gochara layers are not yet integrated."
"claim_boundary": "Rectification now exposes candidate sweep, Vimshottari scoring, Varga sensitivity, Narayana/Jaimini/Vimsopaka cross gates, and Shadbala-AV/Gochara observation gates; all remain candidate-only and cannot confirm birth-time truth."
},
{
"packet_id": "effective_skill_capability_view",
@@ -176,7 +176,7 @@
"domain": "birth_time_rectification",
"claim_status": "partial",
"consumer_policy": "research_only",
"claim_boundary": "Narayana/Jaimini/Vimsopaka-Avastha/Shadbala-AV/Gochara layers are planned but not yet integrated into rectification scoring."
"claim_boundary": "All planned rectification layers have partial guarded runtime surfaces; Shadbala-AV remains formula/unit partial and Gochara remains negative-holdout blocked, so outputs stay exploratory."
}
]
}
@@ -0,0 +1,66 @@
{
"scope": "rectification_missing_layer_integration_plan",
"created_at": "2026-07-19",
"status": "implementation_plan_v1",
"production_tuning_allowed": false,
"source_audit": "references/oracle/rectification_technique_usage_audit_2026_07_19.json",
"claim_boundary": "candidate_rectification_not_birth_time_truth",
"boundary": "This plan adds missing scoring layers to birth-time rectification without claiming confirmed birth time or verified day-level prediction accuracy.",
"layers": [
{
"layer_id": "narayana_dasha_cross_score",
"priority": "P0",
"implementation_status": "partial_runtime_cross_gate",
"entry_gate": "Use only after current Vimshottari event scoring exists; compare agreement/disagreement rather than replacing Vimshottari.",
"local_reuse_candidates": ["scripts/extended_dashas.py", "scripts/jyotish_api_server.py", "jyotish-app/rectification-engine.js"],
"test_targets": ["rectification ranks same candidates with Narayana side score", "audit table reports Vimshottari/Narayana disagreement"],
"output_status": "exploratory",
"claim_boundary": "Dual Dasha support can raise candidate confidence but cannot confirm birth time without event evidence."
},
{
"layer_id": "jaimini_karaka_sensitivity",
"priority": "P1",
"implementation_status": "partial_runtime_cross_gate",
"entry_gate": "Only consume current scripts/jaimini.py outputs; do not duplicate historical karaka_calculator runtime.",
"local_reuse_candidates": ["scripts/jaimini.py", "references/oracle/technique_promotion_audit_varga_karaka_2026_07_19.json"],
"test_targets": ["AK/AmK/DK/PK changes are surfaced as sensitivity notes", "Karakamsha changes do not dominate score alone"],
"output_status": "exploratory",
"claim_boundary": "Karaka/Karakamsha shifts are sensitivity evidence, not standalone rectification proof."
},
{
"layer_id": "vimsopaka_avastha_state_score",
"priority": "P1",
"implementation_status": "partial_runtime_cross_gate",
"entry_gate": "Use existing full-reading Vimsopaka and /api/deep_varga_avastha surfaces; add source/display contract before scoring weight.",
"local_reuse_candidates": ["scripts/deep_varga_avastha.py", "skills/jyotish-engine-modules/scripts/vimsopaka_calculator.py", "skills/jyotish-engine-modules/scripts/avastha_calculator.py"],
"test_targets": ["Vimsopaka/Avastha changes are reported as low-weight evidence", "gender/profile optional fields do not affect chart hash"],
"output_status": "exploratory",
"claim_boundary": "State/strength changes are interpretive sensitivity only until oracle/source packets close."
},
{
"layer_id": "shadbala_av_delta_score",
"priority": "P2",
"implementation_status": "partial_observation_low_weight_gate",
"entry_gate": "Blocked from high weight until Shadbala/AV component closure improves; use only as observation with explicit method-variant boundary.",
"local_reuse_candidates": ["references/oracle/xalen_shadbala_av_component_delta_report_2026_07_19.json", "references/oracle/formula_source_knowledge_base_2026_07_19.json"],
"test_targets": ["Shadbala/AV score is hidden or low-weight when formula status is partial", "claim gate prevents absolute Shadbala rectification claim"],
"output_status": "exploratory_observation_only",
"claim_boundary": "Shadbala/AV absolute parity remains partial/open; cannot drive final rectification."
},
{
"layer_id": "gochara_transit_trigger_score",
"priority": "P2",
"implementation_status": "partial_observation_holdout_blocked",
"entry_gate": "Requires Gochara scoring contract and negative holdout readiness before affecting candidate rank.",
"local_reuse_candidates": ["/tmp/jyotisha-optimize/assets/event_timing_template.md", "references/oracle/technique_promotion_audit_kp_gochara_muhurta_2026_07_19.json"],
"test_targets": ["Transit triggers are listed separately from birth-time score", "negative holdout gate blocks verified timing claims"],
"output_status": "exploratory_observation_only",
"claim_boundary": "Gochara trigger evidence cannot be used as verified rectification/timing truth until holdout passes."
}
],
"required_global_tests": [
"candidate ranking remains reproducible",
"claim_audit_runtime_gate blocks verified birth-time truth",
"Technique Audit Table lists used/missing rectification layers"
]
}
@@ -0,0 +1,77 @@
{
"scope": "rectification_technique_usage_audit",
"created_at": "2026-07-19",
"status": "runtime_usage_audit_v1",
"claim_boundary": "rectification_candidate_scoring_not_birth_time_truth",
"production_tuning_allowed": false,
"runtime_artifacts": [
"jyotish-app/rectification-engine.js",
"jyotish-app/rectification.js",
"scripts/jyotish_api_server.py",
"tests/test_active_rectification_api.py",
"tests/test_active_rectification_questions.py"
],
"used_layers": [
{
"technique_id": "candidate_time_sweep",
"status": "used",
"evidence": "rectification-engine.js scans candidate birth times",
"claim_boundary": "Produces ranked candidates, not confirmed birth time."
},
{
"technique_id": "vimshottari_event_scoring",
"status": "used",
"evidence": "rectification-engine.js computeDasha/findActiveDasha event scoring",
"claim_boundary": "Event-score heuristic only."
},
{
"technique_id": "varga_change_scoring",
"status": "used",
"evidence": "rectification-engine.js tracks D9/D10/D60 and other varga changes",
"claim_boundary": "Varga boundary changes are sensitivity evidence, not proof."
},
{
"technique_id": "d60_late_reference",
"status": "used_guarded",
"evidence": "rectification-engine.js notes D60 is late-stage reference",
"claim_boundary": "D60 remains high-sensitivity and cannot dominate early scoring."
},
{
"technique_id": "guided_event_questionnaire",
"status": "used",
"evidence": "active rectification API and frontend guided interview",
"claim_boundary": "User event collection improves candidate filtering but requires evidence quality."
},
{
"technique_id": "narayana_dasha_rectification",
"status": "partial_runtime_cross_gate",
"evidence": "active_rectification_questions.score_answers exposes narayana_cross_score and API accepts narayana_cross_scores",
"claim_boundary": "Narayana is downgrade-only cross evidence; it does not replace Vimshottari ranking or confirm birth-time truth."
},
{
"technique_id": "jaimini_karaka_rectification",
"status": "partial_runtime_cross_gate",
"evidence": "active_rectification_questions.score_answers exposes jaimini_karaka_cross_score and API accepts jaimini_karaka_cross_scores",
"claim_boundary": "Karaka sensitivity is downgrade-only cross evidence; it is not standalone birth-time proof."
},
{
"technique_id": "vimsopaka_avastha_rectification",
"status": "partial_runtime_cross_gate",
"evidence": "active_rectification_questions.score_answers exposes vimsopaka_avastha_cross_score and API accepts vimsopaka_avastha_cross_scores",
"claim_boundary": "Vimsopaka/Avastha state shifts are downgrade-only cross evidence; they are not standalone correction."
},
{
"technique_id": "shadbala_av_rectification",
"status": "partial_observation_low_weight_gate",
"evidence": "active_rectification_questions.score_answers exposes shadbala_av_observation_score and API accepts shadbala_av_observation_scores",
"claim_boundary": "Formula/unit parity is still partial; Shadbala/AV can only downgrade or annotate candidate confidence."
},
{
"technique_id": "gochara_transit_rectification",
"status": "partial_observation_holdout_blocked",
"evidence": "active_rectification_questions.score_answers exposes gochara_transit_observation_score and API accepts gochara_transit_observation_scores",
"claim_boundary": "Negative holdout is still required; Gochara cannot produce verified day/month timing or birth-time truth."
}
],
"not_yet_used_layers": []
}