@agile-team/wl-skills-gate 0.10.0 → 0.12.0

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.
Files changed (125) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.md +9 -4
  3. package/assets/java-reference.lock.json +1485 -0
  4. package/assets/quality-preset-0.11.json +201 -0
  5. package/bin/wl-quality-setup.js +4 -4
  6. package/bin/wl-skills-gate.js +35 -5
  7. package/docs/01-quick-start.md +1 -1
  8. package/docs/02-config.md +1 -1
  9. package/docs/05-adapters.md +25 -3
  10. package/docs/06-gitlab.md +21 -32
  11. package/docs/07-jenkins.md +48 -43
  12. package/docs/13-quality-cost-and-isolation.md +1 -1
  13. package/docs/16-project-ci-integration.md +7 -7
  14. package/docs/17-onboarding.md +26 -0
  15. package/docs/19-nine-dimension-review.md +7 -1
  16. package/docs/README.md +2 -2
  17. package/fixtures/cases/05-waived/expected.json +10 -1
  18. package/fixtures/cases/07-baseline-pass/expected.json +10 -1
  19. package/fixtures/cases/08-baseline-new/expected.json +9 -1
  20. package/fixtures/onboarding/managed-assets-0.10.0/java-unit.mjs +84 -0
  21. package/fixtures/onboarding/managed-assets-0.10.0/project-actions.mjs +266 -0
  22. package/lib/adapters/eslint.js +2 -1
  23. package/lib/adapters/frontend.js +647 -0
  24. package/lib/adapters/java-scan.js +252 -0
  25. package/lib/adapters/java-xml.js +5 -1
  26. package/lib/adapters/project.js +153 -0
  27. package/lib/automation.js +64 -8
  28. package/lib/branch-setup.js +274 -0
  29. package/lib/ci-prepare.js +91 -0
  30. package/lib/ci-source.js +1 -1
  31. package/lib/collect.js +3 -2
  32. package/lib/config.js +14 -3
  33. package/lib/control-service.js +37 -15
  34. package/lib/delivery-report.js +167 -0
  35. package/lib/deployment-delivery.js +8 -1
  36. package/lib/deployment.js +4 -4
  37. package/lib/doctor.js +8 -1
  38. package/lib/evidence.js +15 -1
  39. package/lib/finding-input.js +6 -0
  40. package/lib/fix.js +3 -3
  41. package/lib/frontend-config.js +96 -0
  42. package/lib/frontend-worker.js +12 -0
  43. package/lib/gate.js +1 -1
  44. package/lib/governance-notifications.js +31 -1
  45. package/lib/governance.js +46 -2
  46. package/lib/java-distribution.js +53 -0
  47. package/lib/onboard-complete.js +44 -3
  48. package/lib/onboard-config.js +847 -167
  49. package/lib/onboard-environment.js +2 -1
  50. package/lib/onboard-registry.js +8 -2
  51. package/lib/onboard.js +1 -1
  52. package/lib/release-input.js +28 -7
  53. package/lib/release-review.js +133 -0
  54. package/lib/release-set.js +35 -6
  55. package/lib/report-catalog.js +52 -0
  56. package/lib/report-details.js +74 -0
  57. package/lib/report-input.js +1 -1
  58. package/lib/report.js +20 -6
  59. package/lib/review-ci.js +3 -1
  60. package/lib/review-collectors.js +44 -0
  61. package/lib/review-facts.js +2 -1
  62. package/lib/review-publish.js +12 -3
  63. package/lib/review-responsibility.js +16 -0
  64. package/lib/risk.js +5 -1
  65. package/lib/rules/organization-secrets.js +21 -0
  66. package/lib/run-trace.js +53 -0
  67. package/lib/run.js +20 -3
  68. package/lib/setup-central.js +35 -10
  69. package/lib/setup-modes.js +10 -0
  70. package/lib/setup.js +2 -1
  71. package/npm-shrinkwrap.json +3097 -0
  72. package/package.json +21 -3
  73. package/scripts/java-distribution.py +116 -0
  74. package/scripts/lib-tests/automation.test.mjs +7 -1
  75. package/scripts/lib-tests/branch-setup.test.mjs +177 -0
  76. package/scripts/lib-tests/ci-prepare.test.mjs +24 -0
  77. package/scripts/lib-tests/collect.test.mjs +10 -5
  78. package/scripts/lib-tests/control-review.test.mjs +14 -0
  79. package/scripts/lib-tests/control-service.test.mjs +14 -0
  80. package/scripts/lib-tests/deployment.test.mjs +21 -4
  81. package/scripts/lib-tests/inspect.test.mjs +4 -4
  82. package/scripts/lib-tests/multiple-branch-review.test.mjs +174 -0
  83. package/scripts/lib-tests/native-coverage.test.mjs +211 -0
  84. package/scripts/lib-tests/onboard-complete.test.mjs +7 -1
  85. package/scripts/lib-tests/onboard-registry.test.mjs +33 -1
  86. package/scripts/lib-tests/prevention-ci-chain.test.mjs +139 -0
  87. package/scripts/lib-tests/prevention-full-system.test.mjs +133 -0
  88. package/scripts/lib-tests/prevention-governance-chain.test.mjs +198 -0
  89. package/scripts/lib-tests/prevention-project-chain.test.mjs +397 -0
  90. package/scripts/lib-tests/project-native-v12.test.mjs +135 -0
  91. package/scripts/lib-tests/release-input.test.mjs +33 -9
  92. package/scripts/lib-tests/report-notification-v12.test.mjs +160 -0
  93. package/scripts/lib-tests/review-publish.test.mjs +4 -0
  94. package/scripts/lib-tests/setup-central.test.mjs +11 -1
  95. package/scripts/lib-tests/shared-adapters.test.mjs +1 -1
  96. package/scripts/test-support/control-review-fixture.mjs +7 -1
  97. package/scripts/test-support/release-review-fixture.mjs +32 -0
  98. package/scripts/test-support/review-collect-fixture.mjs +7 -7
  99. package/templates/ci/Jenkinsfile +38 -1
  100. package/templates/ci/Jenkinsfile.release-sign +1 -0
  101. package/templates/ci/gitlab-backend.yml +6 -1
  102. package/templates/ci/gitlab-frontend.yml +6 -2
  103. package/templates/launchers/setup.cmd +1 -1
  104. package/templates/launchers/setup.command +1 -1
  105. package/templates/launchers/setup.sh +1 -1
  106. package/templates/onboarding/automation/project-actions.mjs +44 -7
  107. package/templates/onboarding/automation/workspace-setup.mjs +1 -1
  108. package/templates/onboarding/backend/java-unit.mjs +1 -1
  109. package/templates/onboarding/backend/policy.yml +15 -19
  110. package/templates/onboarding/backend/quality-tools.package.json +2 -2
  111. package/templates/onboarding/frontend/policy.yml +36 -1
  112. package/templates/onboarding/legacy/managed-assets.json +36 -0
  113. package/templates/platform/README.md +9 -3
  114. package/templates/platform/automation-config.json +4 -2
  115. package/templates/platform/branch-setup.json +13 -0
  116. package/templates/platform/control-config.json +2 -1
  117. package/templates/platform/deployment-config.json +8 -2
  118. package/templates/platform/governance-config.json +148 -4
  119. package/templates/platform/release-input-config.json +6 -3
  120. package/templates/platform/release-review-trust.json +52 -0
  121. package/templates/platform/review-collector.backend.json +2 -1
  122. package/templates/platform/review-collector.frontend.json +2 -1
  123. package/templates/platform/review-publish-config.json +10 -4
  124. package/templates/quality/java-reference.plan.json +7 -0
  125. package/templates/quality/rules.lock.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,22 @@
