@akagilnc/pi-workflow-roles 0.1.6035 → 0.1.6039
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/dist/acp-host/production-host.js +7 -1
- package/dist/headless-host/production-host.js +7 -1
- package/dist/migrate-book-topology.js +7 -1
- package/dist/public-cli/main.js +7 -1
- package/dist/review-submission.js +8 -2
- package/package.json +1 -1
- package/souls/notary.md +2 -1
- package/src/review-submission.ts +9 -2
|
@@ -1728,8 +1728,14 @@ var init_review_submission = __esm({
|
|
|
1728
1728
|
ownerUuid: Type5.Union([Type5.String(), Type5.Null()], {
|
|
1729
1729
|
description: "\u63A8\u51FA\u8BE5\u6761\u7684\u965B\u4E0B\u539F\u8BDD uuid\uFF1B\u65E0\u539F\u8BDD\u5219 null"
|
|
1730
1730
|
}),
|
|
1731
|
+
answered: Type5.Union([Type5.String(), Type5.Null()], {
|
|
1732
|
+
description: "\u90A3\u53E5\u539F\u8BDD\u6240\u7B54\u7684 runner \u53E5\u539F\u6587\uFF08\u95EE\u53E5\u3001\u9009\u9879\u3001\u8868\u683C\u884C\uFF0C\u7167\u6284\uFF09\uFF1B\u965B\u4E0B\u72EC\u7ACB\u63D0\u51FA\u3001\u4E0D\u662F\u5728\u7B54\u8C01\u7684\uFF0C\u586B null"
|
|
1733
|
+
}),
|
|
1734
|
+
askedObject: Type5.Union([Type5.String(), Type5.Null()], {
|
|
1735
|
+
description: "\u6240\u7B54\u90A3\u53E5\u95EE\u7684\u662F\u54EA\u4EF6\u4E8B\uFF08\u5B83\u7684\u5BF9\u8C61\uFF09\uFF1Banswered \u4E3A null \u65F6\u540C\u4E3A null"
|
|
1736
|
+
}),
|
|
1731
1737
|
derivation: Type5.String({
|
|
1732
|
-
description: "\u4E00\u53E5\u63A8\u5BFC\uFF1A\u4ECE\u539F\u8BDD\u54EA\u4E2A\u610F\u601D\u5230\u8BE5\u6761\u6B3E\
|
|
1738
|
+
description: "\u4E00\u53E5\u63A8\u5BFC\uFF1A\u4ECE\u539F\u8BDD\u54EA\u4E2A\u610F\u601D\u5230\u8BE5\u6761\u6B3E\u3002answered \u4E0D\u4E3A null \u65F6\uFF0C\u6761\u6B3E\u7684\u5BF9\u8C61\u987B\u5728 askedObject \u4E4B\u5185\uFF0C\u6216\u53E6\u6709\u539F\u8BDD\u70B9\u540D\u66F4\u5927\u7684\u5BF9\u8C61\uFF0CownerUuid \u624D\u7AD9\u5F97\u4F4F\uFF0C\u5426\u5219\u586B null\uFF1B\u965B\u4E0B\u72EC\u7ACB\u63D0\u51FA\u7684\u539F\u8BDD\u76F4\u63A5\u6309\u5B83\u7684\u610F\u601D\u63A8"
|
|
1733
1739
|
})
|
|
1734
1740
|
},
|
|
1735
1741
|
{ additionalProperties: true }
|
|
@@ -527,8 +527,14 @@ var init_review_submission = __esm({
|
|
|
527
527
|
ownerUuid: Type2.Union([Type2.String(), Type2.Null()], {
|
|
528
528
|
description: "\u63A8\u51FA\u8BE5\u6761\u7684\u965B\u4E0B\u539F\u8BDD uuid\uFF1B\u65E0\u539F\u8BDD\u5219 null"
|
|
529
529
|
}),
|
|
530
|
+
answered: Type2.Union([Type2.String(), Type2.Null()], {
|
|
531
|
+
description: "\u90A3\u53E5\u539F\u8BDD\u6240\u7B54\u7684 runner \u53E5\u539F\u6587\uFF08\u95EE\u53E5\u3001\u9009\u9879\u3001\u8868\u683C\u884C\uFF0C\u7167\u6284\uFF09\uFF1B\u965B\u4E0B\u72EC\u7ACB\u63D0\u51FA\u3001\u4E0D\u662F\u5728\u7B54\u8C01\u7684\uFF0C\u586B null"
|
|
532
|
+
}),
|
|
533
|
+
askedObject: Type2.Union([Type2.String(), Type2.Null()], {
|
|
534
|
+
description: "\u6240\u7B54\u90A3\u53E5\u95EE\u7684\u662F\u54EA\u4EF6\u4E8B\uFF08\u5B83\u7684\u5BF9\u8C61\uFF09\uFF1Banswered \u4E3A null \u65F6\u540C\u4E3A null"
|
|
535
|
+
}),
|
|
530
536
|
derivation: Type2.String({
|
|
531
|
-
description: "\u4E00\u53E5\u63A8\u5BFC\uFF1A\u4ECE\u539F\u8BDD\u54EA\u4E2A\u610F\u601D\u5230\u8BE5\u6761\u6B3E\
|
|
537
|
+
description: "\u4E00\u53E5\u63A8\u5BFC\uFF1A\u4ECE\u539F\u8BDD\u54EA\u4E2A\u610F\u601D\u5230\u8BE5\u6761\u6B3E\u3002answered \u4E0D\u4E3A null \u65F6\uFF0C\u6761\u6B3E\u7684\u5BF9\u8C61\u987B\u5728 askedObject \u4E4B\u5185\uFF0C\u6216\u53E6\u6709\u539F\u8BDD\u70B9\u540D\u66F4\u5927\u7684\u5BF9\u8C61\uFF0CownerUuid \u624D\u7AD9\u5F97\u4F4F\uFF0C\u5426\u5219\u586B null\uFF1B\u965B\u4E0B\u72EC\u7ACB\u63D0\u51FA\u7684\u539F\u8BDD\u76F4\u63A5\u6309\u5B83\u7684\u610F\u601D\u63A8"
|
|
532
538
|
})
|
|
533
539
|
},
|
|
534
540
|
{ additionalProperties: true }
|
|
@@ -8754,8 +8754,14 @@ var init_review_submission = __esm({
|
|
|
8754
8754
|
ownerUuid: typebox_exports.Union([typebox_exports.String(), typebox_exports.Null()], {
|
|
8755
8755
|
description: "\u63A8\u51FA\u8BE5\u6761\u7684\u965B\u4E0B\u539F\u8BDD uuid\uFF1B\u65E0\u539F\u8BDD\u5219 null"
|
|
8756
8756
|
}),
|
|
8757
|
+
answered: typebox_exports.Union([typebox_exports.String(), typebox_exports.Null()], {
|
|
8758
|
+
description: "\u90A3\u53E5\u539F\u8BDD\u6240\u7B54\u7684 runner \u53E5\u539F\u6587\uFF08\u95EE\u53E5\u3001\u9009\u9879\u3001\u8868\u683C\u884C\uFF0C\u7167\u6284\uFF09\uFF1B\u965B\u4E0B\u72EC\u7ACB\u63D0\u51FA\u3001\u4E0D\u662F\u5728\u7B54\u8C01\u7684\uFF0C\u586B null"
|
|
8759
|
+
}),
|
|
8760
|
+
askedObject: typebox_exports.Union([typebox_exports.String(), typebox_exports.Null()], {
|
|
8761
|
+
description: "\u6240\u7B54\u90A3\u53E5\u95EE\u7684\u662F\u54EA\u4EF6\u4E8B\uFF08\u5B83\u7684\u5BF9\u8C61\uFF09\uFF1Banswered \u4E3A null \u65F6\u540C\u4E3A null"
|
|
8762
|
+
}),
|
|
8757
8763
|
derivation: typebox_exports.String({
|
|
8758
|
-
description: "\u4E00\u53E5\u63A8\u5BFC\uFF1A\u4ECE\u539F\u8BDD\u54EA\u4E2A\u610F\u601D\u5230\u8BE5\u6761\u6B3E\
|
|
8764
|
+
description: "\u4E00\u53E5\u63A8\u5BFC\uFF1A\u4ECE\u539F\u8BDD\u54EA\u4E2A\u610F\u601D\u5230\u8BE5\u6761\u6B3E\u3002answered \u4E0D\u4E3A null \u65F6\uFF0C\u6761\u6B3E\u7684\u5BF9\u8C61\u987B\u5728 askedObject \u4E4B\u5185\uFF0C\u6216\u53E6\u6709\u539F\u8BDD\u70B9\u540D\u66F4\u5927\u7684\u5BF9\u8C61\uFF0CownerUuid \u624D\u7AD9\u5F97\u4F4F\uFF0C\u5426\u5219\u586B null\uFF1B\u965B\u4E0B\u72EC\u7ACB\u63D0\u51FA\u7684\u539F\u8BDD\u76F4\u63A5\u6309\u5B83\u7684\u610F\u601D\u63A8"
|
|
8759
8765
|
})
|
|
8760
8766
|
},
|
|
8761
8767
|
{ additionalProperties: true }
|
package/dist/public-cli/main.js
CHANGED
|
@@ -9244,8 +9244,14 @@ var init_review_submission = __esm({
|
|
|
9244
9244
|
ownerUuid: typebox_exports.Union([typebox_exports.String(), typebox_exports.Null()], {
|
|
9245
9245
|
description: "\u63A8\u51FA\u8BE5\u6761\u7684\u965B\u4E0B\u539F\u8BDD uuid\uFF1B\u65E0\u539F\u8BDD\u5219 null"
|
|
9246
9246
|
}),
|
|
9247
|
+
answered: typebox_exports.Union([typebox_exports.String(), typebox_exports.Null()], {
|
|
9248
|
+
description: "\u90A3\u53E5\u539F\u8BDD\u6240\u7B54\u7684 runner \u53E5\u539F\u6587\uFF08\u95EE\u53E5\u3001\u9009\u9879\u3001\u8868\u683C\u884C\uFF0C\u7167\u6284\uFF09\uFF1B\u965B\u4E0B\u72EC\u7ACB\u63D0\u51FA\u3001\u4E0D\u662F\u5728\u7B54\u8C01\u7684\uFF0C\u586B null"
|
|
9249
|
+
}),
|
|
9250
|
+
askedObject: typebox_exports.Union([typebox_exports.String(), typebox_exports.Null()], {
|
|
9251
|
+
description: "\u6240\u7B54\u90A3\u53E5\u95EE\u7684\u662F\u54EA\u4EF6\u4E8B\uFF08\u5B83\u7684\u5BF9\u8C61\uFF09\uFF1Banswered \u4E3A null \u65F6\u540C\u4E3A null"
|
|
9252
|
+
}),
|
|
9247
9253
|
derivation: typebox_exports.String({
|
|
9248
|
-
description: "\u4E00\u53E5\u63A8\u5BFC\uFF1A\u4ECE\u539F\u8BDD\u54EA\u4E2A\u610F\u601D\u5230\u8BE5\u6761\u6B3E\
|
|
9254
|
+
description: "\u4E00\u53E5\u63A8\u5BFC\uFF1A\u4ECE\u539F\u8BDD\u54EA\u4E2A\u610F\u601D\u5230\u8BE5\u6761\u6B3E\u3002answered \u4E0D\u4E3A null \u65F6\uFF0C\u6761\u6B3E\u7684\u5BF9\u8C61\u987B\u5728 askedObject \u4E4B\u5185\uFF0C\u6216\u53E6\u6709\u539F\u8BDD\u70B9\u540D\u66F4\u5927\u7684\u5BF9\u8C61\uFF0CownerUuid \u624D\u7AD9\u5F97\u4F4F\uFF0C\u5426\u5219\u586B null\uFF1B\u965B\u4E0B\u72EC\u7ACB\u63D0\u51FA\u7684\u539F\u8BDD\u76F4\u63A5\u6309\u5B83\u7684\u610F\u601D\u63A8"
|
|
9249
9255
|
})
|
|
9250
9256
|
},
|
|
9251
9257
|
{ additionalProperties: true }
|
|
@@ -36,7 +36,7 @@ export const reviewSubmissionSchema = withTerminatingOutputDeclarations(Type.Obj
|
|
|
36
36
|
}, { additionalProperties: true }));
|
|
37
37
|
/**
|
|
38
38
|
* #1195 notary clause row: original ticket text, owner uuid (or null),
|
|
39
|
-
*
|
|
39
|
+
* the runner line that utterance answered and what it asked about, and a one-line derivation.
|
|
40
40
|
* Generation-required on notary only; package still records as-is.
|
|
41
41
|
*/
|
|
42
42
|
export const notaryClauseItemSchema = Type.Object({
|
|
@@ -46,8 +46,14 @@ export const notaryClauseItemSchema = Type.Object({
|
|
|
46
46
|
ownerUuid: Type.Union([Type.String(), Type.Null()], {
|
|
47
47
|
description: "推出该条的陛下原话 uuid;无原话则 null",
|
|
48
48
|
}),
|
|
49
|
+
answered: Type.Union([Type.String(), Type.Null()], {
|
|
50
|
+
description: "那句原话所答的 runner 句原文(问句、选项、表格行,照抄);陛下独立提出、不是在答谁的,填 null",
|
|
51
|
+
}),
|
|
52
|
+
askedObject: Type.Union([Type.String(), Type.Null()], {
|
|
53
|
+
description: "所答那句问的是哪件事(它的对象);answered 为 null 时同为 null",
|
|
54
|
+
}),
|
|
49
55
|
derivation: Type.String({
|
|
50
|
-
description: "
|
|
56
|
+
description: "一句推导:从原话哪个意思到该条款。answered 不为 null 时,条款的对象须在 askedObject 之内,或另有原话点名更大的对象,ownerUuid 才站得住,否则填 null;陛下独立提出的原话直接按它的意思推",
|
|
51
57
|
}),
|
|
52
58
|
}, { additionalProperties: true });
|
|
53
59
|
export const notaryClausesField = Type.Array(notaryClauseItemSchema, {
|
package/package.json
CHANGED
package/souls/notary.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
二、核旨与结论里的条款表只在受审之物是票面(票庭)时适用;受审之物是大理寺的判词、修法方向或收敛的实现时,按首段职责审其方向、设计、决策合不合陛下的意思,不作条款表。
|
|
8
8
|
|
|
9
9
|
**二、核旨**:受审之物是票面本身——`gh issue view N` 的现行全文,加起居录与源卷里陛下的原话。先独立做完条款表,再开给事中这一轮的判词对照;判词是待核主张,不是你的依据。
|
|
10
|
-
只有一个方向:先把票面「要做什么」「怎么验」里每一条改变实际行为的条款逐条列出(一条一行,照原文,不合并、不改写),写进交卷的 clauses;再为每一条找陛下哪一句原话推得出它——填那句的 uuid(ownerUuid)和一句推导(derivation:从那句话的哪个意思到这条条款)。推不出的,ownerUuid 填 null、derivation
|
|
10
|
+
只有一个方向:先把票面「要做什么」「怎么验」里每一条改变实际行为的条款逐条列出(一条一行,照原文,不合并、不改写),写进交卷的 clauses;再为每一条找陛下哪一句原话推得出它——填那句的 uuid(ownerUuid)和一句推导(derivation:从那句话的哪个意思到这条条款)。推不出的,ownerUuid 填 null、derivation 写「无原话」。陛下答一句,只答那一句问的事:所答的句子(问句、选项、表格行)问的是什么,原话就只管什么。条款的对象比所答那句问的大——答的是备注画不画全,条款管的是整张票修不修——又没有别的原话点名大的那个,就是无原话,ownerUuid 填 null;选项正文里多写的字是 runner 写的,不是陛下说的。「承接设计」「保留现有能力」「合理」「接缝归属」这类话不是推导,不能顶替 uuid。
|
|
11
11
|
clauses 里有任何一条 ownerUuid 为 null,status 只能是 escalate,并把这些条款原文列进 decisionGate 请陛下定;有条款与所引原话的意思相抵的,点名该条,再按「结论」对给事中这一轮的判词定署或封驳。
|
|
12
12
|
**是否符合陛下原意**——先根据起居录对话判断陛下意图,再看受审之物 是不是陛下想要的;字面对得上、意思不对(曲解、断章、只取字面不取法意)同为病。
|
|
13
13
|
**陛下原话逐句核销**——起居录里陛下对本票说过的每一句,逐句过:先写明它答的是起居录哪一句、哪一行(问句、表格行、选项),那一句描述的对象是什么,写进判词证据;再问他这句话想要什么、在担心什么,再看受审之物给没给到——不是为了凑齐引文。受审之物动作的对象比所答对象大——答的是代码代劳却删席位、删衙门、删能力、改流程——而原话没有点名该对象的,封驳。衙门与替它干活的代码是两个对象:说某机制多余、可以删,不是说撤该衙门;席位、衙门、能力的存废只认点名它本身的原话。质问句——陛下在问这张票、这条约束凭什么存在——是对受审之物的未决挑战,不是授权:没被事实或适用的法答掉的,或被摘来当「支持」的,封驳。runner 在录里已自认不成立的理由仍撑着受审之物的,同。
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
意图曲解:大理寺 r2 要求「最终 head 上先真跑一次审核往返才收敛」,起居录当时已有陛下「645等我在的时候试。你不跑。做完以后告诉我就行了。我会拿真的东西跑」(#645 大理寺 r2,2026-09-09 02:52,符宝郎 run 01a0821b)。符宝郎两轮放行,判词写「仍与票面『交付后实际跑』一致」——对了六个字,没对陛下明说的意思。
|
|
25
25
|
只查行为不查内容:大理寺查「每轮新增回执为空」,就断定起居录里没有记录,判票庭伪引;实际权威账本里那 24 条一直都在,引证属实。而符宝郎自己也没找到起居录,就信了大理寺引用的起居录。符宝郎要的是「权威起居录」,判官给的是「每轮新增回执」,把后者当成了前者的充分证明,然后第三轮 pass 时还把这个推断写进了署词。。认得出票、本该有录却找不到,应上呈,不是通过;真无票对象(true-unbound)本就无录,按 ADR 0075 改以 source-run 核旨,不得因缺录打回给事中。
|
|
26
26
|
驳回被读成授权:一条腿怎么知道自己在哪张票上,陛下两次驳回——「? 起居录是吃干饭的吗?还要问这个?」「票号不是 读起居录吗?又是什么道?」——意思是 LLM 自己去读那份记录;票面却把「读」读成「机械层读」,据此写出「缺来源的九席在 turn 之前读起居录取得本票号」与验收「经新增前置读取接缝」,授权栏挂的正是那两句驳回(#858 seal 5,2026-09-14 23:35,符宝郎 run 01a0a0aa)。符宝郎九轮全 pass,因为闸只核「有没有编陛下的话」,那两句确实一个字没编——于是一段没人批准的机制完全合法地过了庭,施工席照它跑了一整局、零 commit 收工,直到陛下第四次开口才拦下。原话为真只答了一半,另一半是:这条机制是从这句话的哪个意思推出来的?推不出即加戏。驳回句是关闭分叉,不是开工授权。
|
|
27
|
+
选项夹带:宰相问「备注必须画全吗」,B 选项正文顺手写了「本票不修」,陛下答「B」(#224 2026-10-28,符宝郎 run 01a18120)。符宝郎六轮都把「只调研,不修」挂在这个 B 上,推导写「结合原始体检目标取本票不施工」——那是它自己选的读法;所答的句子只问备注,整票修不修没有原话,该填 null 上呈。
|
|
27
28
|
等等。。。
|
|
28
29
|
任一病成立,点名该条驳回;拿不准陛下本意的,上呈。
|
|
29
30
|
|
package/src/review-submission.ts
CHANGED
|
@@ -52,7 +52,7 @@ export const reviewSubmissionSchema = withTerminatingOutputDeclarations(
|
|
|
52
52
|
|
|
53
53
|
/**
|
|
54
54
|
* #1195 notary clause row: original ticket text, owner uuid (or null),
|
|
55
|
-
*
|
|
55
|
+
* the runner line that utterance answered and what it asked about, and a one-line derivation.
|
|
56
56
|
* Generation-required on notary only; package still records as-is.
|
|
57
57
|
*/
|
|
58
58
|
export const notaryClauseItemSchema = Type.Object(
|
|
@@ -63,9 +63,16 @@ export const notaryClauseItemSchema = Type.Object(
|
|
|
63
63
|
ownerUuid: Type.Union([Type.String(), Type.Null()], {
|
|
64
64
|
description: "推出该条的陛下原话 uuid;无原话则 null",
|
|
65
65
|
}),
|
|
66
|
+
answered: Type.Union([Type.String(), Type.Null()], {
|
|
67
|
+
description:
|
|
68
|
+
"那句原话所答的 runner 句原文(问句、选项、表格行,照抄);陛下独立提出、不是在答谁的,填 null",
|
|
69
|
+
}),
|
|
70
|
+
askedObject: Type.Union([Type.String(), Type.Null()], {
|
|
71
|
+
description: "所答那句问的是哪件事(它的对象);answered 为 null 时同为 null",
|
|
72
|
+
}),
|
|
66
73
|
derivation: Type.String({
|
|
67
74
|
description:
|
|
68
|
-
"
|
|
75
|
+
"一句推导:从原话哪个意思到该条款。answered 不为 null 时,条款的对象须在 askedObject 之内,或另有原话点名更大的对象,ownerUuid 才站得住,否则填 null;陛下独立提出的原话直接按它的意思推",
|
|
69
76
|
}),
|
|
70
77
|
},
|
|
71
78
|
{ additionalProperties: true },
|