@qilitt-mickey/vue3-temp-skill 1.1.67 → 1.1.69

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/bin/cli.js CHANGED
@@ -30,8 +30,11 @@ const __dirname = path.dirname(fileURLToPath(import.meta.url));
30
30
  const SKILL_DIR = path.resolve(__dirname, "..");
31
31
  const SKILL_NAME = "vue3-temp-skill";
32
32
  const TRACK_FILE = path.join(HOME, ".vue3-temp-skill.json");
33
- // 只复制 AI 运行时真正需要的文件;validate/check/cli 属于作者侧工具,不随技能分发
34
- const RUNTIME_SCRIPT_FILES = ["match.py", "modules.json"];
33
+ // 只复制 AI 运行时真正需要的文件;validate/cli 属作者侧词典维护工具,不随技能分发。
34
+ // design-audit.mjs / check.mjs 必须随包分发:E11 交付完整性 / E12 设计层累积性(ledger 台账)
35
+ // 是落地会话的运行时闸——缺了它们「只挑主题令牌落地 + 覆盖历史成果」无法被静态拦截
36
+ // (实证:2026-09-24 孔雀绿轮,运行时副本无审计闸,残缺口变更集一路绿灯)。
37
+ const RUNTIME_SCRIPT_FILES = ["match.py", "modules.json", "design-audit.mjs", "check.mjs"];
35
38
  const PKG_VERSION = JSON.parse(fs.readFileSync(path.join(SKILL_DIR, "package.json"), "utf-8")).version;
36
39
 
37
40
  // ============================================================
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qilitt-mickey/vue3-temp-skill",
3
- "version": "1.1.67",
3
+ "version": "1.1.69",
4
4
  "type": "module",
5
5
  "description": "Vue 3 企业级中后台项目开发规范技能包 — core-kernel 架构、按需功能模块",
