dsh-metaphysics 0.34.0 → 0.38.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,8 +1,107 @@
1
+ ## 0.38.2(待发布)
2
+
3
+ 紫微格局修掉三处「写得像实现了、其实永远不成立」的判定:夹局的方向、羊陀夹忌、刑囚夹印;顺手把 34 条目录从 README 的 31 条补全,并用独立谓词逐条钉死。
4
+
5
+ - **夹局不分左右**(`engine/ziwei.js` 的 `jia`):旧写法只认「A 在命宫前一宫、B 在后一宫」这一种顺序,但「夹」只要求两星分居命宫前后。实测 69,120 张盘:**昌曲夹命 0/8、羊陀夹命 0/1,474 从未命中**,日月夹命(237:231)、左右夹命(470:457)、魁钺夹命(283:292)各漏约一半。改为两向都认;`test/ziwei-patterns.test.mjs` 用镜像方向的真实盘(1955-01-02、1955-06-22、1956-02-14 等)钉住。
6
+ - **羊陀夹忌**:擎羊恒在禄存 +1、陀罗恒在禄存 −1,两星只能夹**禄存**那一宫;旧判据要求「化忌两侧是羊陀」,几何上不可能(1,553 张符合的盘一次都没报)。改为「化忌与禄存同宫」,证据文本写明化忌落在哪一支。
7
+ - **刑囚夹印**:廉贞与天相永远隔偶数宫,字面上的「廉贞、擎羊夹天相」同样不成立(17,568 张盘两向皆零)。按通行说法改为「廉贞天相同**守命宫**于子午、擎羊同宫」——源文说的是「守命」,所以判的是命宫那一宫,廉相羊同宫在别的宫位不报;evidence 写明三颗星同守哪一宫;命宫卯酉、廉贞天相对照遇擎羊的变体未纳入,写进 README 口径。三条来源:知乎「刑囚夹印」、sohu 格局文、ziwei-yun「天相不可能被廉贞和擎羊二星所夹」。
8
+ - **34 条目录补齐**:README 原列 31 条,且把 武贪同行、火贪铃贪 归在吉格(引擎一直是中性)、`双禄交流 / 命无正曜 / 杀破狼` 完全没写。现按引擎口径分三组列出(吉 20 / 中性 5 / 忌 9),`PATTERN_TONE` 改为导出供测试比对;README 与目录的一致性由测试直接解析 README 断言。
9
+ - **结构统计补中性**:`patternSummary` 增 `neutral`,摘要行改成「吉格 N、中性 K、忌格 M」——此前中性格计入 count 却不出现在统计里,count 会大于两档之和。
10
+ - **不新增能力、不动知识库**:知识库仍 47 条(本轮是判定口径修正,不是新规则);格局仍只描述结构、不折吉凶分数。
11
+ - **测试**:新增 `test/ziwei-patterns.test.mjs`(79 条)——34 条目录与 README 三组逐名对齐;312 张盘 × 34 条用独立谓词(只读星位与四化,不调引擎判定)复算,要求每条「零不符且至少命中一次」,专门防死规则;夹局镜像方向、羊陀夹命 ⇔ 禄存守命、羊陀夹忌 ⇔ 化忌同禄存、刑囚夹印守命(含「非命宫同宫不报」反向盘)、摘要计数与确定性各自钉住。故意把 `jia` 改回有序写法时该文件 11 条变红。统计 **81 个测试文件 / 2832 条断言**,七道闸全绿。
12
+
13
+ ## 0.38.1(待发布)
14
+
15
+ 古籍库补上《子平真诠》论格局成败的两章,并把「用神总纲」一位改成按盘取;顺手修掉 why 里拼出「论论财」的旧文案。
16
+
17
+ - **两条原文**(`engine/classics.js`):`zp-chengbai`(九、论用神成败救应,「成中有败,必是带忌;败中有成,全凭救应」)与 `zp-bianhua`(十、论用神变化,「藏庚透壬,则化为财。凡此之类皆用神之变化也」),均照录中华典藏网 53629 / 53630,白话自撰。
18
+ - **为什么是这两章**:0.37.0 起古籍节覆盖了「月令格 × 两书对照」与「调候」,但化气格只剩气候与总纲,组合(官印相生、伤官见官等)没有任何原文可读——这两章正是判「化气成不成」「成格有没有带忌」的出处。
19
+ - **总纲位三选一,不另加位次**:`classicsFor` 的第五条仍是「用神总纲」位——有化气格取「论用神变化」,见组合取「论用神成败救应」,其余取「论用神」通用总纲。上限没有从 5 放宽,也没有让泛论挤掉针对这张盘的话;同盘同时有化气与组合时取「变化」,why 写明取舍。
20
+ - **文案 bug**:此前 why 用 `${书名}论${章名}` 拼,而章名本身已带「论」,实际输出成「子平真诠论论财」「三命通会论论正财」。改为「书名「章名」一条 / 另取」,章节标题去掉序号与开头的「论」;测试加「why 不出现论论」的断言。
21
+ - **知识库 47 条**:新增 `bazi-geju-chengbai`(成中带忌、败中有救)与 `bazi-huagi-bianhua`(月令藏干与合局改变取用),均标 `variant`——成格条件、化气成立条件各家宽严不一,只并列原文与方向,不逐盘判成破。`docs/知识扩展与待核实清单.md` 的条数、统计与注记同步;顺手把上一轮注记里写错的版本号 0.37.2 改回 0.38.0。
22
+ - **口径边界**:专旺格、从格仍没有对应的单章原文(三书里没有可整段照录的专章),不硬凑;古籍节仍只负责「书上怎么说」,不把原文折算成吉凶分数。
23
+ - **测试**:`test/classic-quotes.test.mjs` 新增 13 条(两章原文抽检与典藏网出处、why 无双「论」、三选一互斥、1996 盘取「变化」、化气/组合/无特格三种落点);`test/sanming.test.mjs` 新增 7 条(总纲换条后仍保住两书对照、两张知识卡的出处与「不当断语」口径)。统计 **80 个测试文件 / 2753 条断言**,七道闸全绿。
24
+
25
+ ## 0.38.0(待发布)
26
+
27
+ 补上知识卡里已经写了、引擎却一直没做的一层:**岁运并临与伏吟反吟的逐年提示**。此前 `bazi-suiyun` 卡说「只作变动提示」,但盘面里没有任何地方标出是哪一年,等于只有口径、没有实现。
28
+
29
+ - **四类信号**(`engine/bazi.js` 给每条流年加 `suiyun`):**岁运并临**(当值大运与流年干支相同)、**运年反吟**(大运与流年天克地冲)、**流年伏吟**(流年与年/月/日/时柱干支相同)、**流年反吟**(流年与某柱天克地冲)。每条信号带 `type` / `target` / `detail`,另给 `note` 写明口径。
30
+ - **当值大运怎么取**:流年按立春起算,取与「该年立春到次年立春」区间相交的大运;交运落在这一年里时,前后两步都在本年当过值,两条并列。没有用虚岁近似,也不把交运日抹平。
31
+ - **天克地冲的判据**:天干相克 **且** 地支相冲,缺一不算。例如丙子年对丙午年柱是同干相冲,不标反吟;这条单独在测试里构造验证。
32
+ - **口径与边界**:只标干支重复与对冲,不折分数、不判吉凶——「岁运并临主大凶」一说不采,摘要与解析都写明「只标变动,仍看该年是否动到用神」。大运与原局之间的伏吟反吟未逐年标,四柱十神的引化也未叠入;起运前只有流年这一侧能成立。
33
+ - **四处可见**:摘要加一行「岁运提示(只标干支变动,不判吉凶):2030庚戌 岁运并临;…」;解析新增「岁运提示」节,逐年写清当值大运与每条的出处;白话只在最近一个命中处补一句「变化感强一点,不是好消息也不是坏消息」;面板在流年 chip 下方单列一排提示,chip 悬停给逐条依据。旧结果(没有 `suiyun` 字段)照常渲染,解析退回「近十年没有」的保守说法。
34
+ - **账面口径修正**(`docs/知识扩展与待核实清单.md`):知识库实际已是 45 条(诸家一致 15 / 各家有异说 29 / 待核实 1),清单头部还写着 42 条、统计还停在 15/27/1,一并改对;「岁运并临吉凶」一行补上「已落引擎与界面」。
35
+ - **测试**:新增 `test/suiyun.test.mjs`(102 条)——不复用引擎判定,按「月柱干支顺逆推八步」与「立春区间相交」两套独立写法复算 10 张盘 × 10 年;扫描全部样本核四类信号与事实一致(并临必然同干支、反吟必然天克地冲、伏吟必然同柱);构造同干相冲(丙子 vs 丙午)不算反吟、起运前无大运、年内交运两步并列三条边界;钉住确定性、摘要/解析/白话/面板四处可见、旧结果兼容与知识卡口径。统计 **80 个测试文件 / 2733 条断言**,七道闸全绿。
36
+
37
+ ## 0.37.1(待发布)
38
+
39
+ 界面深修一轮,重点在窄屏:19 个 tab 不再吃掉首屏,两列表单不再被按钮挤成 134px;六爻的化进/化退补上力重。
40
+
41
+ - **桌面抬头改竖排**(`tools/build-html.mjs`):品牌一行、tab 条一行。tab 从右对齐的 flex 换行改为 `repeat(auto-fit,minmax(74px,1fr))` 等宽网格,每格同宽、末行左对齐,不再出现「起名 人格」两项孤零零挂在右边、与上一行错开半个身位。
42
+ - **窄屏 tab 改单行横滑**:3 列网格是为六个 tab 写的,tab 涨到 19 个后要占七行(约 340px),首屏只剩输入框。改回单行横滑,44px 触摸目标、`scrollbar-width:none` + `::-webkit-scrollbar{display:none}` 藏掉滚动条、首尾各留 12px 呼吸位;切到靠后的 tab 时 `scrollTabIntoView()` 把当前项滚到可视区中间(`prefers-reduced-motion` 下用瞬时跳转),避免「页面变了、高亮停在屏幕外」。
43
+ - **窄屏表单两列修好**:根因是 `.go{grid-column:4}`、`.go.ghost{grid-column:3}` 写死给桌面四列,窄屏两列时这两条会生成第 3、4 列隐式 auto 轨道,把两个正文列挤到 134px,性别与按钮全被压扁。窄屏改为「看示例/排盘」分别落在第 1、2 列,性别与出生地各占整行,三个勾选项两两成对,收尾不再留空格。
44
+ - **人格页重做**(`src/panel-kit.js`):结果卡原本是「四行细条 + 段落堆叠」,字小、无层级;现在按「类型抬头(大字类型码 + 名称/关键词 + 已答题数)→ 四维瓦片(双极字母 + 取值条 + 一句取向)→ 一句 → 优势/留意(绿/赭左线两张卡)→ 认知功能链(主导高亮)→ 工作/关系/学习/课题分节」分层。问卷态改成两列编号清单,桌面一眼扫完 24 题。同时把卡片抬头从 `<header>` 改成 `<div>`:页面级 `header{flex-direction:column}` 会把卡片抬头也压成竖排。
45
+ - **顶层卡片没拿到调色板**(根因):变量块只挂在 `.pp,.mp-it` 上,而人格、黄历、称骨、人生 K 线、起名、速查这些卡片是直接插进 `#out` 的兄弟节点,`var(--band)`/`var(--card)` 全部失效 → 卡片退化成没底色、没边框的一堆字,这正是人格页看着丑的主因。变量块扩到 `.mp-al/.mp-cg/.mp-kline/.mp-mb/.mp-nm/.mp-quick` 等全部顶层卡片,`test/theme.test.mjs` 的断言同步改为「各顶层卡共享同一份变量」。
46
+ - **人格问卷改分页问答**(`src/web-ui.js`、`src/app.js`、`tools/build-html.mjs`、`src/panel-kit.js`):原来是一个「24 题分数」文本框——让用户自己数 24 个数字,像在填表格。现在照常见在线测评的做法:**4 题一页、共 6 页**,每题 1–5 五格单选(完全不像 / 不太像 / 说不准 / 有点像 / 很像我),顶部有进度条与「第 n / 6 页 · 已答 x / 24」,底部是上一页 / 下一页 / 看结果 / 清空。答满 12 题就能先出结果(与引擎的 `E_INPUT` 门槛一致),不够时按钮禁用并写明还差几题;最后一页收起「下一页」,「看结果」与原主按钮二选一,不再重复两个入口。题目与 1–5 的说法都从引擎的问卷态取(`compute({system:'mbti'})`),前端不抄一份;答案按题序存成数组,末尾连着没答的去掉再交给 `answers`,中途未答的按引擎口径算「跳过」。独立页与 DSH 面板共用同一套分页交互(面板是 `MbtiQuiz` 组件);结果不进「最近排过」——答案没存进历史,重放还原不了问卷。
47
+ - **人格页输入区**:问卷与日期无关,起卦日期/时刻在人格 tab 下隐藏(面板与独立页同步);问卷整行独占,窄屏下 5 格缩字体与内边距、按钮整行、44px 触摸目标;深色下选中格文字随强调色反色(与 tab / 主按钮同一口径)。
48
+ - **桌面副本可同步**:新增 `--desktop` 与 `npm run build:desktop`,一次把同一份页面写到仓库根和 `~/Desktop/命理排盘.html`。桌面那份是手工拷的产物,源码一改就旧;现在构建就能刷新,页面左上角的版本徽标用来核对。README 三处说明同步更新。
49
+ - **变量补全与观感**:共享变量块补齐 `--ink3/--fx/--sans/--kai`(此前多条形同虚设的字体、次级色规则因此失效)与 `--shadow`,深色另给一套;盘面卡片统一 12px 圆角与外阴影,古籍引文块改为左侧朱线 + 楷体悬挂缩进,`:focus-visible` 统一描边,结果入场只做一次轻微上浮并尊重 `prefers-reduced-motion`。
50
+ - **六爻 · 化进/化退力重**(`engine/liuyao.js` 新增 `jinTuiPower`,挂 `result.jinTuiPower`):此前只标方向,现在把每条进退放回月建五态落档——旺相 → 后劲足(退则退得缓)、休囚 → 后劲有限(退则退得实)、死 → 进得虚、逢月破 → 月破失据、缺月建 → 只报趋势;旬空只标出、不改结论。摘要单列「进退力重」一行;解析在「卦体关系」里逐条写清月建、日辰与档位,「未纳入」删去该项(保留用神两现权重与伏神出伏应期);白话加一句;面板单列一排 chip(后劲足/退得缓绿、其余赭)。只给档位、不折加权分数,吉凶仍落在用神/忌神那一层判。
51
+ - **测试**:`test/theme.test.mjs` 第五节改为「单行横滑 + 藏滚动条 + 首尾呼吸位 + 44px 触摸目标 + 切 tab 自动滚入视野 + 两列内按钮不生成额外轨道」,共 50 条断言;`test/mbti.test.mjs` 新增分页问卷一节(25 条)——离线页容器/样式、web-ui 的每页 4 题与 12 题门槛、事件委托、面板 `MbtiQuiz` 单跑校验(一页 4 题、刻度来自引擎、进度文案、按钮禁用与末页无「下一页」)、题面不复制到页面/面板;`test/liuyao-jintui.test.mjs` 新增第六节(27 条)——五态两行档位逐档复算、月破与缺月建两条边界、旬空只标不改结论、摘要/解析/白话/面板四处可见、旧结果不出该排。统计 **79 个测试文件 / 2631 条断言**,七道闸全绿。
52
+
53
+ ## 0.37.0(待发布)
54
+
55
+ 古籍库从两本扩到三本:接入《三命通会》卷五、卷六论十神七条,与《子平真诠》同一格局并列对照。
56
+
57
+ - **三命通会 7 条**(`engine/classics.js` 登记 `sanming` 书目):论正官、论正财、论印绶、论食神、论伤官、论阳刃、论建禄各一条,原文照录通行本、逐条给典藏网章节链接,白话释义自撰。选条标准只有一条——与「格局取用」直接相关;神煞、女命、六亲等卷暂不录入。
58
+ - **同格两书并列**:同一个「月令格」,先取《子平真诠》那一条(讲怎么用:顺逆、成败、救应),再取《三命通会》同格一条作对照(讲怎么取、怕什么)。例如正官格:子平真诠讲「刑冲破害为忌、生之护之为喜」,三命通会讲「六格之首,止许一位,多则不宜」。两条各给一句 why,不合并、不调和成一句断语。
59
+ - **条数上限 5**:格局两条 + 气候两条 + 用神总纲一条,正好把默认位占满;未匹配到两书同格时只出一条,不硬凑。
60
+ - **面板书名修正**(`src/panel-kit.js`):此前面板把非子平真诠的条目一律标成「滴天髓」,接入第三本后会串成「滴天髓·卷六·论正财」;改为按书目映射书名,`test/sanming.test.mjs` 钉住这一点。
61
+ - **知识库**:新增 `bazi-sanming-duizhao`(两书分工:一重「用」、一重「取」与「忌」,并列而不合并),全库 **45 条**。
62
+ - **口径**:只录与格局取用直接相关的七条,不声称覆盖全书;两书成书年代与流派不同,用语有出入,照录通行本、不做校勘改字,也不替两家调和。
63
+ - **测试**:新增 `test/sanming.test.mjs`(40 条)——书目与七条完整性、原文逐字抽检、七格「子平在前、三命在后」的对照选取、why 文案、上限与去重、确定性与 limit、摘要/解释层/面板三处可见、知识卡。`test/classic-quotes.test.mjs` 同步改为三书、条目 ≥26、单盘取 2–5 条。统计 **79 个测试文件 / 2571 条断言**,七道闸全绿。
64
+
65
+ ## 0.36.0(待发布)
66
+
67
+ 把 `docs/知识扩展与待核实清单.md` 里登记的两处缺口补上:紫微的「三方四正一起飞」、六爻的「全卦逐爻旺衰」。0.35.x 的面板修复随这一版一起发。
68
+
69
+ - **紫微 · 三方四正复合飞化**(`engine/ziwei.js` 新增 `flyComposite`,挂 `chart.flyComposite`):单宫飞化只回答「这一宫自己去找谁」,这一层把本宫、对宫与两个三合宫共四宫的宫干四化一起摊开——四宫各化禄权科忌,共 16 条,按落宫归堆,落到同一宫就是会照。四类会聚单独成型:**双忌会**(同宫收到 ≥2 个忌)、**禄忌同宫**(禄随忌走)、**三化以上会宫**、**自化**(宫干化出去又落回本宫)。摘要加【三方四正飞化】行(会聚标签 + 四化去向按宫去重);解析新增「三方四正飞化」节,写清哪几股力会到哪一宫;白话加一句「N 股力最后挤在 X 这件事上」;面板并排 chip,悬停给飞入清单。
70
+ - **紫微 · 口径**:会聚判定只看「落在同一宫」这一条结构事实,不折分数、不断吉凶,也未叠大限流年四化;星未上盘时只记星、不记落宫(`to: null`)。三方四正四宫由命宫 +4/+8/+6 推得,与格局识别用的那一套同源。
71
+ - **六爻 · 全卦逐爻旺衰**(`engine/liuyao.js` 新增 `hexagramStrength`,挂 `result.hexStrength`):与用神旺衰同一套判定(月令五态、日辰五关系、月破/暗动/冲空),区别只在不挑用神——六爻每一爻都给一次,世应、动爻、旬空另标,并给出五态分布 `counts`、最旺/最弱爻与世应各自的状态。
72
+ - **六爻 · 不依赖用神**:此前旺衰只在取到用神时才算,没指定所问之事就一片空白;现在 `hexStrength` 在 `buildLiuyao` 之后独立计算,没给 `direction` 也能看整张卦的气。
73
+ - **六爻 · 口径**:只报状态、不折分数;「未纳入」删去「全卦逐爻的月建旺衰」,保留化进化退的实际力重、用神两现取舍、伏神出伏应期三项。
74
+ - **知识库**:新增 `ziwei-sanfang-fei`(复合飞化的会照取法与各家分歧)与 `liuyao-quanggu-shuai`(全卦旺衰与「用神只是一处落点」),并把 `ziwei-feixing` 的 note 从「未做完整飞星串连」更正为「串连与复合飞化已做、未叠大限流年」。全库 **44 条**。
75
+ - **自我介绍与讨论群(只在仓库页)**:README 文末新增「关于:一个人做的插件,欢迎来聊」——写明这是个人作品、能力有限,欢迎就断法口径、神煞取法、解析措辞进群讨论,报 bug 请带输入与结果;`docs/assets/dsh-metaphysics-group*.png` 放群二维码。**不进插件运行时**:面板与离线页不加这条提示,市场条目与 `locale` 描述也只说能力、不说作者(提醒只出现一次,在仓库 README)。市场条目与 `locale` 另补齐了 0.35–0.36 两项新能力。
76
+ - **测试**:新增 `test/ziwei-fly-triad.test.mjs`(44 条)与 `test/liuyao-hex-shuai.test.mjs`(53 条)——四化表与五态五关系都用另一套写法逐格复算(16 条飞化、12 卦 × 3 月 × 6 爻)、归堆与会聚独立过滤比对、60 张盘结构自洽且会聚非死规则、四种冲法构造验证、摘要/解析/白话/面板四处可见、旧结果兼容、确定性。统计 **78 个测试文件 / 2531 条断言**,七道闸全绿。
77
+
78
+ ## 0.35.1(待发布)
79
+
80
+ 修一个会让整个命理面板白屏的崩溃,并让它以后能自己把错误说出来。
81
+
82
+ - **崩溃根因**(`src/app.js`):为了给「问进对话」记住上一张盘,加了一个 `useEffect` 去写 `LAST`,但它落在 `const [result, setResult] = useState(null)` **之前**;React 首渲时读依赖数组撞上 TDZ,抛 `ReferenceError: Cannot access 'result' before initialization`,整个面板渲染失败——桌面端看到的就是「侧栏有『命理』、点开一片空白」。已把该 effect 移到 `result` 声明之后。
83
+ - **渲染兜底**(新增 `PanelGuard`,`React.Component` 的错误边界):面板里任何一层组件抛错时,把错误原文与前 14 行栈直接铺在面板上,并附「__PP / Engine / React / 版本」环境行——不再白屏,也不用开 devtools 才能报错。
84
+ - **版本可见**:构建时把 `package.json` 的版本注入 `window.__MP_VER`,侧栏标题显示为「命理 v0.35.1」;`__ModuleLoader__.load` 的模块描述里也带 `version`。以后一眼能确认应用加载的是哪份构建。
85
+ - 测试与闸门不变:**76 个测试文件 / 2434 条断言**,七道闸全绿。
86
+
87
+ ## 0.35.0(待发布)
88
+
89
+ 面板可以直接把提问送进对话窗了:排完盘点「问进对话」,这张盘的摘要和你的问题会变成一条正常的用户消息,由对话里的模型接着答。
90
+
91
+ - **提问模板**(`engine/followup.js` 新增 `askPrompt`):四段——一句说明(不用重排盘)、`体系 / 所问` 两行、`——盘面摘要——`(取 `compute` 的 `summary`,超 3000 字截断并标「摘要已截断」)、`——回答要求——`(引到具体柱/宫/爻、没依据就说「这盘里看不出来」、不给绝对化断言)。只做文本组装,不调模型、不改盘,返回 `{text, question, system, label, chars, truncated}`。
92
+ - **对话桥**(`src/app.js`):往会话作用域槽位 `conversation.input.right` 注册一个不画界面的组件,从 slot props 取 `inputActions`;点按钮时 `setDraft(text)` 写草稿再 `submit()`,走输入框正常的回车路径——有回合在跑时排队,不打断当前回答。桥没挂上(插件刚装、还没重启,或 Harness 改了槽位名)时退回复制剪贴板并提示,不报错。
93
+ - **按钮位置**:结果卡下方的追问行,「追问」(本地按盘面字段直接答)旁边多一个「问进对话」,两者共用同一个问题输入框。
94
+ - **离线页不动**:`命理排盘.html` 没有 Harness 对话窗,所以只有「追问」,不出现这个按钮。
95
+ - 测试:新增 `test/ask-prompt.test.mjs`(46 条:字段结构、体系名翻译、问题原样带入、摘要截断与占位、六套体系各跑一遍、无绝对化表述、传 null 不抛、确定性);`test/client-bundle.test.mjs` 增加对话桥注册与「提问 → setDraft → submit」源码通路的断言(现在注册三个槽)。
96
+ - 统计:**76 个测试文件 / 2431 条断言**(当时),七道闸全绿。
97
+
1
98
  # 更新记录
