Archived
ACT-WORK-05:标准化参数集改子表 parts.parameter,与目标件页面结构对齐
用户核对实跑页面后指出:P-08 数据工单做出来的页面结构必须与目标件 《数据工单-01-芯片主数据创建》一致——目标件本就是两张表(表 1 主记录 / 表 2 标准化参数子表),而实现把参数集塞成了表 1 的一个文本列,违反 《SS02-SS03-SS04_Demo台账字段细化与统一方案》§六「重复明细用子表承载, 不在单一文本字段堆叠」。 五处联动改齐: - 平台基线新增 parts.parameter 主数据表(内部料号+参数名复合主键), 两颗样例料的参数集从 normalized_parameter_set 文本列拆成 7 行子表数据 (数值原样搬,一个字未改);parts.profile 物理列保留、不再赋值。 - 活动清单:parts.profile 撤掉该字段声明,新增 parts.parameter 声明 (internal_pn 引用墙、param_value/constraint_type 必填);版本号 1.1.1 → 1.2.0。 - 案例模型:S0d_p08_master/S1_input_confirm/S2_normalize 的读写面与 guide 全部改指向新子表;顺带修正候选计数措辞歧义(实测样例0一张该发 的决策卡被跳过——"候选absent且候选数≥2"被模型读成"不在库的候选≥2颗", 改成先分别数"候选总数"与"不在库的候选数"两个数、显式说清楚判据认哪个)。 - caseFileModel 补 parts_parameter_missing 读数,两条哨兵(s_p08_created / s_pns_resolved)一并要求这一列不缺必填。 - 报告模版补齐表 2(逐块搬自目标件),主键列挂 data-col,约束类型走 data-class-of 徽标。 - e2e 套件加性支持"一张卡填两张表"(stage.extraTables),buildEdits 的 rowKey 泛化支持复合主键数组形态(不破坏既有八套件)。 验证:vitest 413 passed(活动包+平台种子测试全绿)、typecheck/lint/ depcruise 三绿、activities:install 零静态审发现、SQL 核对 parts.parameter 主键与行数(两颗料各7行)。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FJcX8A6TWp4GRs41TYryEh
This commit is contained in:
@@ -5,12 +5,17 @@
|
||||
* 《SS02-SS03-SS04_Demo台账字段细化与统一方案》/ 四份目标件 / 全流程分支图)。
|
||||
* 骨架照 E04 / I01 已验证的样子:双级入参 → 活动自持单据 + 共享主数据 → decide 循环做中间审核 →
|
||||
* 终局放行。三处与前两个活动刻意不同,写在这里免得下一个读者当成疏漏:
|
||||
* ① **主数据是六张(P-08/P-10/P-01/P-11 主+子/P-06)**,物理表由平台基线
|
||||
* ① **主数据是七张(P-08 主 + P-08 参数子表 / P-10 / P-01 / P-11 主+子 / P-06)**,物理表由平台基线
|
||||
* (`apps/api/src/app/seed-mvp-data.ts`)物化,这里只**追加**本活动要用的列与标记
|
||||
* (required / tally / refersTo / requiredWhen 是活动的授权面;声明合并是纯 add-column)。
|
||||
* **P-08 的标准化参数集是独立子表 `parts.parameter`**(2026-08-27 结构改:用户核对实跑
|
||||
* 页面后指出必须与目标件结构一致——目标件《数据工单-01》本就是两张表,塞进一个文本列
|
||||
* 违反《统一方案》§六「重复明细用子表承载,不在单一文本字段堆叠」)。
|
||||
* ② **数据工单**(PN 不在库时让人从零建整条主数据)= 零输入执行工单 + 工作区的件
|
||||
* (`mine:parts.profile` / `mine:parts.document` 可加行),确认落草稿层、放行并入正式表
|
||||
* (守铁律②;文档里「确认即入库」在本平台落成「无审核环节、放行并入」)。一张表一张单。
|
||||
* (`mine:parts.profile` / `mine:parts.parameter` / `mine:parts.document` 可加行),
|
||||
* 确认落草稿层、放行并入正式表(守铁律②;文档里「确认即入库」在本平台落成「无审核环节、
|
||||
* 放行并入」)。一张台账表一张单(P-08 主记录 + 参数子表算同一张数据工单 —— 目标件是
|
||||
* 同一份工单卡里的两张表)。
|
||||
* ③ 逐项四态与推荐等级**由两枚纯工具算**(规则同时以 D01/D02 两张 DMN 随包冻结当文档),
|
||||
* 模型只负责对照表、证据与影响说明 —— 硬约束 MISMATCH 不可能被措辞改判。
|
||||
*/
|
||||
@@ -84,7 +89,7 @@ export const manifest: ActivityManifest = {
|
||||
identity: {
|
||||
activityId: ACTIVITY_ID,
|
||||
name: 'ACT-WORK-05 · 差异评估',
|
||||
packageVersion: '1.1.1',
|
||||
packageVersion: '1.2.0',
|
||||
category: '需求分析与方案匹配',
|
||||
sdkVersion: '0.1.0-m5',
|
||||
checksum: 'dev-checksum-part-substitution-assessment',
|
||||
@@ -274,7 +279,9 @@ export const manifest: ActivityManifest = {
|
||||
col({ name: 'region', type: 'text', label: '区域', expect: true }),
|
||||
],
|
||||
},
|
||||
/* P-08 芯片主数据:数据工单建整条;参数集是它的一个字段(一张表,不建子表) */
|
||||
/* P-08 芯片主数据:数据工单建整条;标准化参数集已改子表 parts.parameter(2026-08-27,
|
||||
用户看了实跑页面指出「必须与目标件结构一致」——目标件本就是两张表,一张主记录一张
|
||||
参数子表,塞进一个文本列违反《统一方案》§六「重复明细用子表承载」) */
|
||||
{
|
||||
domain: 'parts',
|
||||
object: 'profile',
|
||||
@@ -285,7 +292,6 @@ export const manifest: ActivityManifest = {
|
||||
col({ name: 'brand_name', type: 'text', label: '品牌名称', required: true }),
|
||||
col({ name: 'manufacturer_name', type: 'text', label: '制造商名称', expect: true }),
|
||||
col({ name: 'specification_description', type: 'text', label: '规格描述', required: true }),
|
||||
col({ name: 'normalized_parameter_set', type: 'text', label: '标准化参数集(一行一参数:参数名 | 值 | 单位 | hard/soft | 说明)', required: true }),
|
||||
col({ name: 'package', type: 'text', label: '封装', required: true }),
|
||||
col({ name: 'process_technology', type: 'text', label: '工艺', expect: true }),
|
||||
col({ name: 'lifecycle_status', type: 'text', label: '生命周期状态', required: true, tally: ['active', 'nrnd', 'eol', 'discontinued', 'risk'] }),
|
||||
@@ -295,6 +301,21 @@ export const manifest: ActivityManifest = {
|
||||
col({ name: 'application_scenarios', type: 'text', label: '适配应用场景', expect: true }),
|
||||
],
|
||||
},
|
||||
/* P-08 子表:标准化参数集,一行一参数,internal_pn 是引用墙(查无那颗主记录当场拒) */
|
||||
{
|
||||
domain: 'parts',
|
||||
object: 'parameter',
|
||||
kind: 'master',
|
||||
label: '标准化参数集(P-08 子表)',
|
||||
fields: [
|
||||
col({ name: 'internal_pn', type: 'text', label: '所属料号', primaryKey: true, refersTo: 'parts.profile.internal_pn' }),
|
||||
col({ name: 'param_name', type: 'text', label: '参数名', primaryKey: true }),
|
||||
col({ name: 'param_value', type: 'text', label: '值', required: true }),
|
||||
col({ name: 'param_unit', type: 'text', label: '单位', expect: true }),
|
||||
col({ name: 'constraint_type', type: 'text', label: '约束类型', required: true, tally: ['hard', 'soft'] }),
|
||||
col({ name: 'param_note', type: 'text', label: '说明', expect: true }),
|
||||
],
|
||||
},
|
||||
/* P-10 原厂技术资料库:数据工单建;评估时只读做证据回链 */
|
||||
{
|
||||
domain: 'parts',
|
||||
|
||||
Reference in New Issue
Block a user