6
6
  "bin": {
@@ -48,7 +48,7 @@ lint / type-check **过了也不能放过**下列项。发现即改代码,禁
48
48
  | 列表查询区 `el-form` / 查询按钮 | 写了 `size="small"`(紧凑主题用户未要求) | 不写 size,用 default=`--control-height` |
49
49
  | 本轮新增 addon 并引用对应 `Re*` / Vant / 微信 | 已装包但 `tsconfig exclude` 仍含该路径,或 `addon-enable` 要求的 build/src 未改 | 按 **`addon-enable.md`** 对应章节恢复后重跑 type-check |
50
50
  | 设计层(`design-shell.scss` / 页面 `scoped`)新增规则 | 与对手**同权重**(对手为组件 `<style scoped>` 时平手即失效——组件样式在全局之后注入),或对手带 `!important` 而本条没带 | 按 `priority.strategy` 提权;**数权重,不许目测** |
51
- | 变更集带 `oracle` | `oracle.mockup` 与本次主题/页面不一致(跨主题复用效果图),或 `oracle.sids` 与 `changes[]` 未双向闭合(存在欠声明 / 无基线点位) | 回流设计侧补齐后再开工,禁止直接施工 |
51
+ | 变更集带 `oracle` | ① `oracle.mockup` 不是本页型的**场景基线图**(对照注册表 `baseline.<页型>.mockup`);② 基线图色板(图内 `data-mockup-theme`)与本次主题(`changeset.theme`)不一致**且未声明** `oracle.theme_mapping`;③ `oracle.sids` 与 `changes[]` 未双向闭合(存在欠声明 / 无基线点位)。**注意:主题 ≠ 基线图色板本身不是违规**——基线图是场景基线、与主题无关,声明 `theme_mapping`(色值归一)后照常全量施工,**不得**把主题不一致当回流理由缩水成只换主题色 | 视缺口而定:缺 `theme_mapping` → 回流设计侧补声明;`sids` 未闭合 → 回流设计侧补齐后再开工,禁止直接施工 |
52
52
  | `element-plus.scss` / `sidebar.scss` 等样式消费层 | `var(--font-size-*)` 用于 `line-height` / `height` 等非字号属性 | 查 TSB:`classifyToken` + `PROPERTY_FORBIDDEN`;`line-height` → `--line-height` 或 `--el-menu-item-height` |
53
53
  | `element-plus.scss` 内视觉规则(shadow/hover/transition) | 出现非令牌引用的裸 hex / px / rgba 值 | 全部改为 `var()` 引用令牌 |
54
54
  | 视觉规则新增 | `dark.scss` 缺少对应暗色覆盖 | 每条新规则在 `html.dark` 内有对应覆盖 |
@@ -160,7 +160,7 @@ lint / type-check **过了也不能放过**下列项。发现即改代码,禁
160
160
 
161
161
  ### 渲染态验收(变更集含 `oracle` / 效果图有 `data-sid` 时强制)
162
162
 
163
- - [ ] **oracle 基线可用**:`oracle.mockup` 与本次主题、页面一致(未复用异主题效果图);`oracle.sids` 与 `changes[]` 双向闭合(无欠声明点位、无「已声明却无基线」点位)——`parser match` 已自动报出,未报错才算通过
163
+ - [ ] **oracle 基线可用**:`oracle.mockup` 是本页型的场景基线图(**与本次主题无关**——任何主题都读同一张,不因换主题改图 / 漏读 / 跳抽);基线图色板(图内 `data-mockup-theme`)与本次主题(`changeset.theme`)不一致时已声明 `oracle.theme_mapping: { "from": "<基线图色板>", "to": "<本次主题>" }`(verify 带 `--from-theme/--to-theme` 做色值归一,几何 / 结构 / 字号逐点照比);`oracle.sids` 与 `changes[]` 双向闭合(无欠声明点位、无「已声明却无基线」点位)——`parser match` 已自动报出,未报错才算通过
164
164
  - [ ] **登记表覆盖率闭合**(变更集带登记表时):`match --registry` 输出 `C = A`、无缺口,且无「效果图标注缺口」(恒存在子项在效果图上都有同名 `data-sid`)
165
165
  - [ ] 项目同名 `data-sid` 元素已渲染,抽取 computed style 与效果图期望值逐点 diff
166
166
  - [ ] diff 结果无未解释缺口;有缺口者已按三类(选择器落空 / 权重被压 / 语境错位)归因并修正,未用 `!important` 掩盖
@@ -134,3 +134,20 @@ parser match(确定性翻译)→ 施工坐标 → AI 按坐标改代码 →
134
134
  | 回归 | [`regression.md`](steps/regression.md) | 端到端回归 A-V · 配套工具 | 改 parser/mapping 后必跑 |
135
135
 
136
136
  **红线摘要(全文适用,细节在各步子文件)**:出厂中性 · 变更集驱动(上文);先结构后样式(第 2 步先于第 3 步);缺口只分「能力缺口(当场落地)」与「意图缺口(回流设计侧)」两类;**效果图/大文件只读一次**——期望值落盘 `oracle.json` 后,后续环节一律消费落盘产物,禁止反复重读。环境无 Node 时按「环境备注」(见 maintenance.md)人工执行。
137
+
138
+ ## 会话结束条件(终态硬闸,违反 = 交付未完成)
139
+
140
+ **落地会话不许「做一批、停下来等用户说继续」。** 「继续」只是异常中断后的恢复手段,不是交付形态——把恢复手段当成默认流程 = 把 1:1 还原降级为多次半成品。本轮做完一批点位后,**必须自动进入下一批**,直到同时满足以下三条才允许结束会话:
141
+
142
+ | # | 结束条件 | 判定方式 |
143
+ |---|---|---|
144
+ | 1 | **施工对账清零**:变更集全部已声明点位(`changes[]` ∪ `visible:false` ∪ `pending` 兑现项)全部落地 | 对照 `.codebuddy/design/ledger.json` 台账与 parser match 输出逐条核销;剩余 >0 → 继续施工 |
145
+ | 2 | **静态闸清零**:`parser audit` 与 `scripts/design-audit.mjs` 的 ERROR = 0 | 两闸任一 ERROR 即返工,不得带错收尾 |
146
+ | 3 | **验收闭环**:变更集含 oracle 时跑第 6 步 verify(本环境无浏览器 → 渲染态抽取显式移交用户执行,并说明移交项) | verify 全绿或移交说明已给出 |
147
+
148
+ **禁止的收尾话术(出现即判定为本轮交付失败,必须继续)**:
149
+ - 「全量覆盖是迭代项 / 随迭代补齐 / 后续迭代再补其余细项 / 不阻塞已落地代码」——**覆盖率欠账 = 交付未完成**,不是迭代计划;设计侧变更集 `coverage.note` 出现同类表述同样视为交付失败(设计侧闸 D4/D9 会先拦,话术绕过闸的在这里兜底)。
150
+ - 「核心点位已落地,其余点位影响不大」——影响大小不由落地端裁定,范围只由变更集 `coverage` 与登记表裁定。
151
+ - 「已落地主题色与关键视觉,还原度已达 X%」——还原度以 verify / 登记表对账为准,不得以点位抽样自评。
152
+
153
+ **环境能力边界**:无浏览器只豁免「渲染态抽取与 verify」,**不豁免逐点施工**——静态可落地的 190 子项必须在会话内全部落地,施工不需要浏览器。