1
+ # 变更记录
2
+
3
+ ## [0.12.0] — 2026-10-19
4
+
5
+ - 完整接入固定code-scan-kit 1.1.0六引擎,提供离线分发打包、自动缓存与逐文件完整性核验;保留BD组织规则、原生HTML/CSV和统一指标。
6
+ - 前端增加类型感知、安全/凭据、重复代码、依赖图、漏洞与许可证;固定专业分析器,隔离超时,规则抑制注释不能绕过,复用业务工具版本。
7
+ - 既有生产前端业务脚本和Node必测自动登记;本轮真实JUnit、命名用例、必测计划及脚本摘要校验;批准升级0.11预设并保留自定义检查。
8
+ - blocker/error不接受历史基线或豁免;批准机械修复仍可执行并复扫。增强目录文件详情、行区间/筛选、提交追溯、阶段标识和不可覆盖归档。
9
+ - 飞书阻断卡片支持技术经理与执行人真实ID映射和去重,缺强制映射停止投递并由故障渠道处理;人员/群/SSO/CI现场验收仍需真实环境。
10
+ - 中央认证、独立签发和构建前重验共同执行技术经理确认策略;经理为执行人仍需非作者复核。UAT独立smoke回流后自动生成固定版本HTML/JSON客户Review报告,恢复补报与防篡改有原件约束。
11
+ - Node范围更新为22.13+或24+。新增依赖固定版本;新增同项目多个批准采集器及六分支接线助手,目标scope隔离、发布按scope选报告;动态MR采集与现场权限/送达仍独立验收。
12
+
13
+ ## [0.11.0] — 2026-10-16
14
+
15
+ - 修复早期warning摘要未被常驻任务消费、首次来源失联/回流异常静默及旧环境复验可复用的断链,增加可靠执行异常与恢复提醒。
16
+ - 正式构建前自动按SHA选择中央最新九维Review并重查CI;组合签发与部署强制重验真实签名、独立授权及原件,旧组合需补证重新生成。
17
+ - CI按中央批准工作副本清单/锁准备依赖,禁任意生命周期脚本,仅用固定必要适配;质量报告与Review失败均保留原件。
18
+ - 已接项目按受管资产摘要批准升级,保留自定义策略、必测与POM;复用已提交自有版本锁并由实际首扫核验,修复当前Review草稿入口路径。
19
+
1
20
  ## [0.10.0] — 2026-10-15
