Archived
数据工单只建名单上的料:拼出来的料号与在库的料号写下来都当场拒(W05 1.4.1)
用户在新一单上看到件上多出一行要人补的料号。查实:模型在数据工单里给一颗**不存在的** XL2596S-ADJ 铺了空骨架 —— 库里没有、入参里也没有,是把两个候选的名字拼出来的; 件上于是多出一行、红带点名它缺品牌。存在性核对本身判对了(ADJ found、XL absent), 错在「判对了却多写了一行」—— 事实在模型手里,能判对也能写错。 两道门,都在写入那一刻: - `parts.profile.internal_pn refersTo sub_eval.pn_check.internal_pn` —— 只许建核对表里核过的料号, 凭空拼出来的当场拒(参数/资料两张子表的 internal_pn 本就引用 profile,随之一并拦住)。 - 契约新增对象声明 `createOnly`(平台侧,~25 行):标了的表本单只建不改,键已在正式表当场拒并指路。 它守的是另一形(在库的料被当成新料重建)。只管 Agent 的写路径,人在件上的保存不受此限。 纯函数 `createOnlyViolation` 可测(复合主键按全部键列比);活动侧三张 parts 表标上;剧本补一句。 当前在跑那一单的草稿里拼出来的那行已手工撤掉。2100 测 / typecheck / lint / depcruise 绿;api-report 已刷。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FJcX8A6TWp4GRs41TYryEh
This commit is contained in:
@@ -89,7 +89,7 @@ export const manifest: ActivityManifest = {
|
||||
identity: {
|
||||
activityId: ACTIVITY_ID,
|
||||
name: 'ACT-WORK-05 · 差异评估',
|
||||
packageVersion: '1.4.0',
|
||||
packageVersion: '1.4.1',
|
||||
category: '需求分析与方案匹配',
|
||||
sdkVersion: '0.1.0-m5',
|
||||
checksum: 'dev-checksum-part-substitution-assessment',
|
||||
@@ -285,10 +285,17 @@ export const manifest: ActivityManifest = {
|
||||
{
|
||||
domain: 'parts',
|
||||
object: 'profile',
|
||||
/* 数据工单从零建主数据:本单只建库里没有的,在库的料号写下来当场拒(2026-08-27) */
|
||||
createOnly: true,
|
||||
kind: 'master',
|
||||
label: '芯片主数据(P-08)',
|
||||
fields: [
|
||||
col({ name: 'internal_pn', type: 'text', label: '内部料号', primaryKey: true }),
|
||||
/*
|
||||
* **只许建本单核过的料号**(2026-08-27 实测):模型给一颗**不存在的** XL2596S-ADJ 铺了空骨架 ——
|
||||
* 库里没有、入参里也没有,是把两个候选的名字拼出来的;件上于是多出一行要人填的记录。
|
||||
* 引用核对表:料号必须是这一单(或别单)在 pn_check 里核过的,凭空拼出来的当场拒。
|
||||
*/
|
||||
col({ name: 'internal_pn', type: 'text', label: '内部料号', primaryKey: true, refersTo: `${D}.pn_check.internal_pn` }),
|
||||
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 }),
|
||||
@@ -305,6 +312,8 @@ export const manifest: ActivityManifest = {
|
||||
{
|
||||
domain: 'parts',
|
||||
object: 'parameter',
|
||||
/* 数据工单从零建主数据:本单只建库里没有的,在库的料号写下来当场拒(2026-08-27) */
|
||||
createOnly: true,
|
||||
kind: 'master',
|
||||
label: '标准化参数集(P-08 子表)',
|
||||
fields: [
|
||||
@@ -345,6 +354,8 @@ export const manifest: ActivityManifest = {
|
||||
{
|
||||
domain: 'parts',
|
||||
object: 'document',
|
||||
/* 数据工单从零建主数据:本单只建库里没有的,在库的料号写下来当场拒(2026-08-27) */
|
||||
createOnly: true,
|
||||
kind: 'master',
|
||||
label: '原厂技术资料库(P-10)',
|
||||
fields: [
|
||||
|
||||
Reference in New Issue
Block a user