From ab5af2c8ba61b40634aed0a7671ba6bd42fe9b69 Mon Sep 17 00:00:00 2001 From: 732642856 <732642856@qq.com> Date: Thu, 2 Jul 2026 10:51:24 +0800 Subject: [PATCH] fix: enforce existing mevg invocation across timing workflows --- AGENTS.md | 26 ++++++- references/event_judgment_career.md | 16 +++++ references/event_judgment_marriage.md | 16 +++++ references/event_judgment_skeleton.md | 15 +++++ references/event_judgment_wealth.md | 16 +++++ references/real-reading-quality-checklist.md | 20 ++++-- references/strict-workflow-router.md | 32 ++++++++- references/transit-actionable-output-guide.md | 12 ++++ tests/test_real_reading_quality_checklist.py | 6 ++ tests/test_skill_hard_constraints.py | 67 +++++++++++++++++++ 10 files changed, 218 insertions(+), 8 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index a15edb1b..feec7806 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -41,7 +41,30 @@ - 关键功能凶星 - 对结论置信度的影响 -## 3. Honesty Boundary +## 3. Existing MEVG Invocation Hard Constraint + +**强制执行既有 MEVG 规则,不得把它当成可选增强项。** + +本节不是新增一套验证系统,而是把 `SKILL.md` 与 +`references/mandatory-verification-gate-protocol.md` 中已经存在的 MEVG +外部验证门控提升为协作代理硬约束。 + +执行要求: + +1. 对用户提出的 **所有星盘运势类问题**、**所有有关印度占星推运的问题**,包括命盘解读、事业、财富、婚恋、健康、流年、流月、应期、事件预测、出生时间校正辅助和技法可靠性判断,必须执行 MEVG。 +2. MEVG 必须包含: + - 全球 / 全网外部资料采集 + - 真实案例参考 + - 来源分级 + - 冲突仲裁 + - 未验证声明降级 +3. 输出的 Technique Audit Table 必须出现以下两行: + - `MEVG / Global Web Evidence` + - `Real Case Calibration` +4. 若无法完成外部资料采集、无法找到真实案例、网络/工具不可用、或来源之间出现重大冲突,必须写成 `blocked` 或降级置信度,不得静默跳过。 +5. 只有 **纯计算 / 纯代码 / 纯项目维护** 可以豁免 MEVG,例如运行测试、检查 Git 状态、修复代码、输出未解释的原始度数或 Dasha 边界。一旦开始解释“这代表什么运势”,豁免立即失效。 + +## 4. Honesty Boundary 以下情况必须明确写成 `blocked` 或降级置信度: @@ -50,5 +73,6 @@ - 缺少分盘、Ayanamsa、Node mode 或出生精度 - 功能性吉凶星层未完成 - 双重大运或多系统结果发生实质冲突 +- MEVG / Global Web Evidence 或 Real Case Calibration 未完成 禁止把内部一致性伪装成“已经全球顶级精度”。 diff --git a/references/event_judgment_career.md b/references/event_judgment_career.md index dfaf2d73..c78350c0 100644 --- a/references/event_judgment_career.md +++ b/references/event_judgment_career.md @@ -40,6 +40,8 @@ - `Transit / Double Transit` - `Shadbala` - `Functional Benefic/Malefic` +- `MEVG / Global Web Evidence` +- `Real Case Calibration` 高严谨时尽量补: @@ -130,6 +132,18 @@ 3. `main conflicts` 4. `Technique Audit Table` 5. `raw evidence` +6. `MEVG / Global Web Evidence` +7. `Real Case Calibration` + +`MEVG / Global Web Evidence` 必须复用 +`references/mandatory-verification-gate-protocol.md`,至少说明 source tier、 +global web evidence collection、conflict arbitration 和未验证声明如何降级。 + +`Real Case Calibration` 必须给出真实案例参考、公开 benchmark case,或明确的 +case gap。没有可比案例时不得假装完成,应降低置信度。 + +pure calculation exemption 只适用于纯计算、纯代码、纯项目维护或不解释运势意义的原始 +数据输出;一旦解释事业运势、职业窗口、项目落地或职位变化,必须执行 MEVG 与真实案例校正。 示例 verdict: @@ -155,3 +169,5 @@ - 没交代 `AmK / Karakamsha` - 未说明 birth time precision - 未说明 `Ayanamsa / Node mode` +- 未完成 `MEVG / Global Web Evidence` +- 未完成 `Real Case Calibration` diff --git a/references/event_judgment_marriage.md b/references/event_judgment_marriage.md index 55ad54fb..25b763ae 100644 --- a/references/event_judgment_marriage.md +++ b/references/event_judgment_marriage.md @@ -38,6 +38,8 @@ - `Transit / Double Transit` - `Vivah Saham` - `Functional Benefic/Malefic` +- `MEVG / Global Web Evidence` +- `Real Case Calibration` 若用户要求高严谨,还应尽量加: @@ -133,6 +135,18 @@ 3. `main conflicts` 4. `Technique Audit Table` 5. `raw evidence` +6. `MEVG / Global Web Evidence` +7. `Real Case Calibration` + +`MEVG / Global Web Evidence` 必须复用 +`references/mandatory-verification-gate-protocol.md`,至少说明 source tier、 +global web evidence collection、conflict arbitration 和未验证声明如何降级。 + +`Real Case Calibration` 必须给出真实案例参考、公开 benchmark case,或明确的 +case gap。没有可比案例时不得假装完成,应降低置信度。 + +pure calculation exemption 只适用于纯计算、纯代码、纯项目维护或不解释运势意义的原始 +数据输出;一旦解释婚恋运势、关系窗口或婚期,必须执行 MEVG 与真实案例校正。 示例 verdict: @@ -154,3 +168,5 @@ - 只看单一文章规则 - 未说明 birth time precision - 未说明 `Ayanamsa / Node mode` +- 未完成 `MEVG / Global Web Evidence` +- 未完成 `Real Case Calibration` diff --git a/references/event_judgment_skeleton.md b/references/event_judgment_skeleton.md index 42dd6ed4..0d64a6be 100644 --- a/references/event_judgment_skeleton.md +++ b/references/event_judgment_skeleton.md @@ -66,6 +66,17 @@ - `node_mode` - `maturity` +所有涉及印度占星推运、运势解读、事件预测、流年流月、健康、搬迁、考试、 +出行、出生时间校正辅助或技法可靠性判断的问题,都必须复用既有 +`references/mandatory-verification-gate-protocol.md`: + +- `MEVG / Global Web Evidence`:记录全球 / 全网外部资料采集、source tier、 + conflict arbitration 和未验证声明的降级。 +- `Real Case Calibration`:记录真实案例参考、公开 benchmark case,或明确 + case gap。 +- pure calculation exemption 只适用于纯计算、纯代码、纯项目维护或不解释运势意义的 + 原始数据输出;一旦解释推运或运势意义,必须执行 MEVG 与真实案例校正。 + --- ## 3. Adjudication @@ -124,6 +135,8 @@ 3. `conflicts` 4. `Technique Audit Table` 5. `raw evidence` +6. `MEVG / Global Web Evidence` +7. `Real Case Calibration` 最小 JSON 形态: @@ -151,3 +164,5 @@ - 题目域分盘未展开(relationship -> D9/UL;career -> D10/A10;wealth -> D2/D11) - 外部 oracle 未闭环却假装全局封顶 - 缺少 `Technique Audit Table` +- 缺少 `MEVG / Global Web Evidence` +- 缺少 `Real Case Calibration` diff --git a/references/event_judgment_wealth.md b/references/event_judgment_wealth.md index 519e1750..03ea84d4 100644 --- a/references/event_judgment_wealth.md +++ b/references/event_judgment_wealth.md @@ -58,6 +58,8 @@ - `Shadbala` - `Ashtakavarga` - `Functional Benefic/Malefic` +- `MEVG / Global Web Evidence` +- `Real Case Calibration` 高严谨时尽量补: @@ -172,6 +174,18 @@ 3. `main conflicts` 4. `Technique Audit Table` 5. `raw evidence` +6. `MEVG / Global Web Evidence` +7. `Real Case Calibration` + +`MEVG / Global Web Evidence` 必须复用 +`references/mandatory-verification-gate-protocol.md`,至少说明 source tier、 +global web evidence collection、conflict arbitration 和未验证声明如何降级。 + +`Real Case Calibration` 必须给出真实案例参考、公开 benchmark case,或明确的 +case gap。没有可比案例时不得假装完成,应降低置信度。 + +pure calculation exemption 只适用于纯计算、纯代码、纯项目维护或不解释运势意义的原始 +数据输出;一旦解释财富运势、收入窗口、到账、资产或变现,必须执行 MEVG 与真实案例校正。 示例 verdict: @@ -197,3 +211,5 @@ - 把纸面估值误当成流动性到账 - 未说明 birth time precision - 未说明 `Ayanamsa / Node mode` +- 未完成 `MEVG / Global Web Evidence` +- 未完成 `Real Case Calibration` diff --git a/references/real-reading-quality-checklist.md b/references/real-reading-quality-checklist.md index 8ed831df..6591c43e 100644 --- a/references/real-reading-quality-checklist.md +++ b/references/real-reading-quality-checklist.md @@ -48,14 +48,22 @@ 23. 是否把外部 oracle 未闭环的前线(Dasha boundary / Shadbala absolute / Tajika annual)说清楚? 24. 是否避免把内部一致性伪装成传统软件级真值冻结? -## H. 输出层 +## H. MEVG 与真实案例层 -25. 是否输出 `Technique Audit Table` 或等价审计表? -26. 是否给出 `used / partial / blocked / not used` 级别说明? -27. 是否给出置信度,而不是只给断语? -28. 是否把 must-not-overclaim 边界说清楚? +25. 是否执行 `MEVG / Global Web Evidence`,即全球 / 全网外部资料采集? +26. 是否给出 `Real Case Calibration`,即真实案例参考、公开 benchmark case,或明确 case gap? +27. 是否标出 source tier,而不是把论坛、博客、经典文本、开源项目和黑盒 oracle 混成同一权重? +28. 若来源冲突,是否做了 conflict arbitration,并说明哪条结论被降级? +29. 是否正确使用 pure calculation exemption:只在纯计算、纯代码、纯项目维护或未解释运势意义的原始数据输出时豁免? + +## I. 输出层 + +30. 是否输出 `Technique Audit Table` 或等价审计表? +31. 是否给出 `used / partial / blocked / not used` 级别说明? +32. 是否给出置信度,而不是只给断语? +33. 是否把 must-not-overclaim 边界说清楚? ## 一句话用法 只要这张表里有 3-4 项没过,就不要把输出包装成“高严谨结论”。 -只要 `参数层 + 承诺层 + 分盘层 + timing 层 + 外部真值边界` 没一起过,就不能把 skill 说成“已经无疏漏封顶”。 +只要 `参数层 + 承诺层 + 分盘层 + timing 层 + 外部真值边界 + MEVG 与真实案例层` 没一起过,就不能把 skill 说成“已经无疏漏封顶”。 diff --git a/references/strict-workflow-router.md b/references/strict-workflow-router.md index 78950cd2..81fffd6d 100644 --- a/references/strict-workflow-router.md +++ b/references/strict-workflow-router.md @@ -31,6 +31,33 @@ If any of the above cannot be completed because of missing birth precision, exte --- +## 0.6 Existing MEVG Invocation Gate + +This router reuses the existing MEVG source of truth in +`references/mandatory-verification-gate-protocol.md`; it does not create a +second verification system. + +For **all chart interpretation readings**, including natal interpretation, +career, wealth, relationship, health, annual/monthly timing, event prediction, +rectification support, and technique reliability questions, the reading must +complete or explicitly block: + +1. `MEVG / Global Web Evidence`: global web evidence collection, source tiering, + and conflict arbitration. +2. `Real Case Calibration`: real case reference, benchmark case reference, or a + clear case-gap statement with confidence downgrade. + +The only exemption is: pure calculation / code / project-maintenance tasks are exempt +when they do not interpret chart meaning. Examples: running tests, checking Git +status, fixing code, or returning raw degrees / Dasha boundaries without any +fortune interpretation. Once the answer explains what the chart means, the +exemption no longer applies. + +Every Level 2+ chart reading must include `MEVG / Global Web Evidence` and +`Real Case Calibration` in the Technique Audit Table. + +--- + ## 1. Question router | User intent | Route | Required depth | @@ -58,7 +85,8 @@ For every Level 2+ reading, complete or explicitly mark unavailable: - Transit: Saturn/Jupiter/Rahu-Ketu, plus Moon trigger for month/day-level timing. - Functional benefic/malefic status by Lagna. - Shadbala and Ashtakavarga when a claim depends on planetary strength or transit strength. -- MEVG external verification for non-obvious interpretive claims. +- MEVG external verification for all interpretive chart-reading claims. +- Real case calibration or a clearly marked case-evidence gap. - Confidence label: A/B/C/insufficient. --- @@ -207,6 +235,8 @@ Every Level 2+ output must include this table near the end. | Argala | Used / not used | ... | ... | | KP / Sub-lord | Used / not required / unavailable | ... | ... | | Historical verification | Used / not provided | ... | ... | +| MEVG / Global Web Evidence | Used / blocked / exempt for pure calculation | Source tier, searches, conflict arbitration | Mandatory for all chart interpretation readings; blocked or downgraded if omitted | +| Real Case Calibration | Used / blocked / case gap | Real case, benchmark case, or documented lack of matching cases | Cap confidence when no comparable case evidence is available | Never omit unavailable techniques silently. Mark them as unavailable or not integrated. When Functional Benefic/Malefic is used, explicitly surface the functional neutrals and yogakarakas instead of collapsing them into a generic summary. diff --git a/references/transit-actionable-output-guide.md b/references/transit-actionable-output-guide.md index d2c3d0e2..82642721 100644 --- a/references/transit-actionable-output-guide.md +++ b/references/transit-actionable-output-guide.md @@ -57,6 +57,18 @@ 当动态预测(被发现/合作/破圈/关键事件型)时,**必须先执行案例检索**: +本节是 `references/mandatory-verification-gate-protocol.md` 的推运执行入口之一。 +所有 Transit / Dasha / 年运 / 月运 / 具体事件型推运结论,都必须在最终 +Technique Audit Table 中出现: + +- `MEVG / Global Web Evidence`:记录全网外部资料采集、source tier 与 + conflict arbitration。 +- `Real Case Calibration`:记录真实案例参考、公开 benchmark case,或明确 + case gap。 + +pure calculation exemption 只适用于纯计算、纯代码、纯项目维护或不解释运势意义的 +原始数据输出;一旦解释 Transit 或 Dasha 对运势的意义,必须执行 MEVG 与真实案例校正。 + ### Step 1:检索同类行星配置真实案例 ```bash diff --git a/tests/test_real_reading_quality_checklist.py b/tests/test_real_reading_quality_checklist.py index 0c037deb..3838e8ac 100644 --- a/tests/test_real_reading_quality_checklist.py +++ b/tests/test_real_reading_quality_checklist.py @@ -25,6 +25,12 @@ def test_real_reading_quality_checklist_exists_and_covers_structural_gaps() -> N "Vimshottari + Narayana", "production_tuning_allowed", "Technique Audit Table", + "MEVG / Global Web Evidence", + "Real Case Calibration", + "全球 / 全网外部资料采集", + "真实案例参考", + "source tier", + "conflict arbitration", ]: assert token in text diff --git a/tests/test_skill_hard_constraints.py b/tests/test_skill_hard_constraints.py index 10978723..7c8261c8 100644 --- a/tests/test_skill_hard_constraints.py +++ b/tests/test_skill_hard_constraints.py @@ -40,3 +40,70 @@ def test_agents_declares_functional_benefic_malefic_hard_constraint() -> None: assert "Vimshottari + Narayana Dasha" in agents assert "Technique Audit Table" in agents assert "blocked" in agents + + +def test_mevg_global_web_and_real_case_evidence_is_agent_hard_constraint() -> None: + agents = (ROOT / "AGENTS.md").read_text(encoding="utf-8") + + assert "Existing MEVG Invocation Hard Constraint" in agents + assert "所有星盘运势类问题" in agents + assert "所有有关印度占星推运的问题" in agents + assert "references/mandatory-verification-gate-protocol.md" in agents + assert "MEVG" in agents + assert "全球 / 全网外部资料采集" in agents + assert "真实案例参考" in agents + assert "MEVG / Global Web Evidence" in agents + assert "Real Case Calibration" in agents + assert "纯计算 / 纯代码 / 纯项目维护" in agents + + +def test_strict_router_makes_mevg_default_for_all_chart_readings() -> None: + router = (ROOT / "references" / "strict-workflow-router.md").read_text(encoding="utf-8") + + assert "Existing MEVG Invocation Gate" in router + assert "all chart interpretation readings" in router + assert "annual/monthly timing" in router + assert "event prediction" in router + assert "rectification support" in router + assert "MEVG / Global Web Evidence" in router + assert "Real Case Calibration" in router + assert "pure calculation / code / project-maintenance tasks are exempt" in router + assert "MEVG external verification for all interpretive chart-reading claims" in router + + +def test_domain_event_adjudicators_require_mevg_and_real_case_contract() -> None: + for filename in [ + "event_judgment_marriage.md", + "event_judgment_career.md", + "event_judgment_wealth.md", + ]: + text = (ROOT / "references" / filename).read_text(encoding="utf-8") + + assert "MEVG / Global Web Evidence" in text + assert "Real Case Calibration" in text + assert "source tier" in text + assert "conflict arbitration" in text + assert "pure calculation exemption" in text + + +def test_general_timing_workflow_requires_mevg_and_real_case_contract() -> None: + skeleton = (ROOT / "references" / "event_judgment_skeleton.md").read_text(encoding="utf-8") + assert "marriage / career / wealth / health / generic event verification" in skeleton + assert "MEVG / Global Web Evidence" in skeleton + assert "Real Case Calibration" in skeleton + assert "source tier" in skeleton + assert "conflict arbitration" in skeleton + assert "pure calculation exemption" in skeleton + + workflow = (ROOT / "references" / "ai-reading-workflow-prompt.md").read_text(encoding="utf-8") + assert "references/mandatory-verification-gate-protocol.md" in workflow + assert "Step 3.11" in workflow + assert "Step 4.10" in workflow + assert "Step 5.5" in workflow + assert "案例检索与对比" in workflow + + transit = (ROOT / "references" / "transit-actionable-output-guide.md").read_text(encoding="utf-8") + assert "案例检索三步法" in transit + assert "任何涉及具体事件类型的 Transit 预测" in transit + assert "MEVG / Global Web Evidence" in transit + assert "Real Case Calibration" in transit