2
21
 
3
22
  - 新增可启动的质量接入菜单和跨系统启动器,首次接入逐阶段展示、确认、执行、复扫与HTML反馈,不再要求人工传递计划摘要。
package/README.md CHANGED
@@ -9,8 +9,7 @@
9
9
 
10
10
  <p align="center">
11
11
  <a href="https://www.npmjs.com/package/@agile-team/wl-skills-gate"><img src="https://img.shields.io/npm/v/@agile-team/wl-skills-gate?color=087A7D&label=npm" alt="npm version" /></a>
12
- <img src="https://img.shields.io/badge/Node.js-%E2%89%A522.12-172634" alt="Node.js 22.12 or later" />
13
- <img src="https://img.shields.io/badge/runtime_dependencies-0-087A7D" alt="Zero runtime dependencies" />
12
+ <img src="https://img.shields.io/badge/Node.js-22.13%2B_or_24%2B-172634" alt="Node.js 22.13+ / 24+" />
14
13
  </p>
15
14
 
16
15
  <p align="center">
@@ -23,6 +22,7 @@ Gate 是质量执行与裁决层,复用项目已有检查器和适用的 WL
23
22
 
24
23
  | 场景 | Gate 提供什么 | 能看到什么 |
25
24
  | --- | --- | --- |
25
+ | 完整检测 | Java参考六引擎+BD组织规则;前端类型语义、安全、密钥、重复、架构和依赖 | 原件、覆盖范围、指标与具体位置 |
26
26
  | 日常提交 | Hook 自动运行分档检查 | 问题位置、规则、修复建议与阻断原因 |
27
27
  | 问题整改 | 预览方案 → 本人确认 → 白名单脚本 → 复扫 | 修前修后变化、剩余问题与回归项 |
28
28
  | Code Review | 汇总九维证据,生成待确认草稿 | 非作者逐维确认后的正式 Review |
@@ -33,12 +33,13 @@ Gate 是质量执行与裁决层,复用项目已有检查器和适用的 WL
33
33
 
34
34
  ## 快速接入
35
35
 
