{"id":"712de76d-f731-4e0b-a187-e8f5665771fc","entityType":"agent","slug":"clawhub-seanding1998-vedic-destiny","name":"vedic-destiny","canonicalUrl":"https://www.xpersona.co/agent/clawhub-seanding1998-vedic-destiny","canonicalPath":"/agent/clawhub-seanding1998-vedic-destiny","generatedAt":"2026-10-10T21:49:45.596Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-10T18:17:11.313Z","emptyReason":null},"description":"吠陀命盘分析中文入口。用于完整命盘研判、命主盘 Rashi chart 与九分盘 Navamsha chart 联读、既往事件回看、出生时间稳定度判断、事业主题、婚姻主题、时间与场域联合分析，以及基于 Jagannatha Hora PDF、星盘截图或文本命盘数据的系统拆盘。当用户提到完整星盘、事业方向、婚姻问题... Skill: vedic-destiny Owner: seanding1998 Summary: 吠陀命盘分析中文入口。用于完整命盘研判、命主盘 Rashi chart 与九分盘 Navamsha chart 联读、既往事件回看、出生时间稳定度判断、事业主题、婚姻主题、时间与场域联合分析，以及基于 Jagannatha Hora PDF、星盘截图或文本命盘数据的系统拆盘。当用户提到完整星盘、事业方向、婚姻问题... Tags: latest:1.0.9 Version history: v1.0.9 | 2026-06-03T14:17:05.576Z | user v1.4.2 — JHora Ashtakavarga 精确边框解析 + 导出变体兼容 (2026-06-03) 变更动机 新一批 JHora / MinerU 导出样本暴露出两类问题： Ashtakavarga 结构误判：紧凑表并不是普通 12×12 行列表，而","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.3K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s172regbtzhpdev8rx39mqmjrx85qmrh:vedic-destiny","sourceUrl":"https://clawhub.ai/seanding1998/vedic-destiny","homepage":"https://clawhub.ai/seanding1998/skills/vedic-destiny","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/seanding1998/vedic-destiny","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/seanding1998/skills/vedic-destiny","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":62,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"吠陀命盘分析中文入口。用于完整命盘研判、命主盘 Rashi chart 与九分盘 Navamsha chart 联读、既往事件回看、出生时间稳定度判断、事业主题、婚姻主题、时间与场域联合分析，以及基于 Jagannatha Hora PDF、星盘截图或文本命盘数据的系统拆盘。当用户提到完整星盘、事业方向、婚姻问题..."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T18:17:11.313Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T18:17:11.313Z","emptyReason":null},"stars":null,"forks":null,"downloads":1300,"packageName":null,"latestVersion":"1.0.9","tractionLabel":"1.3K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T18:17:11.312Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T18:17:11.313Z","lastCrawledAt":"2026-10-10T18:17:11.312Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T18:17:11.312Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.9","createdAt":"2026-06-03T14:17:05.576Z","changelog":"v1.4.2 — JHora Ashtakavarga 精确边框解析 + 导出变体兼容 (2026-06-03) 变更动机 新一批 JHora / MinerU 导出样本暴露出两类问题： Ashtakavarga 结构误判：紧凑表并不是普通 12×12 行列表，而是 3×3 个 4×4 小方块；每个方块的 12 个边框数字才是一组完整 SAV/BAV。旧启发式把它误读成整表行列后，才会出现 SAV 需要缩放、BAV 行不全、R3 整列失败的现象。 行星表入口变体：不同导出中经度字段会出现 deg | sign+min | sec、deg | sign | min | sec、deg+sign | min | sec 三种拆列方式，同时 nakshatra 缩写也新增了 Aswi、Mool 等变体。 scripts/jhora_markdown_bridge.py 改动 1. 新增紧凑 Ashtakavarga 的精确块解析 新增 ASHTAKAVARGA_LABEL_MAP 新增 _extract_ashtakavarga_block_perimeter() 新增 _parse_ashtakavarga_compact_blocks() 识别 SAV/As/Su/Mo/Ma/Me/Ju/Ve/Sa 九个 4×4 小方块，按边框顺时针读取 12 个数值 直接产出： payload[\"sav\"] payload[\"bav\"] payload[\"_lagna_ashtakavarga\"] 2. _extract_ashtakavarga_candidates() 改为优先走精确块解析 命中 3×3 小方块布局时，不再使用 row0 × 337 / sum(row0) 缩放启发式 行级启发式保留为 OCR 损伤或非标准导出的后备方案 3. _format_ashtakavarga_for_llm() 输出同步更新 明确标注当前是否命中紧凑小方块精确解析 附带精确导出的 SAV / BAV / Lagna Ashtakavarga 不再把“让 LLM 手动做算术”当成主路径，只保留为诊断回退 4. 行星经度解析兼容三种导出格式 [\"26\", \"Ar 27'\", '19.07\"'] [\"20\", \"Le\", \"00'\", '00.34\"'] [\"5 Ge\", \"32'\", '00.12\"'] 5. nakshatra 缩写映射补充 Aswi -> Ashwini Mool -> Mula scripts/chart_sanity_check.py 改动 6. R3 在 BAV 行不完整时改为显式 SKIP 旧行为：缺少 BAV 行时，仍拿不完整列和去对 SAV，导致整列误报 FAIL 新行为：如果缺少行星，R2 报缺失，R3 返回 SKIP BAV incomplete 回归结果 使用以下样本回归验证： DingXiao_JHora（MinerU 导出） Jhon.md TanZheng_JHora.md ZhangLiYing_JHora.md ZhangYue_JHora.md Zhu.pdf / zhujingyu.pdf / Lilyeas.pdf / caoyuyan.pdf 的 MinerU markdown 结果： 紧凑 Ashtakavarga 样本可稳定提取 SAV=337 7 颗星 BAV 行常量全部匹配 BAV 列和与 SAV 全量对齐 非完整 dasha 导出的样本仅 R9=SKIP，其余校验通过","fileCount":12,"zipByteSize":77242},{"version":"1.0.8","createdAt":"2026-05-31T16:16:00.500Z","changelog":"**Summary:** Introduced a new multi-layered reasoning framework replacing the previous “blind review” (盲审) system, and reorganized skill architecture for greater clarity, precision, and flexibility in vedic-destiny workflow. - Added a four-layer inference framework (structure signal, background facts, combined inference, and post-hoc validation) to replace previous blind audit/isolation logic. - Layered approach explicitly separates structural signal reading from user-background “pollution,” defining rules for each analysis step and how user facts may inform, but not reverse-engineer, results. - Outdated “盲审” (blind review), user_context bans, and agent isolation mechanisms are deprecated—new rules guarantee analytical purity via traceable inference chains. - Reference file structure updated: added `references/窗口与场域.md`; removed unused or duplicate documentation. - SKILL.md substantially rewritten and clarified: now organized by workflow, incorporates new diagnostic dimensions, and prioritizes reality-based, evidence-backed output in all reporting. - Core output and routing behaviors remain unchanged for users; internal reasoning discipline significantly","fileCount":12,"zipByteSize":75234},{"version":"1.0.7","createdAt":"2026-05-27T02:22:24.462Z","changelog":"**Version 1.0.7 – Major framework update with strict output and routing rules** - 增强 output 风格及篇幅控制：引入 A/B/C 行星信号分级，每级对应不同分析深度和字数下限，提升报告可读性和层次感。 - 实现主动 reference 路由：根据用户问题自动加载最相关分析模块，不再列菜单要求用户选择，并要求用自然语言向用户说明分析重点。 - 输出和报告强制执行分阶段结构：完整研判/大型专题分两阶段，第一阶段严格验证闭环，闸门未通过不生成完整报告。 - 补充和细化盲审规则：强调分析只能基于命盘数据，用户自述经历仅供回顾验证，输出过程中明令禁止经历反推和情绪定调。 - 强化数字、表格和推理校验链：所有用到 SAV/BAV/Shadbala/Nakshatra/dasha 等必须先尝试本地","fileCount":12,"zipByteSize":70650},{"version":"1.0.6","createdAt":"2026-05-08T08:07:13.918Z","changelog":"No functional or content changes; version increment and files unchanged. - Version updated to 1.0.6. - No files modified since last release. - No user-facing changes.","fileCount":11,"zipByteSize":64294},{"version":"1.0.5","createdAt":"2026-05-07T16:39:30.521Z","changelog":"- 增加全新“输出风格硬约束”板块，对占比、术语翻译、比喻解读及字数提出明确规范 - 行星拆盘分组新增\"暂停确认\"机制，A/B/C组输出后需等待用户回复\"继续\"方可进行下一组 - 验证闭环完成必须输出标准确认提示并停止等待，不得在同一轮自动进入第二阶段 - 加强表格与技术数据的解释要求，白话解读比例不低于70%，禁止表格悬空输出 - 强化禁止极端词汇、强制术语通俗翻译和比喻解释，提升易懂性与表达一致性","fileCount":11,"zipByteSize":60803},{"version":"1.0.4","createdAt":"2026-05-07T10:03:12.938Z","changelog":"Vedic Destiny 1.0.4 - 强化 SAV/BAV 校验流程：脚本自动化解析失败时，增加从原始命盘数据手动读取 SAV（BAV）数值的硬约束，不能仅以“脚本跳过”为由终止校验。 - 明确说明：SAV/BAV 校验失败≠不可获取，须在资料中找不到数字后才能标记为跳过。 - 优化数字性结论溯源要求，提升低置信度结论的降级说明细致度。 - 其余研判流程、交付物分阶段约束和输入/输出契约保持不变。","fileCount":11,"zipByteSize":56554},{"version":"1.0.3","createdAt":"2026-05-07T08:28:36.555Z","changelog":"Version 1.0.3 - 明确规定：SAV/BAV 校验变为必须尝试项目，只要有相关数字存在就必须完成校验，否则需详细说明跳过原因及其置信度影响。 - 增加 SAV/BAV 校验失败的降级路径说明，明确影响八镜分析置信度分档。 - 优化批注，要求不可用“未能自动化解析”泛泛理由，需具体描述数据提取失败的实际原因（如截图分辨率不足等）。 - 其他内容与结构未变。","fileCount":11,"zipByteSize":53778},{"version":"1.0.2","createdAt":"2026-04-29T11:55:42.438Z","changelog":"- Name updated to `vedic-chart-analysis-zh` to clarify Chinese-language focus. - Added: Scripts for report HTML packaging and chart sanity checks. - Removed: README.md; CHANGELOG.md added for version tracking. - Major update: Report generation now splits into two phases—a verification phase (with partial outputs and status handling) and a full analysis phase (conditional on verification pass), with explicit rules on when to generate `report.html`. - Updated skill description and contract details to reflect stricter data validation, output structure, and precise requirements for report packaging and user communication.","fileCount":11,"zipByteSize":43584}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s172regbtzhpdev8rx39mqmjrx85qmrh:vedic-destiny","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-seanding1998-vedic-destiny/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-seanding1998-vedic-destiny/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-seanding1998-vedic-destiny/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-seanding1998-vedic-destiny/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-seanding1998-vedic-destiny/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-seanding1998-vedic-destiny/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T21:49:45.588Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-seanding1998-vedic-destiny/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-seanding1998-vedic-destiny/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-seanding1998-vedic-destiny/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-seanding1998-vedic-destiny/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-10T18:17:11.313Z","emptyReason":null},"readme":"Skill: vedic-destiny\n\nOwner: seanding1998\n\nSummary: 吠陀命盘分析中文入口。用于完整命盘研判、命主盘 Rashi chart 与九分盘 Navamsha chart 联读、既往事件回看、出生时间稳定度判断、事业主题、婚姻主题、时间与场域联合分析，以及基于 Jagannatha Hora PDF、星盘截图或文本命盘数据的系统拆盘。当用户提到完整星盘、事业方向、婚姻问题...\n\nTags: latest:1.0.9\n\nVersion history:\n\nv1.0.9 | 2026-06-03T14:17:05.576Z | user\n\nv1.4.2 — JHora Ashtakavarga 精确边框解析 + 导出变体兼容 (2026-06-03)\n变更动机\n新一批 JHora / MinerU 导出样本暴露出两类问题：\n\nAshtakavarga 结构误判：紧凑表并不是普通 12×12 行列表，而是 3×3 个 4×4 小方块；每个方块的 12 个边框数字才是一组完整 SAV/BAV。旧启发式把它误读成整表行列后，才会出现 SAV 需要缩放、BAV 行不全、R3 整列失败的现象。\n行星表入口变体：不同导出中经度字段会出现 deg | sign+min | sec、deg | sign | min | sec、deg+sign | min | sec 三种拆列方式，同时 nakshatra 缩写也新增了 Aswi、Mool 等变体。\nscripts/jhora_markdown_bridge.py 改动\n1. 新增紧凑 Ashtakavarga 的精确块解析\n\n新增 ASHTAKAVARGA_LABEL_MAP\n新增 _extract_ashtakavarga_block_perimeter()\n新增 _parse_ashtakavarga_compact_blocks()\n识别 SAV/As/Su/Mo/Ma/Me/Ju/Ve/Sa 九个 4×4 小方块，按边框顺时针读取 12 个数值\n直接产出：\npayload[\"sav\"]\npayload[\"bav\"]\npayload[\"_lagna_ashtakavarga\"]\n2. _extract_ashtakavarga_candidates() 改为优先走精确块解析\n\n命中 3×3 小方块布局时，不再使用 row0 × 337 / sum(row0) 缩放启发式\n行级启发式保留为 OCR 损伤或非标准导出的后备方案\n3. _format_ashtakavarga_for_llm() 输出同步更新\n\n明确标注当前是否命中紧凑小方块精确解析\n附带精确导出的 SAV / BAV / Lagna Ashtakavarga\n不再把“让 LLM 手动做算术”当成主路径，只保留为诊断回退\n4. 行星经度解析兼容三种导出格式\n\n[\"26\", \"Ar 27'\", '19.07\"']\n[\"20\", \"Le\", \"00'\", '00.34\"']\n[\"5 Ge\", \"32'\", '00.12\"']\n5. nakshatra 缩写映射补充\n\nAswi -> Ashwini\nMool -> Mula\nscripts/chart_sanity_check.py 改动\n6. R3 在 BAV 行不完整时改为显式 SKIP\n\n旧行为：缺少 BAV 行时，仍拿不完整列和去对 SAV，导致整列误报 FAIL\n新行为：如果缺少行星，R2 报缺失，R3 返回 SKIP BAV incomplete\n回归结果\n使用以下样本回归验证：\n\nDingXiao_JHora（MinerU 导出）\nJhon.md\nTanZheng_JHora.md\nZhangLiYing_JHora.md\nZhangYue_JHora.md\nZhu.pdf / zhujingyu.pdf / Lilyeas.pdf / caoyuyan.pdf 的 MinerU markdown\n结果：\n\n紧凑 Ashtakavarga 样本可稳定提取 SAV=337\n7 颗星 BAV 行常量全部匹配\nBAV 列和与 SAV 全量对齐\n非完整 dasha 导出的样本仅 R9=SKIP，其余校验通过\n\nv1.0.8 | 2026-05-31T16:16:00.500Z | user\n\n**Summary:**  \nIntroduced a new multi-layered reasoning framework replacing the previous “blind review” (盲审) system, and reorganized skill architecture for greater clarity, precision, and flexibility in vedic-destiny workflow.\n\n- Added a four-layer inference framework (structure signal, background facts, combined inference, and post-hoc validation) to replace previous blind audit/isolation logic.\n- Layered approach explicitly separates structural signal reading from user-background “pollution,” defining rules for each analysis step and how user facts may inform, but not reverse-engineer, results.\n- Outdated “盲审” (blind review), user_context bans, and agent isolation mechanisms are deprecated—new rules guarantee analytical purity via traceable inference chains.\n- Reference file structure updated: added `references/窗口与场域.md`; removed unused or duplicate documentation.\n- SKILL.md substantially rewritten and clarified: now organized by workflow, incorporates new diagnostic dimensions, and prioritizes reality-based, evidence-backed output in all reporting.\n- Core output and routing behaviors remain unchanged for users; internal reasoning discipline significantly\n\nv1.0.7 | 2026-05-27T02:22:24.462Z | user\n\n**Version 1.0.7 – Major framework update with strict output and routing rules**\n\n- 增强 output 风格及篇幅控制：引入 A/B/C 行星信号分级，每级对应不同分析深度和字数下限，提升报告可读性和层次感。\n- 实现主动 reference 路由：根据用户问题自动加载最相关分析模块，不再列菜单要求用户选择，并要求用自然语言向用户说明分析重点。\n- 输出和报告强制执行分阶段结构：完整研判/大型专题分两阶段，第一阶段严格验证闭环，闸门未通过不生成完整报告。\n- 补充和细化盲审规则：强调分析只能基于命盘数据，用户自述经历仅供回顾验证，输出过程中明令禁止经历反推和情绪定调。\n- 强化数字、表格和推理校验链：所有用到 SAV/BAV/Shadbala/Nakshatra/dasha 等必须先尝试本地\n\nv1.0.6 | 2026-05-08T08:07:13.918Z | user\n\nNo functional or content changes; version increment and files unchanged.  \n- Version updated to 1.0.6.\n- No files modified since last release.\n- No user-facing changes.\n\nv1.0.5 | 2026-05-07T16:39:30.521Z | auto\n\n- 增加全新“输出风格硬约束”板块，对占比、术语翻译、比喻解读及字数提出明确规范\n- 行星拆盘分组新增\"暂停确认\"机制，A/B/C组输出后需等待用户回复\"继续\"方可进行下一组\n- 验证闭环完成必须输出标准确认提示并停止等待，不得在同一轮自动进入第二阶段\n- 加强表格与技术数据的解释要求，白话解读比例不低于70%，禁止表格悬空输出\n- 强化禁止极端词汇、强制术语通俗翻译和比喻解释，提升易懂性与表达一致性\n\nv1.0.4 | 2026-05-07T10:03:12.938Z | user\n\nVedic Destiny 1.0.4\n\n- 强化 SAV/BAV 校验流程：脚本自动化解析失败时，增加从原始命盘数据手动读取 SAV（BAV）数值的硬约束，不能仅以“脚本跳过”为由终止校验。\n- 明确说明：SAV/BAV 校验失败≠不可获取，须在资料中找不到数字后才能标记为跳过。\n- 优化数字性结论溯源要求，提升低置信度结论的降级说明细致度。\n- 其余研判流程、交付物分阶段约束和输入/输出契约保持不变。\n\nv1.0.3 | 2026-05-07T08:28:36.555Z | user\n\nVersion 1.0.3\n\n- 明确规定：SAV/BAV 校验变为必须尝试项目，只要有相关数字存在就必须完成校验，否则需详细说明跳过原因及其置信度影响。\n- 增加 SAV/BAV 校验失败的降级路径说明，明确影响八镜分析置信度分档。\n- 优化批注，要求不可用“未能自动化解析”泛泛理由，需具体描述数据提取失败的实际原因（如截图分辨率不足等）。\n- 其他内容与结构未变。\n\nv1.0.2 | 2026-04-29T11:55:42.438Z | user\n\n- Name updated to `vedic-chart-analysis-zh` to clarify Chinese-language focus.\n- Added: Scripts for report HTML packaging and chart sanity checks.\n- Removed: README.md; CHANGELOG.md added for version tracking.\n- Major update: Report generation now splits into two phases—a verification phase (with partial outputs and status handling) and a full analysis phase (conditional on verification pass), with explicit rules on when to generate `report.html`.\n- Updated skill description and contract details to reflect stricter data validation, output structure, and precise requirements for report packaging and user communication.\n\nv1.0.1 | 2026-04-28T08:51:26.247Z | user\n\nVedic Destiny 1.0.1 — Minor documentation update\n\n- 添加了新的README.md文件，提供基础介绍与用法说明。\n- 移除了冗余的vedic-destiny-usage-guide.md文件，整合文档资源。\n- 主要功能与执行规范未做改动，仅更新了文档结构以提升易用性。\n\nv1.0.0 | 2026-04-28T08:47:07.100Z | user\n\n这是一个印占skill\n\nArchive index:\n\nArchive v1.0.9: 12 files, 77242 bytes\n\nFiles: CHANGELOG.md (19255b), references/事业.md (6865b), references/婚姻.md (5264b), references/总盘.md (27871b), references/术语框架.md (18222b), references/窗口与场域.md (4351b), scripts/build_report_html.py (25879b), scripts/chart_sanity_check.py (22233b), scripts/jhora_markdown_bridge.py (28136b), skill-card.md (2814b), SKILL.md (27998b), _meta.json (132b)\n\nFile v1.0.9:SKILL.md\n\n---\n\nname: vedic-chart-analysis-zh\n\ndescription: 吠陀命盘分析中文入口。用于完整命盘研判、命主盘 Rashi chart 与九分盘 Navamsha chart 联读、既往事件回看、出生时间稳定度判断、事业主题、婚姻主题、时间与场域联合分析，以及基于 Jagannatha Hora PDF、星盘截图或文本命盘数据的系统拆盘。当用户提到完整星盘、事业方向、婚姻问题、关系窗口、桃花时间、迁移地点、城市比较、时间窗口，或吠陀占星、Jyotish、Jaimini、Parashari 相关请求时触发。\n\n---\n\n# 吠陀命盘研判系统\n\n这是一套中文总入口 skill。先根据用户问题主动匹配最合适的 reference，再读取分析——不列菜单让用户自己选。\n\n## 执行速览（AI 拿到 skill 后的阅读顺序）\n\n1. **分层推断规则**（下节）→ 绝对优先，覆盖所有 reference\n2. **执行硬约束** → 不可降级的底线\n3. **主动路由** → 匹配 reference，匹配后**必须读取对应 reference 全文**\n4. **信号分级与篇幅控制** → 决定每颗行星写多深\n5. **输出风格硬约束** → 影响说话方式但不改变框架\n\n**闸门确认提示是唯一允许向用户暴露内部验证状态的特例**——其余场合遵守\"不向用户转播内部路由\"。\n\n## 输出风格硬约束（优先级最高，覆盖所有 reference）\n\n这些约束直接影响 AI 的\"说话方式\"，不改变分析框架本身。\n\n1. **比例控制**：每个分析模块的聊天输出 ≈ 70% 白话解读 + 20% 数据表格 + 10% 技术注释。\n   禁止表格堆砌替代解读——表格是对白话的佐证，不是替代。\n2. **禁极端词**：不使用\"非常\"\"极为\"\"极度\"\"极强\"等修饰词。用数据替代感叹。\n   ❌ \"火星极强\" → ✅ \"Shadbala 1.45，九大行星中最高\"\n3. **比喻必解释**：使用任何比喻（如\"穿书生袍的将军\"）时，必须在同一段落内用 1-2 句说明比喻的对应关系。\n4. **术语必翻译**：首次出现的占星术语必须在括号内给出通俗解释。\n   例：\"Kendradhipati Dosha（角宫主效应：吉星管角宫时会'怠工'，因守护职责分散了精力）\"\n5. **字数下限**：\n   - A 级行星审计 ≥ 800 字（含表格）\n   - B 级行星审计 ≥ 400 字（含表格）\n   - C 级行星一行快扫即可\n   - C1-C11 校验表的每一项必须有一句说明，不可只写 ✅/❌\n   - 十大板块总结每板块 ≥ 300 字\n6. **表格禁止悬空**：所有表格前必须有至少一段白话解释——先说人话，再放数据。\n\n## 分层推断规则（优先级最高，覆盖所有 reference）\n\n星盘提供的是**结构信号**——某个时间段内，哪些人生领域被激活、以及激活的强度和方向。同一个结构信号，在不同的人生背景下会兑现为不同具体事件。这不是占星系统的缺陷，而是结构信号本身的特性：它指示的是「领域 + 强度」，而非单一具体事件。\n\n人类占星师从来不会蒙住眼睛看盘——背景信息是将结构信号翻译为具体推断的必要输入，而非污染。真正需要隔离的只有一件事：**用已知结果倒推盘面含义**。\n\n本规则将分析拆为四个独立层。分层的目的不是隔离信息，而是隔离污染——让「用背景细化推断」成为合法的分析动作，同时确保「用结果编造盘面解读」无处藏身。\n\n### 层 0：星盘结构信号（客观不变）\n\n**输入**：仅来自命盘数据——Dasha 周期、宫位激活、行星状态、Yoga、Shadbala/SAV/BAV、分盘复核。\n\n**输出**：\n- 信号类型（关系 / 事业 / 财富 / 健康 / 迁移 / 学习 / 家庭 / 其他）\n- 信号强度（强 / 中 / 弱，基于至少两类独立证据交叉验证）\n- 可能兑现方向（复数——即使某个方向看起来再明显，也必须列出至少 2 个可能方向）\n\n**硬约束**：\n- **禁止反向推导**：不得从用户已告知的结果反推信号含义。8 宫 SAV=38 →「深度转化能力强」，可能方向为研究/心理/金融/危机干预——先列出方向，再对照用户经历；不能先知道用户方向再反过来锁定解读。\n- **禁止经历=天赋**：职业方向只能基于 L10 + AmK + 格局 + D10 + 强星。用户经历过 X ≠ 适合做与 X 相关的工作。\n- **禁止情绪定调**：用户自述的人生基调（顺遂/坎坷）不影响格局评估。家境普通的人也能有顶级 Raja Yoga。\n\n### 层 1：背景事实卡（用户已知，结构化收集）\n\n**收集时机**：在第一阶段开始分析前，按需收集。只收集当前分析方向所需领域的信息——用户问事业不收集感情，问迁移不收集健康。\n\n**收集内容**：\n\n| 领域 | 收集项 | 用途 |\n|------|--------|------|\n| 通用 | 性别、年龄区间、出生时间精度 | 基础约束 |\n| 感情 | 当前状态（已婚/恋爱/单身/离异）、关键关系是否稳定 | 缩小关系信号的兑现形式范围 |\n| 事业 | 当前阶段（学生/在职/创业/待业/退休）、行业方向 | 缩小事业信号的兑现形式范围 |\n| 迁移 | 当前居住地、异地关系强弱、是否有搬迁动力 | 缩小迁移信号的兑现形式范围 |\n| 健康 | 已知重大健康问题 | 缩小健康信号的兑现形式范围 |\n\n**硬约束**：\n- **「事实」可以进入层 1**——可被外部验证的客观信息（婚姻状态、职业阶段、居住城市）是合法推断输入\n- **「自述」不能进入层 1**——「我性格内向」「我运气不好」「我一直很努力」是主观判断，需要被盘面验证，不能反过来作为推断的前提\n- **缺失信息不做假设**——背景事实卡中空白的项目标注为「信息不全」，对应领域的推断精度相应降级\n- **层 1 信息只用于缩小可能方向，不用于否定层 0 信号**——即使背景事实看起来与星盘信号方向不一致，也不能因此忽视信号本身\n\n### 层 2：联合推断（信号 × 背景 → 具体结论）\n\n**核心理念**：同样的星盘信号，在不同背景下指向不同具体事件，但核心信号类型不变。层 2 的任务是将层 0 的复数可能方向，通过层 1 的约束缩小为具体的概率排序。\n\n**输出格式**（每个涉及具体人生事件的推断必须覆盖以下结构）：\n\n```text\n推断：[具体结论]\n├── 星盘信号：[哪段 Dasha / 哪些宫位激活 / 哪些行星参与 / 信号类型与强度]\n├── 背景输入：[引用了背景事实卡的哪几条；若某领域信息不全，标注具体缺失项]\n├── 推理链：[信号 + 背景 → 结论的完整逻辑步骤]\n├── 纯星盘版本：[如果不考虑背景，同样的信号可能对应哪些方向（必须列出至少 2 个）]\n├── 边界条件：[什么情况下这个推断不成立或反转]\n└── 反事实检查：[如果背景事实卡中某条信息不同，结论会怎样变化]\n```\n\n**硬约束**：\n- **相同星盘数据 + 相同背景事实 → 相同结论**——两个命主如果有相同的 L10/格局/D10 配置且职业阶段相同，推荐方向必须一致，不论家境差异\n- **Dasha 回顾必须双向**：分析过去的 Dasha 时，同一段 Dasha 必须同时列出可能的正面和负面表现，不能因为用户那段时间过得好就只写正面的\n- **推断链中禁止出现「因为用户说过 X 所以 Y」**——推断的逻辑起点必须是层 0 的星盘数据，层 1 只参与第 2 步以后的方向缩小\n\n### 层 3：事后校验（诊断逻辑，而非判对错）\n\n**核心理念**：校验的目的不是回答「准不准」，而是回答「如果结果与预期不同，推断链的哪一环需要修正」。这是占星系统的校准机制，不是对单次预测的对错打分。\n\n**三个诊断维度**（在旧「高贴合/有限贴合/失配」标签之外新增）：\n\n| 维度 | 含义 | 评估 |\n|------|------|------|\n| **信号命中** | 星盘在该时间段是否确实有对应类型的结构信号激活？ | ✅ 命中 / ⚠️ 部分命中 / ❌ 未命中 |\n| **推断合理性** | 给定当时的星盘信号 + 背景事实，从信号到具体推断的逻辑链是否成立？ | ✅ 合理 / ⚠️ 方向对但精度偏 / ❌ 逻辑有缺陷 |\n| **信息完备度** | 推断时所掌握的层 1 背景事实是否足够支撑这个精度的结论？ | 🔴 高 / 🟡 中 / ⚪ 低 |\n\n**诊断矩阵**：\n\n- 信号命中 ❌ → 时间结构或出生时间可能有问题，优先排查\n- 信号命中 ✅ + 推断合理性 ❌ → 层 0 没问题，层 2 的推理需要修正（可能忽略了某个关键配置或高估了信号强度）\n- 信号命中 ✅ + 推断合理性 ✅ + 信息完备度 ⚪ → 推断方向对但精度偏了，大概率因为背景信息不够——不是系统问题，是信息输入不足\n- 三者全 ✅ 但实际结果与推断不符 → 标记为「系统边界案例」——对应信号的多义性超出了当前框架的覆盖范围，值得记录\n\n**旧命中等级保留兼容**：高贴合 / 有限贴合 / 失配（作为面向用户的总结标签，但在分析内部展开为上述三维诊断）。\n\n### 与旧「盲审」体系的切割\n\n旧盲审体系的核心错误假设是「背景信息 = 污染」，因此试图通过信息隔离来保证分析纯度。但事实上：\n\n- 需要隔离的污染只有一种：**用已知结果倒推盘面含义**（已由层 0 硬约束处理）\n- 背景信息是合法且必要的推断输入（已由层 1 + 层 2 规范化使用）\n- 校准不是打分，是诊断（已由层 3 重构）\n\n本规则生效后，旧盲审规则及其 reader→core 子 agent 隔离方案**不再适用**。所有关于「验前事信息隔离」「user_context 禁止读取」等旧有约束，已由本规则中的对应分层约束取代。\n\n## 信号分级与篇幅控制\n\n**在开始拆盘前，先做一遍信号扫描，确定每颗行星的篇幅级别。** 这是阅读节奏的核心——不让用户读 9 颗同样长度的星。\n\n### 分级标准\n\n| 级别 | 判定 | 篇幅 |\n| --- | --- | --- |\n| 🔴 **A 级** | AK / Vargottama / 入旺 / 深度燃烧(<5°) / 落陷有 NBRY / 参与 Raja Yoga 或 Dhana Yoga / 全盘格局枢纽（如互溶参与者） | **完整八镜**（8 个镜面全写）+ 白话解读 + 使用提醒 |\n| 🟡 **B 级** | Lagna Lord / DK / AmK / 入庙 / 逆行 / 有紧密相位(<5°) / L10 或 L7 主 | **精简四镜**（主题归属 + 运行状态 + 兑现通道 + 使用提醒）+ 白话解读 |\n| ⚪ **C 级** | 其余行星 | **表格快扫**（一行 6 列：角色/落宫落座/Shadbala%/尊贵/一句话解读） |\n\n### 补充规则\n\n- 同一级别内部按 Shadbala 从高到低排\n- 互溶参与者自动升一级（C→B，B→A）\n- 一颗星同时满足多个条件，按最高条件定级（如同时是 AK 又是入庙 → A 级）\n- 用户的核心关切（事业/感情）对应的宫主星自动升一级\n- A 级行星输出暂停点：每 2 颗 A 级行星输出后暂停等待确认\n- 分级结果在聊天框简报一次（如\"A 级：水星、木星 / B 级：太阳、月亮、土星 / C 级：火金罗计\"），不需要用户确认\n\n## 主动路由\n\n**不要列 reference 菜单让用户自己选。根据用户问题，主动匹配最合适的 reference，并在开始分析前用自然语言告知用户你正在做什么。**\n\n### 路由规则\n\n```\n用户的问题 … → 你自动匹配 →\n\n问题涉及\"整张盘\"\"全面分析\"\"命盘研判\"\"人生总览\"\"我是什么样的人\"：\n  → 加载 references/总盘.md + references/术语框架.md\n  → 告知用户：\"我先完整看一遍你的全盘结构，然后拆开说。\"\n\n问题涉及\"事业\"\"工作\"\"跳槽\"\"赚钱\"\"创业\"\"行业方向\"：\n  → 加载 references/事业.md + references/术语框架.md\n  → 告知用户：\"我重点看事业线。如果你需要，之后可以再补全盘。\"\n\n问题涉及\"感情\"\"婚姻\"\"恋爱\"\"桃花\"\"伴侣\"\"关系\"：\n  → 加载 references/婚姻.md + references/术语框架.md\n  → 告知用户：\"我重点看感情和关系。如果你需要，之后可以再补全盘。\"\n\n问题涉及\"去哪个城市\"\"什么时候搬家\"\"迁移\"\"异地发展\"\"地点比较\"：\n  → 加载 references/窗口与场域.md + references/术语框架.md\n  → 告知用户：\"我结合时间和地点两个维度来看。如果你还没有完整命盘分析，建议先做一遍基础拆盘。\"\n\n问题涉及两个以上方向（如\"事业和感情都看看\"）：\n  → 先加载 references/总盘.md，总盘跑完再按优先级加载事业或婚姻。\n\n已经有 markdown 报告目录，想包装成单文件 HTML：\n  → 使用 scripts/build_report_html.py\n```\n\n### 路由禁止行为\n\n- ❌ 不主动加载不相关的 reference（如用户问事业，不加载婚姻.md）\n- ❌ 不说\"我先读取总盘 reference\"这类内部路由话——对用户只说\"我先整体看一下你的盘\"\n- ❌ 不列出一串 reference 文件让用户自己选\n\n## 导航速查（供 AI 内部判断路由时参考）\n\n| 用户问什么 | 加载哪个 reference | 覆盖范围 |\n| --- | --- | --- |\n| 完整命盘、总览 | `references/总盘.md` | 基础盘面、验证闸门、行星拆盘、D9 复核、宫位主轴、人生主线上/下、落地提醒 |\n| 事业 | `references/事业.md` | 事业主线、赚钱方式、工作形态、时间窗口、风险与提醒 |\n| 婚姻/感情 | `references/婚姻.md` | 关系模式、伴侣结构、时间窗口、风险与提醒 |\n| 时间+地点 | `references/窗口与场域.md` | 地点差异、迁移判断、时间窗口缩小、场域联合分析 |\n| 术语/框架 | `references/术语框架.md` | 八镜框架、校验规则、冲突裁定、术语定义 |\n| 包装 HTML | `scripts/build_report_html.py` | MD sections → 单文件自包含 HTML |\n\n不要一次性载入全部 reference。先判断问题重心，再只读最相关的一组。\n\n## 执行硬约束\n\n这些约束优先级高于各专题 reference。能算的就算，能核的就核，不能核的就降级，不允许用空泛措辞把缺口糊过去。\n\n### 1. 先判问题类型，再锁最低交付\n\n- 完整命盘研判：必须覆盖基础盘面、一致性检查、既往事件回看、出生时间稳定度、命主盘 Rashi chart、九分盘 Navamsha chart、人生主线和使用提醒\n- 事业专题：必须覆盖事业主线、赚钱方式、工作形态、时间窗口、主要风险和使用提醒\n- 婚姻专题：必须覆盖关系模式、伴侣结构、时间窗口、主要风险和使用提醒\n- 窗口与场域专题：必须覆盖地点差异、时间窗口、取舍逻辑和使用提醒\n\n不要把完整问题答成几段松散短评，也不要把专题问题答成只有性格描述的泛泛解释。\n\n### 2. 只要用了数字结论，就必须有校验来源\n\n只要回答里出现下面这类精确结论：\n\n- SAV、BAV、Shadbala 的数值比较\n- Nakshatra、pada、Navamsha chart 落座\n- Mercury、Venus 与 Sun 的距角\n- Rahu、Ketu 对冲\n- dasha 起止时间与窗口长度\n\n就必须先调用本地工具或明确引用当前对话里已经算过的结果。对于原始命盘资料，默认优先运行：\n\n```bash\npython \"scripts/chart_sanity_check.py\" <chart-input.json-or-jhora.md>\n```\n\n这个脚本现在可以直接读取 JHora 导出的 markdown，不必先手工改写成 JSON。\n\n当前版本对 JHora 的紧凑 Ashtakavarga 已支持 `3×3` 小方块边框精确解析：命中标准导出时，`SAV=337`、7 星 `BAV` 行常量、`BAV -> SAV` 列和会直接结构化进入 payload，而不是依赖 LLM 手动读表做算术。\n\n**SAV/BAV 矩阵是必须尝试的项目，不是可选加分项**：\n\n- 只要原始资料中有任何 SAV/BAV 数字（PDF 截图、JHora 导出表格、用户手动输入），就必须提取并完成 SAV 总和=337、BAV 行常量、BAV 列→SAV 三项校验（详见 `术语框架.md`）\n- 如果脚本对图式表格解析失败，优先手动列出 12 宫 SAV 值，再做算术校验\n- 只有经尝试后确实无法提取（OCR 乱码、截图模糊不可辨认），才标记为\"跳过\"并写明具体原因（\"截图分辨率不足\"而非笼统的\"图式表格未能自动化解析\"）\n- 跳过 SAV/BAV 意味着\"资源水位\"和\"落点环境\"两个八镜镜面降级为 Shadbala 和 Vimsopaka 替代，宫位级精细判断置信度降为 🟠 中\n\n**脚本解析失败 ≠ SAV/BAV 不可获取**。如果 `chart_sanity_check.py` 返回 SAV/BAV SKIP：\n\n- 不要只报告\"脚本跳过\"就完事\n- 直接从原始命盘数据文件（JHora markdown 或 PDF）中**手动读取** SAV 数值\n  - JHora markdown 中的 Ashtakavarga 表：`<td>` 标签里的数字就是每宫的 BAV/SAV 分值\n  - 逐行列出数值，定位 SAV 行（12 个数字总和 = 337），做加法验证\n  - 同样列出每颗行星的 BAV 12 宫数值，验证行常量\n- 只有在原始文件中确实找不到任何 SAV/BAV 数字时，才标记为 ⏭️ 跳过\n\n如果因为缺数据无法执行完整校验，要明确写出：\n\n- 哪些项目已通过\n- 哪些项目跳过\n- 这会把哪类结论从高置信度降到中或低置信度\n\n### 3. 重大判断必须有至少两类证据支撑\n\n任何主要结论都不能只靠一句抽象判断。至少要落到下面两类证据中的两类：\n\n- 宫位与宫主\n- 行星状态\n- dasha\n- 命主盘 Rashi chart 落点\n- 九分盘 Navamsha chart 复核\n- SAV、BAV、Shadbala 或同类强弱表\n- karaka 或 yoga\n\n禁止这类松答：\n\n- 只说\"你事业有潜力\"但不交代潜力来自哪里\n- 只说\"关系容易反复\"但不说明反复是结构问题、时间问题还是环境问题\n- 只给一串术语和标签，不翻成现实语言\n\n### 4. 缺数据时必须降级，而不是硬推\n\n如果关键字段缺失、互相冲突，或出生时间明显不稳：\n\n- 先说缺口\n- 再说还能稳定判断什么\n- 最后说哪些结论暂时只能保留为低或中置信度\n\n不要把低置信度问题包装成确定判断。\n\n### 5. 时间问题必须落到具体窗口\n\n只要用户问：\n\n- 什么时候会发生\n- 哪段时间更适合推进\n- 婚期、关系窗口、跳槽窗口、搬迁窗口\n\n就不能只回答\"未来几年\"\"最近会有机会\"这类模糊话。最低要求：\n\n- 落到明确的年份、年月区间，或季度窗口\n- 说明窗口是由什么触发\n- 说明窗口里最可能发生什么，不要只给吉凶判断\n\n### 5.1 用户已经给了事件时间线时，直接进入回看直评\n\n如果用户已经把既往事件按年份或区间列出来：\n\n- 不要再把它改写成一串反问\n- 直接逐条回看\n- 每条至少写出：事件、命中等级（旧标签兼容）、信号命中、推断合理性、信息完备度、时间锚点、盘面锚点、牵强处、诊断备注\n\n统一使用这三档命中等级：\n\n- `高贴合`：时间和事件性质都明显对上\n- `有限贴合`：时间接近，但事件级别、强度或主题更宽\n- `失配`：盘面很难为这条事件提供有效支撑\n\n### 5.2 细节必须分层，不要一口气跳到专名\n\n解释事件时，先分清下面三层：\n\n- `结构层`：技术型、大机构、异地、边工边学、高压慢回报\n- `窗口层`：某段时间职业定向、离职、迁移、承压、进修\n- `专名层`：具体公司、具体国家、具体病名、某一个人做了什么\n\n命盘最稳的是结构层，其次是窗口层。专名层只能在外部事实已经给出、且盘面确有支撑时作为对照结果引用，不能反过来冒充盘里本来就能直接读出的结论。\n\n### 6. 报告型请求强制交付完整产物\n\n如果请求规模已经达到完整报告或大型专题，遵循两阶段纪律（详见 `总盘.md` 验证闸门）：\n\n**第一阶段（验证闭环）**：\n\n- 聊天框输出基础盘面、一致性检查、既往事件回看、出生时间稳定度\n- 生成 `report.meta.json`（status 标记为 `verifying`）\n- 生成第一阶段 `sections/`（01 到 04）\n\n**第二阶段（完整拆盘）**：\n\n- 验证闸门通过后才执行\n- 执行信号分级扫描，确定 A/B/C 级别\n- 生成第二阶段 `sections/`（05 到 13）\n- 更新 `report.meta.json`（status 标记为 `complete`）\n- 生成 `report.html`\n\n**第二阶段内的分组暂停**：9 颗行星拆盘按信号级别组织：\n\n- A 级行星按 Shadbala 降序输出，每 2 颗暂停等待确认\n- B 级行星分一组输出（3-4 颗一组），完成后暂停\n- C 级行星在一次性表格中全部扫完\n\n如果验证闸门未通过，报告停留在第一阶段，`report.meta.json` 的 status 标记为 `pending_verification`，不生成 `report.html`。\n\n**闸门暂停规则（不可跳过）**：\n\n第一阶段输出完成后，必须输出以下确认提示并**立即停止**，不得在同一轮回复中进入第二阶段：\n\n```\n=== 验证闭环完成 ===\n闸门状态：[通过 / 未通过]\n- 一致性检查：C1-C11 通过 X/11 项\n- 既往事件回看：\n  信号命中率：✅ X 条 / ⚠️ X 条 / ❌ X 条\n  推断合理性：✅ X 条 / ⚠️ X 条 / ❌ X 条\n  信息完备度：🔴 X 条 / 🟡 X 条 / ⚪ X 条\n  （旧标签兼容：高贴合 X 条 / 有限贴合 X 条 / 失配 X 条）\n- 诊断汇总：[主要断点类型——信号？推断？信息？]\n- 出生时间稳定度：[稳定 / 中等 / 明显不稳]\n- 校验等级：[🔴极高 / 🟡高 / 🟠中]\n\n请确认以上验证结果。\n回复\"继续\"→ 进入完整拆盘（第二阶段）\n回复具体疑问 → 针对性补充\n===\n```\n\n### 7. 输出必须先说现实判断，再给盘面抓手\n\n每个主要小节都必须先把结论翻成普通人能懂的话，再上证据。表格、缩写和术语不能单独悬空出现。\n\n## 共通准则\n\n### 1. 不要向用户转播内部路由\n\n不要说下面这类话：\n\n- `我先加载总盘 reference`\n- `我切到事业专题`\n- `我按窗口与场域规则处理`\n- `我完成了内部检查步骤`\n\n用户只需要看到判断、提问、结论和限制，不需要看到 skill 内部导航。\n\n**唯一例外**：验证闸门确认提示（含一致性检查、信号命中率、诊断汇总等）必须向用户输出。这是让用户参与验证闭环的必要步骤，不属于\"内部路由\"转播。\n\n### 2. 报告型请求默认交付整套产物（两阶段）\n\n只要问题已经达到完整报告或大型专题的规模，默认交付物应当按两阶段组织（详见 `总盘.md` 验证闸门）：\n\n**第一阶段交付（验证闭环）**：\n\n- 一份用户当场可读的基础盘面 + 验证结果聊天输出\n- `report.meta.json`（status: `verifying`）\n- `sections/01` 到 `04`（基础盘面、一致性检查、既往事件回看、出生时间稳定度）\n\n**验证闸门通过后，进入第二阶段**：\n\n- 执行信号分级扫描\n- 继续拆盘分析聊天输出\n- 追加 `sections/05` 到 `13`\n- `report.meta.json` status 更新为 `complete`\n- 生成 `report.html`\n\n如果验证闸门未通过，停留在第一阶段，status 标记为 `pending_verification`，不生成 HTML。\n\n### 3. 可精确计算的内容优先调用本地工具\n\n只要本地 Python 可用，就不要把能精确核算的项目留给口算或主观估算。\n\n必须工具化的项目包括：\n\n- SAV、BAV 的总和、行常量、列回填和阈值分档\n- 根据度数反推 Nakshatra 和 pada\n- 根据度数反推九分盘 Navamsha chart 落座\n- Mercury、Venus 与 Sun 的距角\n- Rahu、Ketu 的对冲检查\n- 逆行合法性检查\n- dasha 年月区间的日期运算\n- Shadbala 或同类强弱表的排序和数值比较\n\n真正适合人工判断的部分包括：\n\n- 宫主职责和主题归属\n- 宫位主题\n- yoga 的解释\n- 既往事件回看问题设计\n- 最终整合与建议\n- 窗口与场域分析里的地点语境与选择权衡\n\n优先使用的辅助脚本：\n\n```bash\npython \"scripts/chart_sanity_check.py\" <chart-input.json-or-jhora.md>\n```\n\n如果原始资料只给了部分数字，也照样对已有部分做检查，并明确写出哪些项目因为缺数而跳过。缺数据时要降级置信度，不要硬补精确结论。\n\n### 4. 先给现实判断，再拆盘面抓手\n\n每个主要小节都先回答：\n\n- 这在现实里意味着什么\n- 强项或阻力会体现在哪\n- 用户最先该抓住的重点是什么\n\n现实判断之后，再补盘面抓手：\n\n- 宫位与宫主\n- 行星状态\n- dasha\n- 命主盘 Rashi chart\n- 九分盘 Navamsha chart\n- 必要时使用八镜框架\n\n### 5. 复用当前对话上下文\n\n如果当前对话里已经有可用的总盘结果：\n\n- 不要整套重跑\n- 直接基于已有研判回答更窄的问题\n- 只有在用户补了新资料或原结论不足以支持新问题时，才追加计算\n\n### 6. 不要编造数据\n\n如果原始资料不完整或互相冲突：\n\n- 明确说出缺了什么\n- 明确哪些结论要降级\n- 不要装作自己能给出精确答案\n- 不要靠事后改口把明显失误硬改成命中\n\n## 输入处理\n\n接受这些输入形式：\n\n- Jagannatha Hora PDF\n- JHora 导出的 markdown 报告\n- 星盘截图\n- 文本形式的命盘数据\n- 当前对话里已有的拆盘摘要\n\n如果用户只问一个窄问题，只收集这个问题真正需要的关键字段。\n\n## 输出契约\n\n每个主要小节都遵守同一结构：\n\n1. `现实判断`\n2. `盘面抓手`\n3. `使用提醒`\n\n表格可以保留，但前面必须先有一小段普通人能看懂的解释。\n\n## 报告包装\n\nHTML 生成和解读流程分开。只有在 markdown 报告内容已经存在时，才使用脚本。\n\n**报告两阶段纪律**：完整研判分两阶段出。第一阶段（验证闭环）闭合且验证闸门通过后，才生成第二阶段内容。`report.html` 在第二阶段 markdown 全部完成后才打包，不要在第一阶段就生成完整 HTML。\n\n对于完整研判，默认在分析完成后主动生成整套报告目录与 HTML。\n\n默认目录命名建议：\n\n```text\n./命盘报告-<client-or-anon>-<yyyymmdd>/\n```\n\n目录契约：\n\n```text\nreport-folder/\n  report.meta.json\n  sections/\n    01-基础盘面.md\n    02-主题拆盘.md\n```\n\n`report.meta.json` 必填字段：\n\n```json\n{\n  \"lang\": \"cn 或 en\",\n  \"client_name\": \"字符串\",\n  \"lagna\": \"字符串\",\n  \"gender\": \"字符串\",\n  \"status\": \"verifying | pending_verification | complete\",\n  \"report_kind\": \"字符串\",\n  \"source_system\": \"字符串\",\n  \"notes\": [\"可选\", \"字符串数组\"]\n}\n```\n\n运行：\n\n```bash\npython \"scripts/build_report_html.py\" <report-folder>\n```\n\n脚本输出单个自包含 HTML，不负责 PDF。\n\n完整研判分两阶段出，验证闸门见 `总盘.md`。第一阶段闭合后才允许生成第二阶段和 `report.html`。\n\n```text\n# === 第一阶段：验证闭环 ===\n# 生成后先让用户确认既往事件回看和出生时间稳定度。\n# 验证闸门未通过时，报告到此为止，不要生成 HTML。\n\nsections/\n  01-基础盘面.md         # 上升、九大行星、当前 dasha、九分盘可用度\n  02-一致性检查.md       # 已核 / 跳过 / 影响\n  03-既往事件回看.md     # 提问模式或直评模式，逐条命中等级\n  04-出生时间稳定度.md   # 稳定 / 中等 / 明显不稳\n\n# === 第二阶段：完整拆盘 ===\n# 验证闸门通过后才生成。出生时间不稳则本阶段降级。\n\nsections/\n  05-行星拆盘A.md        # A 级行星完整八镜\n  06-行星拆盘B.md        # B 级行星精简四镜 + C 级快扫\n  07-行星拆盘C.md        # 剩余行星 + 互溶专项扫描\n  08-九分盘兑现复核.md\n  09-宫位主轴.md\n  10-人生主线上篇.md\n  11-人生主线下篇.md\n  12-窗口与场域专题.md     # 选配\n  13-落地提醒.md\n```\n\n如果只是事业或婚姻专题，但内容已经达到完整报告规模，4 节就够：\n\n```text\nsections/\n  01-主题判断.md\n  02-盘面抓手.md\n  03-时间与场景.md\n  04-使用提醒.md\n```\n\nFile v1.0.9:_meta.json\n\n{\n  \"ownerId\": \"kn767kdw00a1yqfq7r0wfe49tn823tz6\",\n  \"slug\": \"vedic-destiny\",\n  \"version\": \"1.0.9\",\n  \"publishedAt\": 1780496225576\n}\n\nFile v1.0.9:references/事业.md\n\n# 事业主题流程\n\n如果需要共享术语、读盘抓手或冲突裁定口径，读取 `术语框架.md`。\n\n本专题遵循 SKILL.md「分层推断规则」（层 0/1/2/3）。事件回看使用双层口径：旧标签（高贴合/有限贴合/失配）+ 诊断维度（信号命中/推断合理性/信息完备度）。\n\n## 适用场景\n\n当用户明确问的是下面这些问题时，使用这个流程：\n\n- 事业方向\n- 工作适配度\n- 创业还是任职\n- 事业上升路径\n- 变现模型\n- 职场风险\n- 事业时机\n\n不要把它当完整总盘，也不要用它回答婚姻主题。\n\n## 需要的输入\n\n优先接受其中一种：\n\n- 当前对话里已有总盘摘要\n- Jagannatha Hora PDF\n- JHora 导出的 markdown 报告\n- 星盘截图\n- 文本命盘数据\n\n事业判断最关键的字段：\n\n- 上升\n- 命主盘（Rashi chart）里的 10 宫与 10 宫主\n- Amatyakaraka\n- 2 宫、6 宫、11 宫因素\n- 需要看平台、岗位层级、汇报链或组织摩擦时的 十分盘\n- 九分盘（Navamsha chart）里与事业兑现相关的落点\n- 当前与未来一段时间的大运\n\n如果当前对话里已经有可用的总盘摘要，直接复用，不要重扫原始资料。\n\n## 计算纪律\n\n如果面对的是原始命盘数字，而不是当前对话里已经检查过的总盘结果，下面这些地方优先调用本地 Python：\n\n- dasha 的日期区间运算\n- 和事业、金钱宫位有关的 SAV、BAV 阈值判断\n- 关键事业星的 Shadbala 排序\n- 需要显性引用时的九分盘（Navamsha chart）度数映射\n- 需要展开岗位结构时的 十分盘基础落点整理\n\n## 工作流\n\n### 1. 先判断是复用总盘，还是直接做专题\n\n只分两种：\n\n- 已有总盘支撑：当前对话里已经有完整或足够的总盘结论\n- 单独专题：没有总盘，只提取事业专题需要的最小基础\n\n如果是单独专题，要明确告诉用户：这份结果的置信度低于基于总盘的事业分析。\n\n### 2. 先搭事业主线\n\n优先看这些结构：\n\n- 10 宫\n- 10 宫主\n- 10 宫内行星\n- 与 6、7、9、11 宫的强连接\n- Amatyakaraka\n\n先把盘面翻译成简单的工作模式，再进细节：\n\n- 权威建设型\n- 市场对接型\n- 服务与系统型\n- 技术手艺型\n- 研究、危机或隐藏领域型\n\n### 3. 用八镜框架看它怎么落地\n\n事业主题里最常用的镜面是：\n\n- 主题归属：它在事业系统里到底负责什么\n- 运行状态：这股力量是顺、慢、绕，还是有明显损耗\n- 资源水位：这条事业线能拿到多少结构性支持\n- 落点环境：工作发生在顺风环境还是高摩擦地带\n- 兑现通道：结果是直接变现、靠口碑累积，还是先曲折后显形\n- 外力牵引：谁在帮助、压制或放大这条事业线\n- 熟成节律：它是早显、晚显，还是需要时间堆出层次\n\n### 4. 检查赚钱方式和工作手感\n\n把问题落到现实：\n\n- 这张盘更适合靠权威、手艺、交易、咨询、运营，还是危机处理赚钱\n- 更适合体制、自由职业、创业，还是混合路径\n- 更强的是曝光、执行、研究、领导，还是后端杠杆\n\n用 2 宫和 11 宫看钱从哪来。用 6 宫和土星看能不能长期扛住日常流程。\n\n### 5. 用九分盘（Navamsha chart）做兑现复核\n\n九分盘（Navamsha chart）的任务，是复核命主盘里的事业承诺成熟后还能不能站住。\n\n用它回答：\n\n- 表面上的事业承诺稳不稳\n- 成熟后更像专精、管理、公众可见度，还是专家手艺\n- 去掉头衔后，真正有意义的工作风格是什么\n\n### 5.5 需要判断平台、岗位和管理关系时，用 十分盘 做第二层复核\n\n下面这些问题，不要只靠 命主盘 和 九分盘 硬扛：\n\n- 大平台还是小团队更适合\n- 岗位是前台、后台、桥接层还是研究层\n- 汇报关系、管理压力、组织结构摩擦怎么来\n- 为什么会出现边缘化、调岗、上升受阻\n\n十分盘在这里的作用，是补岗位生态和组织结构，不是负责替你命名具体公司。\n\n### 5.6 遇到“人祸”或“病名”时，先收紧结论\n\n事业专题可以判断：\n\n- 组织结构在伤人\n- 汇报链或管理层带来高摩擦\n- 岗位环境正在消耗身体\n- 某段时间工作与健康互相拖累\n\n事业专题不该直接冒进到：\n\n- 某一个人故意害你\n- 某一个具体医学诊断就是盘里直接写着的结果\n\n如果用户追问极端事故、病痛或具体病名，要回到总盘流程，由总盘决定是否追加更细的分盘或只保留结构层判断。\n\n### 6. 给时间窗口\n\n优先用 dasha 定时。只有当 transit 真能显著缩小时窗时，再加进来。\n\n对每个窗口都要说清楚：\n\n- 什么机会在打开\n- 什么样的努力更有回报\n- 风险或隐藏代价是什么\n\n如果用户已经给了完整职业时间线，就把这些窗口逐条对照现实节点，显性标出 `高贴合 / 有限贴合 / 失配`，不要只给抽象走势。\n\n### 7. 需要地点或更细时机时，转入窗口与场域专题\n\n当用户继续问：\n\n- 去哪个城市发展更顺\n- 同一个岗位在不同地点差别大不大\n- 某个季度里哪一段最值得推进\n- 合作、跳槽、搬迁和事业窗口怎么叠加\n\n就转入 `窗口与场域.md`。\n\n## 最低必答清单\n\n事业专题至少要回答完下面这些问题，少一项就容易变松：\n\n- 事业主线是什么：10 宫、10 宫主、10 宫内行星、Amatyakaraka 怎么定调\n- 工作形态更像什么：任职、自由职业、创业，还是混合路径\n- 钱从哪里来：2 宫、6 宫、11 宫与事业线怎么接通\n- 真正的工作手感是什么：更偏领导、执行、交易、研究、服务，还是后端系统\n- 九分盘（Navamsha chart）是否支持兑现：成熟后更稳，还是代价更高\n- 需要时 十分盘 是否支持岗位生态和平台判断\n- 时间窗口在哪：至少给出明确年份或年月区间，并写出触发逻辑\n- 主要风险是什么：资源不足、环境磨损、节奏偏晚，还是方向选错\n\n如果用户明确问“创业还是任职”，必须显性比较两条路径，不要只给一个模糊偏好。\n如果用户给的是既往职业时间线，至少逐条覆盖所有重大节点，不要只挑好解释的节点。\n\n## 输出契约\n\n每个主要小节都用同一结构：\n\n### 1. 现实判断\n\n先说这张盘真正适合什么工作，用普通人的话讲清楚。\n\n### 2. 盘面抓手\n\n然后再上证据：\n\n- 命主盘（Rashi chart）里的 10 宫与 10 宫主\n- Amatyakaraka\n- 相关 yogas\n- dasha\n- 九分盘（Navamsha chart）\n- 真正有用的八镜镜面\n\n### 3. 使用提醒\n\n每节结尾落在下面这些里：\n\n- 应该顺着什么去放大\n- 哪种幻想该停止浪漫化\n- 哪个风险要提前处理\n- 哪个结论只是暂定，因为数据还不够\n\nFile v1.0.9:references/婚姻.md\n\n# 婚姻主题流程\n\n如果需要共享术语、读盘抓手或冲突裁定口径，读取 `术语框架.md`。\n\n本专题遵循 SKILL.md「分层推断规则」（层 0/1/2/3）。事件回看使用双层口径：旧标签（高贴合/有限贴合/失配）+ 诊断维度（信号命中/推断合理性/信息完备度）。\n\n## 适用场景\n\n当用户明确问的是下面这些问题时，使用这个流程：\n\n- 婚姻走向\n- 恋爱模式\n- 关系风险\n- 桃花窗口\n- 婚期与承诺窗口\n- 伴侣画像\n- 关系能不能落地\n\n不要把它当完整总盘，也不要用它回答事业规划。\n\n## 需要的输入\n\n优先接受其中一种：\n\n- 当前对话里已有总盘摘要\n- Jagannatha Hora PDF\n- JHora 导出的 markdown 报告\n- 星盘截图\n- 文本命盘数据\n\n婚姻判断最关键的字段：\n\n- 上升\n- 5 宫与 5 宫主\n- 7 宫与 7 宫主\n- Venus\n- 九分盘（Navamsha chart）落点\n- Vimshottari dasha 时间线\n- DK、PK、UL、AL\n\n如果当前对话里已经有可用的总盘摘要，直接复用，不要重扫原始资料。\n\n## 计算纪律\n\n如果面对的是原始命盘数字，而不是当前对话里已经检查过的总盘结果，下面这些地方优先调用本地 Python：\n\n- dasha 的日期区间运算\n- 和 5 宫、7 宫、11 宫兑现能力有关的 SAV、BAV 阈值判断\n- Venus、5 宫主、7 宫主等关键关系星的 Shadbala 排序\n- 需要显性引用时的九分盘（Navamsha chart）度数映射\n\n## 工作流\n\n### 1. 先判断是复用总盘，还是直接做专题\n\n只分两种：\n\n- 已有总盘支撑：当前对话里已经有完整或足够的总盘结论\n- 单独专题：没有总盘，只提取婚姻专题需要的最小基础\n\n如果是单独专题，要明确告诉用户：这份结果的置信度低于基于总盘的婚姻分析。\n\n### 2. 先用现实体验描述关系模式\n\n从真实体验出发，不要从黑话出发：\n\n- 这个人通常怎么建立连接\n- 会被什么吸引\n- 哪种伴侣互动会反复出现\n- 主要摩擦点在哪\n\n然后再用盘面去支撑：\n\n- 5 宫和 5 宫主看恋爱风格\n- 7 宫和 7 宫主看伴侣结构\n- Venus 看吸引力、审美和关系润滑度\n- 九分盘（Navamsha chart）看深度、耐久度和成熟后的质量\n\n### 3. 用八镜框架判断关系能量怎么落地\n\n婚姻主题里最常用的镜面是：\n\n- 主题归属：这颗星在关系系统里负责什么\n- 运行状态：它是稳定、逆行、受损，还是带着明显绕路感\n- 资源水位：这段关系有没有足够条件持续下去\n- 落点环境：关系能量落在轻松区还是高摩擦区\n- 兑现通道：吸引、承诺、稳定与收尾是怎样出现的\n- 外力牵引：谁在帮助、压迫、干扰这段关系模式\n- 熟成节律：这类关系是早显、晚显，还是随着年龄才变稳\n\n### 4. 把“关系模式”和“时间窗口”分开\n\n不要把下面这些混成一句模糊的话：\n\n- 恋爱风格\n- 婚姻稳定性\n- 欲望高峰\n- 真正的承诺窗口\n\n时间上优先用 dasha。只有 transit 能明显缩小窗口时，再加进来。\n\n### 5. 用九分盘（Navamsha chart）判断质量和持久度\n\n九分盘（Navamsha chart）主要回答：\n\n- 这张盘更容易吸引滋养型还是消耗型关系\n- 表面化学反应和内在兼容度是否一致\n- 随着成熟，关系风格会变稳还是变复杂\n\n### 6. 传统性别指标要谨慎处理\n\n如果解读依赖传统 spouse-karaka 规则，而用户自己的关系框架不清楚：\n\n- 必要时短问一句\n- 或者先说明自己的假设，再继续\n\n拿不准时，宁可回到盘面本身，也不要替用户乱猜。\n\n### 7. 需要地点或更细时机时，转入窗口与场域专题\n\n当用户继续问：\n\n- 异地关系在哪个地方更容易落地\n- 哪个时间窗更适合确定关系\n- 婚期、搬迁、合作和感情进展如何叠加\n- 不同城市是否会放大或缓和关系摩擦\n\n就转入 `窗口与场域.md`。\n\n## 最低必答清单\n\n婚姻或关系专题至少要回答完下面这些问题：\n\n- 关系模式是什么：5 宫、5 宫主、7 宫、7 宫主和 Venus 分别在讲什么\n- 伴侣结构是什么：更容易吸引哪类人，关系怎么落地\n- 关系质量如何：九分盘（Navamsha chart）是加分、耗损，还是复杂化\n- 时间窗口在哪：至少给出明确年份或年月区间，并写出触发逻辑\n- 风险点是什么：延迟、消耗、反复、异地、承诺成本，还是边界问题\n- 用户怎么用：什么样的关系值得推进，什么样的关系该及时止损\n\n如果用户问婚期、正缘或承诺窗口，不能只说“会有机会”或“偏晚”。必须给出具体时间范围，并说明那段时间更像恋爱、确定关系，还是进入婚姻安排。\n\n## 输出契约\n\n每个主要小节都用同一结构：\n\n### 1. 现实判断\n\n先说这种关系模式在普通生活里到底是什么感觉。\n\n### 2. 盘面抓手\n\n然后再上证据：\n\n- 5 宫\n- 7 宫\n- Venus\n- 九分盘（Navamsha chart）\n- dasha\n- DK、PK、UL、AL\n- 真正有用的八镜镜面\n\n### 3. 使用提醒\n\n每节结尾落在下面这些里：\n\n- 什么样的关系应该追，什么样的关系应该避\n- 怎样更理性地使用时间窗口\n- 还存在哪些不确定性\n\nFile v1.0.9:references/总盘.md\n\n# 总盘研判流程\n\n如果需要共享术语、读盘抓手或冲突裁定口径，读取 `术语框架.md`。\n\n## 适用场景\n\n当用户要的是整张盘的系统拆盘，而不是单一专题时，使用这个流程。\n\n典型请求：\n\n- 完整命盘研判\n- 本命总览\n- 命主盘（Rashi chart）与九分盘（Navamsha chart）联读\n- 既往事件回看\n- 出生时间稳定度判断\n- 基于 Jagannatha Hora PDF 或截图做基础命盘拆盘\n\n如果用户只想看事业、婚姻，或地点与时间窗口的专项问题，不要走完整总盘，改读 `事业.md`、`婚姻.md` 或 `窗口与场域.md`。\n\n## 需要的输入\n\n接受以下任一资料：\n\n- Jagannatha Hora 导出的 PDF\n- JHora 导出的 markdown 报告\n- 星盘截图\n- 文本形式的行星位置\n- 当前对话里已经存在的总盘摘要\n\n能提取到的话，优先确认这些字段：\n\n- 上升星座与度数\n- 九大行星的星座、宫位、度数、逆行状态\n- Nakshatra 和 pada\n- 九分盘（Navamsha chart）落点与上升\n- Vimshottari dasha 时间线\n- Shadbala、SAV、BAV\n- Chara karaka\n\n不要因为某张可选表缺失就卡死整份解读。只在关键字段缺失时追问。\n\n## 计算纪律\n\n只要原始资料里有数字，就把可确定的检查交给本地 Python。\n\n必须工具化的项目：\n\n- SAV、BAV 算术检查\n- 根据度数反推 Nakshatra 和 pada\n- 根据度数反推九分盘（Navamsha chart）落座\n- Mercury、Venus 与 Sun 的距角\n- Rahu、Ketu 对冲检查\n- 逆行合法性\n- dasha 年月区间运算\n\n优先使用：\n\n```bash\npython \"scripts/chart_sanity_check.py\" <chart-input.json-or-jhora.md>\n```\n\n如果是 JHora 导出的 markdown，优先直接把原文件送进脚本，不要先手工转述一遍。\n如果 SAV 或 BAV 所在的图式表格无法稳定结构化，就先保住基础检查，把矩阵类检查标成跳过或待补整理。\n\n如果只有部分数字，就只检查已有部分，并在结论里明确哪些项目被跳过。\n\n## 工作流\n\n### 1. 先整理基础盘面\n\n在解释前先建立一个干净的底稿：\n\n- 资料来源和完整度\n- 上升\n- 行星落点\n- 当前所处的大运阶段\n- 九分盘（Navamsha chart）数据\n- 可用的强弱表\n\n如果 OCR 或截图识别有歧义，要明确指出哪一个值不确定。\n\n### 2. 做一致性检查\n\n基础检查始终执行：\n\n- 九大行星是否齐全且不重复\n- Rahu 与 Ketu 是否形成对冲轴\n- Mercury 与 Venus 是否和 Sun 保持合理距角\n- 在数据足够时，Nakshatra 与 pada 是否和度数一致\n- 在数据足够时，九分盘（Navamsha chart）映射是否和主盘度数一致\n- dasha 序列是否内部自洽\n\nSAV/BAV 检查是**必须尝试、失败才跳过**的项目，不是可选的\"加分项\"：\n\n- 只要原始资料包含任何 SAV/BAV 数字（PDF 截图、JHora 导出的表格、用户手动输入），就必须提取并完成三项校验\n- 如果在 PDF 或 markdown 中能肉眼辨认出数字，优先手动列出 12 宫 SAV 值，再做算术校验\n- 只有经过尝试后表格确实无法结构化（如 OCR 输出乱码、截图模糊不可辨认），才标记为\"跳过\"\n- 跳过时必须在回执中说明具体原因（\"截图分辨率不足\"而非笼统的\"图式表格未能自动化解析\"）\n\n**强矩阵检查**（SAV/BAV 数据可用时）：\n\n- 12 宫 SAV 总和是否为 337（详见 `术语框架.md` SAV/BAV 量化规范）\n- 每颗星的 BAV 行总和是否符合固定常数\n- 每个星座的 BAV 列和是否等于对应 SAV\n- 行列同时出错时，用交叉定位找可能的 OCR 或录入错误\n\n**降级版**（SAV/BAV 经尝试确实无法提取时）：\n- 保留所有基础检查\n- 明确写 \"SAV/BAV ⏭️ 跳过（原因：...），宫位级量化判断降级为 🟠 中\"\n- 后续的\"资源水位\"和\"落点环境\"镜面使用 Shadbala 和 Vimsopaka 作为替代数据源\n\n每次一致性检查后，**必须输出以下编号校验表**。这是硬性输出格式，缺任何一行都视为校验不完整：\n\n```\n=== 一致性检查（必须逐项给出结果，不可省略任何一行）===\n\nC1  行星完整性   : ✅/❌  [说明]\nC2  Nakshatra映射: ✅/❌  [说明]\nC3  D9映射       : ✅/❌  [说明]\nC4  日水距角     : ✅/❌  [度数+判断]\nC5  日金距角     : ✅/❌  [度数+判断]\nC6  罗计对冲     : ✅/❌  [说明]\nC7  逆行合法性   : ✅/❌  [说明]\nC8  Dasha序列    : ✅/❌  [说明]\nC9  SAV总和=337  : ✅/❌/⏭️  [数值+说明；如跳过必须写明具体原因]\nC10 BAV行常量   : ✅/❌/⏭️  [7/7几颗匹配；如跳过必须写明具体原因]\nC11 BAV列→SAV   : ✅/❌/⏭️  [12/12几宫匹配；如跳过必须写明具体原因]\n\n校验等级：🔴极高(11/11通过) / 🟡高(C1-C8全过,C9-C11跳过) / 🟠中(有硬冲突)\n```\n\n**C9-C11 的硬规则**：\n- 只要命盘资料中包含任何 SAV/BAV 数字（无论格式），就必须逐项给出结果\n- 脚本解析不了 → 手动从 PDF/截图/HTML 中读取 12 个 SAV 值，做加法验证\n- 确实无法提取（OCR 乱码、截图模糊不可辨）→ 标记为 ⏭️ 并写明具体原因\n- 禁止出现\"SAV/BAV 跳过\"而无任何数字输出——要么给出具体数值和校验结果，要么给出具体跳过原因\n\n校验等级影响后续分析的置信度标注：\n- 🔴极高：所有宫位级判断正常使用 SAV 阈值\n- 🟡高：宫位级判断改用 Bhava Bala + Shadbala 替代，\"资源水位\"和\"落点环境\"镜面降级\n\n### C1-C11 计算公式（AI 自算用）\n\n以下公式用于 AI 从原始度数数据自行计算校验值，而非仅检查 JHora 已有标注。**OCR 场景下标注可能读错但度数是准的——AI 必须会自己算。**\n\n**C2 Nakshatra 与 Pada 计算**：\n```\n绝对经度 = 星座序号 × 30 + 度数    （白羊=0, 金牛=1, ..., 双鱼=11）\nNakshatra编号 = floor(绝对经度 / 13.3333) + 1\nPada编号 = floor((绝对经度 % 13.3333) / 3.3333) + 1\n```\n计算结果与 JHora 标注对比。不匹配 → ❌，列出不一致的星体。\n\n**C3 D9 映射计算**：\n```\n Pada → D9 星座映射：\n   火象星座(白羊1/狮子5/射手9) pada起点 → 白羊\n   土象星座(金牛2/处女6/摩羯10) pada起点 → 摩羯\n   风象星座(双子3/天秤7/水瓶11) pada起点 → 天秤\n   水象星座(巨蟹4/天蝎8/双鱼12) pada起点 → 巨蟹\n Pada编号n对应的D9星座 = 起点星座序号 + (n-1)\n```\n与 JHora 的 D9 盘标注对比。不匹配 → ❌，D1 度数或 D9 盘至少一个读错。\n\n**C4/C5 水金距角计算**：\n```\n|Mercury绝对经度 - Sun绝对经度| ≤ 28°（最大距角）\n|Venus绝对经度 - Sun绝对经度| ≤ 48°（最大距角）\n```\n超出容差 → ❌，行星符号可能 OCR 混淆。\n\n**C6 罗计对冲验证**：\n```\n|Rahu绝对经度 - Ketu绝对经度| = 180°（容差 ±1°）\n且落宫差 = 6\n```\n不满足 → ❌，节点位置读取错误。\n\n**C7 逆行合法性**：\n```\nSun/Moon 永远不逆行 → 出现逆行标记为数据错误\nRahu/Ketu 永远逆行 → 未标记逆行需二次确认\n```\n\n**C8 Dasha 间隔常数链**：\n```\n相邻 Mahadasha 年份差：\n  Sun(6年) → Moon(10年) → Mars(7年) → Rahu(18年) →\n  Jupiter(16年) → Saturn(19年) → Mercury(17年) → Ketu(7年) → Venus(20年)\n验证：Date(n+1) - Date(n) = 对应常数年\n```\n\n**C9 SAV 总和**：\n```\nΣ(SAV₁ + SAV₂ + ... + SAV₁₂) = 337\n```\n不通过 → 逐宫核实数值，定位读错宫位。\n\n**C10 BAV 行常量**：\n```\nSun=48 | Moon=49 | Mars=39 | Mercury=54 | Jupiter=56 | Venus=52 | Saturn=39\n对每颗星求 BAV 12 宫之和，匹配常数。\n```\n\n**C11 BAV 列→SAV 交叉验证**：\n```\n∀宫位i: BAV(Sun,i) + BAV(Moon,i) + ... + BAV(Saturn,i) = SAV(i)\n```\n不通过 → C10 和 C11 同时出错的格子即为错误点，交叉定位。\n\n### 3. 做既往事件回看\n\n既往事件回看不是附带动作，而是一个主动的可信度检查。其目的不仅是判断时间结构是否可信，更是校准推断系统——诊断「如果回顾的推断与事实不同，断在了推断链的哪一环」。\n\n先判断当前是哪一种模式：\n\n- `提问模式`：用户还没给出既往事件，只能由你先提 2 到 4 个高信号窗口\n- `直评模式`：用户已经给出明确时间线，需要你逐条回看，不要再改写成连环追问\n\n**超出旧命中等级的诊断维度**（见 SKILL.md 分层推断规则层 3）：\n\n既往事件回看不再仅使用「高贴合/有限贴合/失配」三档对错标签。每条事件必须额外输出三个诊断维度：\n\n| 维度 | 评估 |\n|------|------|\n| **信号命中** | 星盘在该时间段是否确实有对应类型的结构信号激活？✅ 命中 / ⚠️ 部分命中 / ❌ 未命中 |\n| **推断合理性** | 给定当时的星盘信号 + 背景事实，从信号到具体推断的逻辑链是否成立？✅ 合理 / ⚠️ 方向对但精度偏 / ❌ 逻辑有缺陷 |\n| **信息完备度** | 推断时所掌握的层 1 背景事实是否足够支撑这个精度的结论？🔴 高 / 🟡 中 / ⚪ 低 |\n\n提问模式推荐顺序：\n\n1. 先判断用户提供的出生时间精度\n2. 收集该领域背景事实卡（按需，只收集当前分析方向所需的信息）\n3. 在过去 5 到 10 年里选 2 到 4 个高信号窗口\n4. 对每个窗口，结合背景事实卡做分层推断（层 0 信号 → 层 1 背景 → 层 2 具体假设）\n5. 让用户逐条确认、否认或部分确认\n6. 用诊断维度复盘：哪些信号确实命中了？推断链中哪一环需要修正？\n\n设问规则：\n\n- 一定落到真实年份或年份区间\n- 一定问具体事件类型\n- 只给足够的依据，不要写成长篇解释\n- 设问本身已经是一轮小型分层推断——先展示层 0 信号，再说明结合了什么背景信息得出的假设\n\n直评模式的最低输出格式：\n\n```text\n事件：[用户给出的具体事件]\n├── 命中等级（旧标签兼容）：高贴合 / 有限贴合 / 失配\n├── 信号命中：✅ / ⚠️ / ❌\n├── 推断合理性：✅ / ⚠️ / ❌\n├── 信息完备度：🔴 / 🟡 / ⚪\n├── 时间锚点：哪段 dasha 或哪组时间结构在支撑\n├── 盘面锚点：至少两类证据\n├── 牵强处：这条结论哪里不能写得太满\n└── 诊断备注：[如果命中等级不是高贴合，说明三个维度中哪个出了问题]\n```\n\n如果用户给了 5 条重大事件，就至少逐条覆盖 5 条，不要只挑最容易命中的两三条。\n\n**诊断汇总**：逐条回看完成后，必须输出一个简短的诊断汇总，说明既往事件中信号命中率、推断链的主要断点类型、以及信息完备度对精度的影响。\n\n### 4. 判断出生时间稳定度\n\n综合看三件事：\n\n- 用户自己说的时间精度\n- 上升或宫位边界在附近时间窗内会不会变化\n- 既往事件回看和盘面逻辑的匹配程度\n\n如果出生时间不稳：\n\n- 降低宫位级判断的置信度\n- 保留行星落星座与较粗粒度的人格结论\n- 明说哪些部分稳定，哪些部分可能漂移\n\n出生时间稳定度判断，不能只凭”感觉像”。要结合：\n\n- 一致性检查有没有硬冲突\n- 既往事件回看的信号命中率（✅ 命中占比）与推断合理性分布\n- 诊断维度异常的聚集模式：信号未命中集中在哪类事件、推断偏差集中在哪个领域（结构/窗口/专名）\n\n### 验证闸门：通过才能进入完整拆盘\n\n步骤 1-4（基础盘面 → 一致性检查 → 既往事件回看 → 出生时间稳定度）构成一个验证闭环。**在这个闭环闭合之前，不允许进入步骤 5-8 的完整拆盘交付，也不允许生成 `report.html`。**\n\n闸门禁止的是 **交付级完整拆盘**，不禁止步骤 3 本身需要的盘面扫描。区分如下：\n\n- **允许**（服务于步骤 3 提问质量）：扫描 dasha 时间线找切换点、定位过去 5-10 年激活的宫位和 karaka、识别高信号窗口。这些是生成靠谱提问的前提，不做反而会导致问题空泛无效。\n- **禁止**（交付物）：展开 9 颗行星的八镜完整拆盘（步骤 5）、九分盘兑现复核（步骤 6）、人生主线汇总（步骤 7）、生成 `report.html`。\n\n一句话：**可以用盘面数据来提问，但在用户确认信号命中之前不要写成报告。**\n\n验证闭环的最小通过条件：\n\n- 一致性检查没有硬冲突（行星数量不对、罗计轴断裂、距角异常等）\n- 既往事件回看中，信号命中 ≥ 1 条 `✅ 命中` 或 `⚠️ 部分命中`（信号不能全部未命中——那说明时间结构本身有问题）\n- 且推断合理性 `✅ 合理` 或 `⚠️ 方向对但精度偏` 的比例 ≥ 50%（推断逻辑至少有一半以上站得住）\n- 出生时间稳定度不低于 `中等`\n\n**注意**：闸门核心条件已从旧版本的「至少一条高贴合」改为上述复合条件。「高贴合」是结果层面的对错标签，而信号命中 + 推断合理性才是系统可信度的真正指标。信号命中但精度偏，说明系统本身没问题、背景信息不够——这不应导致闸门关闭。\n\n如果验证闸门未通过：\n\n- **不要继续展开 9 颗行星完整拆盘**（步骤 5-6）\n- **不要汇总人生主线**（步骤 7）\n- **不要生成 `report.html`**\n- 降级为交付物：基础盘面摘要 + 一致性检查回执 + 既往事件回看结果（含诊断汇总） + 出生时间稳定度判断 + 初步方向提示\n- 明确告知用户闸门卡在哪一项：是信号全未命中（时间问题），还是推断合理性大面积偏/失配（配置解读问题），还是出生时间稳定度不够\n\n验证闸门通过后，才依次推进步骤 5-8，并将步骤 1-4 的结果作为置信度基准写入最终报告。\n\n**闸门确认提示（必须在聊天中输出，不可跳过）**：\n\n```\n=== 验证闭环完成 ===\n闸门状态：[通过 / 未通过]\n- 一致性检查：C1-C11 通过 X/11 项\n- 既往事件回看：\n  信号命中率：✅ X 条 / ⚠️ X 条 / ❌ X 条\n  推断合理性：✅ X 条 / ⚠️ X 条 / ❌ X 条\n  信息完备度：🔴 X 条 / 🟡 X 条 / ⚪ X 条\n  （旧标签兼容：高贴合 X 条 / 有限贴合 X 条 / 失配 X 条）\n- 诊断汇总：[主要断点类型——信号？推断？信息？]\n- 出生时间稳定度：[稳定 / 中等 / 明显不稳]\n- 校验等级：[🔴极高 / 🟡高 / 🟠中]\n\n请确认以上验证结果。\n回复\"继续\"→ 进入完整拆盘（第二阶段）\n回复具体疑问 → 针对性补充\n===\n```\n\n### 5. 展开命主盘（Rashi chart）行星拆盘\n\n对于完整拆盘，命主盘行星部分是主要交付物，不是隐藏在后面的辅助说明。\n\n9 颗行星都要覆盖，但分组和篇幅深度不由固定分类决定——由 SKILL.md「信号分级与篇幅控制」动态定级。输出顺序按 A→B→C 信号级别组织（同级内按 Shadbala 降序）。\n\n八镜项目框架（A 级全写，B/C 级按信号分级规则缩减；\"运行状态\"在 A/B 级必须展开子维度）：\n\n- 主题归属\n- 运行状态（**必须包含**：是否燃烧及距日度数、是否逆行及修正效果；如有 JHora 数据则追加年龄状态和情绪/活动状态）\n- 资源水位（优先使用掌宫 SAV；如 SAV 不可用，使用 Shadbala 百分比 + Vimsopaka）\n- 落点环境（优先使用落宫 SAV 分档；如 SAV 不可用，使用 Bhava Bala 或宫位性质定性评估）\n- 兑现通道\n- 外力牵引\n- 熟成节律\n- 格局放大（如有 yoga 参与）\n\n**附加硬性检查**（不写入镜面表格则视为遗漏）：\n- 如果行星掌管角宫（1/4/7/10），必须检查角宫主效应（Kendradhipati Dosha），见 `术语框架.md`\n- 如果行星参与互溶（Parivartana），必须在\"格局放大\"镜面中展开互溶双方的关系\n- 如果行星是某段 dasha 的主星，必须在\"熟成节律\"中标注对应的 dasha 时段\n\n建议按这个格式输出：\n\n```text\n——— [行星名] ———\n【现实判断】\n2 到 3 段短文，交代它在你人生里到底管什么、怎么发力、当前状态如何。\n\n【盘面抓手】\n| 观察镜面 | 读数 | 一句话说明 |\n|----------|------|------------|\n| 主题归属 | ... | ... |\n| 运行状态 | ... | ... |\n| 资源水位 | ... | ... |\n| 落点环境 | ... | ... |\n| 兑现通道 | ... | ... |\n| 外力牵引 | ... | ... |\n| 熟成节律 | ... | ... |\n\n【使用提醒】\n用 1 段短文说明这些镜面合起来意味着什么，以及用户该怎么理解它。\n```\n\n### 5.5 互溶与格局扫描（必做）\n\n在完成 9 颗行星的独立拆盘后，必须进行一次\"跨行星扫描\"，检查行星间的联动关系。这不是可选的\"加分分析\"，而是结构判断的核心输入。\n\n**互溶（Parivartana）检查**：\n\n全盘逐对检查：是否有两颗行星互相落在对方的星座？\n\n- 如果有互溶，这是全盘最重要的格局之一，必须单独展开分析\n- 最低要交代：互溶双方各自的宫位掌管（互换了什么主题）、双方各自的落宫状态、互溶的\"交易\"是即时兑现还是延迟兑现\n- 如果互溶双方的 dasha 时段有先后 → 标注兑现时间线\n\n**互溶动力学（强弱判定）**：\n\n互溶不是简单的\"1+1=2\"。两颗星通过守护关系建立了能量通道，通道的效率取决于双方各自的状态和落宫环境：\n\n- **强强互溶**：双方均健康（入庙/入旺/无燃烧逆行）→ 相得益彰，能量通道双向畅通\n- **强弱互溶**：强星接纳弱星 → 弱星受益（借强星之力缓解自身凶性），但强星可能因\"要对盟友负责\"而承担额外压力。如果强星自身足够稳健（Shadbala > 1.2，落角宫），则压力可控\n- **弱弱互溶**：双方均受损（落陷/燃烧/逆行）→ 能量通道放大了双方的优势和弱点。这不是纯粹的坏格局，但需要后天觉察才能\"化凶为吉\"——当事人在相关领域（互溶涉及的宫位主题）反复碰壁后，会逐渐学会把持和转化\n\n**落宫对互溶效果的影响**：\n\n互溶双方的落宫位置决定了这股能量是\"可控\"还是\"失控\"：\n- 双方均落角宫（1/4/7/10）→ 能量在世俗层面显现，可被感知和驾驭，即使弱弱互溶也能通过后天磨炼逐渐掌控\n- 任一方落暗宫（8/12）→ 互溶的能量通道有一部分在\"看不见的地方\"运作，较难自我觉察，弱弱互溶在此配置下更容易表现为反复的、难以解释的困境\n- 果宫（3/6/9/11）居中——可觉察但需要主动追踪\n\n**互溶星之间的相位**：\n\n互溶双方如果同时存在相位，相位的软硬影响通道的稳定性：\n- 三合/六合（软相位）→ 能量流动顺畅，有助于缓解不良星体间的摩擦\n- 刑/冲（硬相位）→ 能量流动剧烈，可能放大冲突——但同时也意味着突破力更强，\"滔天大祸或万贯家财\"\n\n**接纳（Reception）补充说明**：\n\n如果两颗星没有完全互溶、但一方落在另一方的守护星座且两者形成相位，这构成单向接纳。接纳效果弱于互溶，但仍可纳入格局扫描参考——弱星被强星接纳时获得支撑，但效果仅为互溶的约一半。\n\n**注意**：互溶不要求双方有相位（即使不合意也能运作——经典案例已证实不合意互溶在事业/财富领域仍能释放强大能量）；但接纳必须要求相位，无相位的单向落座不构成接纳。\n\n**接纳中的\"不领情\"效应**：\n\n当 A 星接纳 B 星，但 B 星在 A 星的守护星座中落陷或处于弱势时，B 星可能\"不领情\"——A 提供的帮助方式不被 B 认可或接受。在分析关系宫位（7 宫主/伴侣 karaka）的接纳时，这一效应尤其重要：接纳方可能付出了很多，但被接纳方未必感激，甚至可能感到被冒犯。判断时需同时检查被接纳星在接纳星守护星座中的尊贵状态。\n\n**特殊互溶变种（必查）**：\n\n除正常互溶外，有两种\"不等价\"互溶变种必须在扫描中检查：\n\n- **欺骗互溶（Deceptive Exchange）**：A 星落在 B 星的守护/擢升星座，但 B 星落在 A 星的**落陷或失势**星座。A 向 B 提供资源和帮助，B 非但不回报，反而将 A 置于尴尬或不利境地。这是一段不等价的能量交易——A 是\"付出方\"，B 是\"消耗方\"。在分析关系宫位（7 宫主、DK）的互溶时要特别警觉此模式。\n- **拒绝互溶（Rejective Exchange）**：两颗星各自落在对方的**落陷或失势**星座。双方互相厌恶，能量通道虽然存在但\"谁也不想要对方的东西\"。事务容易在此模式下被取消、关系容易无疾而终。此模式比完全没有互溶更消耗——因为它制造了\"不得不互动但互动质量极差\"的困境。\n\n**定位星链条（补充参考）**：\n\n在全盘行星拆盘和互溶扫描之后，可追溯 dispositor 链条寻找\"最终定位星\"——即所有行星通过守护关系最终汇聚到的一颗或两颗星（互溶对）。如果存在明确的最终定位星对（互溶定位），这两颗星共同主导命盘的能量走向，其宫位掌管和落宫状态是全盘结构的\"总开关\"。如果不存在最终定位星（能量链不闭合），则说明命盘没有单一主导力量，各领域相对独立运作，决策时容易犹豫或缺乏统一的驱动力。\n\n**Yogakaraka 等价分析**：\n\n检查是否有同一颗星同时掌管角宫（1/4/7/10）和三分宫（1/5/9）。如果有，这是经典 Yogakaraka。\n\n- 如果没有经典 Yogakaraka，不要空洞地说\"没有特殊格局\"就跳过\n- 必须分析是否存在**功能等价组合**：互溶、多星合相、相位联动等方式形成的\"准 Yogakaraka\"效果\n- 最低输出：一段短文解释\"虽然没有经典 Yogakaraka，但 X 和 Y 的组合起到了类似的作用\"\n\n**Dhana Yoga（财富组合）扫描**：\n\n检查 2H/11H/5H/9H 主星是否存在联动（互溶、合相、相互相位）：\n- 有 → 标注为 Dhana Yoga 候选，评估参与星健康度后定级\n- 无 → 说明财富主题的\"独立兑现\"特征（不依赖组合，靠单星实力）\n\n### 6. 用九分盘（Navamsha chart）做兑现复核\n\n九分盘（Navamsha chart）的作用，是复核命主盘里的承诺成熟后还能不能站住，而不是另起一套独立解读。\n\n它主要回答五件事（详见 `术语框架.md` D9 复核五维度）：\n\n- **内核品质**：主盘里的关键承诺到了后期是否还成立——成熟后是更稳、更专精，还是代价更高\n- **安全性**：成果放在什么\"仓库\"里是安全的还是一碰就碎的\n- **房东审计**：dispositor 链条是否支持兑现——承诺的\"担保人\"自己够不够强\n- **变现阻力**：D1→D9 的位移是否在 6/8/12 区间，导致过程需要\"绕路\"\n- **果实投射**：真正落果时，成果会落在 D1 的哪个宫位代表的现实领域\n\n对每颗关键行星，复核必须显性覆盖以上五个维度中的至少四个。不能只写一段笼统的叙述就跳过。如果某维度不适用（如 Rahu/Ketu 无 dispositor 链条），要显性说明理由。\n\n建议输出格式：\n\n```text\n——— [行星或主题] 九分盘兑现复核 ———\n【现实判断】\n先说成熟后会更稳、更贵、更耗，还是更能兑现。\n\n【盘面抓手】\n说明九分盘落点、宫主关系、会照和承载环境。\n\n【使用提醒】\n说明这个结论该怎么用，以及置信度受什么影响。\n```\n\n### 7. 汇总人生主线\n\n总整合至少回答这些问题：\n\n- 这张盘的主轴到底是什么\n- 优势最容易在哪些场域兑现\n- 难点是资源不足、环境摩擦，还是时间不对\n- 哪些结论是稳定的，哪些高度依赖出生时间\n- **互溶与格局**：如果存在互溶（Parivartana），它的\"主题交换\"如何串联事业/财富/婚姻/迁移各条线；如果没有经典 Yogakaraka，功能等价组合是什么\n- **D9 兑现总结**：逐星列出 D9 品质评级（★），标注逆转（D1 弱→D9 强）和暴跌（D1 强→D9 弱）的行星，给出 D9 整体结论\n\n如果已经拿到了足够资料，还要把事业、婚姻、财富、迁移、关系模式串成一套完整结构。\n\n### 7.5 AK 灵魂课题（必答）\n\nAtmakaraka（AK）是九大行星中绝对经度最高的一颗（Rahu 除外），代表灵魂这一世的\"主修课\"。这是 Parashari 体系的核心概念之一，不是可选加分项。\n\n**AK 判定**：\n```\n遍历九大行星的绝对经度（排除 Rahu），取最大值。\n如 Rahu 绝对经度最高 → 取次高行星为 AK。\n```\n\n**AK 解读至少覆盖以下三项**：\n\n1. **AK 的身份与职责**：AK 是哪颗星 + 它在主盘掌管哪两个宫位 + 它在主盘和 D9 的落宫。\n   例：\"AK 是金星，掌管你的 4 宫（家庭/根基）和 9 宫（信仰/远方），落在 8 宫——你的灵魂课题是'在失去和转化中找到真正的安全感'。\"\n\n2. **AK 的星宿主（Nakshatra）**：AK 所在的 Nakshatra 如何修饰灵魂课题的\"学习方式\"——是激烈顿悟式、渐进积累式，还是反复试错式。\n\n3. **灵魂主线叙述**（3-5 段）：\n   - AK 的本质是什么（\"你这一生来学什么\"）\n   - 为什么这个课题对你来说这么难（宫位与行星状态给的解释）\n   - 这个课题在你的关键 dasha 时期被怎样激活\n   - D9 中 AK 的状态——成熟后这个课题是能毕业，还是会以另一种形式继续\n\n**注意**：AK 解读不是\"算命\"，而是提供一面镜子让用户理解自己反复遇到的核心模式。用叙述语言，不用标签语言。\n\n### 8. 可选高级模块：窗口与场域专题\n\n当用户进一步问：\n\n- 哪个城市更合适\n- 哪个时间窗更值得推进\n- 同一主题在不同地点会不会出现差异\n- 某个合作、迁移、结婚或跳槽窗口该怎么缩小\n\n就转入 `窗口与场域.md`。\n\n窗口与场域专题不是另外发明一张天文分盘，也不是西方占星中的合盘——而是把时间、地点、事件主题与原命盘结构叠加后的高级判断。\n\n## 最低必答清单\n\n完整总盘不是写几段印象流总结就算完成。最低要交代下面这些项目：\n\n- 基础盘面：上升、九大行星、当前 dasha、九分盘（Navamsha chart）可用度\n- 一致性检查：至少说明 `已核 / 跳过 / 影响`。**SAV/BAV 必须尝试提取和校验**——只有经尝试确实无法结构化时才允许跳过，且跳过时必须写明具体原因\n- 既往事件回看：如果用户没给时间线，至少给 2 到 4 个具体年份或年份区间的问题点；如果用户给了时间线，逐条给命中等级（旧标签兼容）+ 信号命中 / 推断合理性 / 信息完备度三个诊断维度\n- 出生时间稳定度：说清是稳定、中等，还是明显不稳\n- 命主盘（Rashi chart）行星拆盘：9 颗行星至少分三组讲完，每颗覆盖八镜（运行状态必须展开燃烧/逆行/年龄子维度）\n- **互溶与格局扫描**：必须做 Parivartana 检查和 Yogakaraka 等价分析，不可跳过\n- 九分盘（Navamsha chart）兑现复核：每颗关键行星覆盖 D9 五维度中的至少四个，不可用一段笼统叙述替代\n- 人生主线：至少串起事业、关系、资源或迁移中的主轴，包含互溶/格局分析、AK 灵魂课题和 D9 兑现总结\n- 使用提醒：明确哪些判断稳定，哪些依赖更多数据\n\n如果某一项跳过，必须说明为什么跳过，不能静默缺席。\n\n## 输出契约\n\n每个主要小节都用同一结构：\n\n1. `现实判断`\n2. `盘面抓手`\n3. `使用提醒`\n\n如果结果达到报告规模，默认落成分节 markdown，并主动生成 `report.html`。\n\nFile v1.0.9:references/术语框架.md\n\n# 术语与八镜框架\n\n## 输出规则\n\n每个围绕行星或主题的小节，都按这个顺序组织：\n\n1. `现实判断`：现实里会怎么表现\n2. `盘面抓手`：哪些盘面事实支撑这个判断\n3. `使用提醒`：该怎么用，或者哪里要保留弹性\n\n不要只输出术语、表格或未解释的缩写。\n\n## 回答质量闸门\n\n下面这些不是建议，是最低门槛。\n\n### 1. 每节都要先说人话\n\n每个主要小节开头先用 2 到 4 句普通话解释：\n\n- 这在现实里会怎么表现\n- 用户最该先抓住什么\n- 最主要的阻力或代价在哪里\n\n不要一上来就堆表格、缩写、镜面名词或英文标签。\n\n### 2. 每节都要有证据锚点\n\n每个主要小节至少显性写出两类证据，且不能都只是抽象术语。优先从下面选：\n\n- 宫位与宫主\n- 行星状态\n- dasha\n- 命主盘（Rashi chart）\n- 九分盘（Navamsha chart）\n- SAV、BAV、Shadbala\n- karaka\n- yoga\n\n如果只有一类证据，就把结论降级，不要写成定论。\n\n### 3. 每节都要交代可用度\n\n每个主要小节末尾至少交代一项：\n\n- 这条结论为什么相对稳定\n- 这条结论受哪些缺数据影响\n- 用户实际使用时该把它当趋势、窗口，还是高确定性判断\n\n### 4. 时间判断必须能落地\n\n只要提到时间窗口，就必须同时回答三件事：\n\n- 窗口落在哪个具体区间\n- 触发逻辑是什么\n- 这个窗口适合推进什么，不适合浪费在哪\n\n### 5. 禁止松答模板\n\n避免下面这些写法：\n\n- 只有形容词，没有盘面依据\n- 只有术语，没有现实翻译\n- 只有趋势，没有时间\n- 只有优点，没有代价\n- 只有结论，没有不确定性\n\n## 事件回看口径\n\n既往事件回看现在使用**双层口径**：面向用户的总结标签 + 面向系统校准的诊断维度。\n\n### 旧命中等级（保留作为用户侧总结标签）\n\n- `高贴合`：时间窗和事件性质都能形成清楚对应\n- `有限贴合`：时间大致合适，但事件类型更宽、更弱，或只对上一半\n- `失配`：时间或事件性质都没有形成可靠对应\n\n不要把 `有限贴合` 涂改成 `高贴合`，也不要把 `失配` 硬解释成\"只是表现形式不同\"。\n\n### 诊断维度（每次回看必须输出，用于系统校准）\n\n在旧标签之外，每条既往事件必须额外输出以下三个维度：\n\n| 维度 | 含义 | 评估 |\n|------|------|------|\n| **信号命中** | 星盘在该时间段是否确实有对应类型的结构信号激活？ | ✅ 命中 / ⚠️ 部分命中 / ❌ 未命中 |\n| **推断合理性** | 给定当时的星盘信号 + 背景事实，从信号到具体推断的逻辑链是否成立？ | ✅ 合理 / ⚠️ 方向对但精度偏 / ❌ 逻辑有缺陷 |\n| **信息完备度** | 推断时所掌握的背景事实是否足够支撑这个精度的结论？ | 🔴 高 / 🟡 中 / ⚪ 低 |\n\n三个维度的诊断价值详见 SKILL.md 分层推断规则层 3 的「诊断矩阵」。\n\n## 分层推断术语\n\n### 背景事实卡\n\n分析前按需收集的结构化用户信息。仅收集当前分析方向所需的领域：\n\n| 领域 | 收集项 |\n|------|--------|\n| 通用 | 性别、年龄区间、出生时间精度 |\n| 感情 | 当前状态（已婚/恋爱/单身/离异）、关键关系稳定性 |\n| 事业 | 当前阶段（学生/在职/创业/待业/退休）、行业方向 |\n| 迁移 | 当前居住地、异地关系强弱、搬迁动力 |\n| 健康 | 已知重大健康问题 |\n\n**事实与自述的边界**：可被外部验证的客观信息（婚姻状态、职业阶段、居住城市）是事实，可进入背景事实卡。主观判断（「我性格内向」「我运气不好」）是自述，不能进入，需要被盘面验证。\n\n### 层 0 / 层 1 / 层 2 / 层 3\n\n分层推断的四个独立分析阶段：\n\n- **层 0（星盘结构信号）**：从命盘数据中提取的结构信号——Dasha 周期、宫位激活、行星状态、Yoga。输出信号类型、强度和复数可能方向。禁止反向推导和经历=天赋。\n- **层 1（背景事实卡）**：用户已知的客观背景信息，用于缩小层 0 的复数可能方向。不用于否定层 0 信号本身。\n- **层 2（联合推断）**：信号 × 背景 → 具体结论。每个推断必须透明展示推理链、纯星盘版本、边界条件和反事实检查。\n- **层 3（事后校验）**：通过信号命中、推断合理性和信息完备度三个维度诊断推断链，回答「如果不准，断在哪里」而非简单判对错。\n\n## 细节层级护栏\n\n结论不要混层。先判断自己现在说的是哪一层：\n\n- `结构层`：例如技术型、大平台、离家发展、工作与学习并行\n- `窗口层`：例如某一段时间职业定型，或某一段时间承压并转场\n- `专名层`：例如某家公司、某个国家、某个具体病名、某一个领导\n\n推荐做法：\n\n- 结构层可以作为高置信度主结论\n- 窗口层可以结合 dasha 做中高置信度判断\n- 专名层只能在用户已经给出现实事实时作为对照，不能假装是盘面原生可读的专有答案\n\n特别注意：\n\n- “技术型工作”是结构层\n- “进入大型平台并出现收入抬升”是窗口层\n- “某一家具体公司”是专名层\n- “身体吃不消、筋骨压力上升”是结构或窗口层\n- “某一个具体医学诊断”是专名层\n\n## 精确计算规则\n\n八镜框架负责解释结构，不负责替代精确算术。\n\n只要结论依赖下面这些项目：\n\n- 度数换算\n- SAV、BAV 总和\n- Shadbala 排序\n- dasha 日期间隔\n- 明确的通过、失败或跳过判断\n\n就先从原始数据或本地工具拿到数值，再写解释，不要边写边心算。\n\n## 标准吠陀术语\n\n- Lagna\n- graha\n- house / bhava\n- lordship\n- exaltation / debility / own sign\n- retrograde / combustion\n- dispositor\n- nakshatra / pada\n- 命主盘 / Rashi chart\n- 九分盘 / Navamsha chart\n- 十分盘 / Dashamsha\n- Vimshottari dasha\n- karaka，包括 Amatyakaraka、Darakaraka、Putrakaraka\n- Arudha Lagna、Upapada Lagna\n- yoga，包括标准意义上的 Yogakaraka\n- Upachaya、Dusthana\n- Shadbala\n- Ashtakavarga、SAV、BAV\n\n## 八镜定义\n\n| 观察镜面 | 它在看什么 | 它如何影响结论 |\n|---|---|---|\n| 主题归属 | 这颗星或这个宫位到底在负责哪类人生主题 | 先决定“它管什么”，再谈“它做得怎样” |\n| 运行状态 | 燃烧、逆行、稳定度和损耗感 | 决定推进方式是顺、迟、绕，还是内耗 |\n| 资源水位 | 它手里有没有足够资源把事情做出来 | 决定主题能否持续，不只是偶尔闪一下 |\n| 落点环境 | 这股力量落在轻松区、磨损区，还是高压区 | 决定现实成本和摩擦位置 |\n| 兑现通道 | 结果是怎么落地的，是直接、绕路还是先堵后通 | 决定成果出现的方式 |\n| 外力牵引 | 谁在帮助、压制、改道或放大它 | 决定外部环境如何参与这件事 |\n| 熟成节律 | 它更偏早显、晚显，还是需要时间酝酿 | 帮助解释为什么某个主题在人生不同阶段手感不同 |\n| 格局放大 | yogas、组合和系统级加权 | 决定哪些信号会被整体放大或修饰 |\n\n## 运行状态子维度\n\n\"运行状态\"不是一句话能交代的模糊标签。以下子维度必须在分析中显性检查，不能只挑最方便的一两项说。\n\n### 燃烧（Combustion）\n\n行星距太阳过近时，能量被日光\"覆盖\"，表现力打折。每颗行星的燃烧临界不同：\n\n| 行星 | 燃烧临界（距日度数） | 逆行时调整 |\n|------|---------------------|-----------|\n| 月亮 | 12° | — |\n| 火星 | 17° | — |\n| 水星 | 14° | 逆行时 12° |\n| 木星 | 11° | — |\n| 金星 | 10° | 逆行时 8° |\n| 土星 | 15° | — |\n\n- Cazimi（距日 < 1°）：仍属燃烧，但精确合日的行星可能获得一种\"聚焦\"效应\n- 燃烧 ≠ 行星作废，而是\"需要借他人的舞台才能表现\"——燃烧行星管的事往往需要依托别人（上司、平台、伴侣）才能发光\n\n### 逆行修正（基于 KN Rao 体系）\n\n逆行不只是\"能量内收\"，它对不同状态的行星有不同的翻转效果：\n\n- **落陷 + 逆行**：视同入旺（Neecha Bhanga 的一种形式）。最坏的处境被逆行的反思力翻转\n- **入旺 + 逆行**：视同落陷。最强的位置被逆行拉回——有能力但表达方式不顺畅\n- **入庙 + 逆行**：品质仍在，但输出方式是\"向内深钻\"而非\"向外自然释放\"\n- 逆行行星管的事：兑现节奏比顺行慢，但持久度常常更高\n\n### 行星年龄状态（Baladi Avasthas）\n\n行星在星座内的度数决定了它处于哪个\"人生阶段\"，影响能量输出模式：\n\n| 年龄阶段 | 典型度数区间 | 能量特征 |\n|----------|-------------|---------|\n| 婴儿（Baala） | 0°–6° | 潜力未激活，需要外部触发和培养 |\n| 少年（Kumara） | 6°–12° | 有冲劲但毛躁，适合学习期 |\n| 青年（Yuva） | 12°–18° | 主动输出，执行力最强 |\n| 壮年（Vriddha） | 18°–24° | 经验丰富但体力下降，靠策略而非蛮力 |\n| 老年/寂灭（Mrita） | 24°–30° | 自动执行模式——不再主动发起，但一旦被调动就精准 |\n\n- 婴儿和老年的行星：不适合\"主动出击\"式策略，更适合\"等风来\"\n- 青年行星：最直接的行动力来源，但可能缺乏耐心\n\n### 情绪与活动状态（Mood & Activity Avasthas）\n\n由 JHora 根据复杂规则计算。如果原始数据中有，应一并纳入判断：\n\n**情绪状态**常见取值：\n- Saanta（平静）：稳定输出，不耗神\n- Mudita（喜悦）：积极正向，事情容易推动\n- Khala（顽皮）：容易在规则边界试探，有创意但不够安分\n- Duhkhita（痛苦）：内耗大，需要特别关注这颗星管的领域\n- Deena（沮丧）：能量低迷，管的事容易停滞\n\n**活动状态**常见取值：\n- Prakasana（发光中）：主动对外辐射，做的事情容易被看见\n- Sayana（躺卧）：被动状态，需要外界推动才会动\n- Gachchhati（行走中）：正常运转\n- Yuddha（战斗中）：处于竞争/冲突状态\n\n### 使用要求\n\n- 至少显性检查燃烧和逆行状态，这是\"运行状态\"镜面的最低交付\n- 如果 JHora 数据中包含年龄/情绪/活动状态，必须纳入分析，不可忽略\n- 如果某颗行星多项子维度叠加（如\"落陷 + 逆行 + Mrita 年龄 + Sayana 活动\"），要明确说出叠加效果，不能只说单项\n\n## 推荐用法\n\n| 推荐表述 | 大白话方向 |\n|---|---|\n| 主题归属很核心 | 说这颗星和身份、方向、自我定义高度相关 |\n| 资源水位充足 | 说它不仅有想法，也有条件把事做下去 |\n| 落点环境磨损大 | 说事情能做，但过程贵、慢或摩擦多 |\n| 兑现通道绕路 | 说结果不是没有，只是常常先曲折后成形 |\n| 外力牵引偏强 | 说这件事很容易被环境、人际或制度放大 |\n| 熟成节律偏晚 | 说它不是早年主题，后期更容易看见成形 |\n\n## 裁定顺序\n\n当信号互相打架时，按下面的优先级：\n\n1. 先定 `主题归属`\n2. 再看 `运行状态`\n3. 用 `资源水位` 和 `落点环境` 判断成本\n4. 用 `兑现通道` 判断结果怎么出来\n5. 用 `外力牵引` 与 `格局放大` 做修正\n6. 用 `熟成节律` 解释阶段差异\n\n## 翻译指导\n\n- 先翻镜面，再给现实话\n- 不要把私人造词包装成标准术语\n- 只在真正有帮助时才显性写专业词\n- 尽量把盘面逻辑改写成一句现实里听得懂的话\n\n推荐：\n\n- `这条事业线不是没潜力，而是落点环境偏磨损，所以更像先累积方法和口碑，再慢慢放大。`\n\n避免：\n\n- 只堆英文缩写和标签\n\n## SAV/BAV 量化规范\n\nAshtakavarga 是 Parashari 体系中最核心的量化工具。它不是某个 skill 的\"私有参数\"，而是衡量宫位级别强弱的公共标尺。\n\n### 宇宙常数（强制校验项）\n\n只要原始资料包含 SAV/BAV 数据，以下校验必须在一致性检查阶段完成：\n\n**SAV 总和**：12 个宫的 SAV 值之和恒等于 **337**。不通过 → 数据读取有误，逐宫核实。\n\n**BAV 行常量**：每颗行星在 12 个宫的 BAV 分值之和是固定常数：\n\n| 行星 | Sun | Moon | Mars | Mercury | Jupiter | Venus | Saturn |\n|------|-----|------|------|---------|---------|-------|--------|\n| BAV 行和 | 48 | 49 | 39 | 54 | 56 | 52 | 39 |\n\n**BAV 列→SAV 交叉验证**：每个宫位的 7 颗星 BAV 之和 = 该宫 SAV 值。不通过 → 行校验 + 列校验交叉定位错误点。\n\n### 宫位 SAV 阈值分档\n\n拿到 SAV 数据后，按以下分档判断宫位的\"硬件带宽\"：\n\n| SAV 值 | 带宽评级 | 现实含义 |\n|--------|---------|---------|\n| ≥32 | 充裕 | 事情自动推进，投入产出比高 |\n| 28–31 | 良好 | 正常努力即有回报 |\n| 24–27 | 中等 | 需要策略和持续投入 |\n| 20–23 | 偏紧 | 付出多回报少，容易焦虑 |\n| <20 | 匮乏 | 该领域天然吃力，需要外部补给或迂回策略 |\n\n### 掌宫资源评估\n\n要判断一颗行星\"手里有多少货\"，把它掌管的两宫的 SAV 相加：\n\n- ≥60：强掌宫组合——这颗星有充足的资源完成职责\n- 50–59：中等——够用但不宽裕\n- <50：偏弱——它的职责需要其他行星帮衬\n\n如果是单宫掌管（如 Rahu/Ketu），只用单宫 SAV 评估，但置信度降半档。\n\n### 落宫 SAV 与 BAV 配比\n\n行星落在哪个宫，那个宫的 SAV 就是它的\"路况\"。但还要看这颗星自己的 BAV 在该宫的贡献——如果某宫 SAV 高但主要是别的星贡献的、这颗星自己的 BAV 很低，意味着\"路好走但你得搭别人的车\"。\n\n### 缺 SAV/BAV 时的降级策略\n\n这是 zh 目前最关键的缺口。当 SAV/BAV 无法校验时：\n\n1. 一致性检查回执中明确写 \"SAV/BAV ⏭️ 跳过，宫位级量化判断降级\"\n2. 宫位强弱比较只做定性判断（基于宫主星状态、宫内星有无、相位），不做\"X 宫比 Y 宫强\"级别的精确排序\n3. \"资源水位\"和\"落点环境\"两个镜面改用 Shadbala 和 Vimsopaka 作为二级替代数据源\n4. 在报告的\"落地提醒\"中声明：SAV/BAV 缺失导致宫位级精细判断置信度为 🟠 中\n\n**与八镜框架的对接**：\n- \"资源水位\"镜面 → 优先取掌宫 SAV 和 Shadbala 两项数据\n- \"落点环境\"镜面 → 优先取落宫 SAV 分档，辅以宫位性质（角宫/三分宫/凶宫）\n- 两镜面中至少一个需要 SAV 数据；若都没有 → 两镜面均降级\n\n## 角宫主效应（Kendradhipati Dosha）\n\n角宫（1/4/7/10）主星有一个特殊性：吉星管角宫时，其天然吉性会被角宫的\"世俗事务压力\"削弱——不是变凶，而是\"偷懒\"。凶星管角宫时，其天然凶性反而被角宫的\"责任感\"约束——不是变吉，而是\"自律\"。\n\n这意味着：\n\n- 金星管 7H（角宫）：婚姻/合作资源有，但需要主动争取，不会自动送上门\n- 土星管 10H（角宫）：事业压力可控，土星的压制力被转化为结构化的努力\n- 月亮管 4H（角宫）：内心安全感需要外在成就来确认，而非自然拥有\n\n在分析角宫主星时，必须检查这一效应。它解释了为什么有些\"看起来很好的配置\"在实际生活中需要额外用力。\n\n## 缺数据时的标准写法\n\n如果原始资料不完整，不要硬补。优先用下面这个顺序表达：\n\n1. `已知`：这次能稳定读取到什么\n2. `未知`：缺了什么关键字段\n3. `影响`：这会让哪些结论降级\n4. `暂定判断`：在现有资料下还能说到哪里\n\n## 反过拟合提醒\n\n- 不要把用户后来补充的公司名、城市名、专业名、病名，倒灌回盘面，再说成“原来一开始就能看出来”\n- 不要把“权威冲突”自动翻译成“某一个人故意害你”\n- 不要把“高压与耗损”自动翻译成单一医学诊断\n\n## 九分盘的定位\n\n九分盘（Navamsha chart）不是第二张独立命盘，它更像对主结构的复核层。\n\n它主要回答五件事：\n\n- 主盘里的承诺成熟后还站不站得住（内核品质）\n- 兑现时要付出什么代价（变现阻力）\n- 最终果实更容易落在哪类主题上（果实投射）\n- 承诺的\"担保人\"是否可靠（房东审计）\n- 成果放在哪个\"仓库\"是安全的还是一碰就碎的（安全性）\n\n九分盘负责看成熟后的质量、耐久度和承载环境，不负责抹掉命主盘的原始结构。\n\n### D9 复核五维度\n\n每颗关键行星的 D9 复核必须至少覆盖以下五个维度中的四个：\n\n**1. 内核品质**：行星在 D9 的落座相对于 D1 是升级还是降级？\n- Vargottama（D1 和 D9 同星座）：最高稳性——承诺 150% 可兑现\n- 入旺/入庙：100% 兑现\n- 友方星座：正常兑现\n- 落陷：承诺可能违约，需检查 Pushkara 补丁（特定度数范围内的落陷会被修复）\n\n**2. 安全性**：D9 落宫属于哪类\"仓储环境\"？\n- 金库区域（1/2/4/5/7/9/10/11 宫）：成果稳定，不易流失\n- 摩擦区域（3/6 宫）：兑现需要竞争和主动\"卡位\"\n- 有毒区域（8/12 宫）：成果可能得而复失，或兑现过程伴随消耗\n  - 严重度排序：D9 落 8 宫 > 12 宫 > 落陷 > 6 宫\n\n**3. 房东审计（Dispositor 链条）**：D9 落座的守护星状态如何？\n- 守护星（Dispositor）在 D9 中健康 → \"支票可以兑现\"\n- 守护星在 D9 中落陷/受损 → \"支票可能跳票\"——这颗星承诺的东西，担保人自己都不够强\n- 守护星和主盘大运主重合 → 兑现窗口和主运共振\n\n**4. 变现阻力**：D1 星座 → D9 星座的位移大小。\n- 位移 = |D9 星座序号 − D1 星座序号|（以 12 为模）\n- 位移在 6/8/12 区间 → 变现需要\"绕路\"，过程有过敏反应\n- 位移 ≤ 3 → 直接兑现\n\n**5. 果实投射**：D9 落座对应回 D1 哪个宫位？\n- 把 D9 星座映射到 D1 的对应宫位（两者同星座即可对应）\n- 这颗行星最终产出的果实，会掉在 D1 的那个宫位代表的领域\n- 这是连接\"深层品质\"和\"现实结果\"的关键桥梁\n\nFile v1.0.9:references/窗口与场域.md\n\n# 窗口与场域专题流程\n\n如果需要共享术语、读盘抓手或冲突裁定口径，读取 `术语框架.md`。\n\n本专题遵循 SKILL.md「分层推断规则」（层 0/1/2/3）。时间窗口与场域判断作为层 2 联合推断的输入参数——场域差异缩小层 0 信号的可能兑现方向。\n\n## 这是什么\n\n窗口与场域专题不是另外发明一张天文分盘，也不是脱离原命盘独立判断，更不是西方占星中的合盘（synastry/composite chart）。\n\n它是一种高级专题，用来把下面三件事叠加起来看：\n\n- 时间窗口\n- 场域或地点差异\n- 某个具体事件主题\n\n也就是说，它回答的是：同一个人，在什么时间、什么地点、围绕什么主题，更容易把事情推成，或者更容易遇到摩擦。\n\n## 适用场景\n\n当用户明确问的是下面这些问题时，使用这个流程：\n\n- 哪个城市更适合发展\n- 什么时候搬迁、跳槽、合作、结婚更顺\n- 同一主题在不同地点会不会出现明显差异\n- 某个大窗口里，哪一段时间更值得主动推进\n- 迁移、婚姻、事业与事件落地如何叠加判断\n\n如果用户只是要看整张盘或单一事业、婚姻主题，不要先上窗口与场域专题。先用 `总盘.md`、`事业.md`、`婚姻.md` 建底，再决定是否升级。\n\n## 需要的输入\n\n优先接受其中一种：\n\n- 当前对话里已有可用的总盘摘要\n- Jagannatha Hora PDF\n- JHora 导出的 markdown 报告\n- 星盘截图\n- 文本命盘数据\n\n额外需要补充的输入：\n\n- 当前或目标城市、地区、国家\n- 想看的主题：事业、婚姻、迁移、合作、具体事件\n- 想看的时间范围\n- 如果有多个地点，最好把备选地点一次列出\n\n如果没有可靠出生时间，要先明确告知：地点和窄时窗判断的可信度会下降。\n\n## 分析基底\n\n窗口与场域专题至少要站在下面这些东西上：\n\n- 命主盘（Rashi chart）的主结构\n- 九分盘（Navamsha chart）的成熟度与兑现质量\n- 当前与未来相关的大运、小运\n- transit / gochara\n- 目标主题对应的宫位与 karaka\n- 必要时的居住地、事件地、合作地差异\n\n如果总盘还没建好，先补最低限度的底稿。不要跳过底层结构，直接给地点建议。\n\n## 分析步骤\n\n### 步骤一：时间扫描\n\n1. 从 Dasha 时间线提取与目标主题高度相关的窗口段\n2. 对窗口内的大运/小运做功能解读——大运管\"主题\"，小运管\"落地\"\n3. 标注时间置信度——大运区间天然可信，30天内窗口需标注\n4. 跨窗口时需要区分\"窗口在重叠\"和\"窗口在分开\"的情况\n\n### 步骤二：场域比对\n\n场域不是命主盘自带的信息，而是用户提供的外部参数。需要将场域视为\"对某一条已有命盘线路的放大或抑制条件\"。\n\n1. 地理方位与宫位关系：目标地点相对于出生地的方位，与命盘中对应宫位的关联\n2. 迁移盘的参考价值：以目标地点重排的盘可以作为辅助，但权重低于命主盘\n3. 场域选择分类：\n   - \"事业型迁移\"：看 10H、L10、AmK、D10\n   - \"学习型迁移\"：看 9H、L9、Mercury、Jupiter\n   - \"关系型迁移\"：看 7H、L7、DK、Venus\n   - \"疗愈型迁移\"：看 12H、Moon、Saturn\n\n### 步骤三：时间×场域联合判断\n\n1. 对每个\"备选地点+备选时间窗口\"组合做权重排序\n2. 每个组合给出：\n   - 顺风因素（地点和时间的加持点）\n   - 逆风因素（地点和时间的摩擦点）\n   - 取舍逻辑（优先保什么、可以放什么）\n3. 最终输出一个优先级排序 + 每个选项的取舍建议\n\n## 输出格式\n\n每个地点选项按以下结构输出：\n\n```\n### [地点名称]\n\n**总体评估**：[一句话判断]\n\n**时间窗口**：[YYYY.MM–YYYY.MM] — [触发因素]\n\n**顺风**：\n- [因素 1]\n- [因素 2]\n\n**逆风**：\n- [因素 1]\n- [因素 2]\n\n**取舍建议**：[具体建议]\n```\n\n## 注意事项\n\n- 如果出生时间精度不够（±15分钟以上），地点判断的宫位级精度会受影响——必须标注\n- 不要因为没有\"目标地点排盘数据\"就跳过分析——用方位和宫位逻辑替代\n- 不要在用户只问\"适合去哪个城市\"时附带全量命盘分析\n- 事件判断落实到\"结构层\"和\"窗口层\"即可，不要硬推到\"专名层\"\n\nFile v1.0.9:CHANGELOG.md\n\n# Changelog\n\n## v1.4.2 — JHora Ashtakavarga 精确边框解析 + 导出变体兼容 (2026-06-03)\n\n### 变更动机\n\n新一批 JHora / MinerU 导出样本暴露出两类问题：\n\n- **Ashtakavarga 结构误判**：紧凑表并不是普通 12×12 行列表，而是 `3×3` 个 `4×4` 小方块；每个方块的 12 个边框数字才是一组完整 SAV/BAV。旧启发式把它误读成整表行列后，才会出现 `SAV` 需要缩放、`BAV` 行不全、`R3` 整列失败的现象。\n- **行星表入口变体**：不同导出中经度字段会出现 `deg | sign+min | sec`、`deg | sign | min | sec`、`deg+sign | min | sec` 三种拆列方式，同时 `nakshatra` 缩写也新增了 `Aswi`、`Mool` 等变体。\n\n### `scripts/jhora_markdown_bridge.py` 改动\n\n**1. 新增紧凑 Ashtakavarga 的精确块解析**\n\n- 新增 `ASHTAKAVARGA_LABEL_MAP`\n- 新增 `_extract_ashtakavarga_block_perimeter()`\n- 新增 `_parse_ashtakavarga_compact_blocks()`\n- 识别 `SAV/As/Su/Mo/Ma/Me/Ju/Ve/Sa` 九个 `4×4` 小方块，按边框顺时针读取 12 个数值\n- 直接产出：\n  - `payload[\"sav\"]`\n  - `payload[\"bav\"]`\n  - `payload[\"_lagna_ashtakavarga\"]`\n\n**2. `_extract_ashtakavarga_candidates()` 改为优先走精确块解析**\n\n- 命中 `3×3` 小方块布局时，不再使用 `row0 × 337 / sum(row0)` 缩放启发式\n- 行级启发式保留为 OCR 损伤或非标准导出的后备方案\n\n**3. `_format_ashtakavarga_for_llm()` 输出同步更新**\n\n- 明确标注当前是否命中紧凑小方块精确解析\n- 附带精确导出的 `SAV / BAV / Lagna Ashtakavarga`\n- 不再把“让 LLM 手动做算术”当成主路径，只保留为诊断回退\n\n**4. 行星经度解析兼容三种导出格式**\n\n- `[\"26\", \"Ar 27'\", '19.07\"']`\n- `[\"20\", \"Le\", \"00'\", '00.34\"']`\n- `[\"5 Ge\", \"32'\", '00.12\"']`\n\n**5. `nakshatra` 缩写映射补充**\n\n- `Aswi -> Ashwini`\n- `Mool -> Mula`\n\n### `scripts/chart_sanity_check.py` 改动\n\n**6. `R3` 在 BAV 行不完整时改为显式 `SKIP`**\n\n- 旧行为：缺少 BAV 行时，仍拿不完整列和去对 `SAV`，导致整列误报 `FAIL`\n- 新行为：如果缺少行星，`R2` 报缺失，`R3` 返回 `SKIP BAV incomplete`\n\n### 回归结果\n\n使用以下样本回归验证：\n\n- `DingXiao_JHora`（MinerU 导出）\n- `Jhon.md`\n- `TanZheng_JHora.md`\n- `ZhangLiYing_JHora.md`\n- `ZhangYue_JHora.md`\n- `Zhu.pdf` / `zhujingyu.pdf` / `Lilyeas.pdf` / `caoyuyan.pdf` 的 MinerU markdown\n\n结果：\n\n- 紧凑 Ashtakavarga 样本可稳定提取 `SAV=337`\n- 7 颗星 `BAV` 行常量全部匹配\n- `BAV` 列和与 `SAV` 全量对齐\n- 非完整 dasha 导出的样本仅 `R9=SKIP`，其余校验通过\n\n## v1.4.1 — 盲审规则架构分级：区分 🔴 隔离依赖型 与 🟢 可执行型 (2026-05-27)\n\n### 变更动机\n\nv1.4.0 的盲审规则章节将 8 条规则等权重并列——未区分哪些能在单体模式下执行、哪些受 LLM 注意力机制的物理限制。经审查确认：\n\n- \"禁止反向推导\"和\"禁止经历=天赋\"在单体 skill 中无法被架构保证——用户经历一旦进入上下文窗口，全局注意力已加权，规则文本无法让模型\"不知道\"已知信息。\n- 能做到真正盲审不是因为规则文本，而是 reader→core 子 agent 管线——core 启动时只看到 structured_data.md，原始对话不可见。\n\n### `SKILL.md` 改动\n\n**盲审规则拆分为三个子章节：**\n\n- 🔴 **隔离依赖型约束**（规则 1-2）：标注\"声明性提示——单体模式下无法被架构保证\"，每条附单体模式实际效果说明。此规则退化为事后对照提醒和输出纪律，而非真正的逻辑隔离。\n- 🟢 **可执行约束**（规则 3-8）：输出格式/一致性/行为纪律——不受注意力机制限制。\n- **达到真正盲审的路径**：给出 reader→core 子 agent 管线方案，说明在何种架构下 🔴 类规则变为真正可执行。\n\n---\n\n## v1.4.0 — 盲审规则 + 信号分级 + 主动路由 + 命名修正 (2026-05-27)\n\n### 变更动机\n\n三份用户报告的交叉审计暴露了以下差距：\n\n- **盲审缺失**：本 skill 的分析流程在行星拆盘前已收集用户性别/感情/职业信息，无法做到逻辑隔离审计。\n- **篇幅均质化**：9 颗行星用同样的八镜框架等量输出，导致 AK/Vargottama 行星与普通行星的解读深度无差异。\n- **被动导航**：旧版列出 reference 菜单让用户（和 AI）自己选——实际运行中 AI 倾向于加载全部 reference 或遗漏关键文件。\n- **命名误导**：`时空盘.md` 的名称与西方占星合盘（synastry/composite chart）术语重合，实际内容为时间窗口+场域地点+事件主题的联合分析。\n\n### `SKILL.md` 改动\n\n**1. 新增「盲审规则」章节（8 条硬约束，优先级最高）**\n\n| 规则 |\n| --- |\n| 禁止反向推导 |\n| 禁止经历=天赋 |\n| 禁止情绪定调 |\n| Dasha 回顾必须双向 |\n| 相同数据→相同结论 |\n| 验前事信息隔离 |\n| 禁止读 user_context |\n| 禁止用经历调结论 |\n\n**2. 新增「信号分级与篇幅控制」章节**\n\n- 🔴 A 级（AK / Vargottama / 入旺 / 格局枢纽）→ 完整八镜 + 白话解读，每 2 颗暂停\n- 🟡 B 级（Lagna Lord / DK / AmK / 逆行 / L10 或 L7 主）→ 精简四镜 + 白话解读\n- ⚪ C 级（其余行星）→ 一行表格快扫（6 列）\n\n附带升级规则：互溶参与者自动升一级；用户核心关切对应的宫主星自动升一级。\n\n**3. 导航方式重写为「主动路由」**\n\n- 旧：被动列表——\"用户要 A → 读 X.md\"\n- 新：智能匹配规则——AI 根据问题关键词自动加载对应 reference，用自然语言告知用户（\"我先整体看一下你的盘\"），不说\"我先读取总盘 reference\"\n- 新增路由禁止行为：不加载无关 reference、不列菜单、不说内部路由话\n- 旧导航方式保留为「导航速查」表格供 AI 内部参考\n\n**4. 第二阶段分组暂停从\"按行星组\"改为\"按信号级别\"**\n\n- 旧：A 组 Sun/Moon/Mars → B 组 Me/Ju/Ve → C 组 Sa/Ra/Ke（固定分组）\n- 新：A 级行星按 Shadbala 降序每 2 颗暂停；B 级分一组输出；C 级一次性表格全扫\n\n**5. 字数下限随信号级别差异化**\n\n- A 级 ≥800 字，B 级 ≥400 字，C 级一行即可\n\n### 文件重命名\n\n**6. `references/时空盘.md` → `references/窗口与场域.md`**\n\n- 旧文件保留，顶部添加迁移说明和弃用标注\n- 新文件明确声明\"不是西方占星中的合盘（synastry/composite chart）\"\n- 内容优化：补充分析步骤（时间扫描→场域比对→时间×场域联合判断）、场域选择分类、输出格式模板\n\n### 引用更新\n\n**7. 所有活跃文件中的 `时空盘` 引用全面替换为 `窗口与场域`**\n\n- `SKILL.md`：description、路由规则、导航速查、执行硬约束、共通准则、sections 结构\n- `references/总盘.md`：适用场景、可选高级模块标题 + 正文\n- `references/事业.md`：专题转入链接\n- `references/婚姻.md`：专题转入链接\n\n## v1.3.1 — SAV/BAV 紧凑表格提取修复 (2026-05-08)\n\n### 变更动机\n\nJHora 导出的 Ashtakavarga 表格使用紧凑格式——9 个标签（SAV/As/Su/Mo/Ma/Me/Ju/Ve/Sa）以 `rowspan=2, colspan=2` 嵌入 12×12 网格，导致原有双策略（纯数值行 337 匹配、滑动窗口搜索）始终失败。经 3 份命盘交叉验证，发现紧凑表格第一行含缩放后的 SAV 值（缩放因子 ≈2.5×），纯数据行（全部值 0-8）可匹配 BAV 行星常数。\n\n同时与 Vedic Destiny System Architect 交叉审计确认：该 skill 也未能从同一 markdown 提取 SAV/BAV（校验输出仅列 R4-R10，R1-R3 被静默跳过），并非它的「完美分析」优于本 skill。\n\n### `scripts/jhora_markdown_bridge.py` 改动\n\n**1. 新增 `_parse_ashtakavarga_compact()` 函数**（~50 行）\n\n- SAV 提取：`row0[sign] × 337 / sum(row0)` → 12 宫 SAV 值，实测三份命盘总和均在 334-336（偏差 ≤3）\n- BAV 提取：扫描所有行，全体数值在 0-8 范围内则标记为纯数据行 → 按行总和贪心匹配最接近的 BAV 常数（±5 容差）\n- 返回值：`{\"sav\": [...], \"bav\": {\"Sun\": [...], \"Mercury\": [...], ...}}`\n\n**2. 新增 `_format_ashtakavarga_for_llm()` 函数**（~60 行）\n\n- 将紧凑表格展开后渲染为 LLM 可读的 Markdown 表格\n- 每行附带：数值总和、标签信息、BAV 候选标注（\"BAV candidate → Sun(48) diff=2\"）\n- 底部附 SAV 提取指南和 BAV 常数速查\n- 用途：当自动提取不完整时，LLM 可直接阅读此表手动完成 C10/C11 校验\n\n**3. `_parse_ashtakavarga()` 追加 Strategy 3**：调用 `_parse_ashtakavarga_compact()`\n\n**4. `parse_jhora_markdown()` 追加 Ashtakavarga 表格检测**：对含 `SAV` 标签且首行全数字的表格，自动将其 LLM 可读版本附入 payload 的 `_ashtakavarga_table` 字段\n\n### `scripts/chart_sanity_check.py` 改动\n\n**5. SAV 校验容差放宽**：`math.isclose(total, 337, abs_tol=0.01)` → `abs(total - 337) <= 5`（适配启发式提取的舍入误差）\n\n**6. BAV 行常量校验容差放宽**：同上，`abs_tol=0.01` → `abs(total - expected) > 5`\n\n### 效果\n\n| 检查项 | v1.3.0 | v1.3.1 |\n| --- | --- | --- |\n| C9 SAV=337 | ⏭️ 跳过 | ✅ 通过（334，容差内） |\n| C10 BAV 行常量 | ⏭️ 跳过 | 🔶 部分（4/7 行星，纯数据行） |\n| C11 BAV 列→SAV | ⏭️ 跳过 | ⏭️ 仍跳过（BAV 不完备） |\n\n### 设计原则\n\n- **启发式优于硬编码**：row0 缩放规律通过 3 份命盘交叉验证，比例因子 2.48-2.74 区间内对 SAV 总和的影响 ≤3\n- **LLM 阅读作为后备**：紧凑表格的完整 BAV 映射仍在研究中；`_format_ashtakavarga_for_llm()` 提供低成本的 LLM-in-the-loop 回退路径\n- **向后兼容**：不改变 payload 接口；新增字段 `_ashtakavarga_table` 仅当表格被检测到时附加\n\n---\n\n## v1.3.0 — 执行纪律升级：闸门硬阻断 + 输出风格约束 (2026-05-08)\n\n### 变更动机\n\n与 Vedic Destiny System Architect 的交叉审计暴露了本 skill 在\"防 AI 跑偏\"上的两个系统性短板：\n\n- 验证闸门只有逻辑描述，没有硬性输出阻断——AI 可以在单轮回复里跑完 Phase 1 + Phase 2\n- 缺少对 AI 输出风格的具体量化约束——表格可以替代白话解读，术语可以悬空出现\n\n本次升级从对方的架构中借鉴了\"硬暂停机制\"和\"风格量化约束\"，但**保持自有框架命名**（八镜、C1-C11、三分层），不引入 P1-P12 或物流模型等私有标签。\n\n---\n\n### `SKILL.md` 改动\n\n**1. 新增「输出风格硬约束」章节（导航方式之前）**\n\n- 比例控制：70% 白话 + 20% 数据 + 10% 注释\n- 禁极端词：用量化替代\"非常/极为/极度\"\n- 比喻必解释：每个比喻必须有 1-2 句对应说明\n- 术语必翻译：首次出现的术语括号内给通俗解释\n- 字数下限：行星审计 ≥600 字，板块总结 ≥300 字，C1-C11 每项必须有一句说明\n- 表格禁止悬空：所有表格前必须有白话解释\n\n**2. 执行硬约束 #6 追加闸门暂停规则**\n\n- 第一阶段输出完成后强制输出 `=== 验证闭环完成 ===` 确认模板\n- 模板包含：闸门状态 / C1-C11 通过数 / 命中等级分布 / 出生时间稳定度 / 校验等级\n- **关键约束**：必须立即停止，不得在同一轮回复中进入第二阶段\n\n**3. 第二阶段新增分组暂停**\n\n- A 组（Sun/Moon/Mars）→ 输出后暂停\n- B 组（Mercury/Jupiter/Venus）→ 输出后暂停\n- C 组（Saturn/Rahu/Ketu）→ 输出后暂停\n\n---\n\n### `references/总盘.md` 改动\n\n**4. 验证闸门处追加确认模板**（与 SKILL.md 一致）\n\n**5. C1-C11 追加计算公式（63 行）**\n\n- Nakshatra/Pada 计算：绝对经度 → floor(/13.3333) → pada\n- D9 映射计算：火/土/风/水象星座 pada 起点规则\n- 水金距角：Me=28° / Ve=48° 最大距角\n- 罗计对冲：180° ±1° 容差\n- 逆行合法性：Sun/Moon 不逆行，Rahu/Ketu 总逆行\n- Dasha 间隔常数链：6→10→7→18→16→19→17→7→20\n- SAV 总和=337、BAV 行常量表、BAV 列→SAV 交叉验证\n\n**6. 新增「7.5 AK 灵魂课题（必答）」**\n\n- AK 判定：绝对经度最高行星（排除 Rahu）\n- 解读三要素：身份与职责 / 星宿主 / 灵魂主线叙述（3-5 段）\n- 约束：用叙述语言，不用标签语言\n\n**7. 最低必答清单追加 AK 灵魂课题**\n\n---\n\n### 设计原则\n\n- **自研框架，不引入私有标签**：所有新增内容继续使用八镜、C1-C11、三分层等自有命名\n- **硬阻断优于软约束**：闸门从\"建议不进入\"升级为\"物理断点\"\n- **公式让 AI 自算**：C1-C11 不再只是\"检查结果\"，而是\"给定度数就能算\"\n\n---\n\n## v1.2.2 — SAV/BAV 手动读取回退指令 (2026-05-08)\n\n- SKILL.md 新增脚本失败后的 fallback：直接从原始 markdown 文本手动提取 SAV/BAV 数值并验证\n- 根因修复：模型不再把\"脚本 SKIP\"等同为\"SAV 不可获取\"\n\n## v1.2.1 — Ashtakavarga 自动提取 (2026-05-08)\n\n- jhora_markdown_bridge.py 新增 `_parse_ashtakavarga` 函数，双策略扫描 SAV 行（纯数值行337匹配 + 滑动窗口搜索）\n\n## v1.2.0 — 一致性检查强制编号制 (2026-05-08)\n\n- 一致性检查新增 C1-C11 强制编号输出格式（缺任何一行视为校验不完整）\n- C9-C11（SAV/BAV）变为不可静默跳过的硬性输出行：要么给数值+校验结果，要么给具体跳过原因\n\n## v1.1.3 — 特殊互溶变种检测 (2026-05-08)\n\n- 新增欺骗互溶和拒绝互溶两种不等价互溶的自动检测规则\n\n## v1.1.2 — 互溶接纳算法补强 (2026-05-08)\n\n- 增强不合意互溶判定：互溶不要求相位，不合意互溶仍有效\n- 新增接纳\"不领情\"效应检测：被接纳星落陷时的反向评估\n- 新增定位星链条追溯算法：最终定位星/群体定位的识别\n\n## v1.1.1 — 互溶算法增强 (2026-05-08)\n\n- 增强互溶动力学判定算法：新增强弱互溶、弱弱互溶的分级评估规则\n- 增强互溶落宫影响算法：角宫vs暗宫对互溶可控性的影响\n- 增强互溶相位调节算法：软/硬相位对互溶通道稳定性的影响\n- 新增接纳（Reception）识别规则作为互溶的补充\n\n## v1.1.0 — 分析深度升级 (2026-05-08)\n\n### 变更动机\n\n经过与同类 skill 的输出对比分析，发现 v1.0 版本存在以下系统性短板：\n\n- SAV/BAV 量化层被标记为\"可跳过\"，导致宫位级判断缺乏数据支撑\n- 行星分析维度单薄——无燃烧临界、无年龄状态、无逆行修正规则\n- 核心格局（Parivartana 互溶）完全遗漏\n- D9 校准只覆盖内核品质，缺少果实投射和房东审计维度\n- 角宫主效应（Kendradhipati Dosha）未被纳入分析\n\n本次升级**不使用任何其他 skill 的私有标签或框架命名**，所有新增内容均追溯至 Parashari 经典和 KN Rao 体系的公共知识。\n\n---\n\n### 改动清单\n\n#### `references/术语框架.md`\n\n**1. 新增「运行状态子维度」章节**\n\n- 燃烧（Combustion）：每颗行星的燃烧临界度数表（含逆行调整），Cazimi 说明\n- 逆行修正（KN Rao 体系）：落陷+逆行→视同入旺、入旺+逆行→视同落陷、入庙+逆行→深钻型\n- 行星年龄状态（Baladi Avasthas）：婴/少/青/壮/寂 五阶段度数区间和能量特征\n- 情绪与活动状态（Mood & Activity Avasthas）：JHora 常见取值和中文化说明\n\n**2. 新增「SAV/BAV 量化规范」独立章节**\n\n- SAV 宇宙常数 337 + BAV 行常量表\n- 宫位 SAV 阈值分档（≥32 充裕 / 28-31 良好 / 24-27 中等 / 20-23 偏紧 / <20 匮乏）\n- 掌宫资源评估（两宫 SAV 之和）\n- 缺 SAV/BAV 时的降级策略\n\n**3. 新增「角宫主效应（Kendradhipati Dosha）」章节**\n\n**4. 扩展「九分盘的定位」→ D9 复核五维度**（新增果实投射、房东审计）\n\n#### `references/总盘.md`\n\n**5. 一致性检查：SAV/BAV 从\"可跳过\"升级为\"必须尝试\"**\n\n**6. 行星拆盘：最低镜面从 7 个扩展到 8 个，运行状态必须展开子维度**\n\n**7. 新增「5.5 互溶与格局扫描（必做）」章节**\n\n**8. D9 复核：扩展为五维度强制覆盖**\n\n**9. 人生主线：增加互溶/格局分析和 D9 兑现总结要求**\n\n**10. 最低必答清单：增加互溶扫描、D9 五维度覆盖、SAV/BAV 必须尝试提取**\n\n#### `SKILL.md`\n\n**11. 执行硬约束 #2：SAV/BAV 从\"可跳过\"升级为\"必须尝试，失败才跳过\"**\n\n---\n\n### 设计原则\n\n1. **公共知识，自有表达**：所有新增的燃烧临界值、SAV 常数、逆行修正规则均为 Parashari 经典内容。zh 的表述方式（八镜框架、五维度复核、\"必须尝试失败才跳过\"的渐进约束）是独立的。\n2. **渐进约束**：不追求一步到位的\"完美校验\"，而是在现有框架上增加\"必须尝试→失败才跳过→跳过要写原因→降级要标置信度\"的渐进链条。\n3. **向后兼容**：现有报告的 sections 结构（01-13）不变；新增分析融入现有流程。\n4. **不抄袭私有标签**：不引入其他 skill 的 P1-P12、Growth-Hacker、Destroyer、物流模型等私有框架。\n\n---\n\n## 2026-04-29 — 验证闸门重构\n\n**问题**：旧版流程在完整拆盘（9 颗行星八镜分析、九分盘复核、人生主线、report.html）和既往事件回看之间没有硬性先后顺序。出报告时可能先跑完所有拆盘再回头做前事验证，导致——如果出生时间有偏差，整份报告都建立在不可靠的基础上。\n\n**修改范围**：`总盘.md`、`SKILL.md`\n\n### 变更内容\n\n#### 新增：验证闸门（`总盘.md` 步骤 4 之后）\n\n步骤 1-4（基础盘面 → 一致性检查 → 既往事件回看 → 出生时间稳定度）形成 **验证闭环**，未闭合前不得进入步骤 5-8 的交付级拆盘。\n\n**允许区 / 禁止区分界**：\n\n- **允许**：扫描 dasha 时间线找切换点、定位过去 5-10 年激活的宫位和 karaka、识别高信号窗口——服务于步骤 3 提问质量\n- **禁止**：9 颗行星八镜完整拆盘、九分盘兑现复核、人生主线汇总、生成 `report.html`\n\n闸门通过条件：\n\n- 一致性检查无硬冲突\n- 既往事件回看有至少一条 `高贴合`，无大面积 `失配`\n- 出生时间稳定度不低于 `中等`\n\n未通过时降级为基础摘要 + 验证结果，不生成 HTML。\n\n#### 两阶段分节结构（`SKILL.md`）\n\n```\n# === 第一阶段：验证闭环 ===\nsections/\n  01-基础盘面.md\n  02-一致性检查.md\n  03-既往事件回看.md\n  04-出生时间稳定度.md\n\n# === 第二阶段：完整拆盘（闸门通过后）===\nsections/\n  05-行星拆盘A.md\n  ...\n  13-落地提醒.md\n```\n\n#### `report.meta.json` 状态字段\n\n```\nstatus: verifying | pending_verification | complete\n```\n\n- `verifying`：第一阶段已生成，等待用户确认验证结果\n- `pending_verification`：闸门未通过，报告停留\n- `complete`：闸门通过，第二阶段完成，HTML 已打包\n\n#### 报告交付纪律\n\n- 共通准则 #2 更新为两阶段交付说明\n- 强制交付（第 6 条）拆分第一阶段和第二阶段交付物\n- 报告包装新增\"不要在第一阶段生成完整 HTML\"\n\nFile v1.0.9:skill-card.md\n\n## Description:\n\nChinese-language Vedic astrology workflow for full chart review, Rashi and Navamsha comparison, past-event review, birth-time stability checks, career themes, marriage and relationship themes, timing windows, location analysis, and structured chart breakdowns from Jagannatha Hora PDFs, screenshots, or text chart data.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[seanding1998](https://clawhub.ai/user/seanding1998)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nChinese-speaking users and practitioners use this skill to structure Vedic astrology chart analysis, compare divisional charts, review life-event timing, and produce readable Markdown or HTML reports. The workflow emphasizes explicit evidence checks, confidence downgrades when chart data is incomplete, and topic-specific routing for full-chart, career, marriage, and timing/location questions.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The workflow may process sensitive birth details and life-context information.\n\nMitigation: Use only the chart and background information needed for the requested analysis, and avoid retaining generated report files longer than necessary.\n\nRisk: Report mode can create persistent local HTML reports from sensitive personal data.\n\nMitigation: Choose a dedicated output folder, confirm report creation before writing files, and review generated files before sharing or archiving them.\n\nRisk: The security evidence reports an unsafe-link issue in generated HTML from untrusted Markdown.\n\nMitigation: Do not open or click links in generated HTML from untrusted Markdown until link scheme filtering is fixed.\n\n## Reference(s):\n\n- [Total Chart Review Workflow](artifact/references/总盘.md)\n- [Career Topic Workflow](artifact/references/事业.md)\n- [Marriage Topic Workflow](artifact/references/婚姻.md)\n- [Timing and Location Workflow](artifact/references/窗口与场域.md)\n- [Terminology and Eight-Lens Framework](artifact/references/术语框架.md)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Files, Shell commands, Configuration, Guidance]\n\n**Output Format:** [Chinese Markdown analysis with tables, validation summaries, JSON report metadata, shell commands, and optional self-contained HTML reports]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May process sensitive birth and life-context data; report mode can create persistent local HTML files.]\n\n## Skill Version(s):\n\n1.0.9 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.8: 12 files, 75234 bytes\n\nFiles: CHANGELOG.md (16643b), references/事业.md (6865b), references/婚姻.md (5264b), references/总盘.md (27871b), references/术语框架.md (18222b), references/窗口与场域.md (4351b), scripts/build_report_html.py (25879b), scripts/chart_sanity_check.py (22028b), scripts/jhora_markdown_bridge.py (22920b), skill-card.md (2916b), SKILL.md (27746b), _meta.json (132b)\n\nFile v1.0.8:SKILL.md\n\n---\n\nname: vedic-chart-analysis-zh\n\ndescription: 吠陀命盘分析中文入口。用于完整命盘研判、命主盘 Rashi chart 与九分盘 Navamsha chart 联读、既往事件回看、出生时间稳定度判断、事业主题、婚姻主题、时间与场域联合分析，以及基于 Jagannatha Hora PDF、星盘截图或文本命盘数据的系统拆盘。当用户提到完整星盘、事业方向、婚姻问题、关系窗口、桃花时间、迁移地点、城市比较、时间窗口，或吠陀占星、Jyotish、Jaimini、Parashari 相关请求时触发。\n\n---\n\n# 吠陀命盘研判系统\n\n这是一套中文总入口 skill。先根据用户问题主动匹配最合适的 reference，再读取分析——不列菜单让用户自己选。\n\n## 执行速览（AI 拿到 skill 后的阅读顺序）\n\n1. **分层推断规则**（下节）→ 绝对优先，覆盖所有 reference\n2. **执行硬约束** → 不可降级的底线\n3. **主动路由** → 匹配 reference，匹配后**必须读取对应 reference 全文**\n4. **信号分级与篇幅控制** → 决定每颗行星写多深\n5. **输出风格硬约束** → 影响说话方式但不改变框架\n\n**闸门确认提示是唯一允许向用户暴露内部验证状态的特例**——其余场合遵守\"不向用户转播内部路由\"。\n\n## 输出风格硬约束（优先级最高，覆盖所有 reference）\n\n这些约束直接影响 AI 的\"说话方式\"，不改变分析框架本身。\n\n1. **比例控制**：每个分析模块的聊天输出 ≈ 70% 白话解读 + 20% 数据表格 + 10% 技术注释。\n   禁止表格堆砌替代解读——表格是对白话的佐证，不是替代。\n2. **禁极端词**：不使用\"非常\"\"极为\"\"极度\"\"极强\"等修饰词。用数据替代感叹。\n   ❌ \"火星极强\" → ✅ \"Shadbala 1.45，九大行星中最高\"\n3. **比喻必解释**：使用任何比喻（如\"穿书生袍的将军\"）时，必须在同一段落内用 1-2 句说明比喻的对应关系。\n4. **术语必翻译**：首次出现的占星术语必须在括号内给出通俗解释。\n   例：\"Kendradhipati Dosha（角宫主效应：吉星管角宫时会'怠工'，因守护职责分散了精力）\"\n5. **字数下限**：\n   - A 级行星审计 ≥ 800 字（含表格）\n   - B 级行星审计 ≥ 400 字（含表格）\n   - C 级行星一行快扫即可\n   - C1-C11 校验表的每一项必须有一句说明，不可只写 ✅/❌\n   - 十大板块总结每板块 ≥ 300 字\n6. **表格禁止悬空**：所有表格前必须有至少一段白话解释——先说人话，再放数据。\n\n## 分层推断规则（优先级最高，覆盖所有 reference）\n\n星盘提供的是**结构信号**——某个时间段内，哪些人生领域被激活、以及激活的强度和方向。同一个结构信号，在不同的人生背景下会兑现为不同具体事件。这不是占星系统的缺陷，而是结构信号本身的特性：它指示的是「领域 + 强度」，而非单一具体事件。\n\n人类占星师从来不会蒙住眼睛看盘——背景信息是将结构信号翻译为具体推断的必要输入，而非污染。真正需要隔离的只有一件事：**用已知结果倒推盘面含义**。\n\n本规则将分析拆为四个独立层。分层的目的不是隔离信息，而是隔离污染——让「用背景细化推断」成为合法的分析动作，同时确保「用结果编造盘面解读」无处藏身。\n\n### 层 0：星盘结构信号（客观不变）\n\n**输入**：仅来自命盘数据——Dasha 周期、宫位激活、行星状态、Yoga、Shadbala/SAV/BAV、分盘复核。\n\n**输出**：\n- 信号类型（关系 / 事业 / 财富 / 健康 / 迁移 / 学习 / 家庭 / 其他）\n- 信号强度（强 / 中 / 弱，基于至少两类独立证据交叉验证）\n- 可能兑现方向（复数——即使某个方向看起来再明显，也必须列出至少 2 个可能方向）\n\n**硬约束**：\n- **禁止反向推导**：不得从用户已告知的结果反推信号含义。8 宫 SAV=38 →「深度转化能力强」，可能方向为研究/心理/金融/危机干预——先列出方向，再对照用户经历；不能先知道用户方向再反过来锁定解读。\n- **禁止经历=天赋**：职业方向只能基于 L10 + AmK + 格局 + D10 + 强星。用户经历过 X ≠ 适合做与 X 相关的工作。\n- **禁止情绪定调**：用户自述的人生基调（顺遂/坎坷）不影响格局评估。家境普通的人也能有顶级 Raja Yoga。\n\n### 层 1：背景事实卡（用户已知，结构化收集）\n\n**收集时机**：在第一阶段开始分析前，按需收集。只收集当前分析方向所需领域的信息——用户问事业不收集感情，问迁移不收集健康。\n\n**收集内容**：\n\n| 领域 | 收集项 | 用途 |\n|------|--------|------|\n| 通用 | 性别、年龄区间、出生时间精度 | 基础约束 |\n| 感情 | 当前状态（已婚/恋爱/单身/离异）、关键关系是否稳定 | 缩小关系信号的兑现形式范围 |\n| 事业 | 当前阶段（学生/在职/创业/待业/退休）、行业方向 | 缩小事业信号的兑现形式范围 |\n| 迁移 | 当前居住地、异地关系强弱、是否有搬迁动力 | 缩小迁移信号的兑现形式范围 |\n| 健康 | 已知重大健康问题 | 缩小健康信号的兑现形式范围 |\n\n**硬约束**：\n- **「事实」可以进入层 1**——可被外部验证的客观信息（婚姻状态、职业阶段、居住城市）是合法推断输入\n- **「自述」不能进入层 1**——「我性格内向」「我运气不好」「我一直很努力」是主观判断，需要被盘面验证，不能反过来作为推断的前提\n- **缺失信息不做假设**——背景事实卡中空白的项目标注为「信息不全」，对应领域的推断精度相应降级\n- **层 1 信息只用于缩小可能方向，不用于否定层 0 信号**——即使背景事实看起来与星盘信号方向不一致，也不能因此忽视信号本身\n\n### 层 2：联合推断（信号 × 背景 → 具体结论）\n\n**核心理念**：同样的星盘信号，在不同背景下指向不同具体事件，但核心信号类型不变。层 2 的任务是将层 0 的复数可能方向，通过层 1 的约束缩小为具体的概率排序。\n\n**输出格式**（每个涉及具体人生事件的推断必须覆盖以下结构）：\n\n```text\n推断：[具体结论]\n├── 星盘信号：[哪段 Dasha / 哪些宫位激活 / 哪些行星参与 / 信号类型与强度]\n├── 背景输入：[引用了背景事实卡的哪几条；若某领域信息不全，标注具体缺失项]\n├── 推理链：[信号 + 背景 → 结论的完整逻辑步骤]\n├── 纯星盘版本：[如果不考虑背景，同样的信号可能对应哪些方向（必须列出至少 2 个）]\n├── 边界条件：[什么情况下这个推断不成立或反转]\n└── 反事实检查：[如果背景事实卡中某条信息不同，结论会怎样变化]\n```\n\n**硬约束**：\n- **相同星盘数据 + 相同背景事实 → 相同结论**——两个命主如果有相同的 L10/格局/D10 配置且职业阶段相同，推荐方向必须一致，不论家境差异\n- **Dasha 回顾必须双向**：分析过去的 Dasha 时，同一段 Dasha 必须同时列出可能的正面和负面表现，不能因为用户那段时间过得好就只写正面的\n- **推断链中禁止出现「因为用户说过 X 所以 Y」**——推断的逻辑起点必须是层 0 的星盘数据，层 1 只参与第 2 步以后的方向缩小\n\n### 层 3：事后校验（诊断逻辑，而非判对错）\n\n**核心理念**：校验的目的不是回答「准不准」，而是回答「如果结果与预期不同，推断链的哪一环需要修正」。这是占星系统的校准机制，不是对单次预测的对错打分。\n\n**三个诊断维度**（在旧「高贴合/有限贴合/失配」标签之外新增）：\n\n| 维度 | 含义 | 评估 |\n|------|------|------|\n| **信号命中** | 星盘在该时间段是否确实有对应类型的结构信号激活？ | ✅ 命中 / ⚠️ 部分命中 / ❌ 未命中 |\n| **推断合理性** | 给定当时的星盘信号 + 背景事实，从信号到具体推断的逻辑链是否成立？ | ✅ 合理 / ⚠️ 方向对但精度偏 / ❌ 逻辑有缺陷 |\n| **信息完备度** | 推断时所掌握的层 1 背景事实是否足够支撑这个精度的结论？ | 🔴 高 / 🟡 中 / ⚪ 低 |\n\n**诊断矩阵**：\n\n- 信号命中 ❌ → 时间结构或出生时间可能有问题，优先排查\n- 信号命中 ✅ + 推断合理性 ❌ → 层 0 没问题，层 2 的推理需要修正（可能忽略了某个关键配置或高估了信号强度）\n- 信号命中 ✅ + 推断合理性 ✅ + 信息完备度 ⚪ → 推断方向对但精度偏了，大概率因为背景信息不够——不是系统问题，是信息输入不足\n- 三者全 ✅ 但实际结果与推断不符 → 标记为「系统边界案例」——对应信号的多义性超出了当前框架的覆盖范围，值得记录\n\n**旧命中等级保留兼容**：高贴合 / 有限贴合 / 失配（作为面向用户的总结标签，但在分析内部展开为上述三维诊断）。\n\n### 与旧「盲审」体系的切割\n\n旧盲审体系的核心错误假设是「背景信息 = 污染」，因此试图通过信息隔离来保证分析纯度。但事实上：\n\n- 需要隔离的污染只有一种：**用已知结果倒推盘面含义**（已由层 0 硬约束处理）\n- 背景信息是合法且必要的推断输入（已由层 1 + 层 2 规范化使用）\n- 校准不是打分，是诊断（已由层 3 重构）\n\n本规则生效后，旧盲审规则及其 reader→core 子 agent 隔离方案**不再适用**。所有关于「验前事信息隔离」「user_context 禁止读取」等旧有约束，已由本规则中的对应分层约束取代。\n\n## 信号分级与篇幅控制\n\n**在开始拆盘前，先做一遍信号扫描，确定每颗行星的篇幅级别。** 这是阅读节奏的核心——不让用户读 9 颗同样长度的星。\n\n### 分级标准\n\n| 级别 | 判定 | 篇幅 |\n| --- | --- | --- |\n| 🔴 **A 级** | AK / Vargottama / 入旺 / 深度燃烧(<5°) / 落陷有 NBRY / 参与 Raja Yoga 或 Dhana Yoga / 全盘格局枢纽（如互溶参与者） | **完整八镜**（8 个镜面全写）+ 白话解读 + 使用提醒 |\n| 🟡 **B 级** | Lagna Lord / DK / AmK / 入庙 / 逆行 / 有紧密相位(<5°) / L10 或 L7 主 | **精简四镜**（主题归属 + 运行状态 + 兑现通道 + 使用提醒）+ 白话解读 |\n| ⚪ **C 级** | 其余行星 | **表格快扫**（一行 6 列：角色/落宫落座/Shadbala%/尊贵/一句话解读） |\n\n### 补充规则\n\n- 同一级别内部按 Shadbala 从高到低排\n- 互溶参与者自动升一级（C→B，B→A）\n- 一颗星同时满足多个条件，按最高条件定级（如同时是 AK 又是入庙 → A 级）\n- 用户的核心关切（事业/感情）对应的宫主星自动升一级\n- A 级行星输出暂停点：每 2 颗 A 级行星输出后暂停等待确认\n- 分级结果在聊天框简报一次（如\"A 级：水星、木星 / B 级：太阳、月亮、土星 / C 级：火金罗计\"），不需要用户确认\n\n## 主动路由\n\n**不要列 reference 菜单让用户自己选。根据用户问题，主动匹配最合适的 reference，并在开始分析前用自然语言告知用户你正在做什么。**\n\n### 路由规则\n\n```\n用户的问题 … → 你自动匹配 →\n\n问题涉及\"整张盘\"\"全面分析\"\"命盘研判\"\"人生总览\"\"我是什么样的人\"：\n  → 加载 references/总盘.md + references/术语框架.md\n  → 告知用户：\"我先完整看一遍你的全盘结构，然后拆开说。\"\n\n问题涉及\"事业\"\"工作\"\"跳槽\"\"赚钱\"\"创业\"\"行业方向\"：\n  → 加载 references/事业.md + references/术语框架.md\n  → 告知用户：\"我重点看事业线。如果你需要，之后可以再补全盘。\"\n\n问题涉及\"感情\"\"婚姻\"\"恋爱\"\"桃花\"\"伴侣\"\"关系\"：\n  → 加载 references/婚姻.md + references/术语框架.md\n  → 告知用户：\"我重点看感情和关系。如果你需要，之后可以再补全盘。\"\n\n问题涉及\"去哪个城市\"\"什么时候搬家\"\"迁移\"\"异地发展\"\"地点比较\"：\n  → 加载 references/窗口与场域.md + references/术语框架.md\n  → 告知用户：\"我结合时间和地点两个维度来看。如果你还没有完整命盘分析，建议先做一遍基础拆盘。\"\n\n问题涉及两个以上方向（如\"事业和感情都看看\"）：\n  → 先加载 references/总盘.md，总盘跑完再按优先级加载事业或婚姻。\n\n已经有 markdown 报告目录，想包装成单文件 HTML：\n  → 使用 scripts/build_report_html.py\n```\n\n### 路由禁止行为\n\n- ❌ 不主动加载不相关的 reference（如用户问事业，不加载婚姻.md）\n- ❌ 不说\"我先读取总盘 reference\"这类内部路由话——对用户只说\"我先整体看一下你的盘\"\n- ❌ 不列出一串 reference 文件让用户自己选\n\n## 导航速查（供 AI 内部判断路由时参考）\n\n| 用户问什么 | 加载哪个 reference | 覆盖范围 |\n| --- | --- | --- |\n| 完整命盘、总览 | `references/总盘.md` | 基础盘面、验证闸门、行星拆盘、D9 复核、宫位主轴、人生主线上/下、落地提醒 |\n| 事业 | `references/事业.md` | 事业主线、赚钱方式、工作形态、时间窗口、风险与提醒 |\n| 婚姻/感情 | `references/婚姻.md` | 关系模式、伴侣结构、时间窗口、风险与提醒 |\n| 时间+地点 | `references/窗口与场域.md` | 地点差异、迁移判断、时间窗口缩小、场域联合分析 |\n| 术语/框架 | `references/术语框架.md` | 八镜框架、校验规则、冲突裁定、术语定义 |\n| 包装 HTML | `scripts/build_report_html.py` | MD sections → 单文件自包含 HTML |\n\n不要一次性载入全部 reference。先判断问题重心，再只读最相关的一组。\n\n## 执行硬约束\n\n这些约束优先级高于各专题 reference。能算的就算，能核的就核，不能核的就降级，不允许用空泛措辞把缺口糊过去。\n\n### 1. 先判问题类型，再锁最低交付\n\n- 完整命盘研判：必须覆盖基础盘面、一致性检查、既往事件回看、出生时间稳定度、命主盘 Rashi chart、九分盘 Navamsha chart、人生主线和使用提醒\n- 事业专题：必须覆盖事业主线、赚钱方式、工作形态、时间窗口、主要风险和使用提醒\n- 婚姻专题：必须覆盖关系模式、伴侣结构、时间窗口、主要风险和使用提醒\n- 窗口与场域专题：必须覆盖地点差异、时间窗口、取舍逻辑和使用提醒\n\n不要把完整问题答成几段松散短评，也不要把专题问题答成只有性格描述的泛泛解释。\n\n### 2. 只要用了数字结论，就必须有校验来源\n\n只要回答里出现下面这类精确结论：\n\n- SAV、BAV、Shadbala 的数值比较\n- Nakshatra、pada、Navamsha chart 落座\n- Mercury、Venus 与 Sun 的距角\n- Rahu、Ketu 对冲\n- dasha 起止时间与窗口长度\n\n就必须先调用本地工具或明确引用当前对话里已经算过的结果。对于原始命盘资料，默认优先运行：\n\n```bash\npython \"scripts/chart_sanity_check.py\" <chart-input.json-or-jhora.md>\n```\n\n这个脚本现在可以直接读取 JHora 导出的 markdown，不必先手工改写成 JSON。\n\n**SAV/BAV 矩阵是必须尝试的项目，不是可选加分项**：\n\n- 只要原始资料中有任何 SAV/BAV 数字（PDF 截图、JHora 导出表格、用户手动输入），就必须提取并完成 SAV 总和=337、BAV 行常量、BAV 列→SAV 三项校验（详见 `术语框架.md`）\n- 如果脚本对图式表格解析失败，优先手动列出 12 宫 SAV 值，再做算术校验\n- 只有经尝试后确实无法提取（OCR 乱码、截图模糊不可辨认），才标记为\"跳过\"并写明具体原因（\"截图分辨率不足\"而非笼统的\"图式表格未能自动化解析\"）\n- 跳过 SAV/BAV 意味着\"资源水位\"和\"落点环境\"两个八镜镜面降级为 Shadbala 和 Vimsopaka 替代，宫位级精细判断置信度降为 🟠 中\n\n**脚本解析失败 ≠ SAV/BAV 不可获取**。如果 `chart_sanity_check.py` 返回 SAV/BAV SKIP：\n\n- 不要只报告\"脚本跳过\"就完事\n- 直接从原始命盘数据文件（JHora markdown 或 PDF）中**手动读取** SAV 数值\n  - JHora markdown 中的 Ashtakavarga 表：`<td>` 标签里的数字就是每宫的 BAV/SAV 分值\n  - 逐行列出数值，定位 SAV 行（12 个数字总和 = 337），做加法验证\n  - 同样列出每颗行星的 BAV 12 宫数值，验证行常量\n- 只有在原始文件中确实找不到任何 SAV/BAV 数字时，才标记为 ⏭️ 跳过\n\n如果因为缺数据无法执行完整校验，要明确写出：\n\n- 哪些项目已通过\n- 哪些项目跳过\n- 这会把哪类结论从高置信度降到中或低置信度\n\n### 3. 重大判断必须有至少两类证据支撑\n\n任何主要结论都不能只靠一句抽象判断。至少要落到下面两类证据中的两类：\n\n- 宫位与宫主\n- 行星状态\n- dasha\n- 命主盘 Rashi chart 落点\n- 九分盘 Navamsha chart 复核\n- SAV、BAV、Shadbala 或同类强弱表\n- karaka 或 yoga\n\n禁止这类松答：\n\n- 只说\"你事业有潜力\"但不交代潜力来自哪里\n- 只说\"关系容易反复\"但不说明反复是结构问题、时间问题还是环境问题\n- 只给一串术语和标签，不翻成现实语言\n\n### 4. 缺数据时必须降级，而不是硬推\n\n如果关键字段缺失、互相冲突，或出生时间明显不稳：\n\n- 先说缺口\n- 再说还能稳定判断什么\n- 最后说哪些结论暂时只能保留为低或中置信度\n\n不要把低置信度问题包装成确定判断。\n\n### 5. 时间问题必须落到具体窗口\n\n只要用户问：\n\n- 什么时候会发生\n- 哪段时间更适合推进\n- 婚期、关系窗口、跳槽窗口、搬迁窗口\n\n就不能只回答\"未来几年\"\"最近会有机会\"这类模糊话。最低要求：\n\n- 落到明确的年份、年月区间，或季度窗口\n- 说明窗口是由什么触发\n- 说明窗口里最可能发生什么，不要只给吉凶判断\n\n### 5.1 用户已经给了事件时间线时，直接进入回看直评\n\n如果用户已经把既往事件按年份或区间列出来：\n\n- 不要再把它改写成一串反问\n- 直接逐条回看\n- 每条至少写出：事件、命中等级（旧标签兼容）、信号命中、推断合理性、信息完备度、时间锚点、盘面锚点、牵强处、诊断备注\n\n统一使用这三档命中等级：\n\n- `高贴合`：时间和事件性质都明显对上\n- `有限贴合`：时间接近，但事件级别、强度或主题更宽\n- `失配`：盘面很难为这条事件提供有效支撑\n\n### 5.2 细节必须分层，不要一口气跳到专名\n\n解释事件时，先分清下面三层：\n\n- `结构层`：技术型、大机构、异地、边工边学、高压慢回报\n- `窗口层`：某段时间职业定向、离职、迁移、承压、进修\n- `专名层`：具体公司、具体国家、具体病名、某一个人做了什么\n\n命盘最稳的是结构层，其次是窗口层。专名层只能在外部事实已经给出、且盘面确有支撑时作为对照结果引用，不能反过来冒充盘里本来就能直接读出的结论。\n\n### 6. 报告型请求强制交付完整产物\n\n如果请求规模已经达到完整报告或大型专题，遵循两阶段纪律（详见 `总盘.md` 验证闸门）：\n\n**第一阶段（验证闭环）**：\n\n- 聊天框输出基础盘面、一致性检查、既往事件回看、出生时间稳定度\n- 生成 `report.meta.json`（status 标记为 `verifying`）\n- 生成第一阶段 `sections/`（01 到 04）\n\n**第二阶段（完整拆盘）**：\n\n- 验证闸门通过后才执行\n- 执行信号分级扫描，确定 A/B/C 级别\n- 生成第二阶段 `sections/`（05 到 13）\n- 更新 `report.meta.json`（status 标记为 `complete`）\n- 生成 `report.html`\n\n**第二阶段内的分组暂停**：9 颗行星拆盘按信号级别组织：\n\n- A 级行星按 Shadbala 降序输出，每 2 颗暂停等待确认\n- B 级行星分一组输出（3-4 颗一组），完成后暂停\n- C 级行星在一次性表格中全部扫完\n\n如果验证闸门未通过，报告停留在第一阶段，`report.meta.json` 的 status 标记为 `pending_verification`，不生成 `report.html`。\n\n**闸门暂停规则（不可跳过）**：\n\n第一阶段输出完成后，必须输出以下确认提示并**立即停止**，不得在同一轮回复中进入第二阶段：\n\n```\n=== 验证闭环完成 ===\n闸门状态：[通过 / 未通过]\n- 一致性检查：C1-C11 通过 X/11 项\n- 既往事件回看：\n  信号命中率：✅ X 条 / ⚠️ X 条 / ❌ X 条\n  推断合理性：✅ X 条 / ⚠️ X 条 / ❌ X 条\n  信息完备度：🔴 X 条 / 🟡 X 条 / ⚪ X 条\n  （旧标签兼容：高贴合 X 条 / 有限贴合 X 条 / 失配 X 条）\n- 诊断汇总：[主要断点类型——信号？推断？信息？]\n- 出生时间稳定度：[稳定 / 中等 / 明显不稳]\n- 校验等级：[🔴极高 / 🟡高 / 🟠中]\n\n请确认以上验证结果。\n回复\"继续\"→ 进入完整拆盘（第二阶段）\n回复具体疑问 → 针对性补充\n===\n```\n\n### 7. 输出必须先说现实判断，再给盘面抓手\n\n每个主要小节都必须先把结论翻成普通人能懂的话，再上证据。表格、缩写和术语不能单独悬空出现。\n\n## 共通准则\n\n### 1. 不要向用户转播内部路由\n\n不要说下面这类话：\n\n- `我先加载总盘 reference`\n- `我切到事业专题`\n- `我按窗口与场域规则处理`\n- `我完成了内部检查步骤`\n\n用户只需要看到判断、提问、结论和限制，不需要看到 skill 内部导航。\n\n**唯一例外**：验证闸门确认提示（含一致性检查、信号命中率、诊断汇总等）必须向用户输出。这是让用户参与验证闭环的必要步骤，不属于\"内部路由\"转播。\n\n### 2. 报告型请求默认交付整套产物（两阶段）\n\n只要问题已经达到完整报告或大型专题的规模，默认交付物应当按两阶段组织（详见 `总盘.md` 验证闸门）：\n\n**第一阶段交付（验证闭环）**：\n\n- 一份用户当场可读的基础盘面 + 验证结果聊天输出\n- `report.meta.json`（status: `verifying`）\n- `sections/01` 到 `04`（基础盘面、一致性检查、既往事件回看、出生时间稳定度）\n\n**验证闸门通过后，进入第二阶段**：\n\n- 执行信号分级扫描\n- 继续拆盘分析聊天输出\n- 追加 `sections/05` 到 `13`\n- `report.meta.json` status 更新为 `complete`\n- 生成 `report.html`\n\n如果验证闸门未通过，停留在第一阶段，status 标记为 `pending_verification`，不生成 HTML。\n\n### 3. 可精确计算的内容优先调用本地工具\n\n只要本地 Python 可用，就不要把能精确核算的项目留给口算或主观估算。\n\n必须工具化的项目包括：\n\n- SAV、BAV 的总和、行常量、列回填和阈值分档\n- 根据度数反推 Nakshatra 和 pada\n- 根据度数反推九分盘 Navamsha chart 落座\n- Mercury、Venus 与 Sun 的距角\n- Rahu、Ketu 的对冲检查\n- 逆行合法性检查\n- dasha 年月区间的日期运算\n- Shadbala 或同类强弱表的排序和数值比较\n\n真正适合人工判断的部分包括：\n\n- 宫主职责和主题归属\n- 宫位主题\n- yoga 的解释\n- 既往事件回看问题设计\n- 最终整合与建议\n- 窗口与场域分析里的地点语境与选择权衡\n\n优先使用的辅助脚本：\n\n```bash\npython \"scripts/chart_sanity_check.py\" <chart-input.json-or-jhora.md>\n```\n\n如果原始资料只给了部分数字，也照样对已有部分做检查，并明确写出哪些项目因为缺数而跳过。缺数据时要降级置信度，不要硬补精确结论。\n\n### 4. 先给现实判断，再拆盘面抓手\n\n每个主要小节都先回答：\n\n- 这在现实里意味着什么\n- 强项或阻力会体现在哪\n- 用户最先该抓住的重点是什么\n\n现实判断之后，再补盘面抓手：\n\n- 宫位与宫主\n- 行星状态\n- dasha\n- 命主盘 Rashi chart\n- 九分盘 Navamsha chart\n- 必要时使用八镜框架\n\n### 5. 复用当前对话上下文\n\n如果当前对话里已经有可用的总盘结果：\n\n- 不要整套重跑\n- 直接基于已有研判回答更窄的问题\n- 只有在用户补了新资料或原结论不足以支持新问题时，才追加计算\n\n### 6. 不要编造数据\n\n如果原始资料不完整或互相冲突：\n\n- 明确说出缺了什么\n- 明确哪些结论要降级\n- 不要装作自己能给出精确答案\n- 不要靠事后改口把明显失误硬改成命中\n\n## 输入处理\n\n接受这些输入形式：\n\n- Jagannatha Hora PDF\n- JHora 导出的 markdown 报告\n- 星盘截图\n- 文本形式的命盘数据\n- 当前对话里已有的拆盘摘要\n\n如果用户只问一个窄问题，只收集这个问题真正需要的关键字段。\n\n## 输出契约\n\n每个主要小节都遵守同一结构：\n\n1. `现实判断`\n2. `盘面抓手`\n3. `使用提醒`\n\n表格可以保留，但前面必须先有一小段普通人能看懂的解释。\n\n## 报告包装\n\nHTML 生成和解读流程分开。只有在 markdown 报告内容已经存在时，才使用脚本。\n\n**报告两阶段纪律**：完整研判分两阶段出。第一阶段（验证闭环）闭合且验证闸门通过后，才生成第二阶段内容。`report.html` 在第二阶段 markdown 全部完成后才打包，不要在第一阶段就生成完整 HTML。\n\n对于完整研判，默认在分析完成后主动生成整套报告目录与 HTML。\n\n默认目录命名建议：\n\n```text\n./命盘报告-<client-or-anon>-<yyyymmdd>/\n```\n\n目录契约：\n\n```text\nreport-folder/\n  report.meta.json\n  sections/\n    01-基础盘面.md\n    02-主题拆盘.md\n```\n\n`report.meta.json` 必填字段：\n\n```json\n{\n  \"lang\": \"cn 或 en\",\n  \"client_name\": \"字符串\",\n  \"lagna\": \"字符串\",\n  \"gender\": \"字符串\",\n  \"status\": \"verifying | pending_verification | complete\",\n  \"report_kind\": \"字符串\",\n  \"source_system\": \"字符串\",\n  \"notes\": [\"可选\", \"字符串数组\"]\n}\n```\n\n运行：\n\n```bash\npython \"scripts/build_report_html.py\" <report-folder>\n```\n\n脚本输出单个自包含 HTML，不负责 PDF。\n\n完整研判分两阶段出，验证闸门见 `总盘.md`。第一阶段闭合后才允许生成第二阶段和 `report.html`。\n\n```text\n# === 第一阶段：验证闭环 ===\n# 生成后先让用户确认既往事件回看和出生时间稳定度。\n# 验证闸门未通过时，报告到此为止，不要生成 HTML。\n\nsections/\n  01-基础盘面.md         # 上升、九大行星、当前 dasha、九分盘可用度\n  02-一致性检查.md       # 已核 / 跳过 / 影响\n  03-既往事件回看.md     # 提问模式或直评模式，逐条命中等级\n  04-出生时间稳定度.md   # 稳定 / 中等 / 明显不稳\n\n# === 第二阶段：完整拆盘 ===\n# 验证闸门通过后才生成。出生时间不稳则本阶段降级。\n\nsections/\n  05-行星拆盘A.md        # A 级行星完整八镜\n  06-行星拆盘B.md        # B 级行星精简四镜 + C 级快扫\n  07-行星拆盘C.md        # 剩余行星 + 互溶专项扫描\n  08-九分盘兑现复核.md\n  09-宫位主轴.md\n  10-人生主线上篇.md\n  11-人生主线下篇.md\n  12-窗口与场域专题.md     # 选配\n  13-落地提醒.md\n```\n\n如果只是事业或婚姻专题，但内容已经达到完整报告规模，4 节就够：\n\n```text\nsections/\n  01-主题判断.md\n  02-盘面抓手.md\n  03-时间与场景.md\n  04-使用提醒.md\n```\n\nFile v1.0.8:_meta.json\n\n{\n  \"ownerId\": \"kn767kdw00a1yqfq7r0wfe49tn823tz6\",\n  \"slug\": \"vedic-destiny\",\n  \"version\": \"1.0.8\",\n  \"publishedAt\": 1780244160500\n}\n\nFile v1.0.8:references/事业.md\n\n# 事业主题流程\n\n如果需要共享术语、读盘抓手或冲突裁定口径，读取 `术语框架.md`。\n\n本专题遵循 SKILL.md「分层推断规则」（层 0/1/2/3）。事件回看使用双层口径：旧标签（高贴合/有限贴合/失配）+ 诊断维度（信号命中/推断合理性/信息完备度）。\n\n## 适用场景\n\n当用户明确问的是下面这些问题时，使用这个流程：\n\n- 事业方向\n- 工作适配度\n- 创业还是任职\n- 事业上升路径\n- 变现模型\n- 职场风险\n- 事业时机\n\n不要把它当完整总盘，也不要用它回答婚姻主题。\n\n## 需要的输入\n\n优先接受其中一种：\n\n- 当前对话里已有总盘摘要\n- Jagannatha Hora PDF\n- JHora 导出的 markdown 报告\n- 星盘截图\n- 文本命盘数据\n\n事业判断最关键的字段：\n\n- 上升\n- 命主盘（Rashi chart）里的 10 宫与 10 宫主\n- Amatyakaraka\n- 2 宫、6 宫、11 宫因素\n- 需要看平台、岗位层级、汇报链或组织摩擦时的 十分盘\n- 九分盘（Navamsha chart）里与事业兑现相关的落点\n- 当前与未来一段时间的大运\n\n如果当前对话里已经有可用的总盘摘要，直接复用，不要重扫原始资料。\n\n## 计算纪律\n\n如果面对的是原始命盘数字，而不是当前对话里已经检查过的总盘结果，下面这些地方优先调用本地 Python：\n\n- dasha 的日期区间运算\n- 和事业、金钱宫位有关的 SAV、BAV 阈值判断\n- 关键事业星的 Shadbala 排序\n- 需要显性引用时的九分盘（Navamsha chart）度数映射\n- 需要展开岗位结构时的 十分盘基础落点整理\n\n## 工作流\n\n### 1. 先判断是复用总盘，还是直接做专题\n\n只分两种：\n\n- 已有总盘支撑：当前对话里已经有完整或足够的总盘结论\n- 单独专题：没有总盘，只提取事业专题需要的最小基础\n\n如果是单独专题，要明确告诉用户：这份结果的置信度低于基于总盘的事业分析。\n\n### 2. 先搭事业主线\n\n优先看这些结构：\n\n- 10 宫\n- 10 宫主\n- 10 宫内行星\n- 与 6、7、9、11 宫的强连接\n- Amatyakaraka\n\n先把盘面翻译成简单的工作模式，再进细节：\n\n- 权威建设型\n- 市场对接型\n- 服务与系统型\n- 技术手艺型\n- 研究、危机或隐藏领域型\n\n### 3. 用八镜框架看它怎么落地\n\n事业主题里最常用的镜面是：\n\n- 主题归属：它在事业系统里到底负责什么\n- 运行状态：这股力量是顺、慢、绕，还是有明显损耗\n- 资源水位：这条事业线能拿到多少结构性支持\n- 落点环境：工作发生在顺风环境还是高摩擦地带\n- 兑现通道：结果是直接变现、靠口碑累积，还是先曲折后显形\n- 外力牵引：谁在帮助、压制或放大这条事业线\n- 熟成节律：它是早显、晚显，还是需要时间堆出层次\n\n### 4. 检查赚钱方式和工作手感\n\n把问题落到现实：\n\n- 这张盘更适合靠权威、手艺、交易、咨询、运营，还是危机处理赚钱\n- 更适合体制、自由职业、创业，还是混合路径\n- 更强的是曝光、执行、研究、领导，还是后端杠杆\n\n用 2 宫和 11 宫看钱从哪来。用 6 宫和土星看能不能长期扛住日常流程。\n\n### 5. 用九分盘（Navamsha chart）做兑现复核\n\n九分盘（Navamsha chart）的任务，是复核命主盘里的事业承诺成熟后还能不能站住。\n\n用它回答：\n\n- 表面上的事业承诺稳不稳\n- 成熟后更像专精、管理、公众可见度，还是专家手艺\n- 去掉头衔后，真正有意义的工作风格是什么\n\n### 5.5 需要判断平台、岗位和管理关系时，用 十分盘 做第二层复核\n\n下面这些问题，不要只靠 命主盘 和 九分盘 硬扛：\n\n- 大平台还是小团队更适合\n- 岗位是前台、后台、桥接层还是研究层\n- 汇报关系、管理压力、组织结构摩擦怎么来\n- 为什么会出现边缘化、调岗、上升受阻\n\n十分盘在这里的作用，是补岗位生态和组织结构，不是负责替你命名具体公司。\n\n### 5.6 遇到“人祸”或“病名”时，先收紧结论\n\n事业专题可以判断：\n\n- 组织结构在伤人\n- 汇报链或管理层带来高摩擦\n- 岗位环境正在消耗身体\n- 某段时间工作与健康互相拖累\n\n事业专题不该直接冒进到：\n\n- 某一个人故意害你\n- 某一个具体医学诊断就是盘里直接写着的结果\n\n如果用户追问极端事故、病痛或具体病名，要回到总盘流程，由总盘决定是否追加更细的分盘或只保留结构层判断。\n\n### 6. 给时间窗口\n\n优先用 dasha 定时。只有当 transit 真能显著缩小时窗时，再加进来。\n\n对每个窗口都要说清楚：\n\n- 什么机会在打开\n- 什么样的努力更有回报\n- 风险或隐藏代价是什么\n\n如果用户已经给了完整职业时间线，就把这些窗口逐条对照现实节点，显性标出 `高贴合 / 有限贴合 / 失配`，不要只给抽象走势。\n\n### 7. 需要地点或更细时机时，转入窗口与场域专题\n\n当用户继续问：\n\n- 去哪个城市发展更顺\n- 同一个岗位在不同地点差别大不大\n- 某个季度里哪一段最值得推进\n- 合作、跳槽、搬迁和事业窗口怎么叠加\n\n就转入 `窗口与场域.md`。\n\n## 最低必答清单\n\n事业专题至少要回答完下面这些问题，少一项就容易变松：\n\n- 事业主线是什么：10 宫、10 宫主、10 宫内行星、Amatyakaraka 怎么定调\n- 工作形态更像什么：任职、自由职业、创业，还是混合路径\n- 钱从哪里来：2 宫、6 宫、11 宫与事业线怎么接通\n- 真正的工作手感是什么：更偏领导、执行、交易、研究、服务，还是后端系统\n- 九分盘（Navamsha chart）是否支持兑现：成熟后更稳，还是代价更高\n- 需要时 十分盘 是否支持岗位生态和平台判断\n- 时间窗口在哪：至少给出明确年份或年月区间，并写出触发逻辑\n- 主要风险是什么：资源不足、环境磨损、节奏偏晚，还是方向选错\n\n如果用户明确问“创业还是任职”，必须显性比较两条路径，不要只给一个模糊偏好。\n如果用户给的是既往职业时间线，至少逐条覆盖所有重大节点，不要只挑好解释的节点。\n\n## 输出契约\n\n每个主要小节都用同一结构：\n\n### 1. 现实判断\n\n先说这张盘真正适合什么工作，用普通人的话讲清楚。\n\n### 2. 盘面抓手\n\n然后再上证据：\n\n- 命主盘（Rashi chart）里的 10 宫与 10 宫主\n- Amatyakaraka\n- 相关 yogas\n- dasha\n- 九分盘（Navamsha chart）\n- 真正有用的八镜镜面\n\n### 3. 使用提醒\n\n每节结尾落在下面这些里：\n\n- 应该顺着什么去放大\n- 哪种幻想该停止浪漫化\n- 哪个风险要提前处理\n- 哪个结论只是暂定，因为数据还不够\n\nFile v1.0.8:references/婚姻.md\n\n# 婚姻主题流程\n\n如果需要共享术语、读盘抓手或冲突裁定口径，读取 `术语框架.md`。\n\n本专题遵循 SKILL.md「分层推断规则」（层 0/1/2/3）。事件回看使用双层口径：旧标签（高贴合/有限贴合/失配）+ 诊断维度（信号命中/推断合理性/信息完备度）。\n\n## 适用场景\n\n当用户明确问的是下面这些问题时，使用这个流程：\n\n- 婚姻走向\n- 恋爱模式\n- 关系风险\n- 桃花窗口\n- 婚期与承诺窗口\n- 伴侣画像\n- 关系能不能落地\n\n不要把它当完整总盘，也不要用它回答事业规划。\n\n## 需要的输入\n\n优先接受其中一种：\n\n- 当前对话里已有总盘摘要\n- Jagannatha Hora PDF\n- JHora 导出的 markdown 报告\n- 星盘截图\n- 文本命盘数据\n\n婚姻判断最关键的字段：\n\n- 上升\n- 5 宫与 5 宫主\n- 7 宫与 7 宫主\n- Venus\n- 九分盘（Navamsha chart）落点\n- Vimshottari dasha 时间线\n- DK、PK、UL、AL\n\n如果当前对话里已经有可用的总盘摘要，直接复用，不要重扫原始资料。\n\n## 计算纪律\n\n如果面对的是原始命盘数字，而不是当前对话里已经检查过的总盘结果，下面这些地方优先调用本地 Python：\n\n- dasha 的日期区间运算\n- 和 5 宫、7 宫、11 宫兑现能力有关的 SAV、BAV 阈值判断\n- Venus、5 宫主、7 宫主等关键关系星的 Shadbala 排序\n- 需要显性引用时的九分盘（Navamsha chart）度数映射\n\n## 工作流\n\n### 1. 先判断是复用总盘，还是直接做专题\n\n只分两种：\n\n- 已有总盘支撑：当前对话里已经有完整或足够的总盘结论\n- 单独专题：没有总盘，只提取婚姻专题需要的最小基础\n\n如果是单独专题，要明确告诉用户：这份结果的置信度低于基于总盘的婚姻分析。\n\n### 2. 先用现实体验描述关系模式\n\n从真实体验出发，不要从黑话出发：\n\n- 这个人通常怎么建立连接\n- 会被什么吸引\n- 哪种伴侣互动会反复出现\n- 主要摩擦点在哪\n\n然后再用盘面去支撑：\n\n- 5 宫和 5 宫主看恋爱风格\n- 7 宫和 7 宫主看伴侣结构\n- Venus 看吸引力、审美和关系润滑度\n- 九分盘（Navamsha chart）看深度、耐久度和成熟后的质量\n\n### 3. 用八镜框架判断关系能量怎么落地\n\n婚姻主题里最常用的镜面是：\n\n- 主题归属：这颗星在关系系统里负责什么\n- 运行状态：它是稳定、逆行、受损，还是带着明显绕路感\n- 资源水位：这段关系有没有足够条件持续下去\n- 落点环境：关系能量落在轻松区还是高摩擦区\n- 兑现通道：吸引、承诺、稳定与收尾是怎样出现的\n- 外力牵引：谁在帮助、压迫、干扰这段关系模式\n- 熟成节律：这类关系是早显、晚显，还是随着年龄才变稳\n\n### 4. 把“关系模式”和“时间窗口”分开\n\n不要把下面这些混成一句模糊的话：\n\n- 恋爱风格\n- 婚姻稳定性\n- 欲望高峰\n- 真正的承诺窗口\n\n时间上优先用 dasha。只有 transit 能明显缩小窗口时，再加进来。\n\n### 5. 用九分盘（Navamsha chart）判断质量和持久度\n\n九分盘（Navamsha chart）主要回答：\n\n- 这张盘更容易吸引滋养型还是消耗型关系\n- 表面化学反应和内在兼容度是否一致\n- 随着成熟，关系风格会变稳还是变复杂\n\n### 6. 传统性别指标要谨慎处理\n\n如果解读依赖传统 spouse-karaka 规则，而用户自己的关系框架不清楚：\n\n- 必要时短问一句\n- 或者先说明自己的假设，再继续\n\n拿不准时，宁可回到盘面本身，也不要替用户乱猜。\n\n### 7. 需要地点或更细时机时，转入窗口与场域专题\n\n当用户继续问：\n\n- 异地关系在哪个地方更容易落地\n- 哪个时间窗更适合确定关系\n- 婚期、搬迁、合作和感情进展如何叠加\n- 不同城市是否会放大或缓和关系摩擦\n\n就转入 `窗口与场域.md`。\n\n## 最低必答清单\n\n婚姻或关系专题至少要回答完下面这些问题：\n\n- 关系模式是什么：5 宫、5 宫主、7 宫、7 宫主和 Venus 分别在讲什么\n- 伴侣结构是什么：更容易吸引哪类人，关系怎么落地\n- 关系质量如何：九分盘（Navamsha chart）是加分、耗损，还是复杂化\n- 时间窗口在哪：至少给出明确年份或年月区间，并写出触发逻辑\n- 风险点是什么：延迟、消耗、反复、异地、承诺成本，还是边界问题\n- 用户怎么用：什么样的关系值得推进，什么样的关系该及时止损\n\n如果用户问婚期、正缘或承诺窗口，不能只说“会有机会”或“偏晚”。必须给出具体时间范围，并说明那段时间更像恋爱、确定关系，还是进入婚姻安排。\n\n## 输出契约\n\n每个主要小节都用同一结构：\n\n### 1. 现实判断\n\n先说这种关系模式在普通生活里到底是什么感觉。\n\n### 2. 盘面抓手\n\n然后再上证据：\n\n- 5 宫\n- 7 宫\n- Venus\n- 九分盘（Navamsha chart）\n- dasha\n- DK、PK、UL、AL\n- 真正有用的八镜镜面\n\n### 3. 使用提醒\n\n每节结尾落在下面这些里：\n\n- 什么样的关系应该追，什么样的关系应该避\n- 怎样更理性地使用时间窗口\n- 还存在哪些不确定性\n\nFile v1.0.8:references/总盘.md\n\n# 总盘研判流程\n\n如果需要共享术语、读盘抓手或冲突裁定口径，读取 `术语框架.md`。\n\n## 适用场景\n\n当用户要的是整张盘的系统拆盘，而不是单一专题时，使用这个流程。\n\n典型请求：\n\n- 完整命盘研判\n- 本命总览\n- 命主盘（Rashi chart）与九分盘（Navamsha chart）联读\n- 既往事件回看\n- 出生时间稳定度判断\n- 基于 Jagannatha Hora PDF 或截图做基础命盘拆盘\n\n如果用户只想看事业、婚姻，或地点与时间窗口的专项问题，不要走完整总盘，改读 `事业.md`、`婚姻.md` 或 `窗口与场域.md`。\n\n## 需要的输入\n\n接受以下任一资料：\n\n- Jagannatha Hora 导出的 PDF\n- JHora 导出的 markdown 报告\n- 星盘截图\n- 文本形式的行星位置\n- 当前对话里已经存在的总盘摘要\n\n能提取到的话，优先确认这些字段：\n\n- 上升星座与度数\n- 九大行星的星座、宫位、度数、逆行状态\n- Nakshatra 和 pada\n- 九分盘（Navamsha chart）落点与上升\n- Vimshottari dasha 时间线\n- Shadbala、SAV、BAV\n- Chara karaka\n\n不要因为某张可选表缺失就卡死整份解读。只在关键字段缺失时追问。\n\n## 计算纪律\n\n只要原始资料里有数字，就把可确定的检查交给本地 Python。\n\n必须工具化的项目：\n\n- SAV、BAV 算术检查\n- 根据度数反推 Nakshatra 和 pada\n- 根据度数反推九分盘（Navamsha chart）落座\n- Mercury、Venus 与 Sun 的距角\n- Rahu、Ketu 对冲检查\n- 逆行合法性\n- dasha 年月区间运算\n\n优先使用：\n\n```bash\npython \"scripts/chart_sanity_check.py\" <chart-input.json-or-jhora.md>\n```\n\n如果是 JHora 导出的 markdown，优先直接把原文件送进脚本，不要先手工转述一遍。\n如果 SAV 或 BAV 所在的图式表格无法稳定结构化，就先保住基础检查，把矩阵类检查标成跳过或待补整理。\n\n如果只有部分数字，就只检查已有部分，并在结论里明确哪些项目被跳过。\n\n## 工作流\n\n### 1. 先整理基础盘面\n\n在解释前先建立一个干净的底稿：\n\n- 资料来源和完整度\n- 上升\n- 行星落点\n- 当前所处的大运阶段\n- 九分盘（Navamsha chart）数据\n- 可用的强弱表\n\n如果 OCR 或截图识别有歧义，要明确指出哪一个值不确定。\n\n### 2. 做一致性检查\n\n基础检查始终执行：\n\n- 九大行星是否齐全且不重复\n- Rahu 与 Ketu 是否形成对冲轴\n- Mercury 与 Venus 是否和 Sun 保持合理距角\n- 在数据足够时，Nakshatra 与 pada 是否和度数一致\n- 在数据足够时，九分盘（Navamsha chart）映射是否和主盘度数一致\n- dasha 序列是否内部自洽\n\nSAV/BAV 检查是**必须尝试、失败才跳过**的项目，不是可选的\"加分项\"：\n\n- 只要原始资料包含任何 SAV/BAV 数字（PDF 截图、JHora 导出的表格、用户手动输入），就必须提取并完成三项校验\n- 如果在 PDF 或 markdown 中能肉眼辨认出数字，优先手动列出 12 宫 SAV 值，再做算术校验\n- 只有经过尝试后表格确实无法结构化（如 OCR 输出乱码、截图模糊不可辨认），才标记为\"跳过\"\n- 跳过时必须在回执中说明具体原因（\"截图分辨率不足\"而非笼统的\"图式表格未能自动化解析\"）\n\n**强矩阵检查**（SAV/BAV 数据可用时）：\n\n- 12 宫 SAV 总和是否为 337（详见 `术语框架.md` SAV/BAV 量化规范）\n- 每颗星的 BAV 行总和是否符合固定常数\n- 每个星座的 BAV 列和是否等于对应 SAV\n- 行列同时出错时，用交叉定位找可能的 OCR 或录入错误\n\n**降级版**（SAV/BAV 经尝试确实无法提取时）：\n- 保留所有基础检查\n- 明确写 \"SAV/BAV ⏭️ 跳过（原因：...），宫位级量化判断降级为 🟠 中\"\n- 后续的\"资源水位\"和\"落点环境\"镜面使用 Shadbala 和 Vimsopaka 作为替代数据源\n\n每次一致性检查后，**必须输出以下编号校验表**。这是硬性输出格式，缺任何一行都视为校验不完整：\n\n```\n=== 一致性检查（必须逐项给出结果，不可省略任何一行）===\n\nC1  行星完整性   : ✅/❌  [说明]\nC2  Nakshatra映射: ✅/❌  [说明]\nC3  D9映射       : ✅/❌  [说明]\nC4  日水距角     : ✅/❌  [度数+判断]\nC5  日金距角     : ✅/❌  [度数+判断]\nC6  罗计对冲     : ✅/❌  [说明]\nC7  逆行合法性   : ✅/❌  [说明]\nC8  Dasha序列    : ✅/❌  [说明]\nC9  SAV总和=337  : ✅/❌/⏭️  [数值+说明；如跳过必须写明具体原因]\nC10 BAV行常量   : ✅/❌/⏭️  [7/7几颗匹配；如跳过必须写明具体原因]\nC11 BAV列→SAV   : ✅/❌/⏭️  [12/12几宫匹配；如跳过必须写明具体原因]\n\n校验等级：🔴极高(11/11通过) / 🟡高(C1-C8全过,C9-C11跳过) / 🟠中(有硬冲突)\n```\n\n**C9-C11 的硬规则**：\n- 只要命盘资料中包含任何 SAV/BAV 数字（无论格式），就必须逐项给出结果\n- 脚本解析不了 → 手动从 PDF/截图/HTML 中读取 12 个 SAV 值，做加法验证\n- 确实无法提取（OCR 乱码、截图模糊不可辨）→ 标记为 ⏭️ 并写明具体原因\n- 禁止出现\"SAV/BAV 跳过\"而无任何数字输出——要么给出具体数值和校验结果，要么给出具体跳过原因\n\n校验等级影响后续分析的置信度标注：\n- 🔴极高：所有宫位级判断正常使用 SAV 阈值\n- 🟡高：宫位级判断改用 Bhava Bala + Shadbala 替代，\"资源水位\"和\"落点环境\"镜面降级\n\n### C1-C11 计算公式（AI 自算用）\n\n以下公式用于 AI 从原始度数数据自行计算校验值，而非仅检查 JHora 已有标注。**OCR 场景下标注可能读错但度数是准的——AI 必须会自己算。**\n\n**C2 Nakshatra 与 Pada 计算**：\n```\n绝对经度 = 星座序号 × 30 + 度数    （白羊=0, 金牛=1, ..., 双鱼=11）\nNakshatra编号 = floor(绝对经度 / 13.3333) + 1\nPada编号 = floor((绝对经度 % 13.3333) / 3.3333) + 1\n```\n计算结果与 JHora 标注对比。不匹配 → ❌，列出不一致的星体。\n\n**C3 D9 映射计算**：\n```\n Pada → D9 星座映射：\n   火象星座(白羊1/狮子5/射手9) pada起点 → 白羊\n   土象星座(金牛2/处女6/摩羯10) pada起点 → 摩羯\n   风象星座(双子3/天秤7/水瓶11) pada起点 → 天秤\n   水象星座(巨蟹4/天蝎8/双鱼12) pada起点 → 巨蟹\n Pada编号n对应的D9星座 = 起点星座序号 + (n-1)\n```\n与 JHora 的 D9 盘标注对比。不匹配 → ❌，D1 度数或 D9 盘至少一个读错。\n\n**C4/C5 水金距角计算**：\n```\n|Mercury绝对经度 - Sun绝对经度| ≤ 28°（最大距角）\n|Venus绝对经度 - Sun绝对经度| ≤ 48°（最大距角）\n```\n超出容差 → ❌，行星符号可能 OCR 混淆。\n\n**C6 罗计对冲验证**：\n```\n|Rahu绝对经度 - Ketu绝对经度| = 180°（容差 ±1°）\n且落宫差 = 6\n```\n不满足 → ❌，节点位置读取错误。\n\n**C7 逆行合法性**：\n```\nSun/Moon 永远不逆行 → 出现逆行标记为数据错误\nRahu/Ketu 永远逆行 → 未标记逆行需二次确认\n```\n\n**C8 Dasha 间隔常数链**：\n```\n相邻 Mahadasha 年份差：\n  Sun(6年) → Moon(10年) → Mars(7年) → Rahu(18年) →\n  Jupiter(16年) → Saturn(19年) → Mercury(17年) → Ketu(7年) → Venus(20年)\n验证：Date(n+1) - Date(n) = 对应常数年\n```\n\n**C9 SAV 总和**：\n```\nΣ(SAV₁ + SAV₂ + ... + SAV₁₂) = 337\n```\n不通过 → 逐宫核实数值，定位读错宫位。\n\n**C10 BAV 行常量**：\n```\nSun=48 | Moon=49 | Mars=39 | Mercury=54 | Jupiter=56 | Venus=52 | Saturn=39\n对每颗星求 BAV 12 宫之和，匹配常数。\n```\n\n**C11 BAV 列→SAV 交叉验证**：\n```\n∀宫位i: BAV(Sun,i) + BAV(Moon,i) + ... + BAV(Saturn,i) = SAV(i)\n```\n不通过 → C10 和 C11 同时出错的格子即为错误点，交叉定位。\n\n### 3. 做既往事件回看\n\n既往事件回看不是附带动作，而是一个主动的可信度检查。其目的不仅是判断时间结构是否可信，更是校准推断系统——诊断「如果回顾的推断与事实不同，断在了推断链的哪一环」。\n\n先判断当前是哪一种模式：\n\n- `提问模式`：用户还没给出既往事件，只能由你先提 2 到 4 个高信号窗口\n- `直评模式`：用户已经给出明确时间线，需要你逐条回看，不要再改写成连环追问\n\n**超出旧命中等级的诊断维度**（见 SKILL.md 分层推断规则层 3）：\n\n既往事件回看不再仅使用「高贴合/有限贴合/失配」三档对错标签。每条事件必须额外输出三个诊断维度：\n\n| 维度 | 评估 |\n|------|------|\n| **信号命中** | 星盘在该时间段是否确实有对应类型的结构信号激活？✅ 命中 / ⚠️ 部分命中 / ❌ 未命中 |\n| **推断合理性** | 给定当时的星盘信号 + 背景事实，从信号到具体推断的逻辑链是否成立？✅ 合理 / ⚠️ 方向对但精度偏 / ❌ 逻辑有缺陷 |\n| **信息完备度** | 推断时所掌握的层 1 背景事实是否足够支撑这个精度的结论？🔴 高 / 🟡 中 / ⚪ 低 |\n\n提问模式推荐顺序：\n\n1. 先判断用户提供的出生时间精度\n2. 收集该领域背景事实卡（按需，只收集当前分析方向所需的信息）\n3. 在过去 5 到 10 年里选 2 到 4 个高信号窗口\n4. 对每个窗口，结合背景事实卡做分层推断（层 0 信号 → 层 1 背景 → 层 2 具体假设）\n5. 让用户逐条确认、否认或部分确认\n6. 用诊断维度复盘：哪些信号确实命中了？推断链中哪一环需要修正？\n\n设问规则：\n\n- 一定落到真实年份或年份区间\n- 一定问具体事件类型\n- 只给足够的依据，不要写成长篇解释\n- 设问本身已经是一轮小型分层推断——先展示层 0 信号，再说明结合了什么背景信息得出的假设\n\n直评模式的最低输出格式：\n\n```text\n事件：[用户给出的具体事件]\n├── 命中等级（旧标签兼容）：高贴合 / 有限贴合 / 失配\n├── 信号命中：✅ / ⚠️ / ❌\n├── 推断合理性：✅ / ⚠️ / ❌\n├── 信息完备度：🔴 / 🟡 / ⚪\n├── 时间锚点：哪段 dasha 或哪组时间结构在支撑\n├── 盘面锚点：至少两类证据\n├── 牵强处：这条结论哪里不能写得太满\n└── 诊断备注：[如果命中等级不是高贴合，说明三个维度中哪个出了问题]\n```\n\n如果用户给了 5 条重大事件，就至少逐条覆盖 5 条，不要只挑最容易命中的两三条。\n\n**诊断汇总**：逐条回看完成后，必须输出一个简短的诊断汇总，说明既往事件中信号命中率、推断链的主要断点类型、以及信息完备度对精度的影响。\n\n### 4. 判断出生时间稳定度\n\n综合看三件事：\n\n- 用户自己说的时间精度\n- 上升或宫位边界在附近时间窗内会不会变化\n- 既往事件回看和盘面逻辑的匹配程度\n\n如果出生时间不稳：\n\n- 降低宫位级判断的置信度\n- 保留行星落星座与较粗粒度的人格结论\n- 明说哪些部分稳定，哪些部分可能漂移\n\n出生时间稳定度判断，不能只凭”感觉像”。要结合：\n\n- 一致性检查有没有硬冲突\n- 既往事件回看的信号命中率（✅ 命中占比）与推断合理性分布\n- 诊断维度异常的聚集模式：信号未命中集中在哪类事件、推断偏差集中在哪个领域（结构/窗口/专名）\n\n### 验证闸门：通过才能进入完整拆盘\n\n步骤 1-4（基础盘面 → 一致性检查 → 既往事件回看 → 出生时间稳定度）构成一个验证闭环。**在这个闭环闭合之前，不允许进入步骤 5-8 的完整拆盘交付，也不允许生成 `report.html`。**\n\n闸门禁止的是 **交付级完整拆盘**，不禁止步骤 3 本身需要的盘面扫描。区分如下：\n\n- **允许**（服务于步骤 3 提问质量）：扫描 dasha 时间线找切换点、定位过去 5-10 年激活的宫位和 karaka、识别高信号窗口。这些是生成靠谱提问的前提，不做反而会导致问题空泛无效。\n- **禁止**（交付物）：展开 9 颗行星的八镜完整拆盘（步骤 5）、九分盘兑现复核（步骤 6）、人生主线汇总（步骤 7）、生成 `report.html`。\n\n一句话：**可以用盘面数据来提问，但在用户确认信号命中之前不要写成报告。**\n\n验证闭环的最小通过条件：\n\n- 一致性检查没有硬冲突（行星数量不对、罗计轴断裂、距角异常等）\n- 既往事件回看中，信号命中 ≥ 1 条 `✅ 命中` 或 `⚠️ 部分命中`（信号不能全部未命中——那说明时间结构本身有问题）\n- 且推断合理性 `✅ 合理` 或 `⚠️ 方向对但精度偏` 的比例 ≥ 50%（推断逻辑至少有一半以上站得住）\n- 出生时间稳定度不低于 `中等`\n\n**注意**：闸门核心条件已从旧版本的「至少一条高贴合」改为上述复合条件。「高贴合」是结果层面的对错标签，而信号命中 + 推断合理性才是系统可信度的真正指标。信号命中但精度偏，说明系统本身没问题、背景信息不够——这不应导致闸门关闭。\n\n如果验证闸门未通过：\n\n- **不要继续展开 9 颗行星完整拆盘**（步骤 5-6）\n- **不要汇总人生主线**（步骤 7）\n- **不要生成 `report.html`**\n- 降级为交付物：基础盘面摘要 + 一致性检查回执 + 既往事件回看结果（含诊断汇总） + 出生时间稳定度判断 + 初步方向提示\n- 明确告知用户闸门卡在哪一项：是信号全未命中（时间问题），还是推断合理性大面积偏/失配（配置解读问题），还是出生时间稳定度不够\n\n验证闸门通过后，才依次推进步骤 5-8，并将步骤 1-4 的结果作为置信度基准写入最终报告。\n\n**闸门确认提示（必须在聊天中输出，不可跳过）**：\n\n```\n=== 验证闭环完成 ===\n闸门状态：[通过 / 未通过]\n- 一致性检查：C1-C11 通过 X/11 项\n- 既往事件回看：\n  信号命中率：✅ X 条 / ⚠️ X 条 / ❌ X 条\n  推断合理性：✅ X 条 / ⚠️ X 条 / ❌ X 条\n  信息完备度：🔴 X 条 / 🟡 X 条 / ⚪ X 条\n  （旧标签兼容：高贴合 X 条 / 有限贴合 X 条 / 失配 X 条）\n- 诊断汇总：[主要断点类型——信号？推断？信息？]\n- 出生时间稳定度：[稳定 / 中等 / 明显不稳]\n- 校验等级：[🔴极高 / 🟡高 / 🟠中]\n\n请确认以上验证结果。\n回复\"继续\"→ 进入完整拆盘（第二阶段）\n回复具体疑问 → 针对性补充\n===\n```\n\n### 5. 展开命主盘（Rashi chart）行星拆盘\n\n对于完整拆盘，命主盘行星部分是主要交付物，不是隐藏在后面的辅助说明。\n\n9 颗行星都要覆盖，但分组和篇幅深度不由固定分类决定——由 SKILL.md「信号分级与篇幅控制」动态定级。输出顺序按 A→B→C 信号级别组织（同级内按 Shadbala 降序）。\n\n八镜项目框架（A 级全写，B/C 级按信号分级规则缩减；\"运行状态\"在 A/B 级必须展开子维度）：\n\n- 主题归属\n- 运行状态（**必须包含**：是否燃烧及距日度数、是否逆行及修正效果；如有 JHora 数据则追加年龄状态和情绪/活动状态）\n- 资源水位（优先使用掌宫 SAV；如 SAV 不可用，使用 Shadbala 百分比 + Vimsopaka）\n- 落点环境（优先使用落宫 SAV 分档；如 SAV 不可用，使用 Bhava Bala 或宫位性质定性评估）\n- 兑现通道\n- 外力牵引\n- 熟成节律\n- 格局放大（如有 yoga 参与）\n\n**附加硬性检查**（不写入镜面表格则视为遗漏）：\n- 如果行星掌管角宫（1/4/7/10），必须检查角宫主效应（Kendradhipati Dosha），见 `术语框架.md`\n- 如果行星参与互溶（Parivartana），必须在\"格局放大\"镜面中展开互溶双方的关系\n- 如果行星是某段 dasha 的主星，必须在\"熟成节律\"中标注对应的 dasha 时段\n\n建议按这个格式输出：\n\n```text\n——— [行星名] ———\n【现实判断】\n2 到 3 段短文，交代它在你人生里到底管什么、怎么发力、当前状态如何。\n\n【盘面抓手】\n| 观察镜面 | 读数 | 一句话说明 |\n|----------|------|------------|\n| 主题归属 | ... | ... |\n| 运行状态 | ... | ... |\n| 资源水位 | ... | ... |\n| 落点环境 | ... | ... |\n| 兑现通道 | ... | ... |\n| 外力牵引 | ... | ... |\n| 熟成节律 | ... | ... |\n\n【使用提醒】\n用 1 段短文说明这些镜面合起来意味着什么，以及用户该怎么理解它。\n```\n\n### 5.5 互溶与格局扫描（必做）\n\n在完成 9 颗行星的独立拆盘后，必须进行一次\"跨行星扫描\"，检查行星间的联动关系。这不是可选的\"加分分析\"，而是结构判断的核心输入。\n\n**互溶（Parivartana）检查**：\n\n全盘逐对检查：是否有两颗行星互相落在对方的星座？\n\n- 如果有互溶，这是全盘最重要的格局之一，必须单独展开分析\n- 最低要交代：互溶双方各自的宫位掌管（互换了什么主题）、双方各自的落宫状态、互溶的\"交易\"是即时兑现还是延迟兑现\n- 如果互溶双方的 dasha 时段有先后 → 标注兑现时间线\n\n**互溶动力学（强弱判定）**：\n\n互溶不是简单的\"1+1=2\"。两颗星通过守护关系建立了能量通道，通道的效率取决于双方各自的状态和落宫环境：\n\n- **强强互溶**：双方均健康（入庙/入旺/无燃烧逆行）→ 相得益彰，能量通道双向畅通\n- **强弱互溶**：强星接纳弱星 → 弱星受益（借强星之力缓解自身凶性），但强星可能因\"要对盟友负责\"而承担额外压力。如果强星自身足够稳健（Shadbala > 1.2，落角宫），则压力可控\n- **弱弱互溶**：双方均受损（落陷/燃烧/逆行）→ 能量通道放大了双方的优势和弱点。这不是纯粹的坏格局，但需要后天觉察才能\"化凶为吉\"——当事人在相关领域（互溶涉及的宫位主题）反复碰壁后，会逐渐学会把持和转化\n\n**落宫对互溶效果的影响**：\n\n互溶双方的落宫位置决定了这股能量是\"可控\"还是\"失控\"：\n- 双方均落角宫（1/4/7/10）→ 能量在世俗层面显现，可被感知和驾驭，即使弱弱互溶也能通过后天磨炼逐渐掌控\n- 任一方落暗宫（8/12）→ 互溶的能量通道有一部分在\"看不见的地方\"运作，较难自我觉察，弱弱互溶在此配置下更容易表现为反复的、难以解释的困境\n- 果宫（3/6/9/11）居中——可觉察但需要主动追踪\n\n**互溶星之间的相位**：\n\n互溶双方如果同时存在相位，相位的软硬影响通道的稳定性：\n- 三合/六合（软相位）→ 能量流动顺畅，有助于缓解不良星体间的摩擦\n- 刑/冲（硬相位）→ 能量流动剧烈，可能放大冲突——但同时也意味着突破力更强，\"滔天大祸或万贯家财\"\n\n**接纳（Reception）补充说明**：\n\n如果两颗星没有完全互溶、但一方落在另一方的守护星座且两者形成相位，这构成单向接纳。接纳效果弱于互溶，但仍可纳入格局扫描参考——弱星被强星接纳时获得支撑，但效果仅为互溶的约一半。\n\n**注意**：互溶不要求双方有相位（即使不合意也能运作——经典案例已证实不合意互溶在事业/财富领域仍能释放强大能量）；但接纳必须要求相位，无相位的单向落座不构成接纳。\n\n**接纳中的\"不领情\"效应**：\n\n当 A 星接纳 B 星，但 B 星在 A 星的守护星座中落陷或处于弱势时，B 星可能\"不领情\"——A 提供的帮助方式不被 B 认可或接受。在分析关系宫位（7 宫主/伴侣 karaka）的接纳时，这一效应尤其重要：接纳方可能付出了很多，但被接纳方未必感激，甚至可能感到被冒犯。判断时需同时检查被接纳星在接纳星守护星座中的尊贵状态。\n\n**特殊互溶变种（必查）**：\n\n除正常互溶外，有两种\"不等价\"互溶变种必须在扫描中检查：\n\n- **欺骗互溶（Deceptive Exchange）**：A 星落在 B 星的守护/擢升星座，但 B 星落在 A 星的**落陷或失势**星座。A 向 B 提供资源和帮助，B 非但不回报，反而将 A 置于尴尬或不利境地。这是一段不等价的能量交易——A 是\"付出方\"，B 是\"消耗方\"。在分析关系宫位（7 宫主、DK）的互溶时要特别警觉此模式。\n- **拒绝互溶（Rejective Exchange）**：两颗星各自落在对方的**落陷或失势**星座。双方互相厌恶，能量通道虽然存在但\"谁也不想要对方的东西\"。事务容易在此模式下被取消、关系容易无疾而终。此模式比完全没有互溶更消耗——因为它制造了\"不得不互动但互动质量极差\"的困境。\n\n**定位星链条（补充参考）**：\n\n在全盘行星拆盘和互溶扫描之后，可追溯 dispositor 链条寻找\"最终定位星\"——即所有行星通过守护关系最终汇聚到的一颗或两颗星（互溶对）。如果存在明确的最终定位星对（互溶定位），这两颗星共同主导命盘的能量走向，其宫位掌管和落宫状态是全盘结构的\"总开关\"。如果不存在最终定位星（能量链不闭合），则说明命盘没有单一主导力量，各领域相对独立运作，决策时容易犹豫或缺乏统一的驱动力。\n\n**Yogakaraka 等价分析**：\n\n检查是否有同一颗星同时掌管角宫（1/4/7/10）和三分宫（1/5/9）。如果有，这是经典 Yogakaraka。\n\n- 如果没有经典 Yogakaraka，不要空洞地说\"没有特殊格局\"就跳过\n- 必须分析是否存在**功能等价组合**：互溶、多星合相、相位联动等方式形成的\"准 Yogakaraka\"效果\n- 最低输出：一段短文解释\"虽然没有经典 Yogakaraka，但 X 和 Y 的组合起到了类似的作用\"\n\n**Dhana Yoga（财富组合）扫描**：\n\n检查 2H/11H/5H/9H 主星是否存在联动（互溶、合相、相互相位）：\n- 有 → 标注为 Dhana Yoga 候选，评估参与星健康度后定级\n- 无 → 说明财富主题的\"独立兑现\"特征（不依赖组合，靠单星实力）\n\n### 6. 用九分盘（Navamsha chart）做兑现复核\n\n九分盘（Navamsha chart）的作用，是复核命主盘里的承诺成熟后还能不能站住，而不是另起一套独立解读。\n\n它主要回答五件事（详见 `术语框架.md` D9 复核五维度）：\n\n- **内核品质**：主盘里的关键承诺到了后期是否还成立——成熟后是更稳、更专精，还是代价更高\n- **安全性**：成果放在什么\"仓库\"里是安全的还是一碰就碎的\n- **房东审计**：dispositor 链条是否支持兑现——承诺的\"担保人\"自己够不够强\n- **变现阻力**：D1→D9 的位移是否在 6/8/12 区间，导致过程需要\"绕路\"\n- **果实投射**：真正落果时，成果会落在 D1 的哪个宫位代表的现实领域\n\n对每颗关键行星，复核必须显性覆盖以上五个维度中的至少四个。不能只写一段笼统的叙述就跳过。如果某维度不适用（如 Rahu/Ketu 无 dispositor 链条），要显性说明理由。\n\n建议输出格式：\n\n```text\n——— [行星或主题] 九分盘兑现复核 ———\n【现实判断】\n先说成熟后会更稳、更贵、更耗，还是更能兑现。\n\n【盘面抓手】\n说明九分盘落点、宫主关系、会照和承载环境。\n\n【使用提醒】\n说明这个结论该怎么用，以及置信度受什么影响。\n```\n\n### 7. 汇总人生主线\n\n总整合至少回答这些问题：\n\n- 这张盘的主轴到底是什么\n- 优势最容易在哪些场域兑现\n- 难点是资源不足、环境摩擦，还是时间不对\n- 哪些结论是稳定的，哪些高度依赖出生时间\n- **互溶与格局**：如果存在互溶（Parivartana），它的\"主题交换\"如何串联事业/财富/婚姻/迁移各条线；如果没有经典 Yogakaraka，功能等价组合是什么\n- **D9 兑现总结**：逐星列出 D9 品质评级（★），标注逆转（D1 弱→D9 强）和暴跌（D1 强→D9 弱）的行星，给出 D9 整体结论\n\n如果已经拿到了足够资料，还要把事业、婚姻、财富、迁移、关系模式串成一套完整结构。\n\n### 7.5 AK 灵魂课题（必答）\n\nAtmakaraka（AK）是九大行星中绝对经度最高的一颗（Rahu 除外），代表灵魂这一世的\"主修课\"。这是 Parashari 体系的核心概念之一，不是可选加分项。\n\n**AK 判定**：\n```\n遍历九大行星的绝对经度（排除 Rahu），取最大值。\n如 Rahu 绝对经度最高 → 取次高行星为 AK。\n```\n\n**AK 解读至少覆盖以下三项**：\n\n1. **AK 的身份与职责**：AK 是哪颗星 + 它在主盘掌管哪两个宫位 + 它在主盘和 D9 的落宫。\n   例：\"AK 是金星，掌管你的 4 宫（家庭/根基）和 9 宫（信仰/远方），落在 8 宫——你的灵魂课题是'在失去和转化中找到真正的安全感'。\"\n\n2. **AK 的星宿主（Nakshatra）**：AK 所在的 Nakshatra 如何修饰灵魂课题的\"学习方式\"——是激烈顿悟式、渐进积累式，还是反复试错式。\n\n3. **灵魂主线叙述**（3-5 段）：\n   - AK 的本质是什么（\"你这一生来学什么\"）\n   - 为什么这个课题对你来说这么难（宫位与行星状态给的解释）\n   - 这个课题在你的关键 dasha 时期被怎样激活\n   - D9 中 AK 的状态——成熟后这个课题是能毕业，还是会以另一种形式继续\n\n**注意**：AK 解读不是\"算命\"，而是提供一面镜子让用户理解自己反复遇到的核心模式。用叙述语言，不用标签语言。\n\n### 8. 可选高级模块：窗口与场域专题\n\n当用户进一步问：\n\n- 哪个城市更合适\n- 哪个时间窗更值得推进\n- 同一主题在不同地点会不会出现差异\n- 某个合作、迁移、结婚或跳槽窗口该怎么缩小\n\n就转入 `窗口与场域.md`。\n\n窗口与场域专题不是另外发明一张天文分盘，也不是西方占星中的合盘——而是把时间、地点、事件主题与原命盘结构叠加后的高级判断。\n\n## 最低必答清单\n\n完整总盘不是写几段印象流总结就算完成。最低要交代下面这些项目：\n\n- 基础盘面：上升、九大行星、当前 dasha、九分盘（Navamsha chart）可用度\n- 一致性检查：至少说明 `已核 / 跳过 / 影响`。**SAV/BAV 必须尝试提取和校验**——只有经尝试确实无法结构化时才允许跳过，且跳过时必须写明具体原因\n- 既往事件回看：如果用户没给时间线，至少给 2 到 4 个具体年份或年份区间的问题点；如果用户给了时间线，逐条给命中等级（旧标签兼容）+ 信号命中 / 推断合理性 / 信息完备度三个诊断维度\n- 出生时间稳定度：说清是稳定、中等，还是明显不稳\n- 命主盘（Rashi chart）行星拆盘：9 颗行星至少分三组讲完，每颗覆盖八镜（运行状态必须展开燃烧/逆行/年龄子维度）\n- **互溶与格局扫描**：必须做 Parivartana 检查和 Yogakaraka 等价分析，不可跳过\n- 九分盘（Navamsha chart）兑现复核：每颗关键行星覆盖 D9 五维度中的至少四个，不可用一段笼统叙述替代\n- 人生主线：至少串起事业、关系、资源或迁移中的主轴，包含互溶/格局分析、AK 灵魂课题和 D9 兑现总结\n- 使用提醒：明确哪些判断稳定，哪些依赖更多数据\n\n如果某一项跳过，必须说明为什么跳过，不能静默缺席。\n\n## 输出契约\n\n每个主要小节都用同一结构：\n\n1. `现实判断`\n2. `盘面抓手`\n3. `使用提醒`\n\n如果结果达到报告规模，默认落成分节 markdown，并主动生成 `report.html`。\n\nFile v1.0.8:references/术语框架.md\n\n# 术语与八镜框架\n\n## 输出规则\n\n每个围绕行星或主题的小节，都按这个顺序组织：\n\n1. `现实判断`：现实里会怎么表现\n2. `盘面抓手`：哪些盘面事实支撑这个判断\n3. `使用提醒`：该怎么用，或者哪里要保留弹性\n\n不要只输出术语、表格或未解释的缩写。\n\n## 回答质量闸门\n\n下面这些不是建议，是最低门槛。\n\n### 1. 每节都要先说人话\n\n每个主要小节开头先用 2 到 4 句普通话解释：\n\n- 这在现实里会怎么表现\n- 用户最该先抓住什么\n- 最主要的阻力或代价在哪里\n\n不要一上来就堆表格、缩写、镜面名词或英文标签。\n\n### 2. 每节都要有证据锚点\n\n每个主要小节至少显性写出两类证据，且不能都只是抽象术语。优先从下面选：\n\n- 宫位与宫主\n- 行星状态\n- dasha\n- 命主盘（Rashi chart）\n- 九分盘（Navamsha chart）\n- SAV、BAV、Shadbala\n- karaka\n- yoga\n\n如果只有一类证据，就把结论降级，不要写成定论。\n\n### 3. 每节都要交代可用度\n\n每个主要小节末尾至少交代一项：\n\n- 这条结论为什么相对稳定\n- 这条结论受哪些缺数据影响\n- 用户实际使用时该把它当趋势、窗口，还是高确定性判断\n\n### 4. 时间判断必须能落地\n\n只要提到时间窗口，就必须同时回答三件事：\n\n- 窗口落在哪个具体区间\n- 触发逻辑是什么\n- 这个窗口适合推进什么，不适合浪费在哪\n\n### 5. 禁止松答模板\n\n避免下面这些写法：\n\n- 只有形容词，没有盘面依据\n- 只有术语，没有现实翻译\n- 只有趋势，没有时间\n- 只有优点，没有代价\n- 只有结论，没有不确定性\n\n## 事件回看口径\n\n既往事件回看现在使用**双层口径**：面向用户的总结标签 + 面向系统校准的诊断维度。\n\n### 旧命中等级（保留作为用户侧总结标签）\n\n- `高贴合`：时间窗和事件性质都能形成清楚对应\n- `有限贴合`：时间大致合适，但事件类型更宽、更弱，或只对上一半\n- `失配`：时间或事件性质都没有形成可靠对应\n\n不要把 `有限贴合` 涂改成 `高贴合`，也不要把 `失配` 硬解释成\"只是表现形式不同\"。\n\n### 诊断维度（每次回看必须输出，用于系统校准）\n\n在旧标签之外，每条既往事件必须额外输出以下三个维度：\n\n| 维度 | 含义 | 评估 |\n|------|------|------|\n| **信号命中** | 星盘在该时间段是否确实有对应类型的结构信号激活？ | ✅ 命中 / ⚠️ 部分命中 / ❌ 未命中 |\n| **推断合理性** | 给定当时的星盘信号 + 背景事实，从信号到具体推断的逻辑链是否成立？ | ✅ 合理 / ⚠️ 方向对但精度偏 / ❌ 逻辑有缺陷 |\n| **信息完备度** | 推断时所掌握的背景事实是否足够支撑这个精度的结论？ | 🔴 高 / 🟡 中 / ⚪ 低 |\n\n三个维度的诊断价值详见 SKILL.md 分层推断规则层 3 的「诊断矩阵」。\n\n## 分层推断术语\n\n### 背景事实卡\n\n分析前按需收集的结构化用户信息。仅收集当前分析方向所需的领域：\n\n| 领域 | 收集项 |\n|------|--------|\n| 通用 | 性别、年龄区间、出生时间精度 |\n| 感情 | 当前状态（已婚/恋爱/单身/离异）、关键关系稳定性 |\n| 事业 | 当前阶段（学生/在职/创业/待业/退休）、行业方向 |\n| 迁移 | 当前居住地、异地关系强弱、搬迁动力 |\n| 健康 | 已知重大健康问题 |\n\n**事实与自述的边界**：可被外部验证的客观信息（婚姻状态、职业阶段、居住城市）是事实，可进入背景事实卡。主观判断（「我性格内向」「我运气不好」）是自述，不能进入，需要被盘面验证。\n\n### 层 0 / 层 1 / 层 2 / 层 3\n\n分层推断的四个独立分析阶段：\n\n- **层 0（星盘结构信号）**：从命盘数据中提取的结构信号——Dasha 周期、宫位激活、行星状态、Yoga。输出信号类型、强度和复数可能方向。禁止反向推导和经历=天赋。\n- **层 1（背景事实卡）**：用户已知的客观背景信息，用于缩小层 0 的复数可能方向。不用于否定层 0 信号本身。\n- **层 2（联合推断）**：信号 × 背景 → 具体结论。每个推断必须透明展示推理链、纯星盘版本、边界条件和反事实检查。\n- **层 3（事后校验）**：通过信号命中、推断合理性和信息完备度三个维度诊断推断链，回答「如果不准，断在哪里」而非简单判对错。\n\n## 细节层级护栏\n\n结论不要混层。先判断自己现在说的是哪一层：\n\n- `结构层`：例如技术型、大平台、离家发展、工作与学习并行\n- `窗口层`：例如某一段时间职业定型，或某一段时间承压并转场\n- `专名层`：例如某家公司、某个国家、某个具体病名、某一个领导\n\n推荐做法：\n\n- 结构层可以作为高置信度主结论\n- 窗口层可以结合 dasha 做中高置信度判断\n- 专名层只能在用户已经给出现实事实时作为对照，不能假装是盘面原生可读的专有答案\n\n特别注意：\n\n- “技术型工作”是结构层\n- “进入大型平台并出现收入抬升”是窗口层\n- “某一家具体公司”是专名层\n- “身体吃不消、筋骨压力上升”是结构或窗口层\n- “某一个具体医学诊断”是专名层\n\n## 精确计算规则\n\n八镜框架负责解释结构，不负责替代精确算术。\n\n只要结论依赖下面这些项目：\n\n- 度数换算\n- SAV、BAV 总和\n- Shadbala 排序\n- dasha 日期间隔\n- 明确的通过、失败或跳过判断\n\n就先从原始数据或本地工具拿到数值，再写解释，不要边写边心算。\n\n## 标准吠陀术语\n\n- Lagna\n- graha\n- house / bhava\n- lordship\n- exaltation / debility / own sign\n- retrograde / combustion\n- dispositor\n- nakshatra / pada\n- 命主盘 / Rashi chart\n- 九分盘 / Navamsha chart\n- 十分盘 / Dashamsha\n- Vimshottari dasha\n- karaka，包括 Amatyakaraka、Darakaraka、Putrakaraka\n- Arudha Lagna、Upapada Lagna\n- yoga，包括标准意义上的 Yogakaraka\n- Upachaya、Dusthana\n- Shadbala\n- Ashtakavarga、SAV、BAV\n\n## 八镜定义\n\n| 观察镜面 | 它在看什么 | 它如何影响结论 |\n|---|---|---|\n| 主题归属 | 这颗星或这个宫位到底在负责哪类人生主题 | 先决定“它管什么”，再谈“它做得怎样” |\n| 运行状态 | 燃烧、逆行、稳定度和损耗感 | 决定推进方式是顺、迟、绕，还是内耗 |\n| 资源水位 | 它手里有没有足够资源把事情做出来 | 决定主题能否持续，不只是偶尔闪一下 |\n| 落点环境 | 这股力量落在轻松区、磨损区，还是高压区 | 决定现实成本和摩擦位置 |\n| 兑现通道 | 结果是怎么落地的，是直接、绕路还是先堵后通 | 决定成果出现的方式 |\n| 外力牵引 | 谁在帮助、压制、改道或放大它 | 决定外部环境如何参与这件事 |\n| 熟成节律 | 它更偏早显、晚显，还是需要时间酝酿 | 帮助解释为什么某个主题在人生不同阶段手感不同 |\n| 格局放大 | yogas、组合和系统级加权 | 决定哪些信号会被整体放大或修饰 |\n\n## 运行状态子维度\n\n\"运行状态\"不是一句话能交代的模糊标签。以下子维度必须在分析中显性检查，不能只挑最方便的一两项说。\n\n### 燃烧（Combustion）\n\n行星距太阳过近时，能量被日光\"覆盖\"，表现力打折。每颗行星的燃烧临界不同：\n\n| 行星 | 燃烧临界（距日度数） | 逆行时调整 |\n|------|---------------------|-----------|\n| 月亮 | 12° | — |\n| 火星 | 17° | — |\n| 水星 | 14° | 逆行时 12° |\n| 木星 | 11° | — |\n| 金星 | 10° | 逆行时 8° |\n| 土星 | 15° | — |\n\n- Cazimi（距日 < 1°）：仍属燃烧，但精确合日的行星可能获得一种\"聚焦\"效应\n- 燃烧 ≠ 行星作废，而是\"需要借他人的舞台才能表现\"——燃烧行星管的事往往需要依托别人（上司、平台、伴侣）才能发光\n\n### 逆行修正（基于 KN Rao 体系）\n\n逆行不只是\"能量内收\"，它对不同状态的行星有不同的翻转效果：\n\n- **落陷 + 逆行**：视同入旺（Neecha Bhanga 的一种形式）。最坏的处境被逆行的反思力翻转\n- **入旺 + 逆行**：视同落陷。最强的位置被逆行拉回——有能力但表达方式不顺畅\n- **入庙 + 逆行**：品质仍在，但输出方式是\"向内深钻\"而非\"向外自然释放\"\n- 逆行行星管的事：兑现节奏比顺行慢，但持久度常常更高\n\n### 行星年龄状态（Baladi Avasthas）\n\n行星在星座内的度数决定了它处于哪个\"人生阶段\"，影响能量输出模式：\n\n| 年龄阶段 | 典型度数区间 | 能量特征 |\n|----------|-------------|---------|\n| 婴儿（Baala） | 0°–6° | 潜力未激活，需要外部触发和培养 |\n| 少年（Kumara） | 6°–12° | 有冲劲但毛躁，适合学习期 |\n| 青年（Yuva） | 12°–18° | 主动输出，执行力最强 |\n| 壮年（Vriddha） | 18°–24° | 经验丰富但体力下降，靠策略而非蛮力 |\n| 老年/寂灭（Mrita） | 24°–30° | 自动执行模式——不再主动发起，但一旦被调动就精准 |\n\n- 婴儿和老年的行星：不适合\"主动出击\"式策略，更适合\"等风来\"\n- 青年行星：最直接的行动力来源，但可能缺乏耐心\n\n### 情绪与活动状态（Mood & Activity Avasthas）\n\n由 JHora 根据复杂规则计算。如果原始数据中有，应一并纳入判断：\n\n**情绪状态**常见取值：\n- Saanta（平静）：稳定输出，不耗神\n- Mudita（喜悦）：积极正向，事情容易推动\n- Khala（顽皮）：容易在规则边界试探，有创意但不够安分\n- Duhkhita（痛苦）：内耗大，需要特别关注这颗星管的领域\n- Deena（沮丧）：能量低迷，管的事容易停滞\n\n**活动状态**常见取值：\n- Prakasana（发光中）：主动对外辐射，做的事情容易被看见\n- Sayana（躺卧）：被动状态，需要外界推动才会动\n- Gachchhati（行走中）：正常运转\n- Yuddha（战斗中）：处于竞争/冲突状态\n\n### 使用要求\n\n- 至少显性检查燃烧和逆行状态，这是\"运行状态\"镜面的最低交付\n- 如果 JHora 数据中包含年龄/情绪/活动状态，必须纳入分析，不可忽略\n- 如果某颗行星多项子维度叠加（如\"落陷 + 逆行 + Mrita 年龄 + Sayana 活动\"），要明确说出叠加效果，不能只说单项\n\n## 推荐用法\n\n| 推荐表述 | 大白话方向 |\n|---|---|\n| 主题归属很核心 | 说这颗星和身份、方向、自我定义高度相关 |\n| 资源水位充足 | 说它不仅有想法，也有条件把事做下去 |\n| 落点环境磨损大 | 说事情能做，但过程贵、慢或摩擦多 |\n| 兑现通道绕路 | 说结果不是没有，只是常常先曲折后成形 |\n| 外力牵引偏强 | 说这件事很容易被环境、人际或制度放大 |\n| 熟成节律偏晚 | 说它不是早年主题，后期更容易看见成形 |\n\n## 裁定顺序\n\n当信号互相打架时，按下面的优先级：\n\n1. 先定 `主题归属`\n2. 再看 `运行状态`\n3. 用 `资源水位` 和 `落点环境` 判断成本\n4. 用 `兑现通道` 判断结果怎么出来\n5. 用 `外力牵引` 与 `格局放大` 做修正\n6. 用 `熟成节律` 解释阶段差异\n\n## 翻译指导\n\n- 先翻镜面，再给现实话\n- 不要把私人造词包装成标准术语\n- 只在真正有帮助时才显性写专业词\n- 尽量把盘面逻辑改写成一句现实里听得懂的话\n\n推荐：\n\n- `这条事业线不是没潜力，而是落点环境偏磨损，所以更像先累积方法和口碑，再慢慢放大。`\n\n避免：\n\n- 只堆英文缩写和标签\n\n## SAV/BAV 量化规范\n\nAshtakavarga 是 Parashari 体系中最核心的量化工具。它不是某个 skill 的\"私有参数\"，而是衡量宫位级别强弱的公共标尺。\n\n### 宇宙常数（强制校验项）\n\n只要原始资料包含 SAV/BAV 数据，以下校验必须在一致性检查阶段完成：\n\n**SAV 总和**：12 个宫的 SAV 值之和恒等于 **337**。不通过 → 数据读取有误，逐宫核实。\n\n**BAV 行常量**：每颗行星在 12 个宫的 BAV 分值之和是固定常数：\n\n| 行星 | Sun | Moon | Mars | Mercury | Jupiter | Venus | Saturn |\n|------|-----|------|------|---------|---------|-------|--------|\n| BAV 行和 | 48 | 49 | 39 | 54 | 56 | 52 | 39 |\n\n**BAV 列→SAV 交叉验证**：每个宫位的 7 颗星 BAV 之和 = 该宫 SAV 值。不通过 → 行校验 + 列校验交叉定位错误点。\n\n### 宫位 SAV 阈值分档\n\n拿到 SAV 数据后，按以下分档判断宫位的\"硬件带宽\"：\n\n| SAV 值 | 带宽评级 | 现实含义 |\n|--------|---------|---------|\n| ≥32 | 充裕 | 事情自动推进，投入产出比高 |\n| 28–31 | 良好 | 正常努力即有回报 |\n| 24–27 | 中等 | 需要策略和持续投入 |\n| 20–23 | 偏紧 | 付出多回报少，容易焦虑 |\n| <20 | 匮乏 | 该领域天然吃力，需要外部补给或迂回策略 |\n\n### 掌宫资源评估\n\n要判断一颗行星\"手里有多少货\"，把它掌管的两宫的 SAV 相加：\n\n- ≥60：强掌宫组合——这颗星有充足的资源完成职责\n- 50–59：中等——够用但不宽裕\n- <50：偏弱——它的职责需要其他行星帮衬\n\n如果是单宫掌管（如 Rahu/Ketu），只用单宫 SAV 评估，但置信度降半档。\n\n### 落宫 SAV 与 BAV 配比\n\n行星落在哪个宫，那个宫的 SAV 就是它的\"路况\"。但还要看这颗星自己的 BAV 在该宫的贡献——如果某宫 SAV 高但主要是别的星贡献的、这颗星自己的 BAV 很低，意味着\"路好走但你得搭别人的车\"。\n\n### 缺 SAV/BAV 时的降级策略\n\n这是 zh 目前最关键的缺口。当 SAV/BAV 无法校验时：\n\n1. 一致性检查回执中明确写 \"SAV/BAV ⏭️ 跳过，宫位级量化判断降级\"\n2. 宫位强弱比较只做定性判断（基于宫主星状态、宫内星有无、相位），不做\"X 宫比 Y 宫强\"级别的精确排序\n3. \"资源水位\"和\"落点环境\"两个镜面改用 Shadbala 和 Vimsopaka 作为二级替代数据源\n4. 在报告的\"落地提醒\"中声明：SAV/BAV 缺失导致宫位级精细判断置信度为 🟠 中\n\n**与八镜框架的对接**：\n- \"资源水位\"镜面 → 优先取掌宫 SAV 和 Shadbala 两项数据\n- \"落点环境\"镜面 → 优先取落宫 SAV 分档，辅以宫位性质（角宫/三分宫/凶宫）\n- 两镜面中至少一个需要 SAV 数据；若都没有 → 两镜面均降级\n\n## 角宫主效应（Kendradhipati Dosha）\n\n角宫（1/4/7/10）主星有一个特殊性：吉星管角宫时，其天然吉性会被角宫的\"世俗事务压力\"削弱——不是变凶，而是\"偷懒\"。凶星管角宫时，其天然凶性反而被角宫的\"责任感\"约束——不是变吉，而是\"自律\"。\n\n这意味着：\n\n- 金星管 7H（角宫）：婚姻/合作资源有，但需要主动争取，不会自动送上门\n- 土星管 10H（角宫）：事业压力可控，土星的压制力被转化为结构化的努力\n- 月亮管 4H（角宫）：内心安全感需要外在成就来确认，而非自然拥有\n\n在分析角宫主星时，必须检查这一效应。它解释了为什么有些\"看起来很好的配置\"在实际生活中需要额外用力。\n\n## 缺数据时的标准写法\n\n如果原始资料不完整，不要硬补。优先用下面这个顺序表达：\n\n1. `已知`：这次能稳定读取到什么\n2. `未知`：缺了什么关键字段\n3. `影响`：这会让哪些结论降级\n4. `暂定判断`：在现有资料下还能说到哪里\n\n## 反过拟合提醒\n\n- 不要把用户后来补充的公司名、城市名、专业名、病名，倒灌回盘面，再说成“原来一开始就能看出来”\n- 不要把“权威冲突”自动翻译成“某一个人故意害你”\n- 不要把“高压与耗损”自动翻译成单一医学诊断\n\n## 九分盘的定位\n\n九分盘（Navamsha chart）不是第二张独立命盘，它更像对主结构的复核层。\n\n它主要回答五件事：\n\n- 主盘里的承诺成熟后还站不站得住（内核品质）\n- 兑现时要付出什么代价（变现阻力）\n- 最终果实更容易落在哪类主题上（果实投射）\n- 承诺的\"担保人\"是否可靠（房东审计）\n- 成果放在哪个\"仓库\"是安全的还是一碰就碎的（安全性）\n\n九分盘负责看成熟后的质量、耐久度和承载环境，不负责抹掉命主盘的原始结构。\n\n### D9 复核五维度\n\n每颗关键行星的 D9 复核必须至少覆盖以下五个维度中的四个：\n\n**1. 内核品质**：行星在 D9 的落座相对于 D1 是升级还是降级？\n- Vargottama（D1 和 D9 同星座）：最高稳性——承诺 150% 可兑现\n- 入旺/入庙：100% 兑现\n- 友方星座：正常兑现\n- 落陷：承诺可能违约，需检查 Pushkara 补丁（特定度数范围内的落陷会被修复）\n\n**2. 安全性**：D9 落宫属于哪类\"仓储环境\"？\n- 金库区域（1/2/4/5/7/9/10/11 宫）：成果稳定，不易流失\n- 摩擦区域（3/6 宫）：兑现需要竞争和主动\"卡位\"\n- 有毒区域（8/12 宫）：成果可能得而复失，或兑现过程伴随消耗\n  - 严重度排序：D9 落 8 宫 > 12 宫 > 落陷 > 6 宫\n\n**3. 房东审计（Dispositor 链条）**：D9 落座的守护星状态如何？\n- 守护星（Dispositor）在 D9 中健康 → \"支票可以兑现\"\n- 守护星在 D9 中落陷/受损 → \"支票可能跳票\"——这颗星承诺的东西，担保人自己都不够强\n- 守护星和主盘大运主重合 → 兑现窗口和主运共振\n\n**4. 变现阻力**：D1 星座 → D9 星座的位移大小。\n- 位移 = |D9 星座序号 − D1 星座序号|（以 12 为模）\n- 位移在 6/8/12 区间 → 变现需要\"绕路\"，过程有过敏反应\n- 位移 ≤ 3 → 直接兑现\n\n**5. 果实投射**：D9 落座对应回 D1 哪个宫位？\n- 把 D9 星座映射到 D1 的对应宫位（两者同星座即可对应）\n- 这颗行星最终产出的果实，会掉在 D1 的那个宫位代表的领域\n- 这是连接\"深层品质\"和\"现实结果\"的关键桥梁\n\nFile v1.0.8:references/窗口与场域.md\n\n# 窗口与场域专题流程\n\n如果需要共享术语、读盘抓手或冲突裁定口径，读取 `术语框架.md`。\n\n本专题遵循 SKILL.md「分层推断规则」（层 0/1/2/3）。时间窗口与场域判断作为层 2 联合推断的输入参数——场域差异缩小层 0 信号的可能兑现方向。\n\n## 这是什么\n\n窗口与场域专题不是另外发明一张天文分盘，也不是脱离原命盘独立判断，更不是西方占星中的合盘（synastry/composite chart）。\n\n它是一种高级专题，用来把下面三件事叠加起来看：\n\n- 时间窗口\n- 场域或地点差异\n- 某个具体事件主题\n\n也就是说，它回答的是：同一个人，在什么时间、什么地点、围绕什么主题，更容易把事情推成，或者更容易遇到摩擦。\n\n## 适用场景\n\n当用户明确问的是下面这些问题时，使用这个流程：\n\n- 哪个城市更适合发展\n- 什么时候搬迁、跳槽、合作、结婚更顺\n- 同一主题在不同地点会不会出现明显差异\n- 某个大窗口里，哪一段时间更值得主动推进\n- 迁移、婚姻、事业与事件落地如何叠加判断\n\n如果用户只是要看整张盘或单一事业、婚姻主题，不要先上窗口与场域专题。先用 `总盘.md`、`事业.md`、`婚姻.md` 建底，再决定是否升级。\n\n## 需要的输入\n\n优先接受其中一种：\n\n- 当前对话里已有可用的总盘摘要\n- Jagannatha Hora PDF\n- JHora 导出的 markdown 报告\n- 星盘截图\n- 文本命盘数据\n\n额外需要补充的输入：\n\n- 当前或目标城市、地区、国家\n- 想看的主题：事业、婚姻、迁移、合作、具体事件\n- 想看的时间范围\n- 如果有多个地点，最好把备选地点一次列出\n\n如果没有可靠出生时间，要先明确告知：地点和窄时窗判断的可信度会下降。\n\n## 分析基底\n\n窗口与场域专题至少要站在下面这些东西上：\n\n- 命主盘（Rashi chart）的主结构\n- 九分盘（Navamsha chart）的成熟度与兑现质量\n- 当前与未来相关的大运、小运\n- transit / gochara\n- 目标主题对应的宫位与 karaka\n- 必要时的居住地、事件地、合作地差异\n\n如果总盘还没建好，先补最低限度的底稿。不要跳过底层结构，直接给地点建议。\n\n## 分析步骤\n\n### 步骤一：时间扫描\n\n1. 从 Dasha 时间线提取与目标主题高度相关的窗口段\n2. 对窗口内的大运/小运做功能解读——大运管\"主题\"，小运管\"落地\"\n3. 标注时间置信度——大运区间天然可信，30天内窗口需标注\n4. 跨窗口时需要区分\"窗口在重叠\"和\"窗口在分开\"的情况\n\n### 步骤二：场域比对\n\n场域不是命主盘自带的信息，而是用户提供的外部参数。需要将场域视为\"对某一条已有命盘线路的放大或抑制条件\"。\n\n1. 地理方位与宫位关系：目标地点相对于出生地的方位，与命盘中对应宫位的关联\n2. 迁移盘的参考价值：以目标地点重排的盘可以作为辅助，但权重低于命主盘\n3. 场域选择分类：\n   - \"事业型迁移\"：看 10H、L10、AmK、D10\n   - \"学习型迁移\"：看 9H、L9、Mercury、Jupiter\n   - \"关系型迁移\"：看 7H、L7、DK、Venus\n   - \"疗愈型迁移\"：看 12H、Moon、Saturn\n\n### 步骤三：时间×场域联合判断\n\n1. 对每个\"备选地点+备选时间窗口\"组合做权重排序\n2. 每个组合给出：\n   - 顺风因素（地点和时间的加持点）\n   - 逆风因素（地点和时间的摩擦点）\n   - 取舍逻辑（优先保什么、可以放什么）\n3. 最终输出一个优先级排序 + 每个选项的取舍建议\n\n## 输出格式\n\n每个地点选项按以下结构输出：\n\n```\n### [地点名称]\n\n**总体评估**：[一句话判断]\n\n**时间窗口**：[YYYY.MM–YYYY.MM] — [触发因素]\n\n**顺风**：\n- [因素 1]\n- [因素 2]\n\n**逆风**：\n- [因素 1]\n- [因素 2]\n\n**取舍建议**：[具体建议]\n```\n\n## 注意事项\n\n- 如果出生时间精度不够（±15分钟以上），地点判断的宫位级精度会受影响——必须标注\n- 不要因为没有\"目标地点排盘数据\"就跳过分析——用方位和宫位逻辑替代\n- 不要在用户只问\"适合去哪个城市\"时附带全量命盘分析\n- 事件判断落实到\"结构层\"和\"窗口层\"即可，不要硬推到\"专名层\"\n\nFile v1.0.8:CHANGELOG.md\n\n# Changelog\n\n## v1.4.1 — 盲审规则架构分级：区分 🔴 隔离依赖型 与 🟢 可执行型 (2026-05-27)\n\n### 变更动机\n\nv1.4.0 的盲审规则章节将 8 条规则等权重并列——未区分哪些能在单体模式下执行、哪些受 LLM 注意力机制的物理限制。经审查确认：\n\n- \"禁止反向推导\"和\"禁止经历=天赋\"在单体 skill 中无法被架构保证——用户经历一旦进入上下文窗口，全局注意力已加权，规则文本无法让模型\"不知道\"已知信息。\n- 能做到真正盲审不是因为规则文本，而是 reader→core 子 agent 管线——core 启动时只看到 structured_data.md，原始对话不可见。\n\n### `SKILL.md` 改动\n\n**盲审规则拆分为三个子章节：**\n\n- 🔴 **隔离依赖型约束**（规则 1-2）：标注\"声明性提示——单体模式下无法被架构保证\"，每条附单体模式实际效果说明。此规则退化为事后对照提醒和输出纪律，而非真正的逻辑隔离。\n- 🟢 **可执行约束**（规则 3-8）：输出格式/一致性/行为纪律——不受注意力机制限制。\n- **达到真正盲审的路径**：给出 reader→core 子 agent 管线方案，说明在何种架构下 🔴 类规则变为真正可执行。\n\n---\n\n## v1.4.0 — 盲审规则 + 信号分级 + 主动路由 + 命名修正 (2026-05-27)\n\n### 变更动机\n\n三份用户报告的交叉审计暴露了以下差距：\n\n- **盲审缺失**：本 skill 的分析流程在行星拆盘前已收集用户性别/感情/职业信息，无法做到逻辑隔离审计。\n- **篇幅均质化**：9 颗行星用同样的八镜框架等量输出，导致 AK/Vargottama 行星与普通行星的解读深度无差异。\n- **被动导航**：旧版列出 reference 菜单让用户（和 AI）自己选——实际运行中 AI 倾向于加载全部 reference 或遗漏关键文件。\n- **命名误导**：`时空盘.md` 的名称与西方占星合盘（synastry/composite chart）术语重合，实际内容为时间窗口+场域地点+事件主题的联合分析。\n\n### `SKILL.md` 改动\n\n**1. 新增「盲审规则」章节（8 条硬约束，优先级最高）**\n\n| 规则 |\n| --- |\n| 禁止反向推导 |\n| 禁止经历=天赋 |\n| 禁止情绪定调 |\n| Dasha 回顾必须双向 |\n| 相同数据→相同结论 |\n| 验前事信息隔离 |\n| 禁止读 user_context |\n| 禁止用经历调结论 |\n\n**2. 新增「信号分级与篇幅控制」章节**\n\n- 🔴 A 级（AK / Vargottama / 入旺 / 格局枢纽）→ 完整八镜 + 白话解读，每 2 颗暂停\n- 🟡 B 级（Lagna Lord / DK / AmK / 逆行 / L10 或 L7 主）→ 精简四镜 + 白话解读\n- ⚪ C 级（其余行星）→ 一行表格快扫（6 列）\n\n附带升级规则：互溶参与者自动升一级；用户核心关切对应的宫主星自动升一级。\n\n**3. 导航方式重写为「主动路由」**\n\n- 旧：被动列表——\"用户要 A → 读 X.md\"\n- 新：智能匹配规则——AI 根据问题关键词自动加载对应 reference，用自然语言告知用户（\"我先整体看一下你的盘\"），不说\"我先读取总盘 reference\"\n- 新增路由禁止行为：不加载无关 reference、不列菜单、不说内部路由话\n- 旧导航方式保留为「导航速查」表格供 AI 内部参考\n\n**4. 第二阶段分组暂停从\"按行星组\"改为\"按信号级别\"**\n\n- 旧：A 组 Sun/Moon/Mars → B 组 Me/Ju/Ve → C 组 Sa/Ra/Ke（固定分组）\n- 新：A 级行星按 Shadbala 降序每 2 颗暂停；B 级分一组输出；C 级一次性表格全扫\n\n**5. 字数下限随信号级别差异化**\n\n- A 级 ≥800 字，B 级 ≥400 字，C 级一行即可\n\n### 文件重命名\n\n**6. `references/时空盘.md` → `references/窗口与场域.md`**\n\n- 旧文件保留，顶部添加迁移说明和弃用标注\n- 新文件明确声明\"不是西方占星中的合盘（synastry/composite chart）\"\n- 内容优化：补充分析步骤（时间扫描→场域比对→时间×场域联合判断）、场域选择分类、输出格式模板\n\n### 引用更新\n\n**7. 所有活跃文件中的 `时空盘` 引用全面替换为 `窗口与场域`**\n\n- `SKILL.md`：description、路由规则、导航速查、执行硬约束、共通准则、sections 结构\n- `references/总盘.md`：适用场景、可选高级模块标题 + 正文\n- `references/事业.md`：专题转入链接\n- `references/婚姻.md`：专题转入链接\n\n## v1.3.1 — SAV/BAV 紧凑表格提取修复 (2026-05-08)\n\n### 变更动机\n\nJHora 导出的 Ashtakavarga 表格使用紧凑格式——9 个标签（SAV/As/Su/Mo/Ma/Me/Ju/Ve/Sa）以 `rowspan=2, colspan=2` 嵌入 12×12 网格，导致原有双策略（纯数值行 337 匹配、滑动窗口搜索）始终失败。经 3 份命盘交叉验证，发现紧凑表格第一行含缩放后的 SAV 值（缩放因子 ≈2.5×），纯数据行（全部值 0-8）可匹配 BAV 行星常数。\n\n同时与 Vedic Destiny System Architect 交叉审计确认：该 skill 也未能从同一 markdown 提取 SAV/BAV（校验输出仅列 R4-R10，R1-R3 被静默跳过），并非它的「完美分析」优于本 skill。\n\n### `scripts/jhora_markdown_bridge.py` 改动\n\n**1. 新增 `_parse_ashtakavarga_compact()` 函数**（~50 行）\n\n- SAV 提取：`row0[sign] × 337 / sum(row0)` → 12 宫 SAV 值，实测三份命盘总和均在 334-336（偏差 ≤3）\n- BAV 提取：扫描所有行，全体数值在 0-8 范围内则标记为纯数据行 → 按行总和贪心匹配最接近的 BAV 常数（±5 容差）\n- 返回值：`{\"sav\": [...], \"bav\": {\"Sun\": [...], \"Mercury\": [...], ...}}`\n\n**2. 新增 `_format_ashtakavarga_for_llm()` 函数**（~60 行）\n\n- 将紧凑表格展开后渲染为 LLM 可读的 Markdown 表格\n- 每行附带：数值总和、标签信息、BAV 候选标注（\"BAV candidate → Sun(48) diff=2\"）\n- 底部附 SAV 提取指南和 BAV 常数速查\n- 用途：当自动提取不完整时，LLM 可直接阅读此表手动完成 C10/C11 校验\n\n**3. `_parse_ashtakavarga()` 追加 Strategy 3**：调用 `_parse_ashtakavarga_compact()`\n\n**4. `parse_jhora_markdown()` 追加 Ashtakavarga 表格检测**：对含 `SAV` 标签且首行全数字的表格，自动将其 LLM 可读版本附入 payload 的 `_ashtakavarga_table` 字段\n\n### `scripts/chart_sanity_check.py` 改动\n\n**5. SAV 校验容差放宽**：`math.isclose(total, 337, abs_tol=0.01)` → `abs(total - 337) <= 5`（适配启发式提取的舍入误差）\n\n**6. BAV 行常量校验容差放宽**：同上，`abs_tol=0.01` → `abs(total - expected) > 5`\n\n### 效果\n\n| 检查项 | v1.3.0 | v1.3.1 |\n| --- | --- | --- |\n| C9 SAV=337 | ⏭️ 跳过 | ✅ 通过（334，容差内） |\n| C10 BAV 行常量 | ⏭️ 跳过 | 🔶 部分（4/7 行星，纯数据行） |\n| C11 BAV 列→SAV | ⏭️ 跳过 | ⏭️ 仍跳过（BAV 不完备） |\n\n### 设计原则\n\n- **启发式优于硬编码**：row0 缩放规律通过 3 份命盘交叉验证，比例因子 2.48-2.74 区间内对 SAV 总和的影响 ≤3\n- **LLM 阅读作为后备**：紧凑表格的完整 BAV 映射仍在研究中；`_format_ashtakavarga_for_llm()` 提供低成本的 LLM-in-the-loop 回退路径\n- **向后兼容**：不改变 payload 接口；新增字段 `_ashtakavarga_table` 仅当表格被检测到时附加\n\n---\n\n## v1.3.0 — 执行纪律升级：闸门硬阻断 + 输出风格约束 (2026-05-08)\n\n### 变更动机\n\n与 Vedic Destiny System Architect 的交叉审计暴露了本 skill 在\"防 AI 跑偏\"上的两个系统性短板：\n\n- 验证闸门只有逻辑描述，没有硬性输出阻断——AI 可以在单轮回复里跑完 Phase 1 + Phase 2\n- 缺少对 AI 输出风格的具体量化约束——表格可以替代白话解读，术语可以悬空出现\n\n本次升级从对方的架构中借鉴了\"硬暂停机制\"和\"风格量化约束\"，但**保持自有框架命名**（八镜、C1-C11、三分层），不引入 P1-P12 或物流模型等私有标签。\n\n---\n\n### `SKILL.md` 改动\n\n**1. 新增「输出风格硬约束」章节（导航方式之前）**\n\n- 比例控制：70% 白话 + 20% 数据 + 10% 注释\n- 禁极端词：用量化替代\"非常/极为/极度\"\n- 比喻必解释：每个比喻必须有 1-2 句对应说明\n- 术语必翻译：首次出现的术语括号内给通俗解释\n- 字数下限：行星审计 ≥600 字，板块总结 ≥300 字，C1-C11 每项必须有一句说明\n- 表格禁止悬空：所有表格前必须有白话解释\n\n**2. 执行硬约束 #6 追加闸门暂停规则**\n\n- 第一阶段输出完成后强制输出 `=== 验证闭环完成 ===` 确认模板\n- 模板包含：闸门状态 / C1-C11 通过数 / 命中等级分布 / 出生时间稳定度 / 校验等级\n- **关键约束**：必须立即停止，不得在同一轮回复中进入第二阶段\n\n**3. 第二阶段新增分组暂停**\n\n- A 组（Sun/Moon/Mars）→ 输出后暂停\n- B 组（Mercury/Jupiter/Venus）→ 输出后暂停\n- C 组（Saturn/Rahu/Ketu）→ 输出后暂停\n\n---\n\n### `references/总盘.md` 改动\n\n**4. 验证闸门处追加确认模板**（与 SKILL.md 一致）\n\n**5. C1-C11 追加计算公式（63 行）**\n\n- Nakshatra/Pada 计算：绝对经度 → floor(/13.3333) → pada\n- D9 映射计算：火/土/风/水象星座 pada 起点规则\n- 水金距角：Me=28° / Ve=48° 最大距角\n- 罗计对冲：180° ±1° 容差\n- 逆行合法性：Sun/Moon 不逆行，Rahu/Ketu 总逆行\n- Dasha 间隔常数链：6→10→7→18→16→19→17→7→20\n- SAV 总和=337、BAV 行常量表、BAV 列→SAV 交叉验证\n\n**6. 新增「7.5 AK 灵魂课题（必答）」**\n\n- AK 判定：绝对经度最高行星（排除 Rahu）\n- 解读三要素：身份与职责 / 星宿主 / 灵魂主线叙述（3-5 段）\n- 约束：用叙述语言，不用标签语言\n\n**7. 最低必答清单追加 AK 灵魂课题**\n\n---\n\n### 设计原则\n\n- **自研框架，不引入私有标签**：所有新增内容继续使用八镜、C1-C11、三分层等自有命名\n- **硬阻断优于软约束**：闸门从\"建议不进入\"升级为\"物理断点\"\n- **公式让 AI 自算**：C1-C11 不再只是\"检查结果\"，而是\"给定度数就能算\"\n\n---\n\n## v1.2.2 — SAV/BAV 手动读取回退指令 (2026-05-08)\n\n- SKILL.md 新增脚本失败后的 fallback：直接从原始 markdown 文本手动提取 SAV/BAV 数值并验证\n- 根因修复：模型不再把\"脚本 SKIP\"等同为\"SAV 不可获取\"\n\n## v1.2.1 — Ashtakavarga 自动提取 (2026-05-08)\n\n- jhora_markdown_bridge.py 新增 `_parse_ashtakavarga` 函数，双策略扫描 SAV 行（纯数值行337匹配 + 滑动窗口搜索）\n\n## v1.2.0 — 一致性检查强制编号制 (2026-05-08)\n\n- 一致性检查新增 C1-C11 强制编号输出格式（缺任何一行视为校验不完整）\n- C9-C11（SAV/BAV）变为不可静默跳过的硬性输出行：要么给数值+校验结果，要么给具体跳过原因\n\n## v1.1.3 — 特殊互溶变种检测 (2026-05-08)\n\n- 新增欺骗互溶和拒绝互溶两种不等价互溶的自动检测规则\n\n## v1.1.2 — 互溶接纳算法补强 (2026-05-08)\n\n- 增强不合意互溶判定：互溶不要求相位，不合意互溶仍有效\n- 新增接纳\"不领情\"效应检测：被接纳星落陷时的反向评估\n- 新增定位星链条追溯算法：最终定位星/群体定位的识别\n\n## v1.1.1 — 互溶算法增强 (2026-05-08)\n\n- 增强互溶动力学判定算法：新增强弱互溶、弱弱互溶的分级评估规则\n- 增强互溶落宫影响算法：角宫vs暗宫对互溶可控性的影响\n- 增强互溶相位调节算法：软/硬相位对互溶通道稳定性的影响\n- 新增接纳（Reception）识别规则作为互溶的补充\n\n## v1.1.0 — 分析深度升级 (2026-05-08)\n\n### 变更动机\n\n经过与同类 skill 的输出对比分析，发现 v1.0 版本存在以下系统性短板：\n\n- SAV/BAV 量化层被标记为\"可跳过\"，导致宫位级判断缺乏数据支撑\n- 行星分析维度单薄——无燃烧临界、无年龄状态、无逆行修正规则\n- 核心格局（Parivartana 互溶）完全遗漏\n- D9 校准只覆盖内核品质，缺少果实投射和房东审计维度\n- 角宫主效应（Kendradhipati Dosha）未被纳入分析\n\n本次升级**不使用任何其他 skill 的私有标签或框架命名**，所有新增内容均追溯至 Parashari 经典和 KN Rao 体系的公共知识。\n\n---\n\n### 改动清单\n\n#### `references/术语框架.md`\n\n**1. 新增「运行状态子维度」章节**\n\n- 燃烧（Combustion）：每颗行星的燃烧临界度数表（含逆行调整），Cazimi 说明\n- 逆行修正（KN Rao 体系）：落陷+逆行→视同入旺、入旺+逆行→视同落陷、入庙+逆行→深钻型\n- 行星年龄状态（Baladi Avasthas）：婴/少/青/壮/寂 五阶段度数区间和能量特征\n- 情绪与活动状态（Mood & Activity Avasthas）：JHora 常见取值和中文化说明\n\n**2. 新增「SAV/BAV 量化规范」独立章节**\n\n- SAV 宇宙常数 337 + BAV 行常量表\n- 宫位 SAV 阈值分档（≥32 充裕 / 28-31 良好 / 24-27 中等 / 20-23 偏紧 / <20 匮乏）\n- 掌宫资源评估（两宫 SAV 之和）\n- 缺 SAV/BAV 时的降级策略\n\n**3. 新增「角宫主效应（Kendradhipati Dosha）」章节**\n\n**4. 扩展「九分盘的定位」→ D9 复核五维度**（新增果实投射、房东审计）\n\n#### `references/总盘.md`\n\n**5. 一致性检查：SAV/BAV 从\"可跳过\"升级为\"必须尝试\"**\n\n**6. 行星拆盘：最低镜面从 7 个扩展到 8 个，运行状态必须展开子维度**\n\n**7. 新增「5.5 互溶与格局扫描（必做）」章节**\n\n**8. D9 复核：扩展为五维度强制覆盖**\n\n**9. 人生主线：增加互溶/格局分析和 D9 兑现总结要求**\n\n**10. 最低必答清单：增加互溶扫描、D9 五维度覆盖、SAV/BAV 必须尝试提取**\n\n#### `SKILL.md`\n\n**11. 执行硬约束 #2：SAV/BAV 从\"可跳过\"升级为\"必须尝试，失败才跳过\"**\n\n---\n\n### 设计原则\n\n1. **公共知识，自有表达**：所有新增的燃烧临界值、SAV 常数、逆行修正规则均为 Parashari 经典内容。zh 的表述方式（八镜框架、五维度复核、\"必须尝试失败才跳过\"的渐进约束）是独立的。\n2. **渐进约束**：不追求一步到位的\"完美校验\"，而是在现有框架上增加\"必须尝试→失败才跳过→跳过要写原因→降级要标置信度\"的渐进链条。\n3. **向后兼容**：现有报告的 sections 结构（01-13）不变；新增分析融入现有流程。\n4. **不抄袭私有标签**：不引入其他 skill 的 P1-P12、Growth-Hacker、Destroyer、物流模型等私有框架。\n\n---\n\n## 2026-04-29 — 验证闸门重构\n\n**问题**：旧版流程在完整拆盘（9 颗行星八镜分析、九分盘复核、人生主线、report.html）和既往事件回看之间没有硬性先后顺序。出报告时可能先跑完所有拆盘再回头做前事验证，导致——如果出生时间有偏差，整份报告都建立在不可靠的基础上。\n\n**修改范围**：`总盘.md`、`SKILL.md`\n\n### 变更内容\n\n#### 新增：验证闸门（`总盘.md` 步骤 4 之后）\n\n步骤 1-4（基础盘面 → 一致性检查 → 既往事件回看 → 出生时间稳定度）形成 **验证闭环**，未闭合前不得进入步骤 5-8 的交付级拆盘。\n\n**允许区 / 禁止区分界**：\n\n- **允许**：扫描 dasha 时间线找切换点、定位过去 5-10 年激活的宫位和 karaka、识别高信号窗口——服务于步骤 3 提问质量\n- **禁止**：9 颗行星八镜完整拆盘、九分盘兑现复核、人生主线汇总、生成 `report.html`\n\n闸门通过条件：\n\n- 一致性检查无硬冲突\n- 既往事件回看有至少一条 `高贴合`，无大面积 `失配`\n- 出生时间稳定度不低于 `中等`\n\n未通过时降级为基础摘要 + 验证结果，不生成 HTML。\n\n#### 两阶段分节结构（`SKILL.md`）\n\n```\n# === 第一阶段：验证闭环 ===\nsections/\n  01-基础盘面.md\n  02-一致性检查.md\n  03-既往事件回看.md\n  04-出生时间稳定度.md\n\n# === 第二阶段：完整拆盘（闸门通过后）===\nsections/\n  05-行星拆盘A.md\n  ...\n  13-落地提醒.md\n```\n\n#### `report.meta.json` 状态字段\n\n```\nstatus: verifying | pending_verification | complete\n```\n\n- `verifying`：第一阶段已生成，等待用户确认验证结果\n- `pending_verification`：闸门未通过，报告停留\n- `complete`：闸门通过，第二阶段完成，HTML 已打包\n\n#### 报告交付纪律\n\n- 共通准则 #2 更新为两阶段交付说明\n- 强制交付（第 6 条）拆分第一阶段和第二阶段交付物\n- 报告包装新增\"不要在第一阶段生成完整 HTML\"\n\nFile v1.0.8:skill-card.md\n\n## Description: <br>\n吠陀命盘分析中文入口，用于完整命盘研判、Rashi 与 Navamsha 联读、既往事件回看、出生时间稳定度判断、事业与婚姻主题分析、时间与场域联合分析，以及基于 Jagannatha Hora PDF、星盘截图或文本命盘数据的系统拆盘。 <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[seanding1998](https://clawhub.ai/user/seanding1998) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users use this skill to receive Chinese-language Vedic astrology analysis from chart data, screenshots, JHora exports, or prior chart summaries. It supports focused topics such as career, marriage, timing windows, relocation context, and full two-stage chart reports. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Sensitive birth, chart, relationship, career, location, and life-history details may be included in the conversation and generated reports. <br>\nMitigation: Use the minimum necessary inputs, redact details where possible, and avoid installing or running the skill unless sharing those details with the agent is acceptable. <br>\nRisk: Generated report folders can retain personal chart analysis locally after the session. <br>\nMitigation: Review generated files after use and delete report folders that should not be retained. <br>\nRisk: Astrology-based timing and life-domain conclusions can be overread as certain predictions. <br>\nMitigation: Preserve the skill's evidence requirements, confidence downgrades for missing data, and two-stage verification gate before generating complete reports. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/seanding1998/vedic-destiny) <br>\n- [SKILL.md](artifact/SKILL.md) <br>\n- [总盘](artifact/references/总盘.md) <br>\n- [事业](artifact/references/事业.md) <br>\n- [婚姻](artifact/references/婚姻.md) <br>\n- [窗口与场域](artifact/references/窗口与场域.md) <br>\n- [术语框架](artifact/references/术语框架.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance, files] <br>\n**Output Format:** [Chinese prose and Markdown with tables, JSON report metadata, and optional self-contained HTML report files.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Full reports follow a two-stage verification gate and may create local report folders with section Markdown, report.meta.json, and report.html.] <br>\n\n## Skill Version(s): <br>\n1.0.8 (source: server release metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v1.0.7: 12 files, 70650 bytes\n\nFiles: CHANGELOG.md (16643b), references/事业.md (6639b), references/婚姻.md (5038b), references/总盘.md (25088b), references/时空盘.md (4553b), references/术语框架.md (15824b), scripts/build_report_html.py (25879b), scripts/chart_sanity_check.py (22028b), scripts/jhora_markdown_bridge.py (22920b), skill-card.md (2787b), SKILL.md (23071b), _meta.json (132b)\n\nFile v1.0.7:SKILL.md\n\n---\n\nname: vedic-chart-analysis-zh\n\ndescription: 吠陀命盘分析中文入口。用于完整命盘研判、命主盘 Rashi chart 与九分盘 Navamsha chart 联读、既往事件回看、出生时间稳定度判断、事业主题、婚姻主题、时间与场域联合分析，以及基于 Jagannatha Hora PDF、星盘截图或文本命盘数据的系统拆盘。当用户提到完整星盘、事业方向、婚姻问题、关系窗口、桃花时间、迁移地点、城市比较、时间窗口，或吠陀占星、Jyotish、Jaimini、Parashari 相关请求时触发。\n\n---\n\n# 吠陀命盘研判系统\n\n这是一套中文总入口 skill。先根据用户问题主动匹配最合适的 reference，再读取分析——不列菜单让用户自己选。\n\n## 输出风格硬约束（优先级最高，覆盖所有 reference）\n\n这些约束直接影响 AI 的\"说话方式\"，不改变分析框架本身。\n\n1. **比例控制**：每个分析模块的聊天输出 ≈ 70% 白话解读 + 20% 数据表格 + 10% 技术注释。\n   禁止表格堆砌替代解读——表格是对白话的佐证，不是替代。\n2. **禁极端词**：不使用\"非常\"\"极为\"\"极度\"\"极强\"等修饰词。用数据替代感叹。\n   ❌ \"火星极强\" → ✅ \"Shadbala 1.45，九大行星中最高\"\n3. **比喻必解释**：使用任何比喻（如\"穿书生袍的将军\"）时，必须在同一段落内用 1-2 句说明比喻的对应关系。\n4. **术语必翻译**：首次出现的占星术语必须在括号内给出通俗解释。\n   例：\"Kendradhipati Dosha（角宫主效应：吉星管角宫时会'怠工'，因守护职责分散了精力）\"\n5. **字数下限**：\n   - A 级行星审计 ≥ 800 字（含表格）\n   - B 级行星审计 ≥ 400 字（含表格）\n   - C 级行星一行快扫即可\n   - C1-C11 校验表的每一项必须有一句说明，不可只写 ✅/❌\n   - 十大板块总结每板块 ≥ 300 字\n6. **表格禁止悬空**：所有表格前必须有至少一段白话解释——先说人话，再放数据。\n\n## 盲审规则（优先级最高，覆盖所有 reference）\n\n**分析对象在你面前是一组匿名数据。你知道的一切来自行星度数、宫主表、Dasha 和分盘。**\n\n⚠️ **架构先决条件**：以下规则的执行效力因 skill 运行模式而异。当前 skill 为单体入口——分析引擎与用户对话在同一上下文窗口内运行。用户自述的经历（如\"我有 ADHD\"）一旦进入上下文，LLM 的全局注意力机制无法被规则文本屏蔽——模型\"知道\"这些信息后，后续推理天然受其着色。以下规则中，标记为 🟢 的是输出格式/一致性约束，可在单体模式下执行；标记为 🔴 的是隔离依赖型约束，**仅在 reader→core 子 agent 管线架构下才能真正生效**（reader 子 agent 提取纯数据 → core 子 agent 启动时只看到 structured_data.md，看不到用户原始对话）。\n\n### 🔴 隔离依赖型约束（声明性提示——单体模式下无法被架构保证）\n\n1. **禁止反向推导**：不得从用户已告知的经历反推\"你的盘说的就是这个\"。正确做法：先从数据推出含义，再对照用户经历验证。\n   - ❌ 知道用户抑郁 → 把 8 宫往抑郁方向解\n   - ✅ 8 宫 SAV=38 → \"深度转化能力强\"，可能表现为研究/心理/金融/危机干预，不预设方向\n   - **单体模式实际效果**：模型读到了用户经历后，注意力已全局加权，无法真正做到\"不知道\"——此规则在此模式下退化为事后对照提醒。\n2. **禁止经历=天赋**：用户经历过 X ≠ 用户适合做与 X 相关的工作。\n   职业方向只能基于：L10 + AmK + 格局 + D10 + 强星。不能基于：\"你经历过 X，所以你适合做与 X 相关的工作\"。\n   - **单体模式实际效果**：同上。此规则在此模式下退化为\"不要用经历替换盘面推导\"的输出纪律。\n\n### 🟢 可执行约束（输出格式 / 一致性 / 行为纪律）\n\n3. **禁止情绪定调**：用户描述的人生基调（顺遂/坎坷）不影响格局评估。\n   家境普通的人也能有顶级 Raja Yoga。8 宫 SAV=38 是\"深度转化能力\"，不是\"注定受苦\"。\n4. **Dasha 回顾必须双向**：分析过去的 Dasha 时，同一段 Dasha 必须同时列出可能的正面和负面表现。\n   不能因为用户那段时间过得苦，就只写负面。\n5. **相同数据 → 相同结论**：如果两个人的盘有相同的 L10/格局/D10 配置，推荐方向必须一致——不论一个是富二代一个是普通家庭。\n6. **验前事信息隔离**：用户在验前事阶段提到的个人信息，分析阶段只能用于验证结论，不能用于生成结论。\n   推导过程中如果出现\"因为用户说过 X 所以 Y\"的逻辑，立即停止，重新从盘面推导。\n7. **如有 user_context 文件，分析阶段禁止读取。** 如有\"信号修正日志\"，只参考其中的信号方向（如\"Moon 偏护理\"），忽略日志中引用的用户具体事件。\n8. **禁止读取对话中用户自述的经历来调整职业/感情结论**。已确认的验前事事实仅用于验证时间准确度，不用于扭曲后续分析方向。\n\n### 达到真正盲审的路径\n\n如果对盲审质量有更高要求，建议将当前单体 skill 拆分为 reader→core 子 agent 管线：\n\n```\nreader 子 agent（读取原始命盘 + 用户对话）→ 输出纯数据 structured_data.md\n                                              ↓\ncore 子 agent（fork_context=false，只看到 structured_data.md）→ 盲审分析\n```\n\ncore 子 agent 启动时上下文只有 system prompt + structured_data.md，用户原始对话中的经历不会进入注意力计算。此时 🔴 类规则从声明性提示变为真正可执行约束。\n\n## 信号分级与篇幅控制\n\n**在开始拆盘前，先做一遍信号扫描，确定每颗行星的篇幅级别。** 这是阅读节奏的核心——不让用户读 9 颗同样长度的星。\n\n### 分级标准\n\n| 级别 | 判定 | 篇幅 |\n| --- | --- | --- |\n| 🔴 **A 级** | AK / Vargottama / 入旺 / 深度燃烧(<5°) / 落陷有 NBRY / 参与 Raja Yoga 或 Dhana Yoga / 全盘格局枢纽（如互溶参与者） | **完整八镜**（8 个镜面全写）+ 白话解读 + 使用提醒 |\n| 🟡 **B 级** | Lagna Lord / DK / AmK / 入庙 / 逆行 / 有紧密相位(<5°) / L10 或 L7 主 | **精简四镜**（主题归属 + 运行状态 + 兑现通道 + 使用提醒）+ 白话解读 |\n| ⚪ **C 级** | 其余行星 | **表格快扫**（一行 6 列：角色/落宫落座/Shadbala%/尊贵/一句话解读） |\n\n### 补充规则\n\n- 同一级别内部按 Shadbala 从高到低排\n- 互溶参与者自动升一级（C→B，B→A）\n- 一颗星同时满足多个条件，按最高条件定级（如同时是 AK 又是入庙 → A 级）\n- 用户的核心关切（事业/感情）对应的宫主星自动升一级\n- A 级行星输出暂停点：每 2 颗 A 级行星输出后暂停等待确认\n- 分级结果在聊天框简报一次（如\"A 级：水星、木星 / B 级：太阳、月亮、土星 / C 级：火金罗计\"），不需要用户确认\n\n## 主动路由\n\n**不要列 reference 菜单让用户自己选。根据用户问题，主动匹配最合适的 reference，并在开始分析前用自然语言告知用户你正在做什么。**\n\n### 路由规则\n\n```\n用户的问题 … → 你自动匹配 →\n\n问题涉及\"整张盘\"\"全面分析\"\"命盘研判\"\"人生总览\"\"我是什么样的人\"：\n  → 加载 references/总盘.md + references/术语框架.md\n  → 告知用户：\"我先完整看一遍你的全盘结构，然后拆开说。\"\n\n问题涉及\"事业\"\"工作\"\"跳槽\"\"赚钱\"\"创业\"\"行业方向\"：\n  → 加载 references/事业.md + references/术语框架.md\n  → 告知用户：\"我重点看事业线。如果你需要，之后可以再补全盘。\"\n\n问题涉及\"感情\"\"婚姻\"\"恋爱\"\"桃花\"\"伴侣\"\"关系\"：\n  → 加载 references/婚姻.md + references/术语框架.md\n  → 告知用户：\"我重点看感情和关系。如果你需要，之后可以再补全盘。\"\n\n问题涉及\"去哪个城市\"\"什么时候搬家\"\"迁移\"\"异地发展\"\"地点比较\"：\n  → 加载 references/窗口与场域.md + references/术语框架.md\n  → 告知用户：\"我结合时间和地点两个维度来看。如果你还没有完整命盘分析，建议先做一遍基础拆盘。\"\n\n问题涉及两个以上方向（如\"事业和感情都看看\"）：\n  → 先加载 references/总盘.md，总盘跑完再按优先级加载事业或婚姻。\n\n已经有 markdown 报告目录，想包装成单文件 HTML：\n  → 使用 scripts/build_report_html.py\n```\n\n### 路由禁止行为\n\n- ❌ 不主动加载不相关的 reference（如用户问事业，不加载婚姻.md）\n- ❌ 不说\"我先读取总盘 reference\"这类内部路由话——对用户只说\"我先整体看一下你的盘\"\n- ❌ 不列出一串 reference 文件让用户自己选\n\n## 导航速查（供 AI 内部判断路由时参考）\n\n| 用户问什么 | 加载哪个 reference | 覆盖范围 |\n| --- | --- | --- |\n| 完整命盘、总览 | `references/总盘.md` | 基础盘面、验证闸门、行星拆盘、D9 复核、宫位主轴、人生主线上/下、落地提醒 |\n| 事业 | `references/事业.md` | 事业主线、赚钱方式、工作形态、时间窗口、风险与提醒 |\n| 婚姻/感情 | `references/婚姻.md` | 关系模式、伴侣结构、时间窗口、风险与提醒 |\n| 时间+地点 | `references/窗口与场域.md` | 地点差异、迁移判断、时间窗口缩小、场域联合分析 |\n| 术语/框架 | `references/术语框架.md` | 八镜框架、校验规则、冲突裁定、术语定义 |\n| 包装 HTML | `scripts/build_report_html.py` | MD sections → 单文件自包含 HTML |\n\n不要一次性载入全部 reference。先判断问题重心，再只读最相关的一组。\n\n## 执行硬约束\n\n这些约束优先级高于各专题 reference。能算的就算，能核的就核，不能核的就降级，不允许用空泛措辞把缺口糊过去。\n\n### 1. 先判问题类型，再锁最低交付\n\n- 完整命盘研判：必须覆盖基础盘面、一致性检查、既往事件回看、出生时间稳定度、命主盘 Rashi chart、九分盘 Navamsha chart、人生主线和使用提醒\n- 事业专题：必须覆盖事业主线、赚钱方式、工作形态、时间窗口、主要风险和使用提醒\n- 婚姻专题：必须覆盖关系模式、伴侣结构、时间窗口、主要风险和使用提醒\n- 窗口与场域专题：必须覆盖地点差异、时间窗口、取舍逻辑和使用提醒\n\n不要把完整问题答成几段松散短评，也不要把专题问题答成只有性格描述的泛泛解释。\n\n### 2. 只要用了数字结论，就必须有校验来源\n\n只要回答里出现下面这类精确结论：\n\n- SAV、BAV、Shadbala 的数值比较\n- Nakshatra、pada、Navamsha chart 落座\n- Mercury、Venus 与 Sun 的距角\n- Rahu、Ketu 对冲\n- dasha 起止时间与窗口长度\n\n就必须先调用本地工具或明确引用当前对话里已经算过的结果。对于原始命盘资料，默认优先运行：\n\n```bash\npython \"scripts/chart_sanity_check.py\" <chart-input.json-or-jhora.md>\n```\n\n这个脚本现在可以直接读取 JHora 导出的 markdown，不必先手工改写成 JSON。\n\n**SAV/BAV 矩阵是必须尝试的项目，不是可选加分项**：\n\n- 只要原始资料中有任何 SAV/BAV 数字（PDF 截图、JHora 导出表格、用户手动输入），就必须提取并完成 SAV 总和=337、BAV 行常量、BAV 列→SAV 三项校验（详见 `术语框架.md`）\n- 如果脚本对图式表格解析失败，优先手动列出 12 宫 SAV 值，再做算术校验\n- 只有经尝试后确实无法提取（OCR 乱码、截图模糊不可辨认），才标记为\"跳过\"并写明具体原因（\"截图分辨率不足\"而非笼统的\"图式表格未能自动化解析\"）\n- 跳过 SAV/BAV 意味着\"资源水位\"和\"落点环境\"两个八镜镜面降级为 Shadbala 和 Vimsopaka 替代，宫位级精细判断置信度降为 🟠 中\n\n**脚本解析失败 ≠ SAV/BAV 不可获取**。如果 `chart_sanity_check.py` 返回 SAV/BAV SKIP：\n\n- 不要只报告\"脚本跳过\"就完事\n- 直接从原始命盘数据文件（JHora markdown 或 PDF）中**手动读取** SAV 数值\n  - JHora markdown 中的 Ashtakavarga 表：`<td>` 标签里的数字就是每宫的 BAV/SAV 分值\n  - 逐行列出数值，定位 SAV 行（12 个数字总和 = 337），做加法验证\n  - 同样列出每颗行星的 BAV 12 宫数值，验证行常量\n- 只有在原始文件中确实找不到任何 SAV/BAV 数字时，才标记为 ⏭️ 跳过\n\n如果因为缺数据无法执行完整校验，要明确写出：\n\n- 哪些项目已通过\n- 哪些项目跳过\n- 这会把哪类结论从高置信度降到中或低置信度\n\n### 3. 重大判断必须有至少两类证据支撑\n\n任何主要结论都不能只靠一句抽象判断。至少要落到下面两类证据中的两类：\n\n- 宫位与宫主\n- 行星状态\n- dasha\n- 命主盘 Rashi chart 落点\n- 九分盘 Navamsha chart 复核\n- SAV、BAV、Shadbala 或同类强弱表\n- karaka 或 yoga\n\n禁止这类松答：\n\n- 只说\"你事业有潜力\"但不交代潜力来自哪里\n- 只说\"关系容易反复\"但不说明反复是结构问题、时间问题还是环境问题\n- 只给一串术语和标签，不翻成现实语言\n\n### 4. 缺数据时必须降级，而不是硬推\n\n如果关键字段缺失、互相冲突，或出生时间明显不稳：\n\n- 先说缺口\n- 再说还能稳定判断什么\n- 最后说哪些结论暂时只能保留为低或中置信度\n\n不要把低置信度问题包装成确定判断。\n\n### 5. 时间问题必须落到具体窗口\n\n只要用户问：\n\n- 什么时候会发生\n- 哪段时间更适合推进\n- 婚期、关系窗口、跳槽窗口、搬迁窗口\n\n就不能只回答\"未来几年\"\"最近会有机会\"这类模糊话。最低要求：\n\n- 落到明确的年份、年月区间，或季度窗口\n- 说明窗口是由什么触发\n- 说明窗口里最可能发生什么，不要只给吉凶判断\n\n### 5.1 用户已经给了事件时间线时，直接进入回看直评\n\n如果用户已经把既往事件按年份或区间列出来：\n\n- 不要再把它改写成一串反问\n- 直接逐条回看\n- 每条至少写出：事件、命中等级、时间锚点、盘面锚点、牵强处\n\n统一使用这三档命中等级：\n\n- `高贴合`：时间和事件性质都明显对上\n- `有限贴合`：时间接近，但事件级别、强度或主题更宽\n- `失配`：盘面很难为这条事件提供有效支撑\n\n### 5.2 细节必须分层，不要一口气跳到专名\n\n解释事件时，先分清下面三层：\n\n- `结构层`：技术型、大机构、异地、边工边学、高压慢回报\n- `窗口层`：某段时间职业定向、离职、迁移、承压、进修\n- `专名层`：具体公司、具体国家、具体病名、某一个人做了什么\n\n命盘最稳的是结构层，其次是窗口层。专名层只能在外部事实已经给出、且盘面确有支撑时作为对照结果引用，不能反过来冒充盘里本来就能直接读出的结论。\n\n### 6. 报告型请求强制交付完整产物\n\n如果请求规模已经达到完整报告或大型专题，遵循两阶段纪律（详见 `总盘.md` 验证闸门）：\n\n**第一阶段（验证闭环）**：\n\n- 聊天框输出基础盘面、一致性检查、既往事件回看、出生时间稳定度\n- 生成 `report.meta.json`（status 标记为 `verifying`）\n- 生成第一阶段 `sections/`（01 到 04）\n\n**第二阶段（完整拆盘）**：\n\n- 验证闸门通过后才执行\n- 执行信号分级扫描，确定 A/B/C 级别\n- 生成第二阶段 `sections/`（05 到 13）\n- 更新 `report.meta.json`（status 标记为 `complete`）\n- 生成 `report.html`\n\n**第二阶段内的分组暂停**：9 颗行星拆盘按信号级别组织：\n\n- A 级行星按 Shadbala 降序输出，每 2 颗暂停等待确认\n- B 级行星分一组输出（3-4 颗一组），完成后暂停\n- C 级行星在一次性表格中全部扫完\n\n如果验证闸门未通过，报告停留在第一阶段，`report.meta.json` 的 status 标记为 `pending_verification`，不生成 `report.html`。\n\n**闸门暂停规则（不可跳过）**：\n\n第一阶段输出完成后，必须输出以下确认提示并**立即停止**，不得在同一轮回复中进入第二阶段：\n\n```\n=== 验证闭环完成 ===\n闸门状态：[通过 / 未通过]\n- 一致性检查：C1-C11 通过 X/11 项\n- 既往事件回看：高贴合 X 条 / 有限贴合 X 条 / 失配 X 条\n- 出生时间稳定度：[稳定 / 中等 / 明显不稳]\n- 校验等级：[🔴极高 / 🟡高 / 🟠中]\n\n请确认以上验证结果。\n回复\"继续\"→ 进入完整拆盘（第二阶段）\n回复具体疑问 → 针对性补充\n===\n```\n\n### 7. 输出必须先说现实判断，再给盘面抓手\n\n每个主要小节都必须先把结论翻成普通人能懂的话，再上证据。表格、缩写和术语不能单独悬空出现。\n\n## 共通准则\n\n### 1. 不要向用户转播内部路由\n\n不要说下面这类话：\n\n- `我先加载总盘 reference`\n- `我切到事业专题`\n- `我按窗口与场域规则处理`\n- `我完成了内部检查步骤`\n\n用户只需要看到判断、提问、结论和限制，不需要看到 skill 内部导航。\n\n### 2. 报告型请求默认交付整套产物（两阶段）\n\n只要问题已经达到完整报告或大型专题的规模，默认交付物应当按两阶段组织（详见 `总盘.md` 验证闸门）：\n\n**第一阶段交付（验证闭环）**：\n\n- 一份用户当场可读的基础盘面 + 验证结果聊天输出\n- `report.meta.json`（status: `verifying`）\n- `sections/01` 到 `04`（基础盘面、一致性检查、既往事件回看、出生时间稳定度）\n\n**验证闸门通过后，进入第二阶段**：\n\n- 执行信号分级扫描\n- 继续拆盘分析聊天输出\n- 追加 `sections/05` 到 `13`\n- `report.meta.json` status 更新为 `complete`\n- 生成 `report.html`\n\n如果验证闸门未通过，停留在第一阶段，status 标记为 `pending_verification`，不生成 HTML。\n\n### 3. 可精确计算的内容优先调用本地工具\n\n只要本地 Python 可用，就不要把能精确核算的项目留给口算或主观估算。\n\n必须工具化的项目包括：\n\n- SAV、BAV 的总和、行常量、列回填和阈值分档\n- 根据度数反推 Nakshatra 和 pada\n- 根据度数反推九分盘 Navamsha chart 落座\n- Mercury、Venus 与 Sun 的距角\n- Rahu、Ketu 的对冲检查\n- 逆行合法性检查\n- dasha 年月区间的日期运算\n- Shadbala 或同类强弱表的排序和数值比较\n\n真正适合人工判断的部分包括：\n\n- 宫主职责和主题归属\n- 宫位主题\n- yoga 的解释\n- 既往事件回看问题设计\n- 最终整合与建议\n- 窗口与场域分析里的地点语境与选择权衡\n\n优先使用的辅助脚本：\n\n```bash\npython \"scripts/chart_sanity_check.py\" <chart-input.json-or-jhora.md>\n```\n\n如果原始资料只给了部分数字，也照样对已有部分做检查，并明确写出哪些项目因为缺数而跳过。缺数据时要降级置信度，不要硬补精确结论。\n\n### 4. 先给现实判断，再拆盘面抓手\n\n每个主要小节都先回答：\n\n- 这在现实里意味着什么\n- 强项或阻力会体现在哪\n- 用户最先该抓住的重点是什么\n\n现实判断之后，再补盘面抓手：\n\n- 宫位与宫主\n- 行星状态\n- dasha\n- 命主盘 Rashi chart\n- 九分盘 Navamsha chart\n- 必要时使用八镜框架\n\n### 5. 复用当前对话上下文\n\n如果当前对话里已经有可用的总盘结果：\n\n- 不要整套重跑\n- 直接基于已有研判回答更窄的问题\n- 只有在用户补了新资料或原结论不足以支持新问题时，才追加计算\n\n### 6. 不要编造数据\n\n如果原始资料不完整或互相冲突：\n\n- 明确说出缺了什么\n- 明确哪些结论要降级\n- 不要装作自己能给出精确答案\n- 不要靠事后改口把明显失误硬改成命中\n\n## 输入处理\n\n接受这些输入形式：\n\n- Jagannatha Hora PDF\n- JHora 导出的 markdown 报告\n- 星盘截图\n- 文本形式的命盘数据\n- 当前对话里已有的拆盘摘要\n\n如果用户只问一个窄问题，只收集这个问题真正需要的关键字段。\n\n## 输出契约\n\n每个主要小节都遵守同一结构：\n\n1. `现实判断`\n2. `盘面抓手`\n3. `使用提醒`\n\n表格可以保留，但前面必须先有一小段普通人能看懂的解释。\n\n## 报告包装\n\nHTML 生成和解读流程分开。只有在 markdown 报告内容已经存在时，才使用脚本。\n\n**报告两阶段纪律**：完整研判分两阶段出。第一阶段（验证闭环）闭合且验证闸门通过后，才生成第二阶段内容。`report.html` 在第二阶段 markdown 全部完成后才打包，不要在第一阶段就生成完整 HTML。\n\n对于完整研判，默认在分析完成后主动生成整套报告目录与 HTML。\n\n默认目录命名建议：\n\n```text\n./命盘报告-<client-or-anon>-<yyyymmdd>/\n```\n\n目录契约：\n\n```text\nreport-folder/\n  report.meta.json\n  sections/\n    01-基础盘面.md\n    02-主题拆盘.md\n```\n\n`report.meta.json` 必填字段：\n\n```json\n{\n  \"lang\": \"cn 或 en\",\n  \"client_name\": \"字符串\",\n  \"lagna\": \"字符串\",\n  \"gender\": \"字符串\",\n  \"status\": \"verifying | pending_verification | complete\",\n  \"report_kind\": \"字符串\",\n  \"source_system\": \"字符串\",\n  \"notes\": [\"可选\", \"字符串数组\"]\n}\n```\n\n运行：\n\n```bash\npython \"scripts/build_report_html.py\" <report-folder>\n```\n\n脚本输出单个自包含 HTML，不负责 PDF。\n\n完整研判分两阶段出，验证闸门见 `总盘.md`。第一阶段闭合后才允许生成第二阶段和 `report.html`。\n\n```text\n# === 第一阶段：验证闭环 ===\n# 生成后先让用户确认既往事件回看和出生时间稳定度。\n# 验证闸门未通过时，报告到此为止，不要生成 HTML。\n\nsections/\n  01-基础盘面.md         # 上升、九大行星、当前 dasha、九分盘可用度\n  02-一致性检查.md       # 已核 / 跳过 / 影响\n  03-既往事件回看.md     # 提问模式或直评模式，逐条命中等级\n  04-出生时间稳定度.md   # 稳定 / 中等 / 明显不稳\n\n# === 第二阶段：完整拆盘 ===\n# 验证闸门通过后才生成。出生时间不稳则本阶段降级。\n\nsections/\n  05-行星拆盘A.md        # A 级行星完整八镜\n  06-行星拆盘B.md        # B 级行星精简四镜 + C 级快扫\n  07-行星拆盘C.md        # 剩余行星 + 互溶专项扫描\n  08-九分盘兑现复核.md\n  09-宫位主轴.md\n  10-人生主线上篇.md\n  11-人生主线下篇.md\n  12-窗口与场域专题.md     # 选配\n  13-落地提醒.md\n```\n\n如果只是事业或婚姻专题，但内容已经达到完整报告规模，4 节就够：\n\n```text\nsections/\n  01-主题判断.md\n  02-盘面抓手.md\n  03-时间与场景.md\n  04-使用提醒.md\n```\n\nFile v1.0.7:_meta.json\n\n{\n  \"ownerId\": \"kn767kdw00a1yqfq7r0wfe49tn823tz6\",\n  \"slug\": \"vedic-destiny\",\n  \"version\": \"1.0.7\",\n  \"publishedAt\": 1779848544462\n}\n\nFile v1.0.7:references/事业.md\n\n# 事业主题流程\n\n如果需要共享术语、读盘抓手或冲突裁定口径，读取 `术语框架.md`。\n\n## 适用场景\n\n当用户明确问的是下面这些问题时，使用这个流程：\n\n- 事业方向\n- 工作适配度\n- 创业还是任职\n- 事业上升路径\n- 变现模型\n- 职场风险\n- 事业时机\n\n不要把它当完整总盘，也不要用它回答婚姻主题。\n\n## 需要的输入\n\n优先接受其中一种：\n\n- 当前对话里已有总盘摘要\n- Jagannatha Hora PDF\n- JHora 导出的 markdown 报告\n- 星盘截图\n- 文本命盘数据\n\n事业判断最关键的字段：\n\n- 上升\n- 命主盘（Rashi chart）里的 10 宫与 10 宫主\n- Amatyakaraka\n- 2 宫、6 宫、11 宫因素\n- 需要看平台、岗位层级、汇报链或组织摩擦时的 十分盘\n- 九分盘（Navamsha chart）里与事业兑现相关的落点\n- 当前与未来一段时间的大运\n\n如果当前对话里已经有可用的总盘摘要，直接复用，不要重扫原始资料。\n\n## 计算纪律\n\n如果面对的是原始命盘数字，而不是当前对话里已经检查过的总盘结果，下面这些地方优先调用本地 Python：\n\n- dasha 的日期区间运算\n- 和事业、金钱宫位有关的 SAV、BAV 阈值判断\n- 关键事业星的 Shadbala 排序\n- 需要显性引用时的九分盘（Navamsha chart）度数映射\n- 需要展开岗位结构时的 十分盘基础落点整理\n\n## 工作流\n\n### 1. 先判断是复用总盘，还是直接做专题\n\n只分两种：\n\n- 已有总盘支撑：当前对话里已经有完整或足够的总盘结论\n- 单独专题：没有总盘，只提取事业专题需要的最小基础\n\n如果是单独专题，要明确告诉用户：这份结果的置信度低于基于总盘的事业分析。\n\n### 2. 先搭事业主线\n\n优先看这些结构：\n\n- 10 宫\n- 10 宫主\n- 10 宫内行星\n- 与 6、7、9、11 宫的强连接\n- Amatyakaraka\n\n先把盘面翻译成简单的工作模式，再进细节：\n\n- 权威建设型\n- 市场对接型\n- 服务与系统型\n- 技术手艺型\n- 研究、危机或隐藏领域型\n\n### 3. 用八镜框架看它怎么落地\n\n事业主题里最常用的镜面是：\n\n- 主题归属：它在事业系统里到底负责什么\n- 运行状态：这股力量是顺、慢、绕，还是有明显损耗\n- 资源水位：这条事业线能拿到多少结构性支持\n- 落点环境：工作发生在顺风环境还是高摩擦地带\n- 兑现通道：结果是直接变现、靠口碑累积，还是先曲折后显形\n- 外力牵引：谁在帮助、压制或放大这条事业线\n- 熟成节律：它是早显、晚显，还是需要时间堆出层次\n\n### 4. 检查赚钱方式和工作手感\n\n把问题落到现实：\n\n- 这张盘更适合靠权威、手艺、交易、咨询、运营，还是危机处理赚钱\n- 更适合体制、自由职业、创业，还是混合路径\n- 更强的是曝光、执行、研究、领导，还是后端杠杆\n\n用 2 宫和 11 宫看钱从哪来。用 6 宫和土星看能不能长期扛住日常流程。\n\n### 5. 用九分盘（Navamsha chart）做兑现复核\n\n九分盘（Navamsha chart）的任务，是复核命主盘里的事业承诺成熟后还能不能站住。\n\n用它回答：\n\n- 表面上的事业承诺稳不稳\n- 成熟后更像专精、管理、公众可见度，还是专家手艺\n- 去掉头衔后，真正有意义的工作风格是什么\n\n### 5.5 需要判断平台、岗位和管理关系时，用 十分盘 做第二层复核\n\n下面这些问题，不要只靠 命主盘 和 九分盘 硬扛：\n\n- 大平台还是小团队更适合\n- 岗位是前台、后台、桥接层还是研究层\n- 汇报关系、管理压力、组织结构摩擦怎么来\n- 为什么会出现边缘化、调岗、上升受阻\n\n十分盘在这里的作用，是补岗位生态和组织结构，不是负责替你命名具体公司。\n\n### 5.6 遇到“人祸”或“病名”时，先收紧结论\n\n事业专题可以判断：\n\n- 组织结构在伤人\n- 汇报链或管理层带来高摩擦\n- 岗位环境正在消耗身体\n- 某段时间工作与健康互相拖累\n\n事业专题不该直接冒进到：\n\n- 某一个人故意害你\n- 某一个具体医学诊断就是盘里直接写着的结果\n\n如果用户追问极端事故、病痛或具体病名，要回到总盘流程，由总盘决定是否追加更细的分盘或只保留结构层判断。\n\n### 6. 给时间窗口\n\n优先用 dasha 定时。只有当 transit 真能显著缩小时窗时，再加进来。\n\n对每个窗口都要说清楚：\n\n- 什么机会在打开\n- 什么样的努力更有回报\n- 风险或隐藏代价是什么\n\n如果用户已经给了完整职业时间线，就把这些窗口逐条对照现实节点，显性标出 `高贴合 / 有限贴合 / 失配`，不要只给抽象走势。\n\n### 7. 需要地点或更细时机时，转入时空盘专题\n\n当用户继续问：\n\n- 去哪个城市发展更顺\n- 同一个岗位在不同地点差别大不大\n- 某个季度里哪一段最值得推进\n- 合作、跳槽、搬迁和事业窗口怎么叠加\n\n就转入 `时空盘.md`。\n\n## 最低必答清单\n\n事业专题至少要回答完下面这些问题，少一项就容易变松：\n\n- 事业主线是什么：10 宫、10 宫主、10 宫内行星、Amatyakaraka 怎么定调\n- 工作形态更像什么：任职、自由职业、创业，还是混合路径\n- 钱从哪里来：2 宫、6 宫、11 宫与事业线怎么接通\n- 真正的工作手感是什么：更偏领导、执行、交易、研究、服务，还是后端系统\n- 九分盘（Navamsha chart）是否支持兑现：成熟后更稳，还是代价更高\n- 需要时 十分盘 是否支持岗位生态和平台判断\n- 时间窗口在哪：至少给出明确年份或年月区间，并写出触发逻辑\n- 主要风险是什么：资源不足、环境磨损、节奏偏晚，还是方向选错\n\n如果用户明确问“创业还是任职”，必须显性比较两条路径，不要只给一个模糊偏好。\n如果用户给的是既往职业时间线，至少逐条覆盖所有重大节点，不要只挑好解释的节点。\n\n## 输出契约\n\n每个主要小节都用同一结构：\n\n### 1. 现实判断\n\n先说这张盘真正适合什么工作，用普通人的话讲清楚。\n\n### 2. 盘面抓手\n\n然后再上证据：\n\n- 命主盘（Rashi chart）里的 10 宫与 10 宫主\n- Amatyakaraka\n- 相关 yogas\n- dasha\n- 九分盘（Navamsha chart）\n- 真正有用的八镜镜面\n\n### 3. 使用提醒\n\n每节结尾落在下面这些里：\n\n- 应该顺着什么去放大\n- 哪种幻想该停止浪漫化\n- 哪个风险要提前处理\n- 哪个结论只是暂定，因为数据还不够\n\nFile v1.0.7:references/婚姻.md\n\n# 婚姻主题流程\n\n如果需要共享术语、读盘抓手或冲突裁定口径，读取 `术语框架.md`。\n\n## 适用场景\n\n当用户明确问的是下面这些问题时，使用这个流程：\n\n- 婚姻走向\n- 恋爱模式\n- 关系风险\n- 桃花窗口\n- 婚期与承诺窗口\n- 伴侣画像\n- 关系能不能落地\n\n不要把它当完整总盘，也不要用它回答事业规划。\n\n## 需要的输入\n\n优先接受其中一种：\n\n- 当前对话里已有总盘摘要\n- Jagannatha Hora PDF\n- JHora 导出的 markdown 报告\n- 星盘截图\n- 文本命盘数据\n\n婚姻判断最关键的字段：\n\n- 上升\n- 5 宫与 5 宫主\n- 7 宫与 7 宫主\n- Venus\n- 九分盘（Navamsha chart）落点\n- Vimshottari dasha 时间线\n- DK、PK、UL、AL\n\n如果当前对话里已经有可用的总盘摘要，直接复用，不要重扫原始资料。\n\n## 计算纪律\n\n如果面对的是原始命盘数字，而不是当前对话里已经检查过的总盘结果，下面这些地方优先调用本地 Python：\n\n- dasha 的日期区间运算\n- 和 5 宫、7 宫、11 宫兑现能力有关的 SAV、BAV 阈值判断\n- Venus、5 宫主、7 宫主等关键关系星的 Shadbala 排序\n- 需要显性引用时的九分盘（Navamsha chart）度数映射\n\n## 工作流\n\n### 1. 先判断是复用总盘，还是直接做专题\n\n只分两种：\n\n- 已有总盘支撑：当前对话里已经有完整或足够的总盘结论\n- 单独专题：没有总盘，只提取婚姻专题需要的最小基础\n\n如果是单独专题，要明确告诉用户：这份结果的置信度低于基于总盘的婚姻分析。\n\n### 2. 先用现实体验描述关系模式\n\n从真实体验出发，不要从黑话出发：\n\n- 这个人通常怎么建立连接\n- 会被什么吸引\n- 哪种伴侣互动会反复出现\n- 主要摩擦点在哪\n\n然后再用盘面去支撑：\n\n- 5 宫和 5 宫主看恋爱风格\n- 7 宫和 7 宫主看伴侣结构\n- Venus 看吸引力、审美和关系润滑度\n- 九分盘（Navamsha chart）看深度、耐久度和成熟后的质量\n\n### 3. 用八镜框架判断关系能量怎么落地\n\n婚姻主题里最常用的镜面是：\n\n- 主题归属：这颗星在关系系统里负责什么\n- 运行状态：它是稳定、逆行、受损，还是带着明显绕路感\n- 资源水位：这段关系有没有足够条件持续下去\n- 落点环境：关系能量落在轻松区还是高摩擦区\n- 兑现通道：吸引、承诺、稳定与收尾是怎样出现的\n- 外力牵引：谁在帮助、压迫、干扰这段关系模式\n- 熟成节律：这类关系是早显、晚显，还是随着年龄才变稳\n\n### 4. 把“关系模式”和“时间窗口”分开\n\n不要把下面这些混成一句模糊的话：\n\n- 恋爱风格\n- 婚姻稳定性\n- 欲望高峰\n- 真正的承诺窗口\n\n时间上优先用 dasha。只有 transit 能明显缩小窗口时，再加进来。\n\n### 5. 用九分盘（Navamsha chart）判断质量和持久度\n\n九分盘（Navamsha chart）主要回答：\n\n- 这张盘更容易吸引滋养型还是消耗型关系\n- 表面化学反应和内在兼容度是否一致\n- 随着成熟，关系风格会变稳还是变复杂\n\n### 6. 传统性别指标要谨慎处理\n\n如果解读依赖传统 spouse-karaka 规则，而用户自己的关系框架不清楚：\n\n- 必要时短问一句\n- 或者先说明自己的假设，再继续\n\n拿不准时，宁可回到盘面本身，也不要替用户乱猜。\n\n### 7. 需要地点或更细时机时，转入时空盘专题\n\n当用户继续问：\n\n- 异地关系在哪个地方更容易落地\n- 哪个时间窗更适合确定关系\n- 婚期、搬迁、合作和感情进展如何叠加\n- 不同城市是否会放大或缓和关系摩擦\n\n就转入 `时空盘.md`。\n\n## 最低必答清单\n\n婚姻或关系专题至少要回答完下面这些问题：\n\n- 关系模式是什么：5 宫、5 宫主、7 宫、7 宫主和 Venus 分别在讲什么\n- 伴侣结构是什么：更容易吸引哪类人，关系怎么落地\n- 关系质量如何：九分盘（Navamsha chart）是加分、耗损，还是复杂化\n- 时间窗口在哪：至少给出明确年份或年月区间，并写出触发逻辑\n- 风险点是什么：延迟、消耗、反复、异地、承诺成本，还是边界问题\n- 用户怎么用：什么样的关系值得推进，什么样的关系该及时止损\n\n如果用户问婚期、正缘或承诺窗口，不能只说“会有机会”或“偏晚”。必须给出具体时间范围，并说明那段时间更像恋爱、确定关系，还是进入婚姻安排。\n\n## 输出契约\n\n每个主要小节都用同一结构：\n\n### 1. 现实判断\n\n先说这种关系模式在普通生活里到底是什么感觉。\n\n### 2. 盘面抓手\n\n然后再上证据：\n\n- 5 宫\n- 7 宫\n- Venus\n- 九分盘（Navamsha chart）\n- dasha\n- DK、PK、UL、AL\n- 真正有用的八镜镜面\n\n### 3. 使用提醒\n\n每节结尾落在下面这些里：\n\n- 什么样的关系应该追，什么样的关系应该避\n- 怎样更理性地使用时间窗口\n- 还存在哪些不确定性\n\nFile v1.0.7:references/总盘.md\n\n# 总盘研判流程\n\n如果需要共享术语、读盘抓手或冲突裁定口径，读取 `术语框架.md`。\n\n## 适用场景\n\n当用户要的是整张盘的系统拆盘，而不是单一专题时，使用这个流程。\n\n典型请求：\n\n- 完整命盘研判\n- 本命总览\n- 命主盘（Rashi chart）与九分盘（Navamsha chart）联读\n- 既往事件回看\n- 出生时间稳定度判断\n- 基于 Jagannatha Hora PDF 或截图做基础命盘拆盘\n\n如果用户只想看事业、婚姻，或地点与时间窗口的专项问题，不要走完整总盘，改读 `事业.md`、`婚姻.md` 或 `时空盘.md`。\n\n## 需要的输入\n\n接受以下任一资料：\n\n- Jagannatha Hora 导出的 PDF\n- JHora 导出的 markdown 报告\n- 星盘截图\n- 文本形式的行星位置\n- 当前对话里已经存在的总盘摘要\n\n能提取到的话，优先确认这些字段：\n\n- 上升星座与度数\n- 九大行星的星座、宫位、度数、逆行状态\n- Nakshatra 和 pada\n- 九分盘（Navamsha chart）落点与上升\n- Vimshottari dasha 时间线\n- Shadbala、SAV、BAV\n- Chara karaka\n\n不要因为某张可选表缺失就卡死整份解读。只在关键字段缺失时追问。\n\n## 计算纪律\n\n只要原始资料里有数字，就把可确定的检查交给本地 Python。\n\n必须工具化的项目：\n\n- SAV、BAV 算术检查\n- 根据度数反推 Nakshatra 和 pada\n- 根据度数反推九分盘（Navamsha chart）落座\n- Mercury、Venus 与 Sun 的距角\n- Rahu、Ketu 对冲检查\n- 逆行合法性\n- dasha 年月区间运算\n\n优先使用：\n\n```bash\npython \"scripts/chart_sanity_check.py\" <chart-input.json-or-jhora.md>\n```\n\n如果是 JHora 导出的 markdown，优先直接把原文件送进脚本，不要先手工转述一遍。\n如果 SAV 或 BAV 所在的图式表格无法稳定结构化，就先保住基础检查，把矩阵类检查标成跳过或待补整理。\n\n如果只有部分数字，就只检查已有部分，并在结论里明确哪些项目被跳过。\n\n## 工作流\n\n### 1. 先整理基础盘面\n\n在解释前先建立一个干净的底稿：\n\n- 资料来源和完整度\n- 上升\n- 行星落点\n- 当前所处的大运阶段\n- 九分盘（Navamsha chart）数据\n- 可用的强弱表\n\n如果 OCR 或截图识别有歧义，要明确指出哪一个值不确定。\n\n### 2. 做一致性检查\n\n基础检查始终执行：\n\n- 九大行星是否齐全且不重复\n- Rahu 与 Ketu 是否形成对冲轴\n- Mercury 与 Venus 是否和 Sun 保持合理距角\n- 在数据足够时，Nakshatra 与 pada 是否和度数一致\n- 在数据足够时，九分盘（Navamsha chart）映射是否和主盘度数一致\n- dasha 序列是否内部自洽\n\nSAV/BAV 检查是**必须尝试、失败才跳过**的项目，不是可选的\"加分项\"：\n\n- 只要原始资料包含任何 SAV/BAV 数字（PDF 截图、JHora 导出的表格、用户手动输入），就必须提取并完成三项校验\n- 如果在 PDF 或 markdown 中能肉眼辨认出数字，优先手动列出 12 宫 SAV 值，再做算术校验\n- 只有经过尝试后表格确实无法结构化（如 OCR 输出乱码、截图模糊不可辨认），才标记为\"跳过\"\n- 跳过时必须在回执中说明具体原因（\"截图分辨率不足\"而非笼统的\"图式表格未能自动化解析\"）\n\n**强矩阵检查**（SAV/BAV 数据可用时）：\n\n- 12 宫 SAV 总和是否为 337（详见 `术语框架.md` SAV/BAV 量化规范）\n- 每颗星的 BAV 行总和是否符合固定常数\n- 每个星座的 BAV 列和是否等于对应 SAV\n- 行列同时出错时，用交叉定位找可能的 OCR 或录入错误\n\n**降级版**（SAV/BAV 经尝试确实无法提取时）：\n- 保留所有基础检查\n- 明确写 \"SAV/BAV ⏭️ 跳过（原因：...），宫位级量化判断降级为 🟠 中\"\n- 后续的\"资源水位\"和\"落点环境\"镜面使用 Shadbala 和 Vimsopaka 作为替代数据源\n\n每次一致性检查后，**必须输出以下编号校验表**。这是硬性输出格式，缺任何一行都视为校验不完整：\n\n```\n=== 一致性检查（必须逐项给出结果，不可省略任何一行）===\n\nC1  行星完整性   : ✅/❌  [说明]\nC2  Nakshatra映射: ✅/❌  [说明]\nC3  D9映射       : ✅/❌  [说明]\nC4  日水距角     : ✅/❌  [度数+判断]\nC5  日金距角     : ✅/❌  [度数+判断]\nC6  罗计对冲     : ✅/❌  [说明]\nC7  逆行合法性   : ✅/❌  [说明]\nC8  Dasha序列    : ✅/❌  [说明]\nC9  SAV总和=337  : ✅/❌/⏭️  [数值+说明；如跳过必须写明具体原因]\nC10 BAV行常量   : ✅/❌/⏭️  [7/7几颗匹配；如跳过必须写明具体原因]\nC11 BAV列→SAV   : ✅/❌/⏭️  [12/12几宫匹配；如跳过必须写明具体原因]\n\n校验等级：🔴极高(11/11通过) / 🟡高(C1-C8全过,C9-C11跳过) / 🟠中(有硬冲突)\n```\n\n**C9-C11 的硬规则**：\n- 只要命盘资料中包含任何 SAV/BAV 数字（无论格式），就必须逐项给出结果\n- 脚本解析不了 → 手动从 PDF/截图/HTML 中读取 12 个 SAV 值，做加法验证\n- 确实无法提取（OCR 乱码、截图模糊不可辨）→ 标记为 ⏭️ 并写明具体原因\n- 禁止出现\"SAV/BAV 跳过\"而无任何数字输出——要么给出具体数值和校验结果，要么给出具体跳过原因\n\n校验等级影响后续分析的置信度标注：\n- 🔴极高：所有宫位级判断正常使用 SAV 阈值\n- 🟡高：宫位级判断改用 Bhava Bala + Shadbala 替代，\"资源水位\"和\"落点环境\"镜面降级\n\n### C1-C11 计算公式（AI 自算用）\n\n以下公式用于 AI 从原始度数数据自行计算校验值，而非仅检查 JHora 已有标注。**OCR 场景下标注可能读错但度数是准的——AI 必须会自己算。**\n\n**C2 Nakshatra 与 Pada 计算**：\n```\n绝对经度 = 星座序号 × 30 + 度数    （白羊=0, 金牛=1, ..., 双鱼=11）\nNakshatra编号 = floor(绝对经度 / 13.3333) + 1\nPada编号 = floor((绝对经度 % 13.3333) / 3.3333) + 1\n```\n计算结果与 JHora 标注对比。不匹配 → ❌，列出不一致的星体。\n\n**C3 D9 映射计算**：\n```\n Pada → D9 星座映射：\n   火象星座(白羊1/狮子5/射手9) pada起点 → 白羊\n   土象星座(金牛2/处女6/摩羯10) pada起点 → 摩羯\n   风象星座(双子3/天秤7/水瓶11) pada起点 → 天秤\n   水象星座(巨蟹4/天蝎8/双鱼12) pada起点 → 巨蟹\n Pada编号n对应的D9星座 = 起点星座序号 + (n-1)\n```\n与 JHora 的 D9 盘标注对比。不匹配 → ❌，D1 度数或 D9 盘至少一个读错。\n\n**C4/C5 水金距角计算**：\n```\n|Mercury绝对经度 - Sun绝对经度| ≤ 28°（最大距角）\n|Venus绝对经度 - Sun绝对经度| ≤ 48°（最大距角）\n```\n超出容差 → ❌，行星符号可能 OCR 混淆。\n\n**C6 罗计对冲验证**：\n```\n|Rahu绝对经度 - Ketu绝对经度| = 180°（容差 ±1°）\n且落宫差 = 6\n```\n不满足 → ❌，节点位置读取错误。\n\n**C7 逆行合法性**：\n```\nSun/Moon 永远不逆行 → 出现逆行标记为数据错误\nRahu/Ketu 永远逆行 → 未标记逆行需二次确认\n```\n\n**C8 Dasha 间隔常数链**：\n```\n相邻 Mahadasha 年份差：\n  Sun(6年) → Moon(10年) → Mars(7年) → Rahu(18年) →\n  Jupiter(16年) → Saturn(19年) → Mercury(17年) → Ketu(7年) → Venus(20年)\n验证：Date(n+1) - Date(n) = 对应常数年\n```\n\n**C9 SAV 总和**：\n```\nΣ(SAV₁ + SAV₂ + ... + SAV₁₂) = 337\n```\n不通过 → 逐宫核实数值，定位读错宫位。\n\n**C10 BAV 行常量**：\n```\nSun=48 | Moon=49 | Mars=39 | Mercury=54 | Jupiter=56 | Venus=52 | Saturn=39\n对每颗星求 BAV 12 宫之和，匹配常数。\n```\n\n**C11 BAV 列→SAV 交叉验证**：\n```\n∀宫位i: BAV(Sun,i) + BAV(Moon,i) + ... + BAV(Saturn,i) = SAV(i)\n```\n不通过 → C10 和 C11 同时出错的格子即为错误点，交叉定位。\n\n### 3. 做既往事件回看\n\n既往事件回看不是附带动作，而是一个主动的可信度检查。\n\n先判断当前是哪一种模式：\n\n- `提问模式`：用户还没给出既往事件，只能由你先提 2 到 4 个高信号窗口\n- `直评模式`：用户已经给出明确时间线，需要你逐条回看，不要再改写成连环追问\n\n命中等级统一使用：\n\n- `高贴合`：时间和事件性质都明显对上\n- `有限贴合`：时间接近，但事件主题更宽、力度更弱，或只对上一部分\n- `失配`：盘面很难为这条事件提供有效支撑\n\n提问模式推荐顺序：\n\n1. 先判断用户提供的出生时间精度\n2. 在过去 5 到 10 年里选 2 到 4 个高信号窗口\n3. 根据大运切换、宫位激活和相关 karaka 推导具体事件假设\n4. 让用户逐条确认、否认或部分确认\n5. 用命中情况判断这套时间结构能不能继续信任\n\n设问规则：\n\n- 一定落到真实年份或年份区间\n- 一定问具体事件类型\n- 只给足够的依据，不要写成长篇解释\n\n直评模式的最低输出格式：\n\n```text\n事件：...\n命中等级：高贴合 / 有限贴合 / 失配\n时间锚点：哪段 dasha 或哪组时间结构在支撑\n盘面锚点：至少两类证据\n牵强处：这条结论哪里不能写得太满\n```\n\n如果用户给了 5 条重大事件，就至少逐条覆盖 5 条，不要只挑最容易命中的两三条。\n\n### 4. 判断出生时间稳定度\n\n综合看三件事：\n\n- 用户自己说的时间精度\n- 上升或宫位边界在附近时间窗内会不会变化\n- 既往事件回看和盘面逻辑的匹配程度\n\n如果出生时间不稳：\n\n- 降低宫位级判断的置信度\n- 保留行星落星座与较粗粒度的人格结论\n- 明说哪些部分稳定，哪些部分可能漂移\n\n出生时间稳定度判断，不能只凭“感觉像”。要结合：\n\n- 一致性检查有没有硬冲突\n- 既往事件回看的高贴合比例\n- 有限贴合和失配主要集中在哪类事件\n\n### 验证闸门：通过才能进入完整拆盘\n\n步骤 1-4（基础盘面 → 一致性检查 → 既往事件回看 → 出生时间稳定度）构成一个验证闭环。**在这个闭环闭合之前，不允许进入步骤 5-8 的完整拆盘交付，也不允许生成 `report.html`。**\n\n闸门禁止的是 **交付级完整拆盘**，不禁止步骤 3 本身需要的盘面扫描。区分如下：\n\n- **允许**（服务于步骤 3 提问质量）：扫描 dasha 时间线找切换点、定位过去 5-10 年激活的宫位和 karaka、识别高信号窗口。这些是生成靠谱提问的前提，不做反而会导致问题空泛无效。\n- **禁止**（交付物）：展开 9 颗行星的八镜完整拆盘（步骤 5）、九分盘兑现复核（步骤 6）、人生主线汇总（步骤 7）、生成 `report.html`。\n\n一句话：**可以用盘面数据来提问，但在用户确认命中之前不要写成报告。**\n\n验证闭环的最小通过条件：\n\n- 一致性检查没有硬冲突（行星数量不对、罗计轴断裂、距角异常等）\n- 既往事件回看有至少一条 `高贴合`，且没有大面积 `失配`\n- 出生时间稳定度不低于 `中等`\n\n如果验证闸门未通过：\n\n- **不要继续展开 9 颗行星完整拆盘**（步骤 5-6）\n- **不要汇总人生主线**（步骤 7）\n- **不要生成 `report.html`**\n- 降级为交付物：基础盘面摘要 + 一致性检查回执 + 既往事件回看结果 + 出生时间稳定度判断 + 初步方向提示\n- 明确告知用户：需要更精确的出生时间或更多既往事件参考才能进入完整研判\n\n验证闸门通过后，才依次推进步骤 5-8，并将步骤 1-4 的结果作为置信度基准写入最终报告。\n\n**闸门确认提示（必须在聊天中输出，不可跳过）**：\n\n```\n=== 验证闭环完成 ===\n闸门状态：[通过 / 未通过]\n- 一致性检查：C1-C11 通过 X/11 项\n- 既往事件回看：高贴合 X 条 / 有限贴合 X 条 / 失配 X 条\n- 出生时间稳定度：[稳定 / 中等 / 明显不稳]\n- 校验等级：[🔴极高 / 🟡高 / 🟠中]\n\n请确认以上验证结果。\n回复\"继续\"→ 进入完整拆盘（第二阶段）\n回复具体疑问 → 针对性补充\n===\n```\n\n### 5. 展开命主盘（Rashi chart）行星拆盘\n\n对于完整拆盘，命主盘行星部分是主要交付物，不是隐藏在后面的辅助说明。\n\n9 颗行星都要看，按三组分开，便于阅读：\n\n- A 组：Sun、Moon、Mars\n- B 组：Mercury、Jupiter、Venus\n- C 组：Saturn、Rahu、Ketu\n\n每颗重要行星最低限度显性写出以下八镜（其中\"运行状态\"必须展开子维度）：\n\n- 主题归属\n- 运行状态（**必须包含**：是否燃烧及距日度数、是否逆行及修正效果；如有 JHora 数据则追加年龄状态和情绪/活动状态）\n- 资源水位（优先使用掌宫 SAV；如 SAV 不可用，使用 Shadbala 百分比 + Vimsopaka）\n- 落点环境（优先使用落宫 SAV 分档；如 SAV 不可用，使用 Bhava Bala 或宫位性质定性评估）\n- 兑现通道\n- 外力牵引\n- 熟成节律\n- 格局放大（如有 yoga 参与）\n\n**附加硬性检查**（不写入镜面表格则视为遗漏）：\n- 如果行星掌管角宫（1/4/7/10），必须检查角宫主效应（Kendradhipati Dosha），见 `术语框架.md`\n- 如果行星参与互溶（Parivartana），必须在\"格局放大\"镜面中展开互溶双方的关系\n- 如果行星是某段 dasha 的主星，必须在\"熟成节律\"中标注对应的 dasha 时段\n\n建议按这个格式输出：\n\n```text\n——— [行星名] ———\n【现实判断】\n2 到 3 段短文，交代它在你人生里到底管什么、怎么发力、当前状态如何。\n\n【盘面抓手】\n| 观察镜面 | 读数 | 一句话说明 |\n|----------|------|------------|\n| 主题归属 | ... | ... |\n| 运行状态 | ... | ... |\n| 资源水位 | ... | ... |\n| 落点环境 | ... | ... |\n| 兑现通道 | ... | ... |\n| 外力牵引 | ... | ... |\n| 熟成节律 | ... | ... |\n\n【使用提醒】\n用 1 段短文说明这些镜面合起来意味着什么，以及用户该怎么理解它。\n```\n\n### 5.5 互溶与格局扫描（必做）\n\n在完成 9 颗行星的独立拆盘后，必须进行一次\"跨行星扫描\"，检查行星间的联动关系。这不是可选的\"加分分析\"，而是结构判断的核心输入。\n\n**互溶（Parivartana）检查**：\n\n全盘逐对检查：是否有两颗行星互相落在对方的星座？\n\n- 如果有互溶，这是全盘最重要的格局之一，必须单独展开分析\n- 最低要交代：互溶双方各自的宫位掌管（互换了什么主题）、双方各自的落宫状态、互溶的\"交易\"是即时兑现还是延迟兑现\n- 如果互溶双方的 dasha 时段有先后 → 标注兑现时间线\n\n**互溶动力学（强弱判定）**：\n\n互溶不是简单的\"1+1=2\"。两颗星通过守护关系建立了能量通道，通道的效率取决于双方各自的状态和落宫环境：\n\n- **强强互溶**：双方均健康（入庙/入旺/无燃烧逆行）→ 相得益彰，能量通道双向畅通\n- **强弱互溶**：强星接纳弱星 → 弱星受益（借强星之力缓解自身凶性），但强星可能因\"要对盟友负责\"而承担额外压力。如果强星自身足够稳健（Shadbala > 1.2，落角宫），则压力可控\n- **弱弱互溶**：双方均受损（落陷/燃烧/逆行）→ 能量通道放大了双方的优势和弱点。这不是纯粹的坏格局，但需要后天觉察才能\"化凶为吉\"——当事人在相关领域（互溶涉及的宫位主题）反复碰壁后，会逐渐学会把持和转化\n\n**落宫对互溶效果的影响**：\n\n互溶双方的落宫位置决定了这股能量是\"可控\"还是\"失控\"：\n- 双方均落角宫（1/4/7/10）→ 能量在世俗层面显现，可被感知和驾驭，即使弱弱互溶也能通过后天磨炼逐渐掌控\n- 任一方落暗宫（8/12）→ 互溶的能量通道有一部分在\"看不见的地方\"运作，较难自我觉察，弱弱互溶在此配置下更容易表现为反复的、难以解释的困境\n- 果宫（3/6/9/11）居中——可觉察但需要主动追踪\n\n**互溶星之间的相位**：\n\n互溶双方如果同时存在相位，相位的软硬影响通道的稳定性：\n- 三合/六合（软相位）→ 能量流动顺畅，有助于缓解不良星体间的摩擦\n- 刑/冲（硬相位）→ 能量流动剧烈，可能放大冲突——但同时也意味着突破力更强，\"滔天大祸或万贯家财\"\n\n**接纳（Reception）补充说明**：\n\n如果两颗星没有完全互溶、但一方落在另一方的守护星座且两者形成相位，这构成单向接纳。接纳效果弱于互溶，但仍可纳入格局扫描参考——弱星被强星接纳时获得支撑，但效果仅为互溶的约一半。\n\n**注意**：互溶不要求双方有相位（即使不合意也能运作——经典案例已证实不合意互溶在事业/财富领域仍能释放强大能量）；但接纳必须要求相位，无相位的单向落座不构成接纳。\n\n**接纳中的\"不领情\"效应**：\n\n当 A 星接纳 B 星，但 B 星在 A 星的守护星座中落陷或处于弱势时，B 星可能\"不领情\"——A 提供的帮助方式不被 B 认可或接受。在分析关系宫位（7 宫主/伴侣 karaka）的接纳时，这一效应尤其重要：接纳方可能付出了很多，但被接纳方未必感激，甚至可能感到被冒犯。判断时需同时检查被接纳星在接纳星守护星座中的尊贵状态。\n\n**特殊互溶变种（必查）**：\n\n除正常互溶外，有两种\"不等价\"互溶变种必须在扫描中检查：\n\n- **欺骗互溶（Deceptive Exchange）**：A 星落在 B 星的守护/擢升星座，但 B 星落在 A 星的**落陷或失势**星座。A 向 B 提供资源和帮助，B 非但不回报，反而将 A 置于尴尬或不利境地。这是一段不等价的能量交易——A 是\"付出方\"，B 是\"消耗方\"。在分析关系宫位（7 宫主、DK）的互溶时要特别警觉此模式。\n- **拒绝互溶（Rejective Exchange）**：两颗星各自落在对方的**落陷或失势**星座。双方互相厌恶，能量通道虽然存在但\"谁也不想要对方的东西\"。事务容易在此模式下被取消、关系容易无疾而终。此模式比完全没有互溶更消耗——因为它制造了\"不得不互动但互动质量极差\"的困境。\n\n**定位星链条（补充参考）**：\n\n在全盘行星拆盘和互溶扫描之后，可追溯 dispositor 链条寻找\"最终定位星\"——即所有行星通过守护关系最终汇聚到的一颗或两颗星（互溶对）。如果存在明确的最终定位星对（互溶定位），这两颗星共同主导命盘的能量走向，其宫位掌管和落宫状态是全盘结构的\"总开关\"。如果不存在最终定位星（能量链不闭合），则说明命盘没有单一主导力量，各领域相对独立运作，决策时容易犹豫或缺乏统一的驱动力。\n\n**Yogakaraka 等价分析**：\n\n检查是否有同一颗星同时掌管角宫（1/4/7/10）和三分宫（1/5/9）。如果有，这是经典 Yogakaraka。\n\n- 如果没有经典 Yogakaraka，不要空洞地说\"没有特殊格局\"就跳过\n- 必须分析是否存在**功能等价组合**：互溶、多星合相、相位联动等方式形成的\"准 Yogakaraka\"效果\n- 最低输出：一段短文解释\"虽然没有经典 Yogakaraka，但 X 和 Y 的组合起到了类似的作用\"\n\n**Dhana Yoga（财富组合）扫描**：\n\n检查 2H/11H/5H/9H 主星是否存在联动（互溶、合相、相互相位）：\n- 有 → 标注为 Dhana Yoga 候选，评估参与星健康度后定级\n- 无 → 说明财富主题的\"独立兑现\"特征（不依赖组合，靠单星实力）\n\n### 6. 用九分盘（Navamsha chart）做兑现复核\n\n九分盘（Navamsha chart）的作用，是复核命主盘里的承诺成熟后还能不能站住，而不是另起一套独立解读。\n\n它主要回答五件事（详见 `术语框架.md` D9 复核五维度）：\n\n- **内核品质**：主盘里的关键承诺到了后期是否还成立——成熟后是更稳、更专精，还是代价更高\n- **安全性**：成果放在什么\"仓库\"里是安全的还是一碰就碎的\n- **房东审计**：dispositor 链条是否支持兑现——承诺的\"担保人\"自己够不够强\n- **变现阻力**：D1→D9 的位移是否在 6/8/12 区间，导致过程需要\"绕路\"\n- **果实投射**：真正落果时，成果会落在 D1 的哪个宫位代表的现实领域\n\n对每颗关键行星，复核必须显性覆盖以上五个维度中的至少四个。不能只写一段笼统的叙述就跳过。如果某维度不适用（如 Rahu/Ketu 无 dispositor 链条），要显性说明理由。\n\n建议输出格式：\n\n```text\n——— [行星或主题] 九分盘兑现复核 ———\n【现实判断】\n先说成熟后会更稳、更贵、更耗，还是更能兑现。\n\n【盘面抓手】\n说明九分盘落点、宫主关系、会照和承载环境。\n\n【使用提醒】\n说明这个结论该怎么用，以及置信度受什么影响。\n```\n\n### 7. 汇总人生主线\n\n总整合至少回答这些问题：\n\n- 这张盘的主轴到底是什么\n- 优势最容易在哪些场域兑现\n- 难点是资源不足、环境摩擦，还是时间不对\n- 哪些结论是稳定的，哪些高度依赖出生时间\n- **互溶与格局**：如果存在互溶（Parivartana），它的\"主题交换\"如何串联事业/财富/婚姻/迁移各条线；如果没有经典 Yogakaraka，功能等价组合是什么\n- **D9 兑现总结**：逐星列出 D9 品质评级（★），标注逆转（D1 弱→D9 强）和暴跌（D1 强→D9 弱）的行星，给出 D9 整体结论\n\n如果已经拿到了足够资料，还要把事业、婚姻、财富、迁移、关系模式串成一套完整结构。\n\n### 7.5 AK 灵魂课题（必答）\n\nAtmakaraka（AK）是九大行星中绝对经度最高的一颗（Rahu 除外），代表灵魂这一世的\"主修课\"。这是 Parashari 体系的核心概念之一，不是可选加分项。\n\n**AK 判定**：\n```\n遍历九大行星的绝对经度（排除 Rahu），取最大值。\n如 Rahu 绝对经度最高 → 取次高行星为 AK。\n```\n\n**AK 解读至少覆盖以下三项**：\n\n1. **AK 的身份与职责**：AK 是哪颗星 + 它在主盘掌管哪两个宫位 + 它在主盘和 D9 的落宫。\n   例：\"AK 是金星，掌管你的 4 宫（家庭/根基）和 9 宫（信仰/远方），落在 8 宫——你的灵魂课题是'在失去和转化中找到真正的安全感'。\"\n\n2. **AK 的星宿主（Nakshatra）**：AK 所在的 Nakshatra 如何修饰灵魂课题的\"学习方式\"——是激烈顿悟式、渐进积累式，还是反复试错式。\n\n3. **灵魂主线叙述**（3-5 段）：\n   - AK 的本质是什么（\"你这一生来学什么\"）\n   - 为什么这个课题对你来说这么难（宫位与行星状态给的解释）\n   - 这个课题在你的关键 dasha 时期被怎样激活\n   - D9 中 AK 的状态——成熟后这个课题是能毕业，还是会以另一种形式继续\n\n**注意**：AK 解读不是\"算命\"，而是提供一面镜子让用户理解自己反复遇到的核心模式。用叙述语言，不用标签语言。\n\n### 8. 可选高级模块：时空盘专题\n\n当用户进一步问：\n\n- 哪个城市更合适\n- 哪个时间窗更值得推进\n- 同一主题在不同地点会不会出现差异\n- 某个合作、迁移、结婚或跳槽窗口该怎么缩小\n\n就转入 `时空盘.md`。\n\n时空盘专题不是另外发明一张天文分盘，而是把时间、地点、事件主题与原命盘结构叠加后的高级判断。\n\n## 最低必答清单\n\n完整总盘不是写几段印象流总结就算完成。最低要交代下面这些项目：\n\n- 基础盘面：上升、九大行星、当前 dasha、九分盘（Navamsha chart）可用度\n- 一致性检查：至少说明 `已核 / 跳过 / 影响`。**SAV/BAV 必须尝试提取和校验**——只有经尝试确实无法结构化时才允许跳过，且跳过时必须写明具体原因\n- 既往事件回看：如果用户没给时间线，至少给 2 到 4 个具体年份或年份区间的问题点；如果用户给了时间线，逐条给命中等级\n- 出生时间稳定度：说清是稳定、中等，还是明显不稳\n- 命主盘（Rashi chart）行星拆盘：9 颗行星至少分三组讲完，每颗覆盖八镜（运行状态必须展开燃烧/逆行/年龄子维度）\n- **互溶与格局扫描**：必须做 Parivartana 检查和 Yogakaraka 等价分析，不可跳过\n- 九分盘（Navamsha chart）兑现复核：每颗关键行星覆盖 D9 五维度中的至少四个，不可用一段笼统叙述替代\n- 人生主线：至少串起事业、关系、资源或迁移中的主轴，包含互溶/格局分析、AK 灵魂课题和 D9 兑现总结\n- 使用提醒：明确哪些判断稳定，哪些依赖更多数据\n\n如果某一项跳过，必须说明为什么跳过，不能静默缺席。\n\n## 输出契约\n\n每个主要小节都用同一结构：\n\n1. `现实判断`\n2. `盘面抓手`\n3. `使用提醒`\n\n如果结果达到报告规模，默认落成分节 markdown，并主动生成 `report.html`。\n\nFile v1.0.7:references/时空盘.md\n\n# 时空盘专题流程\n\n如果需要共享术语、读盘抓手或冲突裁定口径，读取 `术语框架.md`。\n\n## 这是什么\n\n时空盘专题不是另外发明一张天文分盘，也不是脱离原命盘独立判断。\n\n它是一种高级专题，用来把下面三件事叠加起来看：\n\n- 时间窗口\n- 场域或地点差异\n- 某个具体事件主题\n\n也就是说，它回答的是：同一个人，在什么时间、什么地点、围绕什么主题，更容易把事情推成，或者更容易遇到摩擦。\n\n## 适用场景\n\n当用户明确问的是下面这些问题时，使用这个流程：\n\n- 哪个城市更适合发展\n- 什么时候搬迁、跳槽、合作、结婚更顺\n- 同一主题在不同地点会不会出现明显差异\n- 某个大窗口里，哪一段时间更值得主动推进\n- 迁移、婚姻、事业与事件落地如何叠加判断\n\n如果用户只是要看整张盘或单一事业、婚姻主题，不要先上时空盘专题。先用 `总盘.md`、`事业.md`、`婚姻.md` 建底，再决定是否升级。\n\n## 需要的输入\n\n优先接受其中一种：\n\n- 当前对话里已有可用的总盘摘要\n- Jagannatha Hora PDF\n- JHora 导出的 markdown 报告\n- 星盘截图\n- 文本命盘数据\n\n额外需要补充的输入：\n\n- 当前或目标城市、地区、国家\n- 想看的主题：事业、婚姻、迁移、合作、具体事件\n- 想看的时间范围\n- 如果有多个地点，最好把备选地点一次列出\n\n如果没有可靠出生时间，要先明确告知：地点和窄时窗判断的可信度会下降。\n\n## 分析基底\n\n时空盘专题至少要站在下面这些东西上：\n\n- 命主盘（Rashi chart）的主结构\n- 九分盘（Navamsha chart）的成熟度与兑现质量\n- 当前与未来相关的大运、小运\n- transit / gochara\n- 目标主题对应的宫位与 karaka\n- 必要时的居住地、事件地、合作地差异\n\n如果总盘还没建好，先补最低限度的底稿。不要跳过底层结构，直接给地点建议。\n\n## 工作流\n\n### 1. 先把问题缩成单一主题\n\n不要一口气把所有人生问题混成一个判断。先确定本次主要看什么：\n\n- 事业推进\n- 婚姻关系\n- 迁移居住\n- 合作签约\n- 某个具体事件\n\n如果用户同时问多个主题，要先分主次。\n\n### 2. 先判断当前处在什么阶段\n\n先用 dasha 和总盘结构回答：\n\n- 现在是扩张期、收缩期、转换期，还是等待期\n- 当前主导的是资源打开、关系激活、职责上升，还是消耗加重\n- 这个阶段更适合主动推进、谨慎试探，还是只做准备\n\n### 3. 再比较地点差异\n\n地点判断要落到现实，不要只写抽象吉凶：\n\n- 哪类城市或环境更顺\n- 哪类地点会放大摩擦\n- 是利于曝光、积累、关系、制度资源，还是利于隐藏、研究、过渡\n\n如果用户给了多个地点，就做并列比较，而不是只给一个模糊结论。\n\n### 4. 最后缩小时间窗口\n\n先用大运和主题激活判断大阶段，再用 transit 缩到更窄的窗口。\n\n对每个窗口都说清楚：\n\n- 适合做什么\n- 不适合误解成什么\n- 如果要推进，最需要配合的现实动作是什么\n\n不要在数据弱的时候装作自己能精确到某一天必然发生某事。\n\n### 5. 给出综合判断\n\n综合判断至少回答：\n\n- 当前处在什么阶段\n- 哪类事件更容易被激活\n- 哪些地点或环境更顺，哪些更耗\n- 哪些时间窗值得主动推进，哪些只适合观察\n- 结论的置信度和还缺什么资料\n\n## 输出契约\n\n每个主要小节都用同一结构：\n\n### 1. 现实判断\n\n先用普通人的话说清楚：\n\n- 现在适不适合动\n- 去哪里更顺\n- 应该把注意力放在哪类结果\n\n### 2. 盘面抓手\n\n然后再上证据：\n\n- 命主盘（Rashi chart）里的相关宫位与宫主\n- 九分盘（Navamsha chart）的成熟度与承载环境\n- dasha / antardasha\n- transit / gochara\n- 主题对应 karaka\n- 地点差异带来的判断权重\n\n### 3. 使用提醒\n\n每节结尾落在下面这些里：\n\n- 哪种动作值得推进\n- 哪种动作应该延后\n- 哪些地点只是短期过渡，不适合长期下注\n- 哪些结论因为资料不足必须保留弹性\n\n## 失败与不确定性规则\n\n- 不要把时空盘专题写成新的神秘体系。\n- 不要没有总盘底座就硬给城市排名。\n- 不要在出生时间不稳时假装能做精细地点判断。\n- 不要把窗口判断写成事件保证。\n- 如果多个地点差异不明显，要直接说“不明显”，不要硬拉出胜负。\n\nFile v1.0.7:references/术语框架.md\n\n# 术语与八镜框架\n\n## 输出规则\n\n每个围绕行星或主题的小节，都按这个顺序组织：\n\n1. `现实判断`：现实里会怎么表现\n2. `盘面抓手`：哪些盘面事实支撑这个判断\n3. `使用提醒`：该怎么用，或者哪里要保留弹性\n\n不要只输出术语、表格或未解释的缩写。\n\n## 回答质量闸门\n\n下面这些不是建议，是最低门槛。\n\n### 1. 每节都要先说人话\n\n每个主要小节开头先用 2 到 4 句普通话解释：\n\n- 这在现实里会怎么表现\n- 用户最该先抓住什么\n- 最主要的阻力或代价在哪里\n\n不要一上来就堆表格、缩写、镜面名词或英文标签。\n\n### 2. 每节都要有证据锚点\n\n每个主要小节至少显性写出两类证据，且不能都只是抽象术语。优先从下面选：\n\n- 宫位与宫主\n- 行星状态\n- dasha\n- 命主盘（Rashi chart）\n- 九分盘（Navamsha chart）\n- SAV、BAV、Shadbala\n- karaka\n- yoga\n\n如果只有一类证据，就把结论降级，不要写成定论。\n\n### 3. 每节都要交代可用度\n\n每个主要小节末尾至少交代一项：\n\n- 这条结论为什么相对稳定\n- 这条结论受哪些缺数据影响\n- 用户实际使用时该把它当趋势、窗口，还是高确定性判断\n\n### 4. 时间判断必须能落地\n\n只要提到时间窗口，就必须同时回答三件事：\n\n- 窗口落在哪个具体区间\n- 触发逻辑是什么\n- 这个窗口适合推进什么，不适合浪费在哪\n\n### 5. 禁止松答模板\n\n避免下面这些写法：\n\n- 只有形容词，没有盘面依据\n- 只有术语，没有现实翻译\n- 只有趋势，没有时间\n- 只有优点，没有代价\n- 只有结论，没有不确定性\n\n## 事件回看口径\n\n当用户要求做既往事件回看，或已经给出一串时间线时，统一使用下面三档：\n\n- `高贴合`：时间窗和事件性质都能形成清楚对应\n- `有限贴合`：时间大致合适，但事件类型更宽、更弱，或只对上一半\n- `失配`：时间或事件性质都没有形成可靠对应\n\n不要把 `有限贴合` 涂改成 `高贴合`，也不要把 `失配` 硬解释成“只是表现形式不同”。\n\n## 细节层级护栏\n\n结论不要混层。先判断自己现在说的是哪一层：\n\n- `结构层`：例如技术型、大平台、离家发展、工作与学习并行\n- `窗口层`：例如某一段时间职业定型，或某一段时间承压并转场\n- `专名层`：例如某家公司、某个国家、某个具体病名、某一个领导\n\n推荐做法：\n\n- 结构层可以作为高置信度主结论\n- 窗口层可以结合 dasha 做中高置信度判断\n- 专名层只能在用户已经给出现实事实时作为对照，不能假装是盘面原生可读的专有答案\n\n特别注意：\n\n- “技术型工作”是结构层\n- “进入大型平台并出现收入抬升”是窗口层\n- “某一家具体公司”是专名层\n- “身体吃不消、筋骨压力上升”是结构或窗口层\n- “某一个具体医学诊断”是专名层\n\n## 精确计算规则\n\n八镜框架负责解释结构，不负责替代精确算术。\n\n只要结论依赖下面这些项目：\n\n- 度数换算\n- SAV、BAV 总和\n- Shadbala 排序\n- dasha 日期间隔\n- 明确的通过、失败或跳过判断\n\n就先从原始数据或本地工具拿到数值，再写解释，不要边写边心算。\n\n## 标准吠陀术语\n\n- Lagna\n- graha\n- house / bhava\n- lordship\n- exaltation / debility / own sign\n- retrograde / combustion\n- dispositor\n- nakshatra / pada\n- 命主盘 / Rashi chart\n- 九分盘 / Navamsha chart\n- 十分盘 / Dashamsha\n- Vimshottari dasha\n- karaka，包括 Amatyakaraka、Darakaraka、Putrakaraka\n- Arudha Lagna、Upapada Lagna\n- yoga，包括标准意义上的 Yogakaraka\n- Upachaya、Dusthana\n- Shadbala\n- Ashtakavarga、SAV、BAV\n\n## 八镜定义\n\n| 观察镜面 | 它在看什么 | 它如何影响结论 |\n|---|---|---|\n| 主题归属 | 这颗星或这个宫位到底在负责哪类人生主题 | 先决定“它管什么”，再谈“它做得怎样” |\n| 运行状态 | 燃烧、逆行、稳定度和损耗感 | 决定推进方式是顺、迟、绕，还是内耗 |\n| 资源水位 | 它手里有没有足够资源把事情做出来 | 决定主题能否持续，不只是偶尔闪一下 |\n| 落点环境 | 这股力量落在轻松区、磨损区，还是高压区 | 决定现实成本和摩擦位置 |\n| 兑现通道 | 结果是怎么落地的，是直接、绕路还是先堵后通 | 决定成果出现的方式 |\n| 外力牵引 | 谁在帮助、压制、改道或放大它 | 决定外部环境如何参与这件事 |\n| 熟成节律 | 它更偏早显、晚显，还是需要时间酝酿 | 帮助解释为什么某个主题在人生不同阶段手感不同 |\n| 格局放大 | yogas、组合和系统级加权 | 决定哪些信号会被整体放大或修饰 |\n\n## 运行状态子维度\n\n\"运行状态\"不是一句话能交代的模糊标签。以下子维度必须在分析中显性检查，不能只挑最方便的一两项说。\n\n### 燃烧（Combustion）\n\n行星距太阳过近时，能量被日光\"覆盖\"，表现力打折。每颗行星的燃烧临界不同：\n\n| 行星 | 燃烧临界（距日度数） | 逆行时调整 |\n|------|---------------------|-----------|\n| 月亮 | 12° | — |\n| 火星 | 17° | — |\n| 水星 | 14° | 逆行时 12° |\n| 木星 | 11° | — |\n| 金星 | 10° | 逆行时 8° |\n| 土星 | 15° | — |\n\n- Cazimi（距日 < 1°）：仍属燃烧，但精确合日的行星可能获得一种\"聚焦\"效应\n- 燃烧 ≠ 行星作废，而是\"需要借他人的舞台才能表现\"——燃烧行星管的事往往需要依托别人（上司、平台、伴侣）才能发光\n\n### 逆行修正（基于 KN Rao 体系）\n\n逆行不只是\"能量内收\"，它对不同状态的行星有不同的翻转效果：\n\n- **落陷 + 逆行**：视同入旺（Neecha Bhanga 的一种形式）。最坏的处境被逆行的反思力翻转\n- **入旺 + 逆行**：视同落陷。最强的位置被逆行拉回——有能力但表达方式不顺畅\n- **入庙 + 逆行**：品质仍在，但输出方式是\"向内深钻\"而非\"向外自然释放\"\n- 逆行行星管的事：兑现节奏比顺行慢，但持久度常常更高\n\n### 行星年龄状态（Baladi Avasthas）\n\n行星在星座内的度数决定了它处于哪个\"人生阶段\"，影响能量输出模式：\n\n| 年龄阶段 | 典型度数区间 | 能量特征 |\n|----------|-------------|---------|\n| 婴儿（Baala） | 0°–6° | 潜力未激活，需要外部触发和培养 |\n| 少年（Kumara） | 6°–12° | 有冲劲但毛躁，适合学习期 |\n| 青年（Yuva） | 12°–18° | 主动输出，执行力最强 |\n| 壮年（Vriddha） | 18°–24° | 经验丰富但体力下降，靠策略而非蛮力 |\n| 老年/寂灭（Mrita） | 24°–30° | 自动执行模式——不再主动发起，但一旦被调动就精准 |\n\n- 婴儿和老年的行星：不适合\"主动出击\"式策略，更适合\"等风来\"\n- 青年行星：最直接的行动力来源，但可能缺乏耐心\n\n### 情绪与活动状态（Mood & Activity Avasthas）\n\n由 JHora 根据复杂规则计算。如果原始数据中有，应一并纳入判断：\n\n**情绪状态**常见取值：\n- Saanta（平静）：稳定输出，不耗神\n- Mudita（喜悦）：积极正向，事情容易推动\n- Khala（顽皮）：容易在规则边界试探，有创意但不够安分\n- Duhkhita（痛苦）：内耗大，需要特别关注这颗星管的领域\n- Deena（沮丧）：能量低迷，管的事容易停滞\n\n**活动状态**常见取值：\n- Prakasana（发光中）：主动对外辐射，做的事情容易被看见\n- Sayana（躺卧）：被动状态，需要外界推动才会动\n- Gachchhati（行走中）：正常运转\n- Yuddha（战斗中）：处于竞争/冲突状态\n\n### 使用要求\n\n- 至少显性检查燃烧和逆行状态，这是\"运行状态\"镜面的最低交付\n- 如果 JHora 数据中包含年龄/情绪/活动状态，必须纳入分析，不可忽略\n- 如果某颗行星多项子维度叠加（如\"落陷 + 逆行 + Mrita 年龄 + Sayana 活动\"），要明确说出叠加效果，不能只说单项\n\n## 推荐用法\n\n| 推荐表述 | 大白话方向 |\n|---|---|\n| 主题归属很核心 | 说这颗星和身份、方向、自我定义高度相关 |\n| 资源水位充足 | 说它不仅有想法，也有条件把事做下去 |\n| 落点环境磨损大 | 说事情能做，但过程贵、慢或摩擦多 |\n| 兑现通道绕路 | 说结果不是没有，只是常常先曲折后成形 |\n| 外力牵引偏强 | 说这件事很容易被环境、人际或制度放大 |\n| 熟成节律偏晚 | 说它不是早年主题，后期更容易看见成形 |\n\n## 裁定顺序\n\n当信号互相打架时，按下面的优先级：\n\n1. 先定 `主题归属`\n2. 再看 `运行状态`\n3. 用 `资源水位` 和 `落点环境` 判断成本\n4. 用 `兑现通道` 判断结果怎么出来\n5. 用 `外力牵引` 与 `格局放大` 做修正\n6. 用 `熟成节律` 解释阶段差异\n\n## 翻译指导\n\n- 先翻镜面，再给现实话\n- 不要把私人造词包装成标准术语\n- 只在真正有帮助时才显性写专业词\n- 尽量把盘面逻辑改写成一句现实里听得懂的话\n\n推荐：\n\n- `这条事业线不是没潜力，而是落点环境偏磨损，所以更像先累积方法和口碑，再慢慢放大。`\n\n避免：\n\n- 只堆英文缩写和标签\n\n## SAV/BAV 量化规范\n\nAshtakavarga 是 Parashari 体系中最核心的量化工具。它不是某个 skill 的\"私有参数\"，而是衡量宫位级别强弱的公共标尺。\n\n### 宇宙常数（强制校验项）\n\n只要原始资料包含 SAV/BAV 数据，以下校验必须在一致性检查阶段完成：\n\n**SAV 总和**：12 个宫的 SAV 值之和恒等于 **337**。不通过 → 数据读取有误，逐宫核实。\n\n**BAV 行常量**：每颗行星在 12 个宫的 BAV 分值之和是固定常数：\n\n| 行星 | Sun | Moon | Mars | Mercury | Jupiter | Venus | Saturn |\n|------|-----|------|------|---------|---------|-------|--------|\n| BAV 行和 | 48 | 49 | 39 | 54 | 56 | 52 | 39 |\n\n**BAV 列→SAV 交叉验证**：每个宫位的 7 颗星 BAV 之和 = 该宫 SAV 值。不通过 → 行校验 + 列校验交叉定位错误点。\n\n### 宫位 SAV 阈值分档\n\n拿到 SAV 数据后，按以下分档判断宫位的\"硬件带宽\"：\n\n| SAV 值 | 带宽评级 | 现实含义 |\n|--------|---------|---------|\n| ≥32 | 充裕 | 事情自动推进，投入产出比高 |\n| 28–31 | 良好 | 正常努力即有回报 |\n| 24–27 | 中等 | 需要策略和持续投入 |\n| 20–23 | 偏紧 | 付出多回报少，容易焦虑 |\n| <20 | 匮乏 | 该领域天然吃力，需要外部补给或迂回策略 |\n\n### 掌宫资源评估\n\n要判断一颗行星\"手里有多少货\"，把它掌管的两宫的 SAV 相加：\n\n- ≥60：强掌宫组合——这颗星有充足的资源完成职责\n- 50–59：中等——够用但不宽裕\n- <50：偏弱——它的职责需要其他行星帮衬\n\n如果是单宫掌管（如 Rahu/Ketu），只用单宫 SAV 评估，但置信度降半档。\n\n### 落宫 SAV 与 BAV 配比\n\n行星落在哪个宫，那个宫的 SAV 就是它的\"路况\"。但还要看这颗星自己的 BAV 在该宫的贡献——如果某宫 SAV 高但主要是别的星贡献的、这颗星自己的 BAV 很低，意味着\"路好走但你得搭别人的车\"。\n\n### 缺 SAV/BAV 时的降级策略\n\n这是 zh 目前最关键的缺口。当 SAV/BAV 无法校验时：\n\n1. 一致性检查回执中明确写 \"SAV/BAV ⏭️ 跳过，宫位级量化判断降级\"\n2. 宫位强弱比较只做定性判断（基于宫主星状态、宫内星有无、相位），不做\"X 宫比 Y 宫强\"级别的精确排序\n3. \"资源水位\"和\"落点环境\"两个镜面改用 Shadbala 和 Vimsopaka 作为二级替代数据源\n4. 在报告的\"落地提醒\"中声明：SAV/BAV 缺失导致宫位级精细判断置信度为 🟠 中\n\n**与八镜框架的对接**：\n- \"资源水位\"镜面 → 优先取掌宫 SAV 和 Shadbala 两项数据\n- \"落点环境\"镜面 → 优先取落宫 SAV 分档，辅以宫位性质（角宫/三\n\nArchive v1.0.6: 11 files, 64294 bytes\n\nFiles: CHANGELOG.md (12233b), references/事业.md (6639b), references/婚姻.md (5038b), references/总盘.md (25088b), references/时空盘.md (4553b), references/术语框架.md (15824b), scripts/build_report_html.py (25879b), scripts/chart_sanity_check.py (22028b), scripts/jhora_markdown_bridge.py (22920b), SKILL.md (16079b), _meta.json (132b)\n\nArchive v1.0.5: 11 files, 60803 bytes\n\nFiles: CHANGELOG.md (9352b), references/事业.md (6639b), references/婚姻.md (5038b), references/总盘.md (25088b), references/时空盘.md (4553b), references/术语框架.md (15824b), scripts/build_report_html.py (25879b), scripts/chart_sanity_check.py (21983b), scripts/jhora_markdown_bridge.py (16531b), SKILL.md (16079b), _meta.json (132b)\n\nArchive v1.0.4: 11 files, 56554 bytes\n\nFiles: CHANGELOG.md (6503b), references/事业.md (6639b), references/婚姻.md (5038b), references/总盘.md (20822b), references/时空盘.md (4553b), references/术语框架.md (15824b), scripts/build_report_html.py (25879b), scripts/chart_sanity_check.py (21983b), scripts/jhora_markdown_bridge.py (16531b), SKILL.md (13870b), _meta.json (132b)\n\nArchive v1.0.3: 11 files, 53778 bytes\n\nFiles: CHANGELOG.md (5778b), references/事业.md (6639b), references/婚姻.md (5038b), references/总盘.md (19429b), references/时空盘.md (4553b), references/术语框架.md (15824b), scripts/build_report_html.py (25879b), scripts/chart_sanity_check.py (21983b), scripts/jhora_markdown_bridge.py (11514b), SKILL.md (13279b), _meta.json (132b)\n\nArchive v1.0.2: 11 files, 43584 bytes\n\nFiles: CHANGELOG.md (2056b), references/事业.md (6639b), references/婚姻.md (5038b), references/总盘.md (10990b), references/时空盘.md (4553b), references/术语框架.md (7078b), scripts/build_report_html.py (25879b), scripts/chart_sanity_check.py (21983b), scripts/jhora_markdown_bridge.py (11514b), SKILL.md (12741b), _meta.json (132b)\n\nArchive v1.0.1: 11 files, 42786 bytes\n\nFiles: README.md (2873b), references/事业.md (6639b), references/婚姻.md (5038b), references/总盘.md (9254b), references/时空盘.md (4553b), references/术语框架.md (7078b), scripts/build_report_html.py (25879b), scripts/chart_sanity_check.py (21983b), scripts/jhora_markdown_bridge.py (11514b), SKILL.md (10925b), _meta.json (132b)\n\nArchive v1.0.0: 11 files, 42823 bytes\n\nFiles: references/事业.md (6639b), references/婚姻.md (5038b), references/总盘.md (9254b), references/时空盘.md (4553b), references/术语框架.md (7078b), scripts/build_report_html.py (25879b), scripts/chart_sanity_check.py (21983b), scripts/jhora_markdown_bridge.py (11514b), SKILL.md (10925b), vedic-destiny-usage-guide.md (2873b), _meta.json (132b)","readmeExcerpt":"Skill: vedic-destiny Owner: seanding1998 Summary: 吠陀命盘分析中文入口。用于完整命盘研判、命主盘 Rashi chart 与九分盘 Navamsha chart 联读、既往事件回看、出生时间稳定度判断、事业主题、婚姻主题、时间与场域联合分析，以及基于 Jagannatha Hora PDF、星盘截图或文本命盘数据的系统拆盘。当用户提到完整星盘、事业方向、婚姻问题... Tags: latest:1.0.9 Version history: v1.0.9 | 2026-06-03T14:17:05.576Z | user v1.4.2 — JHora Ashtakavarga 精确边框解析 + 导出变体兼容 (2026-06-03) 变更动机 新一批 JHora / MinerU 导出样本暴露出两类问题： Ashtakavarga 结构误判：紧凑表并不是普通 12×12 行列表，而","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"推断：[具体结论]\n├── 星盘信号：[哪段 Dasha / 哪些宫位激活 / 哪些行星参与 / 信号类型与强度]\n├── 背景输入：[引用了背景事实卡的哪几条；若某领域信息不全，标注具体缺失项]\n├── 推理链：[信号 + 背景 → 结论的完整逻辑步骤]\n├── 纯星盘版本：[如果不考虑背景，同样的信号可能对应哪些方向（必须列出至少 2 个）]\n├── 边界条件：[什么情况下这个推断不成立或反转]\n└── 反事实检查：[如果背景事实卡中某条信息不同，结论会怎样变化]"},{"language":"text","snippet":"用户的问题 … → 你自动匹配 →\n\n问题涉及\"整张盘\"\"全面分析\"\"命盘研判\"\"人生总览\"\"我是什么样的人\"：\n  → 加载 references/总盘.md + references/术语框架.md\n  → 告知用户：\"我先完整看一遍你的全盘结构，然后拆开说。\"\n\n问题涉及\"事业\"\"工作\"\"跳槽\"\"赚钱\"\"创业\"\"行业方向\"：\n  → 加载 references/事业.md + references/术语框架.md\n  → 告知用户：\"我重点看事业线。如果你需要，之后可以再补全盘。\"\n\n问题涉及\"感情\"\"婚姻\"\"恋爱\"\"桃花\"\"伴侣\"\"关系\"：\n  → 加载 references/婚姻.md + references/术语框架.md\n  → 告知用户：\"我重点看感情和关系。如果你需要，之后可以再补全盘。\"\n\n问题涉及\"去哪个城市\"\"什么时候搬家\"\"迁移\"\"异地发展\"\"地点比较\"：\n  → 加载 references/窗口与场域.md + references/术语框架.md\n  → 告知用户：\"我结合时间和地点两个维度来看。如果你还没有完整命盘分析，建议先做一遍基础拆盘。\"\n\n问题涉及两个以上方向（如\"事业和感情都看看\"）：\n  → 先加载 references/总盘.md，总盘跑完再按优先级加载事业或婚姻。\n\n已经有 markdown 报告目录，想包装成单文件 HTML：\n  → 使用 scripts/build_report_html.py"},{"language":"bash","snippet":"python \"scripts/chart_sanity_check.py\" <chart-input.json-or-jhora.md>"},{"language":"text","snippet":"=== 验证闭环完成 ===\n闸门状态：[通过 / 未通过]\n- 一致性检查：C1-C11 通过 X/11 项\n- 既往事件回看：\n  信号命中率：✅ X 条 / ⚠️ X 条 / ❌ X 条\n  推断合理性：✅ X 条 / ⚠️ X 条 / ❌ X 条\n  信息完备度：🔴 X 条 / 🟡 X 条 / ⚪ X 条\n  （旧标签兼容：高贴合 X 条 / 有限贴合 X 条 / 失配 X 条）\n- 诊断汇总：[主要断点类型——信号？推断？信息？]\n- 出生时间稳定度：[稳定 / 中等 / 明显不稳]\n- 校验等级：[🔴极高 / 🟡高 / 🟠中]\n\n请确认以上验证结果。\n回复\"继续\"→ 进入完整拆盘（第二阶段）\n回复具体疑问 → 针对性补充\n==="},{"language":"bash","snippet":"python \"scripts/chart_sanity_check.py\" <chart-input.json-or-jhora.md>"},{"language":"text","snippet":"./命盘报告-<client-or-anon>-<yyyymmdd>/"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\n\nname: vedic-chart-analysis-zh\n\ndescription: 吠陀命盘分析中文入口。用于完整命盘研判、命主盘 Rashi chart 与九分盘 Navamsha chart 联读、既往事件回看、出生时间稳定度判断、事业主题、婚姻主题、时间与场域联合分析，以及基于 Jagannatha Hora PDF、星盘截图或文本命盘数据的系统拆盘。当用户提到完整星盘、事业方向、婚姻问题、关系窗口、桃花时间、迁移地点、城市比较、时间窗口，或吠陀占星、Jyotish、Jaimini、Parashari 相关请求时触发。\n\n---\n\n# 吠陀命盘研判系统\n\n这是一套中文总入口 skill。先根据用户问题主动匹配最合适的 reference，再读取分析——不列菜单让用户自己选。\n\n## 执行速览（AI 拿到 skill 后的阅读顺序）\n\n1. **分层推断规则**（下节）→ 绝对优先，覆盖所有 reference\n2. **执行硬约束** → 不可降级的底线\n3. **主动路由** → 匹配 reference，匹配后**必须读取对应 reference 全文**\n4. **信号分级与篇幅控制** → 决定每颗行星写多深\n5. **输出风格硬约束** → 影响说话方式但不改变框架\n\n**闸门确认提示是唯一允许向用户暴露内部验证状态的特例**——其余场合遵守\"不向用户转播内部路由\"。\n\n## 输出风格硬约束（优先级最高，覆盖所有 reference）\n\n这些约束直接影响 AI 的\"说话方式\"，不改变分析框架本身。\n\n1. **比例控制**：每个分析模块的聊天输出 ≈ 70% 白话解读 + 20% 数据表格 + 10% 技术注释。\n   禁止表格堆砌替代解读——表格是对白话的佐证，不是替代。\n2. **禁极端词**：不使用\"非常\"\"极为\"\"极度\"\"极强\"等修饰词。用数据替代感叹。\n   ❌ \"火星极强\" → ✅ \"Shadbala 1.45，九大行星中最高\"\n3. **比喻必解释**：使用任何比喻（如\"穿书生袍的将军\"）时，必须在同一段落内用 1-2 句说明比喻的对应关系。\n4. **术语必翻译**：首次出现的占星术语必须在括号内给出通俗解释。\n   例：\"Kendradhipati Dosha（角宫主效应：吉星管角宫时会'怠工'，因守护职责分散了精力）\"\n5. **字数下限**：\n   - A 级行星审计 ≥ 800 字（含表格）\n   - B 级行星审计 ≥ 400 字（含表格）\n   - C 级行星一行快扫即可\n   - C1-C11 校验表的每一项必须有一句说明，不可只写 ✅/❌\n   - 十大板块总结每板块 ≥ 300 字\n6. **表格禁止悬空**：所有表格前必须有至少一段白话解释——先说人话，再放数据。\n\n## 分层推断规则（优先级最高，覆盖所有 reference）\n\n星盘提供的是**结构信号**——某个时间段内，哪些人生领域被激活、以及激活的强度和方向。同一个结构信号，在不同的人生背景下会兑现为不同具体事件。这不是占星系统的缺陷，而是结构信号本身的特性：它指示的是「领域 + 强度」，而非单一具体事件。\n\n人类占星师从来不会蒙住眼睛看盘——背景信息是将结构信号翻译为具体推断的必要输入，而非污染。真正需要隔离的只有一件事：**用已知结果倒推盘面含义**。\n\n本规则将分析拆为四个独立层。分层的目的不是隔离信息，而是隔离污染——让「用背景细化推断」成为合法的分析动作，同时确保「用结果编造盘面解读」无处藏身。\n\n### 层 0：星盘结构信号（客观不变）\n\n**输入**：仅来自命盘数据——Dasha 周期、宫位激活、行星状态、Yoga、Shadbala/SAV/BAV、分盘复核。\n\n**输出**：\n- 信号类型（关系 / 事业 / 财富 / 健康 / 迁移 / 学习 / 家庭 / 其他）\n- 信号强度（强 / 中 / 弱，基于至少两类独立证据交叉验证）\n- 可能兑现方向（复数——即使某个方向看起来再明显，也必须列出至少 2 个可能方向）\n\n**硬约束**：\n- **禁止反向推导**：不得从用户已告知的结果反推信号含义。8 宫 SAV=38 →「深度转化能力强」，可能方向为研究/心理/金融/危机干预——先列出方向，再对照用户经历；不能先知道用户方向再反过来锁定解读。\n- **禁止经历=天赋**：职业方向只能基于 L10 + AmK + 格局 + D10 + 强星。用户经历过 X ≠ 适合做与 X 相关的工作。\n- **禁止情绪定调**：用户自述的人生基调（顺遂/坎坷）不影响格局评估。家境普通的人也能有顶级 Raja Yoga。\n\n### 层 1：背景事实卡（用户已知，结构化收集）\n\n**收集时机**：在第一阶段开始分析前，按需收集。只收集当前分析方向所需领域的信息——用户问事业不收集感情，问迁移不收集健康。\n\n**收集内容**：\n\n| 领域 | 收集项 | 用途 |\n|------|--------|------|\n| 通用 | 性别、年龄区间、出生时间精度 | 基础约束 |\n| 感情 | 当前状态（已婚/恋爱/单身/离异）、关键关系是否稳定 | 缩小关系信号的兑现形式范围 |\n| 事业 | 当前阶段（学生/在职/创业/待业/退休）、行业方向 | 缩小事业信号的兑现形式范围 |\n| 迁移 | 当前居住地、异地关系强弱、是否有搬迁动力 | 缩小迁移信号的兑现形式范围 |\n| 健康 | 已知重大健康问题 | 缩小健康信号的兑现形式范围 |\n\n**硬约束**：\n- **「事实」可以进入层 1**——可被外部验证的客观信息（婚姻状态、职业阶段、居住城市）是合法推断输入\n- **「自述」不能进入层 1**——「我性格内向」「我运气不好」「我一直很努力」是主观判断，需要被盘面验证，不能反过来作为推断的前提\n- **缺失信息不做假设**——背景事实卡中空白的项目标注为「信息不全」，对应领域的推断精度相应降级\n- **层 1 信息只用于缩小可能方向，不用于否定层 0 信号**——即使背景事实看起来与星盘信号方向不一致，也不能因此忽视信号本身\n\n### 层 2：联合推断（信号 × 背景 → 具体结论）\n\n**核心理念**：同样的星盘信号，在不同背景下指向不同具体事件，但核心信号类型不变。层 2 的任务是将层 0 的复数可能方向，通过层 1 的约束缩小为具体的概率排序。\n\n**输出格式**（每个涉及具体人生事件的推断必须覆盖以下结构）：\n\n```text\n推断：[具体结论]\n├── 星盘信号：[哪段 Dasha / 哪些宫位激活 / 哪些行星参与 / 信号类型与强度]\n├── 背景输入：[引用了背景事实卡的哪几条；若某领域信息不全，标注具体缺失项]\n├── 推理链：[信号 + 背景 → 结论的完整逻辑步骤]\n├── 纯星盘版本：[如果不考虑背景，同样的信号可能对应哪些方向（必须列出至少 2 个）]\n├── 边界条件：[什么情况下这个推断不成立或反转]\n└── 反事实检查：[如果背景事实卡中某条信息不同，结论会怎样变化]\n```\n\n**硬约束**：\n- **相同星盘数据 + 相同背景事实 → "},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn767kdw00a1yqfq7r0wfe49tn823tz6\",\n  \"slug\": \"vedic-destiny\",\n  \"version\": \"1.0.9\",\n  \"publishedAt\": 1780496225576\n}"},{"path":"references/事业.md","content":"# 事业主题流程\n\n如果需要共享术语、读盘抓手或冲突裁定口径，读取 `术语框架.md`。\n\n本专题遵循 SKILL.md「分层推断规则」（层 0/1/2/3）。事件回看使用双层口径：旧标签（高贴合/有限贴合/失配）+ 诊断维度（信号命中/推断合理性/信息完备度）。\n\n## 适用场景\n\n当用户明确问的是下面这些问题时，使用这个流程：\n\n- 事业方向\n- 工作适配度\n- 创业还是任职\n- 事业上升路径\n- 变现模型\n- 职场风险\n- 事业时机\n\n不要把它当完整总盘，也不要用它回答婚姻主题。\n\n## 需要的输入\n\n优先接受其中一种：\n\n- 当前对话里已有总盘摘要\n- Jagannatha Hora PDF\n- JHora 导出的 markdown 报告\n- 星盘截图\n- 文本命盘数据\n\n事业判断最关键的字段：\n\n- 上升\n- 命主盘（Rashi chart）里的 10 宫与 10 宫主\n- Amatyakaraka\n- 2 宫、6 宫、11 宫因素\n- 需要看平台、岗位层级、汇报链或组织摩擦时的 十分盘\n- 九分盘（Navamsha chart）里与事业兑现相关的落点\n- 当前与未来一段时间的大运\n\n如果当前对话里已经有可用的总盘摘要，直接复用，不要重扫原始资料。\n\n## 计算纪律\n\n如果面对的是原始命盘数字，而不是当前对话里已经检查过的总盘结果，下面这些地方优先调用本地 Python：\n\n- dasha 的日期区间运算\n- 和事业、金钱宫位有关的 SAV、BAV 阈值判断\n- 关键事业星的 Shadbala 排序\n- 需要显性引用时的九分盘（Navamsha chart）度数映射\n- 需要展开岗位结构时的 十分盘基础落点整理\n\n## 工作流\n\n### 1. 先判断是复用总盘，还是直接做专题\n\n只分两种：\n\n- 已有总盘支撑：当前对话里已经有完整或足够的总盘结论\n- 单独专题：没有总盘，只提取事业专题需要的最小基础\n\n如果是单独专题，要明确告诉用户：这份结果的置信度低于基于总盘的事业分析。\n\n### 2. 先搭事业主线\n\n优先看这些结构：\n\n- 10 宫\n- 10 宫主\n- 10 宫内行星\n- 与 6、7、9、11 宫的强连接\n- Amatyakaraka\n\n先把盘面翻译成简单的工作模式，再进细节：\n\n- 权威建设型\n- 市场对接型\n- 服务与系统型\n- 技术手艺型\n- 研究、危机或隐藏领域型\n\n### 3. 用八镜框架看它怎么落地\n\n事业主题里最常用的镜面是：\n\n- 主题归属：它在事业系统里到底负责什么\n- 运行状态：这股力量是顺、慢、绕，还是有明显损耗\n- 资源水位：这条事业线能拿到多少结构性支持\n- 落点环境：工作发生在顺风环境还是高摩擦地带\n- 兑现通道：结果是直接变现、靠口碑累积，还是先曲折后显形\n- 外力牵引：谁在帮助、压制或放大这条事业线\n- 熟成节律：它是早显、晚显，还是需要时间堆出层次\n\n### 4. 检查赚钱方式和工作手感\n\n把问题落到现实：\n\n- 这张盘更适合靠权威、手艺、交易、咨询、运营，还是危机处理赚钱\n- 更适合体制、自由职业、创业，还是混合路径\n- 更强的是曝光、执行、研究、领导，还是后端杠杆\n\n用 2 宫和 11 宫看钱从哪来。用 6 宫和土星看能不能长期扛住日常流程。\n\n### 5. 用九分盘（Navamsha chart）做兑现复核\n\n九分盘（Navamsha chart）的任务，是复核命主盘里的事业承诺成熟后还能不能站住。\n\n用它回答：\n\n- 表面上的事业承诺稳不稳\n- 成熟后更像专精、管理、公众可见度，还是专家手艺\n- 去掉头衔后，真正有意义的工作风格是什么\n\n### 5.5 需要判断平台、岗位和管理关系时，用 十分盘 做第二层复核\n\n下面这些问题，不要只靠 命主盘 和 九分盘 硬扛：\n\n- 大平台还是小团队更适合\n- 岗位是前台、后台、桥接层还是研究层\n- 汇报关系、管理压力、组织结构摩擦怎么来\n- 为什么会出现边缘化、调岗、上升受阻\n\n十分盘在这里的作用，是补岗位生态和组织结构，不是负责替你命名具体公司。\n\n### 5.6 遇到“人祸”或“病名”时，先收紧结论\n\n事业专题可以判断：\n\n- 组织结构在伤人\n- 汇报链或管理层带来高摩擦\n- 岗位环境正在消耗身体\n- 某段时间工作与健康互相拖累\n\n事业专题不该直接冒进到：\n\n- 某一个人故意害你\n- 某一个具体医学诊断就是盘里直接写着的结果\n\n如果用户追问极端事故、病痛或具体病名，要回到总盘流程，由总盘决定是否追加更细的分盘或只保留结构层判断。\n\n### 6. 给时间窗口\n\n优先用 dasha 定时。只有当 transit 真能显著缩小时窗时，再加进来。\n\n对每个窗口都要说清楚：\n\n- 什么机会在打开\n- 什么样的努力更有回报\n- 风险或隐藏代价是什么\n\n如果用户已经给了完整职业时间线，就把这些窗口逐条对照现实节点，显性标出 `高贴合 / 有限贴合 / 失配`，不要只给抽象走势。\n\n### 7. 需要地点或更细时机时，转入窗口与场域专题\n\n当用户继续问：\n\n- 去哪个城市发展更顺\n- 同一个岗位在不同地点差别大不大\n- 某个季度里哪一段最值得推进\n- 合作、跳槽、搬迁和事业窗口怎么叠加\n\n就转入 `窗口与场域.md`。\n\n## 最低必答清单\n\n事业专题至少要回答完下面这些问题，少一项就容易变松：\n\n- 事业主线是什么：10 宫、10 宫主、10 宫内行星、Amatyakaraka 怎么定调\n- 工作形态更像什么：任职、自由职业、创业，还是混合路径\n- 钱从哪里来：2 宫、6 宫、11 宫与事业线怎么接通\n- 真正的工作手感是什么：更偏领导、执行、交易、研究、服务，还是后端系统\n- 九分盘（Navamsha chart）是否支持兑现：成熟后更稳，还是代价更高\n- 需要时 十分盘 是否支持岗位生态和平台判断\n- 时间窗口在哪：至少给出明确年份或年月区间，并写出触发逻辑\n- 主要风险是什么：资源不足、环境磨损、节奏偏晚，还是方向选错\n\n如果用户明确问“创业还是任职”，必须显性比较两条路径，不要只给一个模糊偏好。\n如果用户给的是既往职业时间线，至少逐条覆盖所有重大节点，不要只挑好解释的节点。\n\n## 输出契约\n\n每个主要小节都用同一结构：\n\n### 1. 现实判断\n\n先说这张盘真正适合什么工作，用普通人的话讲清楚。\n\n### 2. 盘面抓手\n\n然后再上证据：\n\n- 命主盘（Rashi chart）里的 10 宫与 10 宫主\n- Amatyakaraka\n- 相关 yogas\n- dasha\n- 九分盘（Navamsha chart）\n- 真正有用的八镜镜面\n\n### 3. 使用提醒\n\n每节结尾落在下面这些里：\n\n- 应该顺着什么去放大\n- 哪种幻想该停止浪漫化\n- 哪个风险要提前处理\n- 哪个结论只是暂定，因为数据还不够"},{"path":"references/婚姻.md","content":"# 婚姻主题流程\n\n如果需要共享术语、读盘抓手或冲突裁定口径，读取 `术语框架.md`。\n\n本专题遵循 SKILL.md「分层推断规则」（层 0/1/2/3）。事件回看使用双层口径：旧标签（高贴合/有限贴合/失配）+ 诊断维度（信号命中/推断合理性/信息完备度）。\n\n## 适用场景\n\n当用户明确问的是下面这些问题时，使用这个流程：\n\n- 婚姻走向\n- 恋爱模式\n- 关系风险\n- 桃花窗口\n- 婚期与承诺窗口\n- 伴侣画像\n- 关系能不能落地\n\n不要把它当完整总盘，也不要用它回答事业规划。\n\n## 需要的输入\n\n优先接受其中一种：\n\n- 当前对话里已有总盘摘要\n- Jagannatha Hora PDF\n- JHora 导出的 markdown 报告\n- 星盘截图\n- 文本命盘数据\n\n婚姻判断最关键的字段：\n\n- 上升\n- 5 宫与 5 宫主\n- 7 宫与 7 宫主\n- Venus\n- 九分盘（Navamsha chart）落点\n- Vimshottari dasha 时间线\n- DK、PK、UL、AL\n\n如果当前对话里已经有可用的总盘摘要，直接复用，不要重扫原始资料。\n\n## 计算纪律\n\n如果面对的是原始命盘数字，而不是当前对话里已经检查过的总盘结果，下面这些地方优先调用本地 Python：\n\n- dasha 的日期区间运算\n- 和 5 宫、7 宫、11 宫兑现能力有关的 SAV、BAV 阈值判断\n- Venus、5 宫主、7 宫主等关键关系星的 Shadbala 排序\n- 需要显性引用时的九分盘（Navamsha chart）度数映射\n\n## 工作流\n\n### 1. 先判断是复用总盘，还是直接做专题\n\n只分两种：\n\n- 已有总盘支撑：当前对话里已经有完整或足够的总盘结论\n- 单独专题：没有总盘，只提取婚姻专题需要的最小基础\n\n如果是单独专题，要明确告诉用户：这份结果的置信度低于基于总盘的婚姻分析。\n\n### 2. 先用现实体验描述关系模式\n\n从真实体验出发，不要从黑话出发：\n\n- 这个人通常怎么建立连接\n- 会被什么吸引\n- 哪种伴侣互动会反复出现\n- 主要摩擦点在哪\n\n然后再用盘面去支撑：\n\n- 5 宫和 5 宫主看恋爱风格\n- 7 宫和 7 宫主看伴侣结构\n- Venus 看吸引力、审美和关系润滑度\n- 九分盘（Navamsha chart）看深度、耐久度和成熟后的质量\n\n### 3. 用八镜框架判断关系能量怎么落地\n\n婚姻主题里最常用的镜面是：\n\n- 主题归属：这颗星在关系系统里负责什么\n- 运行状态：它是稳定、逆行、受损，还是带着明显绕路感\n- 资源水位：这段关系有没有足够条件持续下去\n- 落点环境：关系能量落在轻松区还是高摩擦区\n- 兑现通道：吸引、承诺、稳定与收尾是怎样出现的\n- 外力牵引：谁在帮助、压迫、干扰这段关系模式\n- 熟成节律：这类关系是早显、晚显，还是随着年龄才变稳\n\n### 4. 把“关系模式”和“时间窗口”分开\n\n不要把下面这些混成一句模糊的话：\n\n- 恋爱风格\n- 婚姻稳定性\n- 欲望高峰\n- 真正的承诺窗口\n\n时间上优先用 dasha。只有 transit 能明显缩小窗口时，再加进来。\n\n### 5. 用九分盘（Navamsha chart）判断质量和持久度\n\n九分盘（Navamsha chart）主要回答：\n\n- 这张盘更容易吸引滋养型还是消耗型关系\n- 表面化学反应和内在兼容度是否一致\n- 随着成熟，关系风格会变稳还是变复杂\n\n### 6. 传统性别指标要谨慎处理\n\n如果解读依赖传统 spouse-karaka 规则，而用户自己的关系框架不清楚：\n\n- 必要时短问一句\n- 或者先说明自己的假设，再继续\n\n拿不准时，宁可回到盘面本身，也不要替用户乱猜。\n\n### 7. 需要地点或更细时机时，转入窗口与场域专题\n\n当用户继续问：\n\n- 异地关系在哪个地方更容易落地\n- 哪个时间窗更适合确定关系\n- 婚期、搬迁、合作和感情进展如何叠加\n- 不同城市是否会放大或缓和关系摩擦\n\n就转入 `窗口与场域.md`。\n\n## 最低必答清单\n\n婚姻或关系专题至少要回答完下面这些问题：\n\n- 关系模式是什么：5 宫、5 宫主、7 宫、7 宫主和 Venus 分别在讲什么\n- 伴侣结构是什么：更容易吸引哪类人，关系怎么落地\n- 关系质量如何：九分盘（Navamsha chart）是加分、耗损，还是复杂化\n- 时间窗口在哪：至少给出明确年份或年月区间，并写出触发逻辑\n- 风险点是什么：延迟、消耗、反复、异地、承诺成本，还是边界问题\n- 用户怎么用：什么样的关系值得推进，什么样的关系该及时止损\n\n如果用户问婚期、正缘或承诺窗口，不能只说“会有机会”或“偏晚”。必须给出具体时间范围，并说明那段时间更像恋爱、确定关系，还是进入婚姻安排。\n\n## 输出契约\n\n每个主要小节都用同一结构：\n\n### 1. 现实判断\n\n先说这种关系模式在普通生活里到底是什么感觉。\n\n### 2. 盘面抓手\n\n然后再上证据：\n\n- 5 宫\n- 7 宫\n- Venus\n- 九分盘（Navamsha chart）\n- dasha\n- DK、PK、UL、AL\n- 真正有用的八镜镜面\n\n### 3. 使用提醒\n\n每节结尾落在下面这些里：\n\n- 什么样的关系应该追，什么样的关系应该避\n- 怎样更理性地使用时间窗口\n- 还存在哪些不确定性"},{"path":"references/总盘.md","content":"# 总盘研判流程\n\n如果需要共享术语、读盘抓手或冲突裁定口径，读取 `术语框架.md`。\n\n## 适用场景\n\n当用户要的是整张盘的系统拆盘，而不是单一专题时，使用这个流程。\n\n典型请求：\n\n- 完整命盘研判\n- 本命总览\n- 命主盘（Rashi chart）与九分盘（Navamsha chart）联读\n- 既往事件回看\n- 出生时间稳定度判断\n- 基于 Jagannatha Hora PDF 或截图做基础命盘拆盘\n\n如果用户只想看事业、婚姻，或地点与时间窗口的专项问题，不要走完整总盘，改读 `事业.md`、`婚姻.md` 或 `窗口与场域.md`。\n\n## 需要的输入\n\n接受以下任一资料：\n\n- Jagannatha Hora 导出的 PDF\n- JHora 导出的 markdown 报告\n- 星盘截图\n- 文本形式的行星位置\n- 当前对话里已经存在的总盘摘要\n\n能提取到的话，优先确认这些字段：\n\n- 上升星座与度数\n- 九大行星的星座、宫位、度数、逆行状态\n- Nakshatra 和 pada\n- 九分盘（Navamsha chart）落点与上升\n- Vimshottari dasha 时间线\n- Shadbala、SAV、BAV\n- Chara karaka\n\n不要因为某张可选表缺失就卡死整份解读。只在关键字段缺失时追问。\n\n## 计算纪律\n\n只要原始资料里有数字，就把可确定的检查交给本地 Python。\n\n必须工具化的项目：\n\n- SAV、BAV 算术检查\n- 根据度数反推 Nakshatra 和 pada\n- 根据度数反推九分盘（Navamsha chart）落座\n- Mercury、Venus 与 Sun 的距角\n- Rahu、Ketu 对冲检查\n- 逆行合法性\n- dasha 年月区间运算\n\n优先使用：\n\n```bash\npython \"scripts/chart_sanity_check.py\" <chart-input.json-or-jhora.md>\n```\n\n如果是 JHora 导出的 markdown，优先直接把原文件送进脚本，不要先手工转述一遍。\n如果 SAV 或 BAV 所在的图式表格无法稳定结构化，就先保住基础检查，把矩阵类检查标成跳过或待补整理。\n\n如果只有部分数字，就只检查已有部分，并在结论里明确哪些项目被跳过。\n\n## 工作流\n\n### 1. 先整理基础盘面\n\n在解释前先建立一个干净的底稿：\n\n- 资料来源和完整度\n- 上升\n- 行星落点\n- 当前所处的大运阶段\n- 九分盘（Navamsha chart）数据\n- 可用的强弱表\n\n如果 OCR 或截图识别有歧义，要明确指出哪一个值不确定。\n\n### 2. 做一致性检查\n\n基础检查始终执行：\n\n- 九大行星是否齐全且不重复\n- Rahu 与 Ketu 是否形成对冲轴\n- Mercury 与 Venus 是否和 Sun 保持合理距角\n- 在数据足够时，Nakshatra 与 pada 是否和度数一致\n- 在数据足够时，九分盘（Navamsha chart）映射是否和主盘度数一致\n- dasha 序列是否内部自洽\n\nSAV/BAV 检查是**必须尝试、失败才跳过**的项目，不是可选的\"加分项\"：\n\n- 只要原始资料包含任何 SAV/BAV 数字（PDF 截图、JHora 导出的表格、用户手动输入），就必须提取并完成三项校验\n- 如果在 PDF 或 markdown 中能肉眼辨认出数字，优先手动列出 12 宫 SAV 值，再做算术校验\n- 只有经过尝试后表格确实无法结构化（如 OCR 输出乱码、截图模糊不可辨认），才标记为\"跳过\"\n- 跳过时必须在回执中说明具体原因（\"截图分辨率不足\"而非笼统的\"图式表格未能自动化解析\"）\n\n**强矩阵检查**（SAV/BAV 数据可用时）：\n\n- 12 宫 SAV 总和是否为 337（详见 `术语框架.md` SAV/BAV 量化规范）\n- 每颗星的 BAV 行总和是否符合固定常数\n- 每个星座的 BAV 列和是否等于对应 SAV\n- 行列同时出错时，用交叉定位找可能的 OCR 或录入错误\n\n**降级版**（SAV/BAV 经尝试确实无法提取时）：\n- 保留所有基础检查\n- 明确写 \"SAV/BAV ⏭️ 跳过（原因：...），宫位级量化判断降级为 🟠 中\"\n- 后续的\"资源水位\"和\"落点环境\"镜面使用 Shadbala 和 Vimsopaka 作为替代数据源\n\n每次一致性检查后，**必须输出以下编号校验表**。这是硬性输出格式，缺任何一行都视为校验不完整：\n\n```\n=== 一致性检查（必须逐项给出结果，不可省略任何一行）===\n\nC1  行星完整性   : ✅/❌  [说明]\nC2  Nakshatra映射: ✅/❌  [说明]\nC3  D9映射       : ✅/❌  [说明]\nC4  日水距角     : ✅/❌  [度数+判断]\nC5  日金距角     : ✅/❌  [度数+判断]\nC6  罗计对冲     : ✅/❌  [说明]\nC7  逆行合法性   : ✅/❌  [说明]\nC8  Dasha序列    : ✅/❌  [说明]\nC9  SAV总和=337  : ✅/❌/⏭️  [数值+说明；如跳过必须写明具体原因]\nC10 BAV行常量   : ✅/❌/⏭️  [7/7几颗匹配；如跳过必须写明具体原因]\nC11 BAV列→SAV   : ✅/❌/⏭️  [12/12几宫匹配；如跳过必须写明具体原因]\n\n校验等级：🔴极高(11/11通过) / 🟡高(C1-C8全过,C9-C11跳过) / 🟠中(有硬冲突)\n```\n\n**C9-C11 的硬规则**：\n- 只要命盘资料中包含任何 SAV/BAV 数字（无论格式），就必须逐项给出结果\n- 脚本解析不了 → 手动从 PDF/截图/HTML 中读取 12 个 SAV 值，做加法验证\n- 确实无法提取（OCR 乱码、截图模糊不可辨）→ 标记为 ⏭️ 并写明具体原因\n- 禁止出现\"SAV/BAV 跳过\"而无任何数字输出——要么给出具体数值和校验结果，要么给出具体跳过原因\n\n校验等级影响后续分析的置信度标注：\n- 🔴极高：所有宫位级判断正常使用 SAV 阈值\n- 🟡高：宫位级判断改用 Bhava Bala + Shadbala 替代，\"资源水位\"和\"落点环境\"镜面降级\n\n### C1-C11 计算公式（AI 自算用）\n\n以下公式用于 AI 从原始度数数据自行计算校验值，而非仅检查 JHora 已有标注。**OCR 场景下标注可能读错但度数是准的——AI 必须会自己算。**\n\n**C2 Nakshatra 与 Pada 计算**：\n```\n绝对经度 = 星座序号 × 30 + 度数    （白羊=0, 金牛=1, ..., 双鱼=11）\nNakshatra编号 = floor(绝对经度 / 13.3333) + 1\nPada编号 = floor((绝对经度 % 13.3333) / 3.3333) + 1\n```\n计算结果与 JHora 标注对比。不匹配 → ❌，列出不一致的星体。\n\n**C3 D9 映射计算**："}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"吠陀命盘分析中文入口。用于完整命盘研判、命主盘 Rashi chart 与九分盘 Navamsha chart 联读、既往事件回看、出生时间稳定度判断、事业主题、婚姻主题、时间与场域联合分析，以及基于 Jagannatha Hora PDF、星盘截图或文本命盘数据的系统拆盘。当用户提到完整星盘、事业方向、婚姻问题... Skill: vedic-destiny Owner: seanding1998 Summary: 吠陀命盘分析中文入口。用于完整命盘研判、命主盘 Rashi chart 与九分盘 Navamsha chart 联读、既往事件回看、出生时间稳定度判断、事业主题、婚姻主题、时间与场域联合分析，以及基于 Jagannatha Hora PDF、星盘截图或文本命盘数据的系统拆盘。当用户提到完整星盘、事业方向、婚姻问题... Tags: latest:1.0.9 Version history: v1.0.9 | 2026-06-03T14:17:05.576Z | user v1.4.2 — JHora Ashtakavarga 精确边框解析 + 导出变体兼容 (2026-06-03) 变更动机 新一批 JHora / MinerU 导出样本暴露出两类问题： Ashtakavarga 结构误判：紧凑表并不是普通 12×12 行列表，而","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1067,"uniquenessScore":52,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T18:17:11.313Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-10T18:17:11.313Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T21:49:45.596Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}