2
99
 
3
100
  版本按「一组可感知的改动」发,README 与市场条目描述随能力同步。
4
101
 
5
- ## 0.34.0(待发布)
102
+ 0.23.0–0.33.0 都只提交在本地、没有单独发到 npm;这些内容随 **0.34.0** 一并发布。npm 上的 latest 从 0.22.0 直接跳到 0.34.0,`npm i dsh-metaphysics` 装到的就是这一版。
103
+
104
+ ## 0.34.0(已发布)
6
105
 
7
106
  六爻补上**用神旺衰**:月建给这一段时令的气,日辰给当天的扶克。此前用神只算到「落在哪一爻、与卦体怎么对」,旺不旺一律写「仍要月建日辰」,等于把最关键的一半留白。
8
107
 
@@ -13,7 +112,8 @@
13
112
  - **四处可见**:摘要加「用神旺衰:月建 午(火) 用神月建相 · 用神与日辰比和」;解析「用神落位与卦体」节加「时令对用神」段(逐爻写月建态与日辰关系、冲法);面板加一排旺衰 chip(旺/相/得日辰生用 ok 色,死/囚/月破/受日辰克/泄/耗用 warn 色);白话加一句「眼下这阵子对这件事是帮着的/不太帮忙/有帮有压」。
14
113
  - **口径**:这一层只报状态标签,不折成分数、不断成败;全卦逐爻的旺衰仍未做(现在只算到用神那几爻),化进化退叠上月建日辰后的实际力重也仍未做。