36
- 技术经理拿到批准的 Gate 完整包后,打开 `templates/launchers/setup.command`(macOS)、`setup.cmd`(Windows)或 `setup.sh`(Linux),按菜单选择任务。先提供 Node.js ≥22.12、项目固定的包管理器及原有构建工具。
36
+ 技术经理拿到批准的 Gate 完整包后,打开 `templates/launchers/setup.command`(macOS)、`setup.cmd`(Windows)或 `setup.sh`(Linux),按菜单选择任务。先提供 Node.js 22.13+ 或 24+、项目固定的包管理器及原有构建工具。
37
37
 
38
38
  | 任务 | 人只需做什么 | 脚本完成什么 |
39
39
  | --- | --- | --- |
40
40
  | 首次接入项目 | 选择 Git 项目根、批准安装源,确认各阶段差异 | 识别范围、安装固定依赖、同步规则、Hook、POM/锁、首扫及提交说明正反验证 |
41
41
  | 新成员初始化 | 选择已接项目,在安装与激活计划上确认 | 按仓库已提交清单恢复本机环境,保留项目策略,再验真实 Hook |
42
+ | 六分支接线 | 选择批准基础配置,确认完整差异 | 自动生成目标分支独立scope与Review接线;保留验证来源,权限与作业仍由运维配置 |
42
43
  | 运维接线 | 选择批准配置目录,预检后选择启动 | 核对配置/身份/凭据存在性/旧状态,启动中央采集与操作入口;消息默认预览 |
43
44
  | 组合发布输入 | 选择批准配置,确认组件与输出 | 从真实采集原件生成输入,核验来源、SHA、制品与兼容证据 |
44
45
 
@@ -47,7 +48,7 @@ Gate 是质量执行与裁决层,复用项目已有检查器和适用的 WL
47
48
  ```bash
48
49
  npx --yes --ignore-scripts --registry https://registry.npmjs.org/ \
49
50
  --@agile-team:registry=https://registry.npmjs.org/ \
50
- @agile-team/wl-skills-gate@0.10.0 setup project
51
+ @agile-team/wl-skills-gate@0.12.0 setup project
51
52
  ```
52
53
 
53
54
  | 项目 | 依赖装在哪里 | 业务构建 |
@@ -57,6 +58,8 @@ npx --yes --ignore-scripts --registry https://registry.npmjs.org/ \
57
58
 
58
59
  `quality-tools/` 是 Java 仓库内的 Node 工具依赖目录。内置后端配套针对 `wl-produce` PL;其他 Maven 项目先由负责人配置模块与必测。移动端、UniApp 不套用 PC 配套。
59
60
 
61
+ 已接项目升级仍选同一接入任务:识别旧受管脚本并展示差异,保留项目自定义策略、必测和 POM。
62
+
60
63
  首次接入反馈在 `quality-reports/setup/<sessionId>/result.html`,质量报告在 `quality-reports/quality-report.html`。只有真实首扫及 Hook 正反验证通过,才返回 `local-validated-awaiting-remote-acceptance`。GitLab/Jenkins 强制检查、独立 Review、真实到群及部署另做现场验收。
61
64
 
62
65
  接线配置、非交互任务参数与失败处理见 [接入指南](./docs/17-onboarding.md)。
@@ -86,6 +89,8 @@ npx --yes --ignore-scripts --registry https://registry.npmjs.org/ \
86
89
  | 真实 CI 证据、身份与 Review | [可信 CI 采集](./docs/18-ci-source.md) · [九维 Review](./docs/19-nine-dimension-review.md) | 旧报告、缺证据、自审与过期批准被拒绝 |
87
90
  | 飞书通知、认领、超时与复验 | [中央执行接线](./templates/platform/README.md) | 实际送达、失败重试、认领和独立关闭均留记录 |
88
91
 
92
+ 流水线按批准的工作副本清单和依赖锁准备环境,不运行任意生命周期脚本。构建前自动匹配本次 SHA 的正式 Review 并重查 CI;组合与部署再次核验签名及原件,缺失就阻断。普通警告按周期汇总,首次采集故障、持续异常和恢复也有提醒。
93
+
89
94
  项目检查作业与受控签发、部署、通知作业隔离。Hook 提供早反馈;服务端强制检查负责防绕过。
90
95
 
91
96
  ## 按需深入