@akagilnc/pi-workflow-roles 0.1.5751 → 0.1.5756
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 +4 -2
- package/dist/headless-host/production-host.js +4 -2
- package/dist/public-cli/instruction-seat-run.js +5 -2
- package/dist/public-cli/main.js +4 -2
- package/package.json +1 -1
- package/souls/notary.md +1 -1
- package/src/public-cli/instruction-seat-run.ts +6 -2
- package/src/public-role-summons.ts +3 -3
|
@@ -13964,6 +13964,7 @@ var init_countersign_run = __esm({
|
|
|
13964
13964
|
// src/public-cli/instruction-seat-run.ts
|
|
13965
13965
|
var instruction_seat_run_exports = {};
|
|
13966
13966
|
__export(instruction_seat_run_exports, {
|
|
13967
|
+
NOTARY_FIXED_DISPATCH: () => NOTARY_FIXED_DISPATCH,
|
|
13967
13968
|
buildInstructionSeatTurnRequest: () => buildInstructionSeatTurnRequest,
|
|
13968
13969
|
continueParentAfterChild: () => continueParentAfterChild,
|
|
13969
13970
|
runPublicInstructionSeat: () => runPublicInstructionSeat,
|
|
@@ -14184,7 +14185,7 @@ async function resolveReviewSeatDialogueBody(input) {
|
|
|
14184
14185
|
if (sourceRunPath === void 0) return void 0;
|
|
14185
14186
|
if (input.role === "notary") {
|
|
14186
14187
|
const { isTicketCourtCountersignSource: isTicketCourtCountersignSource2 } = await Promise.resolve().then(() => (init_run_terminal_artifacts(), run_terminal_artifacts_exports));
|
|
14187
|
-
if (isTicketCourtCountersignSource2(sourceRunPath)) return
|
|
14188
|
+
if (isTicketCourtCountersignSource2(sourceRunPath)) return NOTARY_FIXED_DISPATCH;
|
|
14188
14189
|
}
|
|
14189
14190
|
return await loadLedgerPeerBody(sourceRunPath, input.projectRoot, input.home);
|
|
14190
14191
|
}
|
|
@@ -15203,7 +15204,7 @@ async function auditSubmittedRole(turn, env, io, resumedOfficer, passedReceipt)
|
|
|
15203
15204
|
await presentTerminal(turn.terminal, { ...io, omitFailureStderrDiagnostic: true }, admitted.runDirectory);
|
|
15204
15205
|
return turn;
|
|
15205
15206
|
}
|
|
15206
|
-
var AUDITED_ROLES, SECRETARIAT_STATUS_REASK, WORKER_ROUTING_STATUSES, WORKER_STATUS_REASK, DOCTOR_ROUTING_STATUSES, DOCTOR_STATUS_REASK, POST_SUBMISSION_ROUTING, UNREADABLE_REASK_EXHAUSTED, GATE_CHILD_ROLES;
|
|
15207
|
+
var AUDITED_ROLES, SECRETARIAT_STATUS_REASK, WORKER_ROUTING_STATUSES, WORKER_STATUS_REASK, DOCTOR_ROUTING_STATUSES, DOCTOR_STATUS_REASK, POST_SUBMISSION_ROUTING, UNREADABLE_REASK_EXHAUSTED, NOTARY_FIXED_DISPATCH, GATE_CHILD_ROLES;
|
|
15207
15208
|
var init_instruction_seat_run = __esm({
|
|
15208
15209
|
"src/public-cli/instruction-seat-run.ts"() {
|
|
15209
15210
|
"use strict";
|
|
@@ -15276,6 +15277,7 @@ var init_instruction_seat_run = __esm({
|
|
|
15276
15277
|
}
|
|
15277
15278
|
};
|
|
15278
15279
|
UNREADABLE_REASK_EXHAUSTED = { unreadableReaskExhausted: true };
|
|
15280
|
+
NOTARY_FIXED_DISPATCH = "\u8BF7\u5BA1\u672C\u8F6E\u53D7\u5BA1\u5BF9\u8C61\uFF0C\u6309\u7B26\u5B9D\u90CE\u804C\u638C\u4EA4\u5377\u3002";
|
|
15279
15281
|
GATE_CHILD_ROLES = /* @__PURE__ */ new Set(["notary", "auditor", "inspector", "countersign"]);
|
|
15280
15282
|
}
|
|
15281
15283
|
});
|
|
@@ -14158,6 +14158,7 @@ var init_countersign_run = __esm({
|
|
|
14158
14158
|
// src/public-cli/instruction-seat-run.ts
|
|
14159
14159
|
var instruction_seat_run_exports = {};
|
|
14160
14160
|
__export(instruction_seat_run_exports, {
|
|
14161
|
+
NOTARY_FIXED_DISPATCH: () => NOTARY_FIXED_DISPATCH,
|
|
14161
14162
|
buildInstructionSeatTurnRequest: () => buildInstructionSeatTurnRequest,
|
|
14162
14163
|
continueParentAfterChild: () => continueParentAfterChild,
|
|
14163
14164
|
runPublicInstructionSeat: () => runPublicInstructionSeat,
|
|
@@ -14378,7 +14379,7 @@ async function resolveReviewSeatDialogueBody(input) {
|
|
|
14378
14379
|
if (sourceRunPath === void 0) return void 0;
|
|
14379
14380
|
if (input.role === "notary") {
|
|
14380
14381
|
const { isTicketCourtCountersignSource: isTicketCourtCountersignSource2 } = await Promise.resolve().then(() => (init_run_terminal_artifacts(), run_terminal_artifacts_exports));
|
|
14381
|
-
if (isTicketCourtCountersignSource2(sourceRunPath)) return
|
|
14382
|
+
if (isTicketCourtCountersignSource2(sourceRunPath)) return NOTARY_FIXED_DISPATCH;
|
|
14382
14383
|
}
|
|
14383
14384
|
return await loadLedgerPeerBody(sourceRunPath, input.projectRoot, input.home);
|
|
14384
14385
|
}
|
|
@@ -15397,7 +15398,7 @@ async function auditSubmittedRole(turn, env, io, resumedOfficer, passedReceipt)
|
|
|
15397
15398
|
await presentTerminal(turn.terminal, { ...io, omitFailureStderrDiagnostic: true }, admitted.runDirectory);
|
|
15398
15399
|
return turn;
|
|
15399
15400
|
}
|
|
15400
|
-
var AUDITED_ROLES, SECRETARIAT_STATUS_REASK, WORKER_ROUTING_STATUSES, WORKER_STATUS_REASK, DOCTOR_ROUTING_STATUSES, DOCTOR_STATUS_REASK, POST_SUBMISSION_ROUTING, UNREADABLE_REASK_EXHAUSTED, GATE_CHILD_ROLES;
|
|
15401
|
+
var AUDITED_ROLES, SECRETARIAT_STATUS_REASK, WORKER_ROUTING_STATUSES, WORKER_STATUS_REASK, DOCTOR_ROUTING_STATUSES, DOCTOR_STATUS_REASK, POST_SUBMISSION_ROUTING, UNREADABLE_REASK_EXHAUSTED, NOTARY_FIXED_DISPATCH, GATE_CHILD_ROLES;
|
|
15401
15402
|
var init_instruction_seat_run = __esm({
|
|
15402
15403
|
"src/public-cli/instruction-seat-run.ts"() {
|
|
15403
15404
|
"use strict";
|
|
@@ -15470,6 +15471,7 @@ var init_instruction_seat_run = __esm({
|
|
|
15470
15471
|
}
|
|
15471
15472
|
};
|
|
15472
15473
|
UNREADABLE_REASK_EXHAUSTED = { unreadableReaskExhausted: true };
|
|
15474
|
+
NOTARY_FIXED_DISPATCH = "\u8BF7\u5BA1\u672C\u8F6E\u53D7\u5BA1\u5BF9\u8C61\uFF0C\u6309\u7B26\u5B9D\u90CE\u804C\u638C\u4EA4\u5377\u3002";
|
|
15473
15475
|
GATE_CHILD_ROLES = /* @__PURE__ */ new Set(["notary", "auditor", "inspector", "countersign"]);
|
|
15474
15476
|
}
|
|
15475
15477
|
});
|
|
@@ -344,11 +344,14 @@ async function loadLedgerPeerBody(sourceRunDirectory, projectRoot, home) {
|
|
|
344
344
|
return undefined;
|
|
345
345
|
return readableGateItem(latest.accepted);
|
|
346
346
|
}
|
|
347
|
+
/** Owner-approved fixed Notary dispatch (2026-10-09); never the parent verdict. */
|
|
348
|
+
export const NOTARY_FIXED_DISPATCH = "请审本轮受审对象,按符宝郎职掌交卷。";
|
|
347
349
|
/**
|
|
348
350
|
* One delivery rule for review-seat dialogue on new turns and same-parent resume
|
|
349
351
|
* (#1166 / ADR 0085 / ADR 0087): explicit reask → non-empty caller dispatch →
|
|
350
352
|
* source-only ledger peer body. Identity stays in startup materials.
|
|
351
|
-
* #1195: ticket-court notary skips peer-body preload (countersign source only)
|
|
353
|
+
* #1195: ticket-court notary skips peer-body preload (countersign source only) and
|
|
354
|
+
* receives the fixed dispatch instead (codex rejects an empty prompt).
|
|
352
355
|
*/
|
|
353
356
|
async function resolveReviewSeatDialogueBody(input) {
|
|
354
357
|
const reask = input.reask;
|
|
@@ -363,7 +366,7 @@ async function resolveReviewSeatDialogueBody(input) {
|
|
|
363
366
|
if (input.role === "notary") {
|
|
364
367
|
const { isTicketCourtCountersignSource } = await import("../run-terminal-artifacts.js");
|
|
365
368
|
if (isTicketCourtCountersignSource(sourceRunPath))
|
|
366
|
-
return
|
|
369
|
+
return NOTARY_FIXED_DISPATCH;
|
|
367
370
|
}
|
|
368
371
|
return await loadLedgerPeerBody(sourceRunPath, input.projectRoot, input.home);
|
|
369
372
|
}
|
package/dist/public-cli/main.js
CHANGED
|
@@ -19114,6 +19114,7 @@ var init_countersign_run = __esm({
|
|
|
19114
19114
|
// src/public-cli/instruction-seat-run.ts
|
|
19115
19115
|
var instruction_seat_run_exports = {};
|
|
19116
19116
|
__export(instruction_seat_run_exports, {
|
|
19117
|
+
NOTARY_FIXED_DISPATCH: () => NOTARY_FIXED_DISPATCH,
|
|
19117
19118
|
buildInstructionSeatTurnRequest: () => buildInstructionSeatTurnRequest,
|
|
19118
19119
|
continueParentAfterChild: () => continueParentAfterChild,
|
|
19119
19120
|
runPublicInstructionSeat: () => runPublicInstructionSeat,
|
|
@@ -19334,7 +19335,7 @@ async function resolveReviewSeatDialogueBody(input) {
|
|
|
19334
19335
|
if (sourceRunPath === void 0) return void 0;
|
|
19335
19336
|
if (input.role === "notary") {
|
|
19336
19337
|
const { isTicketCourtCountersignSource: isTicketCourtCountersignSource2 } = await Promise.resolve().then(() => (init_run_terminal_artifacts(), run_terminal_artifacts_exports));
|
|
19337
|
-
if (isTicketCourtCountersignSource2(sourceRunPath)) return
|
|
19338
|
+
if (isTicketCourtCountersignSource2(sourceRunPath)) return NOTARY_FIXED_DISPATCH;
|
|
19338
19339
|
}
|
|
19339
19340
|
return await loadLedgerPeerBody(sourceRunPath, input.projectRoot, input.home);
|
|
19340
19341
|
}
|
|
@@ -20353,7 +20354,7 @@ async function auditSubmittedRole(turn, env, io, resumedOfficer, passedReceipt)
|
|
|
20353
20354
|
await presentTerminal(turn.terminal, { ...io, omitFailureStderrDiagnostic: true }, admitted.runDirectory);
|
|
20354
20355
|
return turn;
|
|
20355
20356
|
}
|
|
20356
|
-
var AUDITED_ROLES, SECRETARIAT_STATUS_REASK, WORKER_ROUTING_STATUSES, WORKER_STATUS_REASK, DOCTOR_ROUTING_STATUSES, DOCTOR_STATUS_REASK, POST_SUBMISSION_ROUTING, UNREADABLE_REASK_EXHAUSTED, GATE_CHILD_ROLES;
|
|
20357
|
+
var AUDITED_ROLES, SECRETARIAT_STATUS_REASK, WORKER_ROUTING_STATUSES, WORKER_STATUS_REASK, DOCTOR_ROUTING_STATUSES, DOCTOR_STATUS_REASK, POST_SUBMISSION_ROUTING, UNREADABLE_REASK_EXHAUSTED, NOTARY_FIXED_DISPATCH, GATE_CHILD_ROLES;
|
|
20357
20358
|
var init_instruction_seat_run = __esm({
|
|
20358
20359
|
"src/public-cli/instruction-seat-run.ts"() {
|
|
20359
20360
|
"use strict";
|
|
@@ -20426,6 +20427,7 @@ var init_instruction_seat_run = __esm({
|
|
|
20426
20427
|
}
|
|
20427
20428
|
};
|
|
20428
20429
|
UNREADABLE_REASK_EXHAUSTED = { unreadableReaskExhausted: true };
|
|
20430
|
+
NOTARY_FIXED_DISPATCH = "\u8BF7\u5BA1\u672C\u8F6E\u53D7\u5BA1\u5BF9\u8C61\uFF0C\u6309\u7B26\u5B9D\u90CE\u804C\u638C\u4EA4\u5377\u3002";
|
|
20429
20431
|
GATE_CHILD_ROLES = /* @__PURE__ */ new Set(["notary", "auditor", "inspector", "countersign"]);
|
|
20430
20432
|
}
|
|
20431
20433
|
});
|
package/package.json
CHANGED
package/souls/notary.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
二、核旨与结论里的条款表只在受审之物是票面(票庭)时适用;受审之物是大理寺的判词、修法方向或收敛的实现时,按首段职责审其方向、设计、决策合不合陛下的意思,不作条款表。
|
|
8
8
|
|
|
9
|
-
**二、核旨**:受审之物是票面本身——`gh issue view N`
|
|
9
|
+
**二、核旨**:受审之物是票面本身——`gh issue view N` 的现行全文,加起居录与源卷里陛下的原话。先独立做完条款表,再开给事中这一轮的判词对照;判词是待核主张,不是你的依据。
|
|
10
10
|
只有一个方向:先把票面「要做什么」「怎么验」里每一条改变实际行为的条款逐条列出(一条一行,照原文,不合并、不改写),写进交卷的 clauses;再为每一条找陛下哪一句原话推得出它——填那句的 uuid(ownerUuid)和一句推导(derivation:从那句话的哪个意思到这条条款)。推不出的,ownerUuid 填 null、derivation 写「无原话」。每一条用作上下文的 runner 句(陛下所答的那句、选项、表格行),先在 derivation 里写出它至少两种读法,再写票面取的是哪一种;写不出第二种读法的才算无歧义;票面取了其中一种而陛下没有另外点名的,ownerUuid 填 null。「承接设计」「保留现有能力」「合理」「接缝归属」这类话不是推导,不能顶替 uuid。
|
|
11
11
|
clauses 里有任何一条 ownerUuid 为 null,status 只能是 escalate,并把这些条款原文列进 decisionGate 请陛下定;有条款与所引原话的意思相抵的,continue,点名该条;全部条款都有 uuid 且推导成立,才可 converged。
|
|
12
12
|
**是否符合陛下原意**——先根据起居录对话判断陛下意图,再看受审之物 是不是陛下想要的;字面对得上、意思不对(曲解、断章、只取字面不取法意)同为病。
|
|
@@ -529,11 +529,15 @@ async function loadLedgerPeerBody(
|
|
|
529
529
|
return readableGateItem(latest.accepted);
|
|
530
530
|
}
|
|
531
531
|
|
|
532
|
+
/** Owner-approved fixed Notary dispatch (2026-10-09); never the parent verdict. */
|
|
533
|
+
export const NOTARY_FIXED_DISPATCH = "请审本轮受审对象,按符宝郎职掌交卷。";
|
|
534
|
+
|
|
532
535
|
/**
|
|
533
536
|
* One delivery rule for review-seat dialogue on new turns and same-parent resume
|
|
534
537
|
* (#1166 / ADR 0085 / ADR 0087): explicit reask → non-empty caller dispatch →
|
|
535
538
|
* source-only ledger peer body. Identity stays in startup materials.
|
|
536
|
-
* #1195: ticket-court notary skips peer-body preload (countersign source only)
|
|
539
|
+
* #1195: ticket-court notary skips peer-body preload (countersign source only) and
|
|
540
|
+
* receives the fixed dispatch instead (codex rejects an empty prompt).
|
|
537
541
|
*/
|
|
538
542
|
async function resolveReviewSeatDialogueBody(input: {
|
|
539
543
|
readonly role?: string;
|
|
@@ -551,7 +555,7 @@ async function resolveReviewSeatDialogueBody(input: {
|
|
|
551
555
|
if (sourceRunPath === undefined) return undefined;
|
|
552
556
|
if (input.role === "notary") {
|
|
553
557
|
const { isTicketCourtCountersignSource } = await import("../run-terminal-artifacts.ts");
|
|
554
|
-
if (isTicketCourtCountersignSource(sourceRunPath)) return
|
|
558
|
+
if (isTicketCourtCountersignSource(sourceRunPath)) return NOTARY_FIXED_DISPATCH;
|
|
555
559
|
}
|
|
556
560
|
return await loadLedgerPeerBody(sourceRunPath, input.projectRoot, input.home);
|
|
557
561
|
}
|
|
@@ -724,9 +724,9 @@ export async function summonGateOfficer(options: {
|
|
|
724
724
|
// Officer host is seat-owned only (#821), not a parent override channel.
|
|
725
725
|
// #879: binding pointer = parent run directory; dialogue content = submission body.
|
|
726
726
|
// Conclusion re-ask keeps sole ownership of reviewReask when present.
|
|
727
|
-
// #1195
|
|
728
|
-
//
|
|
729
|
-
// and
|
|
727
|
+
// #1195 ticket-court notary (countersign source): do not preload the parent body.
|
|
728
|
+
// Identity binds via --source-run; the notary reads the ticket and verdict itself
|
|
729
|
+
// and its dispatch comes from resolveReviewSeatDialogueBody.
|
|
730
730
|
// Other officers / non-countersign sources still receive the parent submission body.
|
|
731
731
|
let gateReviewInstruction: string | undefined;
|
|
732
732
|
if (options.reask === undefined && options.submission !== undefined) {
|