soloforge 1.1.51 → 1.1.53
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/README.md +1 -1
- package/dist/context/contracts/lifecycle_knowledge_contract.d.ts.map +1 -1
- package/dist/context/contracts/lifecycle_knowledge_contract.js +0 -10
- package/dist/context/contracts/lifecycle_knowledge_contract.js.map +1 -1
- package/dist/context/templates/standard_asset_contract.js +5 -5
- package/dist/context/templates/standard_asset_contract.js.map +1 -1
- package/dist/core/condition_evaluators.d.ts +15 -0
- package/dist/core/condition_evaluators.d.ts.map +1 -0
- package/dist/core/condition_evaluators.js +74 -0
- package/dist/core/condition_evaluators.js.map +1 -0
- package/dist/core/git_utils.d.ts +6 -0
- package/dist/core/git_utils.d.ts.map +1 -1
- package/dist/core/git_utils.js +20 -0
- package/dist/core/git_utils.js.map +1 -1
- package/dist/core/observer.d.ts.map +1 -1
- package/dist/core/observer.js +8 -7
- package/dist/core/observer.js.map +1 -1
- package/dist/core/types.d.ts +5 -2
- package/dist/core/types.d.ts.map +1 -1
- package/dist/domain/build/contract.js +2 -2
- package/dist/domain/build/contract.js.map +1 -1
- package/dist/domain/contracts/artifact_contract_registry.d.ts +3 -3
- package/dist/domain/contracts/artifact_contract_registry.d.ts.map +1 -1
- package/dist/domain/contracts/artifact_contract_registry.js +3 -33
- package/dist/domain/contracts/artifact_contract_registry.js.map +1 -1
- package/dist/domain/contracts/artifact_schema_registry.d.ts.map +1 -1
- package/dist/domain/contracts/artifact_schema_registry.js +7 -216
- package/dist/domain/contracts/artifact_schema_registry.js.map +1 -1
- package/dist/domain/contracts/design_lifecycle_contract.d.ts +4 -8
- package/dist/domain/contracts/design_lifecycle_contract.d.ts.map +1 -1
- package/dist/domain/contracts/design_lifecycle_contract.js +6 -125
- package/dist/domain/contracts/design_lifecycle_contract.js.map +1 -1
- package/dist/domain/design/contract.d.ts.map +1 -1
- package/dist/domain/design/contract.js +16 -5
- package/dist/domain/design/contract.js.map +1 -1
- package/dist/domain/input_material_contract_registry.d.ts +4 -1
- package/dist/domain/input_material_contract_registry.d.ts.map +1 -1
- package/dist/domain/input_material_contract_registry.js +4 -1
- package/dist/domain/input_material_contract_registry.js.map +1 -1
- package/dist/domain/operate/contract.js +2 -2
- package/dist/domain/operate/contract.js.map +1 -1
- package/dist/domain/verify/contract.js +3 -3
- package/dist/domain/verify/contract.js.map +1 -1
- package/dist/gate/executors/executors_prerequisite.d.ts.map +1 -1
- package/dist/gate/executors/executors_prerequisite.js +25 -19
- package/dist/gate/executors/executors_prerequisite.js.map +1 -1
- package/dist/gate/executors/executors_trace.d.ts.map +1 -1
- package/dist/gate/executors/executors_trace.js +32 -0
- package/dist/gate/executors/executors_trace.js.map +1 -1
- package/dist/gate/gate_registry_bridge.d.ts.map +1 -1
- package/dist/gate/gate_registry_bridge.js +4 -3
- package/dist/gate/gate_registry_bridge.js.map +1 -1
- package/dist/server/tools/sf_work.d.ts.map +1 -1
- package/dist/server/tools/sf_work.js +6 -5
- package/dist/server/tools/sf_work.js.map +1 -1
- package/package.json +1 -1
- package/templates/build/enforced.md +2 -1
- package/templates/build//347/274/226/347/240/201/347/272/252/345/276/213.md +12 -2
- package/templates/design/enforced.md +19 -10
- package/templates/design//345/210/207/347/211/207/350/247/204/345/210/222.md +3 -2
- package/templates/design//345/216/237/345/236/213/350/257/264/346/230/216.md +149 -0
- package/templates/design//345/274/200/345/217/221/345/210/207/347/211/207/350/256/241/345/210/222.md +6 -3
- package/templates/shared/deterministic_executors.json +26 -0
- package/templates/verify/enforced.md +9 -0
- package/templates/verify//346/265/213/350/257/225/346/212/245/345/221/212.md +53 -0
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: ka-artifact_template-原型说明
|
|
3
|
+
kind: artifact
|
|
4
|
+
title: 原型说明
|
|
5
|
+
sync_policy: copy_to_project
|
|
6
|
+
status: active
|
|
7
|
+
extra:
|
|
8
|
+
name: prototype-specification
|
|
9
|
+
scope:
|
|
10
|
+
- frontend
|
|
11
|
+
products:
|
|
12
|
+
- '*'
|
|
13
|
+
lifecycle_status: active
|
|
14
|
+
version: 2.0.0
|
|
15
|
+
last_reviewed: '2026-06-22'
|
|
16
|
+
type: artifact_template
|
|
17
|
+
domain: design
|
|
18
|
+
owner_mechanism: mc-generic-artifact
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# [页面名称] 原型说明
|
|
22
|
+
|
|
23
|
+
> **产物定位**:原型说明是「图片/源码/html → 结构化 UI 约束」的转换枢纽。把非结构化的原型(截图/mockup/figma 导出源码/静态 html)转成切片能确定性引用的 UI 约束(设计令牌/布局/组件/交互),让前端切片实现有约束源、不再凭空生成 UI。
|
|
24
|
+
> **适用范围**:仅含前端 UI 的项目(架构 §6.3 声明 FE-* 端)。纯后端/无 UI 项目不产出本文件。
|
|
25
|
+
> **核心纪律**([[工程执行总纲]] 精准修改 + [[证据驱动与反幻觉]]):所有 UI 信息(令牌/布局/组件/交互)须有原型来源证据,标注提取依据;禁止从非原型来源臆测 UI 细节。
|
|
26
|
+
> **反退化纪律**:设计令牌表/字段映射表/组件视觉状态表/响应式断点表/动效规范表 必须逐条填真实内容,禁止空表、禁止只填示例行后省略、禁止「…」/「(同上)」占位。任一必填表为空 = 未完成。
|
|
27
|
+
> **完成判定**:见文末,不满足不算交付。
|
|
28
|
+
|
|
29
|
+
## 1. 输入形态与提取纪律
|
|
30
|
+
|
|
31
|
+
原型可能是三种形态之一,按实际形态提取。**提取是 AI 视觉/分析判断、非确定性**([[确定性边界原则]]),引擎只要求"产出结构完整 + 标注来源",不硬判"提取得对不对"——准确性靠人工校对 + 下游 [[UI视觉验收纪律]] 兜底。
|
|
32
|
+
|
|
33
|
+
**提取纪律总纲:最小偏差**——既禁止臆测(过松 → UI 走样),也接受合理近似(过严 → AI 为过关造假或卡壳)。能精确读的(源码令牌值、取色工具读像素色值)必须精确;只能近似的(图片主观视觉感受)标注"近似"并人工校对。判据:有客观读数来源的取精确值,无客观来源的取人工校对近似值,二者都标注依据。
|
|
34
|
+
|
|
35
|
+
| 形态 | 输入示例 | 提取方式 | 确定性 | 提取纪律 |
|
|
36
|
+
|------|----------|----------|--------|----------|
|
|
37
|
+
| 图片 | 截图/mockup/PNG/JPG | AI 视觉理解 | 低(主观) | 须人工逐项校对令牌/布局;色值用取色工具读真实像素,禁止目测估 |
|
|
38
|
+
| 源码 | figma 导出 zip/React/Vite 原型目录 | 静态分析(读组件/样式/路由) | 中 | 优先从源码读精确值(令牌/字段/断点),不臆测 |
|
|
39
|
+
| html | 静态 html 页面 | DOM/CSS 分析 | 中 | 从 DOM 结构 + computed style 读布局/令牌/组件 |
|
|
40
|
+
|
|
41
|
+
- **提取依据**:本页每条 UI 信息标注来源形态(图片/源码/html)+ 具体位置(如「源码 src/components/Login.tsx」「图片 login.png 左上角」)
|
|
42
|
+
- **多端**:每个 FE-* 端一份本文件,路径 `docs/analyze/*/01-原型说明.md`(`*` 为端名,取自架构 §6.3 端清单)
|
|
43
|
+
|
|
44
|
+
## 2. 页面元数据
|
|
45
|
+
|
|
46
|
+
- **所属端**:(FE-* 端 ID,如 FE-client-01)
|
|
47
|
+
- **页面名称**:
|
|
48
|
+
- **页面标识**:(可选,PROTO-XX,用于开发切片计划「对应原型页面」绑定回溯;无编号可留空,不强求)
|
|
49
|
+
- **关联需求**:(REQ-* 或 PRD 节点)
|
|
50
|
+
- **页面路由路径**:
|
|
51
|
+
- **入口来源**:(导航/外链/深链)
|
|
52
|
+
- **提取依据形态**:(图片 / 源码 / html)
|
|
53
|
+
|
|
54
|
+
## 3. 设计令牌
|
|
55
|
+
|
|
56
|
+
> 从原型提取的设计令牌,切片实现须直接引用,禁止凭感觉硬编码色值/间距/字体。
|
|
57
|
+
|
|
58
|
+
### 色彩令牌表
|
|
59
|
+
|
|
60
|
+
| 令牌名 | 色值 | 用途 |
|
|
61
|
+
|--------|------|------|
|
|
62
|
+
<!-- 色彩令牌表:如 --color-primary / #1677ff / 主按钮;从原型取色工具读真实像素 -->
|
|
63
|
+
|
|
64
|
+
### 间距与圆角表
|
|
65
|
+
|
|
66
|
+
| 令牌名 | 值 | 用途 |
|
|
67
|
+
|--------|------|------|
|
|
68
|
+
<!-- 间距与圆角表:如 --spacing-md / 16px / 卡片内边距;--radius-lg / 8px / 卡片圆角 -->
|
|
69
|
+
|
|
70
|
+
### 字体令牌表
|
|
71
|
+
|
|
72
|
+
| 令牌名 | 值 | 用途 |
|
|
73
|
+
|--------|------|------|
|
|
74
|
+
<!-- 字体令牌表:如 --font-size-body / 14px / 正文;--font-weight-bold / 600 / 标题 -->
|
|
75
|
+
|
|
76
|
+
## 4. 页面布局树
|
|
77
|
+
|
|
78
|
+
### 整体布局
|
|
79
|
+
- **布局方式**:(Flex/Grid/行列)
|
|
80
|
+
- **[Header]** 顶部导航栏:
|
|
81
|
+
- **[FilterBar]** 筛选区(如有):
|
|
82
|
+
- **[ContentArea]** 主体内容区:
|
|
83
|
+
- **[Footer]** 底部操作区(如有):
|
|
84
|
+
|
|
85
|
+
### 核心组件布局
|
|
86
|
+
- 外层样式:
|
|
87
|
+
- 内部布局:
|
|
88
|
+
|
|
89
|
+
## 5. 组件数据绑定
|
|
90
|
+
|
|
91
|
+
### 字段映射表
|
|
92
|
+
|
|
93
|
+
| UI 元素 | 绑定字段 | 格式化规则 | 动态行为 |
|
|
94
|
+
|---------|---------|-----------|---------|
|
|
95
|
+
<!-- 字段映射表:如「用户名输入框 / user.name / 无 / 失焦校验」 -->
|
|
96
|
+
|
|
97
|
+
## 6. 交互流转
|
|
98
|
+
|
|
99
|
+
> 核心交互的事件状态机(用文字或 ```text 块描述)。
|
|
100
|
+
|
|
101
|
+
```text
|
|
102
|
+
[初始状态] → 触发 → [前置校验]
|
|
103
|
+
├─ 条件A → 动作A → [状态X]
|
|
104
|
+
└─ 条件B → 动作B → [状态Y]
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## 7. 组件视觉状态
|
|
108
|
+
|
|
109
|
+
### 组件视觉状态表
|
|
110
|
+
|
|
111
|
+
| 组件 | 状态 | 视觉变化 |
|
|
112
|
+
|------|------|---------|
|
|
113
|
+
<!-- 组件视觉状态表:各组件的默认/Hover/Active/Disabled/Loading 等状态及视觉变化 -->
|
|
114
|
+
|
|
115
|
+
## 8. 响应式断点
|
|
116
|
+
|
|
117
|
+
### 响应式断点表
|
|
118
|
+
|
|
119
|
+
| 断点 | 宽度范围 | 布局变化 |
|
|
120
|
+
|------|---------|---------|
|
|
121
|
+
<!-- 响应式断点表:至少覆盖 Desktop 和 Mobile 两个断点的布局变化 -->
|
|
122
|
+
|
|
123
|
+
## 9. 动效规范
|
|
124
|
+
|
|
125
|
+
### 动效规范表
|
|
126
|
+
|
|
127
|
+
| 交互 | 动效 | 时长 | 缓动函数 |
|
|
128
|
+
|------|------|------|---------|
|
|
129
|
+
<!-- 动效规范表:页面中所有动效的触发交互、动效类型、持续时间和缓动函数 -->
|
|
130
|
+
|
|
131
|
+
## 10. 边界与异常分支
|
|
132
|
+
|
|
133
|
+
> 至少覆盖加载态 + 1 类异常(空/错/权限),表格不得为空。
|
|
134
|
+
|
|
135
|
+
| 场景名 | 触发条件 | UI 表现 | 交互行为 |
|
|
136
|
+
|--------|---------|---------|---------|
|
|
137
|
+
| 首次加载 | 页面初始化 | 骨架屏/Loading | < 3s 显示骨架屏 |
|
|
138
|
+
| 空数据 | 数据源返回空 | 插图+引导文案 | 引导创建 |
|
|
139
|
+
| 网络异常 | 请求超时/5xx | Toast+重试按钮 | 允许重试 |
|
|
140
|
+
|
|
141
|
+
## 完成判定
|
|
142
|
+
|
|
143
|
+
- [ ] 标注本页原型的输入形态(图片/源码/html),每条 UI 信息有提取依据
|
|
144
|
+
- [ ] 设计令牌表(色彩/间距圆角/字体)逐条填真实值,从原型读取非臆测
|
|
145
|
+
- [ ] 字段映射表、组件视觉状态表、响应式断点表、动效规范表 均非空
|
|
146
|
+
- [ ] 页面布局树描述完整(Header/Content/Footer 等区)
|
|
147
|
+
- [ ] 至少 1 个核心交互的事件状态机
|
|
148
|
+
- [ ] 边界与异常分支表非空(加载态 + 至少 1 类异常)
|
|
149
|
+
- [ ] 文件按端放 `docs/analyze/*/01-原型说明.md`(`*` 为端名)
|
package/templates/design//345/274/200/345/217/221/345/210/207/347/211/207/350/256/241/345/210/222.md
CHANGED
|
@@ -11,8 +11,8 @@ extra:
|
|
|
11
11
|
products:
|
|
12
12
|
- '*'
|
|
13
13
|
lifecycle_status: active
|
|
14
|
-
version: 1.
|
|
15
|
-
last_reviewed: '2026-06-
|
|
14
|
+
version: 1.1.0
|
|
15
|
+
last_reviewed: '2026-06-22'
|
|
16
16
|
type: artifact_template
|
|
17
17
|
domain: design
|
|
18
18
|
owner_mechanism: mc-generic-artifact
|
|
@@ -22,7 +22,7 @@ extra:
|
|
|
22
22
|
|
|
23
23
|
> **产物定位**:design 域最后产出(架构设计完成后),把项目拆成可独立开发、独立验证的切片。
|
|
24
24
|
> **核心纪律**:每个切片须引用架构 ARCH-* / DD-* / FE-*(承接设计),声明 AC-* 验收标准(可独立验证)。
|
|
25
|
-
> **反退化纪律**:每个 `SLC-*` 必须完整重复其字段表格(目标/涉及 ARCH-*/涉及 DD-*/涉及 FE
|
|
25
|
+
> **反退化纪律**:每个 `SLC-*` 必须完整重复其字段表格(目标/涉及 ARCH-*/涉及 DD-*/涉及 FE-*/对应原型页面/变更文件/上游依赖/主链路入口/AC-* 验收标准/预估),禁止退化——
|
|
26
26
|
> - 禁止「前详后废」(前几个切片完整、后面的退化成一行文字或省略字段)
|
|
27
27
|
> - 禁止「(同上格式)」「见上文」「…」等偷懒占位(模板自身曾以此示范,已纠正)
|
|
28
28
|
> - 字段表格不得用一行文字代替
|
|
@@ -46,6 +46,7 @@ extra:
|
|
|
46
46
|
| 涉及 ARCH-* | 引用的架构模块 ID(如 ARCH-01/ARCH-03) |
|
|
47
47
|
| 涉及 DD-* | 引用的设计产物 ID(如 DD-A01/DD-T02) |
|
|
48
48
|
| 涉及 FE-* | 引用的前端端 ID(如 FE-client-01),纯后端切片填"无" |
|
|
49
|
+
| 对应原型页面 | 前端切片填原型说明里的页面锚点(如 client 端登录页,让 UI 实现有约束源);纯后端切片填"无" |
|
|
49
50
|
| 变更文件 | 本切片涉及的文件清单(预估) |
|
|
50
51
|
| 上游依赖 | 前置切片(如无填"无") |
|
|
51
52
|
| 主链路入口 | 本切片验证的入口(如 POST /api/v1/users) |
|
|
@@ -60,6 +61,7 @@ extra:
|
|
|
60
61
|
| 涉及 ARCH-* | 引用的架构模块 ID |
|
|
61
62
|
| 涉及 DD-* | 引用的设计产物 ID |
|
|
62
63
|
| 涉及 FE-* | 引用的前端端 ID(如 FE-admin-01),纯后端切片填"无" |
|
|
64
|
+
| 对应原型页面 | 前端切片填原型说明里的页面锚点(如 admin 端工作台,让 UI 实现有约束源);纯后端切片填"无" |
|
|
63
65
|
| 变更文件 | 本切片涉及的文件清单 |
|
|
64
66
|
| 上游依赖 | 前置切片(如无填"无") |
|
|
65
67
|
| 主链路入口 | 本切片验证的入口 |
|
|
@@ -74,3 +76,4 @@ extra:
|
|
|
74
76
|
- [ ] 所有前端端模块(FE-*)被至少 1 个骨架 SLC 覆盖(XVAL-SLC 校验 ARCH-*/FE-*;前端骨架切片含路由/状态/API service 壳)
|
|
75
77
|
- [ ] 切片粒度可独立 docker 部署 + 浏览器验证(slice-gate 可执行)
|
|
76
78
|
- [ ] 每个 SLC 字段表格完整(无偷懒占位、无一字段降级为文字)
|
|
79
|
+
- [ ] 涉及 FE-* 的切片「对应原型页面」字段填真实原型说明锚点(不得空/省略),纯后端切片填"无"
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
[
|
|
2
|
+
"regex_pattern_scan",
|
|
3
|
+
"document_structure",
|
|
4
|
+
"cross_validation",
|
|
5
|
+
"applicability_check",
|
|
6
|
+
"slice_deliberation_gate",
|
|
7
|
+
"requirement_deliberation_gate",
|
|
8
|
+
"multi_engine_structure_check",
|
|
9
|
+
"external_command",
|
|
10
|
+
"file_evidence",
|
|
11
|
+
"tsc_compile",
|
|
12
|
+
"vitest_run",
|
|
13
|
+
"upstream_gate_check",
|
|
14
|
+
"lazy_pattern_check",
|
|
15
|
+
"probe",
|
|
16
|
+
"report_structure",
|
|
17
|
+
"field_mapping_validation",
|
|
18
|
+
"docker_deployment",
|
|
19
|
+
"local_http_acceptance",
|
|
20
|
+
"coverage_threshold",
|
|
21
|
+
"ast_annotation_check",
|
|
22
|
+
"slice_verifiability_check",
|
|
23
|
+
"acceptance_coverage",
|
|
24
|
+
"jacoco_threshold",
|
|
25
|
+
"prototype_existence_check"
|
|
26
|
+
]
|
|
@@ -117,6 +117,15 @@ checks:
|
|
|
117
117
|
evidence_required: ["docs/audits/02-代码审查报告.md"]
|
|
118
118
|
gate: verify-gate
|
|
119
119
|
target: "self"
|
|
120
|
+
- id: TESTREPORT-STRUCT
|
|
121
|
+
executor: document_structure
|
|
122
|
+
rule: "测试报告须含「测试范围」「测试执行结果」「失败项追踪」「验收结论」章节"
|
|
123
|
+
severity: error
|
|
124
|
+
check_type: deterministic
|
|
125
|
+
required_artifact: 测试报告模版
|
|
126
|
+
evidence_required: ["docs/audits/03-测试报告.md"]
|
|
127
|
+
gate: verify-gate
|
|
128
|
+
target: "self"
|
|
120
129
|
- id: VRF-G03
|
|
121
130
|
executor: vitest_run
|
|
122
131
|
rule: "端到端核心业务流程验证必须全部通过,证据级别至少 E1(运行时证据)"
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: ka-artifact_template-测试报告
|
|
3
|
+
kind: artifact
|
|
4
|
+
title: 测试报告
|
|
5
|
+
sync_policy: copy_to_project
|
|
6
|
+
status: active
|
|
7
|
+
extra:
|
|
8
|
+
name: test-report
|
|
9
|
+
scope:
|
|
10
|
+
- '*'
|
|
11
|
+
products:
|
|
12
|
+
- '*'
|
|
13
|
+
lifecycle_status: active
|
|
14
|
+
version: 1.0.0
|
|
15
|
+
last_reviewed: '2026-06-22'
|
|
16
|
+
type: artifact_template
|
|
17
|
+
domain: verify
|
|
18
|
+
owner_mechanism: mc-generic-artifact
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# 测试报告
|
|
22
|
+
|
|
23
|
+
> **产物定位**:verify 域产出。记录测试执行结果(单元/集成/e2e + 覆盖率),证明实现满足验收标准。
|
|
24
|
+
> **核心纪律**:测试结果须真实执行(不把验证计划当结果),覆盖率达标,失败项追踪闭环。
|
|
25
|
+
> **完成判定**:见文末。
|
|
26
|
+
|
|
27
|
+
## 1. 测试范围
|
|
28
|
+
|
|
29
|
+
- 测试类型:单元 / 集成 / e2e
|
|
30
|
+
- 覆盖产物:列出本次测试覆盖的切片/模块
|
|
31
|
+
|
|
32
|
+
## 2. 测试执行结果
|
|
33
|
+
|
|
34
|
+
| 测试类型 | 总数 | 通过 | 失败 | 跳过 | 覆盖率 |
|
|
35
|
+
|----------|------|------|------|------|--------|
|
|
36
|
+
|
|
37
|
+
## 3. 失败项追踪
|
|
38
|
+
|
|
39
|
+
| 失败项 | 原因 | 修复状态 | 复验结果 |
|
|
40
|
+
|--------|------|---------|---------|
|
|
41
|
+
|
|
42
|
+
## 4. 验收结论
|
|
43
|
+
|
|
44
|
+
- 测试结论:通过 / 差异 / 未覆盖
|
|
45
|
+
- 覆盖率达标:是 / 否
|
|
46
|
+
- 遗留风险:
|
|
47
|
+
|
|
48
|
+
## 完成判定
|
|
49
|
+
|
|
50
|
+
- [ ] 测试执行结果表填真实数据(非"已测"二字)
|
|
51
|
+
- [ ] 失败项全闭环(修复+复验 或 标注风险)
|
|
52
|
+
- [ ] 覆盖率达标
|
|
53
|
+
- [ ] 验收结论明确(通过/差异/未覆盖)
|