From 134ebefe894372a4aa34bdef67dc3aca37280b27 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 25 Oct 2026 13:39:59 +0000 Subject: [PATCH] fix(objects): remove clm_signature.notes, which only the demo seed fills Ruling C on #38 (batch 5): a signature round's notes were written by the demo seed alone, no flow or action produces them, and the record page's Discussion panel (sys_comment) already carries what a person would type. Drop the field, its seed value, the four SIGNATURE_NOTES strings per demo locale with their DemoStrings slot, the plan's noteIndex that only fed them, and the field's en and zh-CN bundle keys. clm_contract_version.notes stays: three of the product's flows write it. Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_017nzWFRUo2U7evMkPdVniAn --- src/data/demo-en/index.ts | 2 -- src/data/demo-en/prose.ts | 7 ------- src/data/demo-zh/index.ts | 2 -- src/data/demo-zh/prose.ts | 7 ------- src/data/negotiation.seed.ts | 1 - src/data/plan-children.ts | 3 --- src/data/strings.ts | 2 -- src/objects/signature.object.ts | 4 ---- src/translations/en/objects.lifecycle.ts | 3 --- src/translations/zh-CN/objects.lifecycle.ts | 3 --- 10 files changed, 34 deletions(-) diff --git a/src/data/demo-en/index.ts b/src/data/demo-en/index.ts index 3cace34..c28f1b0 100644 --- a/src/data/demo-en/index.ts +++ b/src/data/demo-en/index.ts @@ -12,7 +12,6 @@ import { REVIEW_COMMENTS, REVIEW_INTERNAL_NOTES, RISK_NOTES, - SIGNATURE_NOTES, SIGNING_ENTITIES, TERMINATION_REASONS, TITLE_QUALIFIERS, @@ -41,7 +40,6 @@ export const EN: DemoStrings = { reviewInternalNotes: REVIEW_INTERNAL_NOTES, deviationTexts: DEVIATION_TEXTS, deviationJustifications: DEVIATION_JUSTIFICATIONS, - signatureNotes: SIGNATURE_NOTES, terminationReasons: TERMINATION_REASONS, jurisdictions: JURISDICTIONS, }; diff --git a/src/data/demo-en/prose.ts b/src/data/demo-en/prose.ts index 609b57e..498a663 100644 --- a/src/data/demo-en/prose.ts +++ b/src/data/demo-en/prose.ts @@ -128,13 +128,6 @@ export const DEVIATION_JUSTIFICATIONS: readonly string[] & { length: 6 } = [ 'Requested by the business without a supporting rationale; legal recommends refusal.', ] as const; -export const SIGNATURE_NOTES: readonly string[] & { length: 4 } = [ - 'Envelope sent to both signatories; awaiting the counterparty’s signature.', - 'Signed electronically by both parties. Countersigned copy filed.', - 'Wet-ink round: originals exchanged by courier and the company seal applied.', - 'Notarisation booked; the witnessed copy is still outstanding.', -] as const; - /** * Why the four terminated contracts were ended early — the answer legal and * audit ask for first, which is why `termination_reason` is required to diff --git a/src/data/demo-zh/index.ts b/src/data/demo-zh/index.ts index 2f44386..fb0dd0f 100644 --- a/src/data/demo-zh/index.ts +++ b/src/data/demo-zh/index.ts @@ -12,7 +12,6 @@ import { REVIEW_COMMENTS, REVIEW_INTERNAL_NOTES, RISK_NOTES, - SIGNATURE_NOTES, SIGNING_ENTITIES, TERMINATION_REASONS, TITLE_QUALIFIERS, @@ -40,7 +39,6 @@ export const ZH_CN: DemoStrings = { reviewInternalNotes: REVIEW_INTERNAL_NOTES, deviationTexts: DEVIATION_TEXTS, deviationJustifications: DEVIATION_JUSTIFICATIONS, - signatureNotes: SIGNATURE_NOTES, terminationReasons: TERMINATION_REASONS, jurisdictions: JURISDICTIONS, }; diff --git a/src/data/demo-zh/prose.ts b/src/data/demo-zh/prose.ts index a1cb243..4919471 100644 --- a/src/data/demo-zh/prose.ts +++ b/src/data/demo-zh/prose.ts @@ -122,13 +122,6 @@ export const DEVIATION_JUSTIFICATIONS: readonly string[] & { length: 6 } = [ '业务方提出但未给出理由,法务建议拒绝。', ] as const; -export const SIGNATURE_NOTES: readonly string[] & { length: 4 } = [ - '信封已发给双方签署人,等待相对方签署。', - '双方均已电子签署,回签副本已归档。', - '湿签流程:原件已快递互换,公司印章已加盖。', - '公证已预约,见证副本仍未取得。', -] as const; - /** 与 `../plan.ts` 中三个适用法律一一对应的法院或仲裁地。 */ export const TERMINATION_REASONS: readonly string[] & { length: 4 } = [ '对方严重违约:连续三个交付节点逾期,书面催告后仍未补正。', diff --git a/src/data/negotiation.seed.ts b/src/data/negotiation.seed.ts index cb6438d..bf2b930 100644 --- a/src/data/negotiation.seed.ts +++ b/src/data/negotiation.seed.ts @@ -138,7 +138,6 @@ export const signatureSeed = defineSeed(Signature, { status: signature.status, formalities_done: [...signature.formalitiesDone], completed_at: signedAt, - notes: STRINGS.signatureNotes[signature.noteIndex]!, }; }), }); diff --git a/src/data/plan-children.ts b/src/data/plan-children.ts index f21cbda..091e81d 100644 --- a/src/data/plan-children.ts +++ b/src/data/plan-children.ts @@ -125,7 +125,6 @@ export interface SignaturePlan { /** A subset of the type's `execution_formalities`; a completed round covers them all. */ readonly formalitiesDone: readonly string[]; readonly completedAt: number | null; - readonly noteIndex: number; readonly signerCount: 2 | 3; } @@ -166,7 +165,6 @@ const planSignatures = (): SignaturePlan[] => { // formality the "待执行" list exists to surface. formalitiesDone: incomplete ? formalities.slice(0, -1) : [], completedAt: null, - noteIndex: incomplete ? 3 : 0, signerCount: 2, }; }); @@ -179,7 +177,6 @@ const planSignatures = (): SignaturePlan[] => { status: 'completed', formalitiesDone: typeOf(contract).executionFormalities, completedAt: contract.timeline.signedAt, - noteIndex: typeOf(contract).signMethod === 'wet_ink' ? 2 : 1, signerCount: random() < 0.3 ? 3 : 2, }); } diff --git a/src/data/strings.ts b/src/data/strings.ts index cb60783..b9c2b41 100644 --- a/src/data/strings.ts +++ b/src/data/strings.ts @@ -90,8 +90,6 @@ export interface DemoStrings { readonly deviationTexts: Strings<8>; /** Why the requester is asking for it. */ readonly deviationJustifications: Strings<6>; - /** Notes on a signature round. */ - readonly signatureNotes: Strings<4>; /** * Why each of the four `terminated` contracts was ended early. * diff --git a/src/objects/signature.object.ts b/src/objects/signature.object.ts index b0520bf..ca9cd65 100644 --- a/src/objects/signature.object.ts +++ b/src/objects/signature.object.ts @@ -130,10 +130,6 @@ export const Signature = ObjectSchema.create({ group: 'execution', description: 'Stamped when the round completes, unless set explicitly (a wet-ink round records the actual signing date).', }), - notes: Field.textarea({ - label: 'Notes', - group: 'execution', - }), }, enable: { diff --git a/src/translations/en/objects.lifecycle.ts b/src/translations/en/objects.lifecycle.ts index a17484f..c9dff76 100644 --- a/src/translations/en/objects.lifecycle.ts +++ b/src/translations/en/objects.lifecycle.ts @@ -201,9 +201,6 @@ export const lifecycle: Record = { label: 'Completed At', help: 'Stamped when the round completes, unless set explicitly (a wet-ink round records the actual signing date).', }, - notes: { - label: 'Notes', - }, }, _sections: { round: { diff --git a/src/translations/zh-CN/objects.lifecycle.ts b/src/translations/zh-CN/objects.lifecycle.ts index e81af30..44307fe 100644 --- a/src/translations/zh-CN/objects.lifecycle.ts +++ b/src/translations/zh-CN/objects.lifecycle.ts @@ -201,9 +201,6 @@ export const lifecycle: Record = { label: '完成时间', help: '本轮完成时自动写入,除非显式指定;湿签需要登记实际签署日期。', }, - notes: { - label: '备注', - }, }, _sections: { round: {