15
114
  - **知识库**:新增 `liuyao-yongshen-shuai`(variant)讲五态、五关系与三种冲法,note 写明各家对月破/暗动/冲空取法不完全一致。全库 **42 条**。
16
- - **测试**:新增 `test/liuyao-shuai.test.mjs`(52 条)——地支五行 12 支、月令五态与日辰关系各 144 格逐格用另一套写法复算、12 张静卦 × 3 个月建逐爻复算、月破/暗动/冲空/逢日辰冲四种冲法各自构造验证、标签次序、缺月建与缺用神的退化路径、摘要/解析/面板/白话四处可见、旧结果(无 `useGodStrength`)不炸、确定性。统计 **74 个测试文件 / 2344 条断言**。
115
+ - **发版工具**:新增 `tools/verify-publish.mjs` 与 `--verify-only` 模式——核对以「tarball 能下载、字节与 registry 记的 shasum 一致、关键文件在包里」为准,因为 npm 会先让版本条目可见、附件晚几分钟才落盘(0.34.0 发布时就撞上过这段空窗,`npm publish` 的成功字样并不作数)。
116
+ - **测试**:新增 `test/liuyao-shuai.test.mjs`(52 条)——地支五行 12 支、月令五态与日辰关系各 144 格逐格用另一套写法复算、12 张静卦 × 3 个月建逐爻复算、月破/暗动/冲空/逢日辰冲四种冲法各自构造验证、标签次序、缺月建与缺用神的退化路径、摘要/解析/面板/白话四处可见、旧结果(无 `useGodStrength`)不炸、确定性。统计 **75 个测试文件 / 2379 条断言**(含发布核对工具的 35 条自测)。
17
117
 
18
118
  ## 0.33.0
19
119
 
@@ -129,7 +229,7 @@
129
229
  - 白话层(直答 / 说人话)各补一句卦体的话;知识库新增 4 条(`liuyao-liuchong` / `liuyao-liuhe` / `liuyao-fanyin` / `liuyao-fuyin`)。
130
230
  - 测试新增 `test/liuyao-body.test.mjs` 63 条:六合 8 支与传世表对拍、六冲 10 支(含「只认八纯」的差异说明)、伏吟「卦未变不算伏吟」回归、反吟两路分判、23 条卦例逐字对拍;统计 **65 个测试文件 / 1881 条断言**(当时)。
131
231
 
132
- ## 0.23.0(已发布)
232
+ ## 0.23.0(未单独发布,并入 0.34.0)
133
233
 
134
234
  八字结果里多了「古籍原文」:格局、十神喜忌、调候三条线,各引原书一句,并附白话释义与出处。
135
235