feat(governance): pin selective upstream import contract

This commit is contained in:
Jesse_Chen
2026-08-15 12:13:09 +08:00
parent 0fd111d16b
commit 8abd248f49
11 changed files with 1053 additions and 51 deletions
@@ -120,6 +120,7 @@ adapter available 解释为已完成 VedAstro、PyJHora/JHora 或 jyotishganit r
3. **阶段二**:意图识别 → 路由目标宫位(无明确意图→Level 2综合解盘)
4. **阶段二点五**:若 `full-reading` 或网页/API 返回 `ai_prompt_pack`,必须优先读取 `prompt_zh``evidence_snapshot``retrieval_plan` 作为 AI/RAG 主上下文;若没有该字段,再退回传统 JSON 摘要。
4.1 **VedAstro 官方优先级**:用户给出生信息后,网页、Skill、MCP 都必须默认走同一条数据优先级:`VedAstro official snapshot -> local supplemental modules -> local fallback only when official blocked`。用户不需要主动要求“调用 VedAstro”。若 `evidence_snapshot.vedastro_official_full_snapshot.status``ok/partial` 且官方 chart 可用,D1/分盘/官方返回的原始字段以 VedAstro 为主;本地引擎只做补充、交叉检查或官方 blocked 时 fallback。
4.1.1 **Formal Varga 官方证据审计**MCP `strict_workflow` 需要补充 VedAstro 官方形式分盘证据时,可显式传 `official_formal_varga_audit=True`;返回的 `vedastro_official_formal_varga_audit` 只能进入 Evidence Ledger / Technique Audit Table,作为 `evidence_only`,不得宣称本地 Varga 公式真值闭环、不得用官方响应静默覆盖本地算法、不得写入或展示任何 API key。
4. **阶段三**:静态分析10步(宫位→承诺→Yoga→Argala→逆行→NK→Shadbala→AV→Ketu→分盘)
5. **阶段四**:动态推运7步(Dasha→五系统Convergence→Transit→Double Transit→Jaimini→KP→Varshaphala
6. **阶段五**:应期输出(五层验证→时间窗口→Actionable Output+案例检索)
@@ -0,0 +1,233 @@
{
"schema_version": 1,
"source_repository": "732642856/yinduzhanxing",
"source_repository_url": "https://github.com/732642856/yinduzhanxing",
"source_commit": "5db72537741fcedaa7b5498502d4a31b0f9fc147",
"source_tree_sha256": "18e3122ef73c2776a950bfec128efeb09ac0524ec1d2179390260166b87ca814",
"boundary": "PR-0 records selective semantic decisions only. The importer mirrors only the pinned upstream root SKILL.md under references/upstream; none of these research scripts is copied into the commercial runtime by this PR.",
"entries": [
{
"source": "scripts/evidence_maturity.py",
"category": "evidence_assertion_contracts",
"action": "adapt",
"reason": "Reuse the explicit calculated/profile_validated/external_parity/predictively_validated vocabulary and visible partial/blocked states without treating a research receipt as commercial execution proof.",
"targets": [
"scripts/strict_evidence_service.py",
"scripts/high_rigor_closure_gate.py"
],
"tests": [
"tests/test_high_rigor_closure_gate.py",
"tests/test_upstream_import_plan.py"
]
},
{
"source": "scripts/assertion_policy.py",
"category": "evidence_assertion_contracts",
"action": "adapt",
"reason": "Adapt assertion-strength labels so blocked and parameter-sensitive claims remain explicit; server-owned evidence, state and scoring continue to decide what may be asserted.",
"targets": [
"scripts/rectification_policy.py",
"scripts/report_orchestrator.py"
],
"tests": [
"tests/test_rectification_technique_contract.py",
"tests/test_report_orchestrator_reader_contract.py",
"tests/test_upstream_import_plan.py"
]
},
{
"source": "scripts/evidence_labeled_reporting.py",
"category": "evidence_assertion_contracts",
"action": "adapt",
"reason": "Adapt evidence labels and limitation rendering while preserving the commercial reader contract and preventing computed_pending_validation material from being presented as externally verified truth.",
"targets": [
"scripts/report_builder.py",
"scripts/report_orchestrator.py"
],
"tests": [
"tests/test_report_orchestrator_reader_contract.py",
"tests/test_upstream_import_plan.py"
]
},
{
"source": "scripts/calculation_profile_contract.py",
"category": "calculation_contracts",
"action": "adapt",
"reason": "Adapt deterministic calculation-profile identity and privacy-safe hashing to the commercial producer instead of creating a second calculation chain or importing research dependency paths.",
"targets": [
"scripts/domain_calculation_service.py",
"scripts/rectification_three_engine_packet.py"
],
"tests": [
"tests/test_commercial_domain_calculation_contract.py",
"tests/test_rectification_three_engine_packet.py",
"tests/test_upstream_import_plan.py"
]
},
{
"source": "scripts/report_pack_contract.py",
"category": "report_domain_profile_contracts",
"action": "adapt",
"reason": "Adapt typed report-pack sections, provenance and limitations into the existing commercial report contract without replacing its routes, authorization or reader-facing conclusions.",
"targets": [
"scripts/personal_report_contract.py",
"scripts/report_orchestrator.py"
],
"tests": [
"tests/test_personal_report_contract.py",
"tests/test_report_orchestrator_reader_contract.py",
"tests/test_upstream_import_plan.py"
]
},
{
"source": "scripts/domain_profile_builder.py",
"category": "report_domain_profile_contracts",
"action": "adapt",
"reason": "Adapt domain-profile normalization behind the existing commercial domain service; migration, family and annual route selection remains owned by the commercial orchestrator.",
"targets": [
"scripts/domain_calculation_service.py",
"scripts/unified_consultation_orchestrator.py"
],
"tests": [
"tests/test_commercial_domain_calculation_contract.py",
"tests/test_unified_consultation_orchestrator.py",
"tests/test_upstream_import_plan.py"
]
},
{
"source": "scripts/unified_calculation_archive.py",
"category": "research_oracle_assets",
"action": "reference_only",
"reason": "Retain the research archive shape and PL9 observations as pinned reference evidence only. It must not replace the commercial calculation archive, satisfy required rectification layers, or become runtime truth.",
"targets": [
"scripts/high_rigor_closure_gate.py",
"scripts/unified_consultation_orchestrator.py"
],
"tests": [
"tests/test_high_rigor_closure_gate.py",
"tests/test_upstream_import_plan.py"
]
},
{
"source": "scripts/specialized_evidence_packets.py",
"category": "research_oracle_assets",
"action": "adapt",
"reason": "Adapt the raw Jaimini, KP and Tajika packet boundaries as evidence-only structures; each system keeps its own commercial validation gate and cannot vote itself into a deterministic outcome.",
"targets": [
"scripts/high_rigor_closure_gate.py",
"scripts/rectification_three_engine_packet.py"
],
"tests": [
"tests/test_high_rigor_closure_gate.py",
"tests/test_rectification_three_engine_packet.py",
"tests/test_upstream_import_plan.py"
]
},
{
"source": "scripts/timing_evidence_packets.py",
"category": "research_oracle_assets",
"action": "adapt",
"reason": "Adapt raw Dasha/transit packet labeling while retaining complete commercial candidate sensitivity and stability diagnostics; computed timing windows do not establish an event outcome or exact birth minute.",
"targets": [
"scripts/candidate_time_sensitivity_scan.py",
"scripts/high_rigor_closure_gate.py"
],
"tests": [
"tests/test_candidate_time_sensitivity_scan.py",
"tests/test_high_rigor_closure_gate.py",
"tests/test_upstream_import_plan.py"
]
}
],
"formal_varga_policy": {
"action": "reference_only",
"reason": "The upstream Formal Varga official-response audit may appear only as evidence_only in Evidence Ledger or Technique Audit output. It cannot claim local-formula parity, satisfy required layers, overwrite local calculations, or expose an API key.",
"targets": [
"references/upstream/yinduzhanxing/SKILL.md",
"scripts/high_rigor_closure_gate.py",
"scripts/report_orchestrator.py"
],
"tests": [
"tests/test_high_rigor_closure_gate.py",
"tests/test_report_orchestrator_reader_contract.py",
"tests/test_upstream_import_plan.py"
]
},
"rejected_regressions": [
{
"id": "fixed_event_domain_count_threshold",
"action": "reject",
"reason": "A fixed count of 3 events across 2 domains is not sufficient evidence for exact-minute confirmation and cannot bypass server-owned evidence completeness, state or scoring policy.",
"commercial_owner": "scripts/rectification_technique_contract.py",
"tests": [
"tests/test_rectification_technique_contract.py",
"tests/test_upstream_import_plan.py"
]
},
{
"id": "sparse_start_mid_end_rectification_scan",
"action": "reject",
"reason": "Sampling only range start, midpoint and end is not a complete sensitivity or stability gate; the commercial candidate scan and required diagnostic layers remain authoritative.",
"commercial_owner": "scripts/candidate_time_sensitivity_scan.py",
"tests": [
"tests/test_candidate_time_sensitivity_scan.py",
"tests/test_upstream_import_plan.py"
]
},
{
"id": "weaken_three_engine_gate",
"action": "reject",
"reason": "Research prose or a single official response cannot weaken the commercial three-engine evidence gate or convert blocked parity into executed truth.",
"commercial_owner": "scripts/rectification_three_engine_packet.py",
"tests": [
"tests/test_rectification_three_engine_packet.py",
"tests/test_upstream_import_plan.py"
]
},
{
"id": "weaken_required_layers",
"action": "reject",
"reason": "Missing required divisional, timing, strength or functional-benefic layers remain visible and blocked; upstream packets cannot silently satisfy them.",
"commercial_owner": "scripts/high_rigor_closure_gate.py",
"tests": [
"tests/test_high_rigor_closure_gate.py",
"tests/test_upstream_import_plan.py"
]
},
{
"id": "weaken_stability_gate",
"action": "reject",
"reason": "Candidate range or exact-minute claims must retain the commercial stability and sensitivity gates; narrative confidence is not stability evidence.",
"commercial_owner": "scripts/candidate_time_sensitivity_scan.py",
"tests": [
"tests/test_candidate_time_sensitivity_scan.py",
"tests/test_upstream_import_plan.py"
]
},
{
"id": "remove_commercial_routes",
"action": "reject",
"reason": "Existing migration, family and annual Web routes, their fallbacks and user-visible recovery remain commercial-runtime-owned and cannot be deleted or replaced by upstream routing.",
"commercial_owner": "scripts/unified_consultation_orchestrator.py",
"preserved_routes": [
"migration",
"family",
"annual"
],
"tests": [
"tests/test_unified_consultation_orchestrator.py",
"tests/test_upstream_import_plan.py"
]
}
],
"protected_surfaces": [
"SKILL.md",
"skills/jyotish-vedic-astrology/**",
"skills/jyotish-birth-time-rectification/**",
"frontend/**",
"deploy/**",
"authentication",
"billing",
"database"
]
}
@@ -1,11 +1,18 @@
{
"schema_version": 1,
"source_repository": "732642856/yinduzhanxing",
"source_commit": null,
"source_mode": "snapshot",
"source_tree_sha256": "9034e1967032d09c7fbae83fc2205f7e75e8ad482c5f9eba1bf309fe30aef5bb",
"skill_sha256": "1be8beafbd5f4b6df7f95afec39e87033cd70ef6bf582fe7d9f1eb62fb5d00fb",
"archive_file_count": 2901,
"archive_sha256": "07d6b71af311160c544433eb9d51beb5b0a5e4bd0afabd4a7d43d3edb573518d",
"boundary": "Archive content was verified byte-for-byte against all 2,901 non-.git files at the bound commit. Only root SKILL.md is mirrored; commercial and rectification Skills remain protected. skill_sha256 is retained as a legacy alias of source_skill_sha256.",
"import_policy_version": 2,
"imported_at": "2026-08-14T03:16:04Z",
"license": "MIT",
"imported_at": "2026-08-06T00:00:00Z",
"boundary": "The provided source had no usable Git metadata. This manifest does not claim parity with a GitHub commit."
"schema_version": 1,
"skill_sha256": "ef453dd8dd4a9da72b56010ec33bb7dab57fd72333d8785cac0986d5456e17c5",
"source_commit": "5db72537741fcedaa7b5498502d4a31b0f9fc147",
"source_committed_at": "2026-08-13T18:03:53Z",
"source_git_tree": "16935cb68a6fa1ef72661cfca4650a42c60e9b2c",
"source_mode": "archive",
"source_repository": "732642856/yinduzhanxing",
"source_repository_url": "https://github.com/732642856/yinduzhanxing",
"source_skill_sha256": "ef453dd8dd4a9da72b56010ec33bb7dab57fd72333d8785cac0986d5456e17c5",
"source_tree_sha256": "18e3122ef73c2776a950bfec128efeb09ac0524ec1d2179390260166b87ca814"
}