@akagilnc/pi-workflow-roles 0.1.6080 → 0.1.6086

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.
@@ -1682,7 +1682,7 @@ var init_navigator_output = __esm({
1682
1682
 
1683
1683
  // src/review-submission.ts
1684
1684
  import { Type as Type5 } from "typebox";
1685
- var REVIEW_SUBMISSION_OUTPUT_TOOL_NAME, REVIEW_QUEUE_WORDS, REVIEW_QUEUE_STATUSES, reviewStatusField, reviewNarrativeFields, reviewSubmissionSchema, notaryClauseItemSchema, notaryClausesField, notaryReviewSubmissionSchema, ticketComplexityRowSchema, mechanismRowBase, MECHANISM_FRAMEWORK_RULE, existenceRowUnion, MECHANISM_LABELS, mechanismRowUnion, mechanismRowSchema, auditorMechanismRowSchema, clauseRowBase, CLAUSE_LABELS, clauseExistenceRowSchema, countersignSubmissionSchema, judgeMechanismRowSchema, judgeSubmissionSchema, inspectorSubmissionSchema, auditorSubmissionSchema;
1685
+ var REVIEW_SUBMISSION_OUTPUT_TOOL_NAME, REVIEW_QUEUE_WORDS, REVIEW_QUEUE_STATUSES, reviewStatusField, reviewNarrativeFields, reviewSubmissionSchema, notaryClauseItemSchema, notaryClausesField, adrRowBase, notaryAdrRowSchema, notaryAdrField, notaryReviewSubmissionSchema, ticketComplexityRowSchema, mechanismRowBase, MECHANISM_FRAMEWORK_RULE, existenceRowUnion, MECHANISM_LABELS, mechanismRowUnion, mechanismRowSchema, auditorMechanismRowSchema, clauseRowBase, CLAUSE_LABELS, clauseExistenceRowSchema, countersignSubmissionSchema, judgeMechanismRowSchema, judgeSubmissionSchema, inspectorSubmissionSchema, auditorSubmissionSchema;
1686
1686
  var init_review_submission = __esm({
1687
1687
  "src/review-submission.ts"() {
1688
1688
  "use strict";
@@ -1723,7 +1723,7 @@ var init_review_submission = __esm({
1723
1723
  notaryClauseItemSchema = Type5.Object(
1724
1724
  {
1725
1725
  clause: Type5.String({
1726
- description: "\u7968\u9762\u6761\u6B3E\u539F\u6587\uFF08\u6539\u53D8\u5B9E\u9645\u884C\u4E3A\u7684\u6761\u6B3E\uFF1B\u4E0D\u5408\u5E76\u3001\u4E0D\u6539\u5199\uFF09"
1726
+ description: "\u7968\u9762\u6761\u6B3E\u539F\u6587\uFF08\u6539\u53D8\u5B9E\u9645\u884C\u4E3A\u7684\u6761\u6B3E\uFF1B\u4E0D\u5408\u5E76\u3001\u4E0D\u6539\u5199\uFF09\uFF1B\u7968\u9762\u70B9\u540D\u4E3A\u6CD5\u6E90\u7684 ADR \u91CC\u672C\u7968\u65B0\u5199\u6216\u6539\u8FC7\u7684\u51B3\u5B9A\u53E5\u4E5F\u7B97\u4E00\u6761\uFF0C\u524D\u7F00\u6587\u4EF6\u540D\u7167\u6284"
1727
1727
  }),
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"
@@ -1747,14 +1747,44 @@ var init_review_submission = __esm({
1747
1747
  { additionalProperties: true }
1748
1748
  );
1749
1749
  notaryClausesField = Type5.Array(notaryClauseItemSchema, {
1750
- description: "\u7968\u9762\u9010\u6761\u6838\u65E8\u8868\uFF0C\u6BCF\u4E00\u8F6E\u90FD\u586B\uFF0C\u4E0D\u8BBA\u672C\u8F6E\u53D7\u5BA1\u7684\u662F\u7968\u9762\u8FD8\u662F\u5927\u7406\u5BFA\u7684\u5224\u8BCD\uFF1A\u73B0\u884C\u7968\u9762\u6BCF\u6761\u6539\u53D8\u5B9E\u9645\u884C\u4E3A\u7684\u6761\u6B3E\u7684\u539F\u6587\u3001\u965B\u4E0B\u539F\u8BDD uuid\u3001\u63A8\u5BFC\u3001\u662F\u5426\u5728\u6700\u540E\u4E00\u7B7E\u65F6\u5C31\u5728\u8868\u91CC\u3002\u65E0\u539F\u8BDD\u5219 ownerUuid \u4E3A null\u3002\u771F\u65E0\u7968\u5BF9\u8C61\u6CA1\u6709\u7968\u9762\uFF0C\u586B\u7A7A\u6570\u7EC4\u3002"
1750
+ description: "\u7968\u9762\u9010\u6761\u6838\u65E8\u8868\uFF0C\u6BCF\u4E00\u8F6E\u90FD\u586B\uFF0C\u4E0D\u8BBA\u672C\u8F6E\u53D7\u5BA1\u7684\u662F\u7968\u9762\u8FD8\u662F\u5927\u7406\u5BFA\u7684\u5224\u8BCD\uFF1A\u73B0\u884C\u7968\u9762\u6BCF\u6761\u6539\u53D8\u5B9E\u9645\u884C\u4E3A\u7684\u6761\u6B3E\u7684\u539F\u6587\uFF08\u542B\u7968\u9762\u70B9\u540D\u4E3A\u6CD5\u6E90\u7684 ADR \u91CC\u672C\u7968\u65B0\u5199\u6216\u6539\u8FC7\u7684\u51B3\u5B9A\u53E5\uFF09\u3001\u965B\u4E0B\u539F\u8BDD uuid\u3001\u63A8\u5BFC\u3001\u662F\u5426\u5728\u6700\u540E\u4E00\u7B7E\u65F6\u5C31\u5728\u8868\u91CC\u3002\u65E0\u539F\u8BDD\u5219 ownerUuid \u4E3A null\u3002\u771F\u65E0\u7968\u5BF9\u8C61\u6CA1\u6709\u7968\u9762\uFF0C\u586B\u7A7A\u6570\u7EC4\u3002"
1751
+ });
1752
+ adrRowBase = {
1753
+ ownerUuid: Type5.String({ description: "\u965B\u4E0B\u62CD\u5B9A\u90A3\u53E5\u539F\u8BDD\u7684 uuid" }),
1754
+ decided: Type5.String({
1755
+ description: "\u90A3\u53E5\u62CD\u5B9A\u4E86\u4EC0\u4E48\uFF1A\u7167\u539F\u8BCD\uFF0C\u4E0D\u6982\u62EC\u3001\u4E0D\u5408\u5E76\uFF08\u56DB\u5C42\u5206\u5DE5\u3001\u56DB\u6761\u89C4\u77E9\u3001\u8D26\u672C\u53EA\u5B58\u4E8B\u5B9E\u2026\u2026\u4E00\u6761\u4E00\u884C\uFF09"
1756
+ })
1757
+ };
1758
+ notaryAdrRowSchema = Type5.Union([
1759
+ Type5.Object(
1760
+ {
1761
+ ...adrRowBase,
1762
+ adr: Type5.String({ description: "\u843D\u5904\uFF1Adocs/adr \u6587\u4EF6\u540D\uFF0B\u6587\u5185\u627F\u8F7D\u8FD9\u6761\u62CD\u5B9A\u7684\u90A3\u4E00\u53E5\u539F\u6587\uFF08\u7167\u6284\uFF09" }),
1763
+ landed: Type5.Literal("\u843D\u4E86\uFF1AADR \u6587\u5185\u6709\u627F\u8F7D\u5B83\u7684\u53E5\u5B50")
1764
+ },
1765
+ { additionalProperties: true }
1766
+ ),
1767
+ Type5.Object(
1768
+ {
1769
+ ...adrRowBase,
1770
+ adr: Type5.Null(),
1771
+ landed: Type5.Literal(
1772
+ "\u672A\u843D\uFF1AADR \u6587\u5185\u6CA1\u6709\u627F\u8F7D\u5B83\u7684\u53E5\u5B50\uFF1B\u7968\u9762\u6761\u6B3E\u5199\u4E86\u3001CLAUDE.md \u4E00\u7C7B\u7D22\u5F15\u8BF4\u67D0\u4EFD ADR \u542B\u5B83\u3001\u5224\u8BCD\u5F15\u8FC7\u5B83\u3001ADR \u6807\u9898\u50CF\uFF0C\u90FD\u4E0D\u662F\u843D\u5904"
1773
+ )
1774
+ },
1775
+ { additionalProperties: true }
1776
+ )
1777
+ ]);
1778
+ notaryAdrField = Type5.Array(notaryAdrRowSchema, {
1779
+ description: "ADR \u843D\u5904\u8868\uFF1A\u53D7\u5BA1\u4E4B\u7269\u662F\u7ED9\u4E8B\u4E2D\u5BF9\u7968\u9762\u7684\u5224\u8BCD\uFF08\u7968\u5EAD\uFF09\u65F6\u586B\u2014\u2014\u8D77\u5C45\u5F55\u4E0E\u6E90\u5377\u91CC\u965B\u4E0B\u62CD\u5B9A\u7684\u3001\u8BE5\u8FDB ADR \u7684\u51B3\u5B9A\uFF08\u67B6\u6784\u5F62\u72B6\u3001\u5206\u5C42\u4E0E\u8FB9\u754C\u3001\u6280\u672F\u9009\u578B\u3001\u523B\u610F\u504F\u79BB\u5E38\u89C4\u7684\u505A\u6CD5\uFF1A\u96BE\u9006\u3001\u8BFB\u4EE3\u7801\u7684\u4EBA\u4F1A\u95EE\u4E3A\u4EC0\u4E48\u7684\u90A3\u7C7B\uFF09\uFF0C\u6BCF\u6761\u4E00\u884C\uFF0C\u5230 docs/adr \u91CC\u627E\u627F\u8F7D\u5B83\u7684\u90A3\u4E00\u53E5\uFF1B\u600E\u4E48\u6D4B\u3001\u600E\u4E48\u5206\u652F\u5408\u5165\u3001\u6570\u636E\u600E\u4E48\u8865\u3001\u5B57\u6BB5\u53EB\u4EC0\u4E48\u8FD9\u7C7B\u529E\u4E8B\u65B9\u6CD5\u4E0E\u7968\u5185\u7EC6\u8282\u4E0D\u5217\u3002\u6709\u300C\u672A\u843D\u300D\u884C\uFF0Cstatus \u53EA\u80FD\u662F escalate\uFF0C\u62CD\u5B9A\u539F\u6587\u4E0E\u5B83\u8BE5\u8FDB\u54EA\u4EFD ADR \u5217\u8FDB decisionGate\uFF0C\u8FDB\u4E0D\u8FDB\u7531\u965B\u4E0B\u5B9A\u3002\u53D7\u5BA1\u4E4B\u7269\u662F\u5927\u7406\u5BFA\u7684\u5224\u8BCD\u3001\u4FEE\u6CD5\u65B9\u5411\u6216\u6536\u655B\u7684\u5B9E\u73B0\u65F6\u4E3A\u7A7A\u6570\u7EC4\u3002"
1751
1780
  });
1752
1781
  notaryReviewSubmissionSchema = withTerminatingOutputDeclarations(
1753
1782
  Type5.Object(
1754
1783
  {
1755
1784
  status: reviewStatusField,
1756
1785
  ...reviewNarrativeFields,
1757
- clauses: notaryClausesField
1786
+ clauses: notaryClausesField,
1787
+ adr: notaryAdrField
1758
1788
  },
1759
1789
  { additionalProperties: true }
1760
1790
  )
@@ -481,7 +481,7 @@ var init_terminating_infrastructure = __esm({
481
481
 
482
482
  // src/review-submission.ts
483
483
  import { Type as Type2 } from "typebox";
484
- var REVIEW_SUBMISSION_OUTPUT_TOOL_NAME, REVIEW_QUEUE_WORDS, REVIEW_QUEUE_STATUSES, reviewStatusField, reviewNarrativeFields, reviewSubmissionSchema, notaryClauseItemSchema, notaryClausesField, notaryReviewSubmissionSchema, ticketComplexityRowSchema, mechanismRowBase, MECHANISM_FRAMEWORK_RULE, existenceRowUnion, MECHANISM_LABELS, mechanismRowUnion, mechanismRowSchema, auditorMechanismRowSchema, clauseRowBase, CLAUSE_LABELS, clauseExistenceRowSchema, countersignSubmissionSchema, judgeMechanismRowSchema, judgeSubmissionSchema, inspectorSubmissionSchema, auditorSubmissionSchema;
484
+ var REVIEW_SUBMISSION_OUTPUT_TOOL_NAME, REVIEW_QUEUE_WORDS, REVIEW_QUEUE_STATUSES, reviewStatusField, reviewNarrativeFields, reviewSubmissionSchema, notaryClauseItemSchema, notaryClausesField, adrRowBase, notaryAdrRowSchema, notaryAdrField, notaryReviewSubmissionSchema, ticketComplexityRowSchema, mechanismRowBase, MECHANISM_FRAMEWORK_RULE, existenceRowUnion, MECHANISM_LABELS, mechanismRowUnion, mechanismRowSchema, auditorMechanismRowSchema, clauseRowBase, CLAUSE_LABELS, clauseExistenceRowSchema, countersignSubmissionSchema, judgeMechanismRowSchema, judgeSubmissionSchema, inspectorSubmissionSchema, auditorSubmissionSchema;
485
485
  var init_review_submission = __esm({
486
486
  "src/review-submission.ts"() {
487
487
  "use strict";
@@ -522,7 +522,7 @@ var init_review_submission = __esm({
522
522
  notaryClauseItemSchema = Type2.Object(
523
523
  {
524
524
  clause: Type2.String({
525
- description: "\u7968\u9762\u6761\u6B3E\u539F\u6587\uFF08\u6539\u53D8\u5B9E\u9645\u884C\u4E3A\u7684\u6761\u6B3E\uFF1B\u4E0D\u5408\u5E76\u3001\u4E0D\u6539\u5199\uFF09"
525
+ description: "\u7968\u9762\u6761\u6B3E\u539F\u6587\uFF08\u6539\u53D8\u5B9E\u9645\u884C\u4E3A\u7684\u6761\u6B3E\uFF1B\u4E0D\u5408\u5E76\u3001\u4E0D\u6539\u5199\uFF09\uFF1B\u7968\u9762\u70B9\u540D\u4E3A\u6CD5\u6E90\u7684 ADR \u91CC\u672C\u7968\u65B0\u5199\u6216\u6539\u8FC7\u7684\u51B3\u5B9A\u53E5\u4E5F\u7B97\u4E00\u6761\uFF0C\u524D\u7F00\u6587\u4EF6\u540D\u7167\u6284"
526
526
  }),
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"
@@ -546,14 +546,44 @@ var init_review_submission = __esm({
546
546
  { additionalProperties: true }
547
547
  );
548
548
  notaryClausesField = Type2.Array(notaryClauseItemSchema, {
549
- description: "\u7968\u9762\u9010\u6761\u6838\u65E8\u8868\uFF0C\u6BCF\u4E00\u8F6E\u90FD\u586B\uFF0C\u4E0D\u8BBA\u672C\u8F6E\u53D7\u5BA1\u7684\u662F\u7968\u9762\u8FD8\u662F\u5927\u7406\u5BFA\u7684\u5224\u8BCD\uFF1A\u73B0\u884C\u7968\u9762\u6BCF\u6761\u6539\u53D8\u5B9E\u9645\u884C\u4E3A\u7684\u6761\u6B3E\u7684\u539F\u6587\u3001\u965B\u4E0B\u539F\u8BDD uuid\u3001\u63A8\u5BFC\u3001\u662F\u5426\u5728\u6700\u540E\u4E00\u7B7E\u65F6\u5C31\u5728\u8868\u91CC\u3002\u65E0\u539F\u8BDD\u5219 ownerUuid \u4E3A null\u3002\u771F\u65E0\u7968\u5BF9\u8C61\u6CA1\u6709\u7968\u9762\uFF0C\u586B\u7A7A\u6570\u7EC4\u3002"
549
+ description: "\u7968\u9762\u9010\u6761\u6838\u65E8\u8868\uFF0C\u6BCF\u4E00\u8F6E\u90FD\u586B\uFF0C\u4E0D\u8BBA\u672C\u8F6E\u53D7\u5BA1\u7684\u662F\u7968\u9762\u8FD8\u662F\u5927\u7406\u5BFA\u7684\u5224\u8BCD\uFF1A\u73B0\u884C\u7968\u9762\u6BCF\u6761\u6539\u53D8\u5B9E\u9645\u884C\u4E3A\u7684\u6761\u6B3E\u7684\u539F\u6587\uFF08\u542B\u7968\u9762\u70B9\u540D\u4E3A\u6CD5\u6E90\u7684 ADR \u91CC\u672C\u7968\u65B0\u5199\u6216\u6539\u8FC7\u7684\u51B3\u5B9A\u53E5\uFF09\u3001\u965B\u4E0B\u539F\u8BDD uuid\u3001\u63A8\u5BFC\u3001\u662F\u5426\u5728\u6700\u540E\u4E00\u7B7E\u65F6\u5C31\u5728\u8868\u91CC\u3002\u65E0\u539F\u8BDD\u5219 ownerUuid \u4E3A null\u3002\u771F\u65E0\u7968\u5BF9\u8C61\u6CA1\u6709\u7968\u9762\uFF0C\u586B\u7A7A\u6570\u7EC4\u3002"
550
+ });
551
+ adrRowBase = {
552
+ ownerUuid: Type2.String({ description: "\u965B\u4E0B\u62CD\u5B9A\u90A3\u53E5\u539F\u8BDD\u7684 uuid" }),
553
+ decided: Type2.String({
554
+ description: "\u90A3\u53E5\u62CD\u5B9A\u4E86\u4EC0\u4E48\uFF1A\u7167\u539F\u8BCD\uFF0C\u4E0D\u6982\u62EC\u3001\u4E0D\u5408\u5E76\uFF08\u56DB\u5C42\u5206\u5DE5\u3001\u56DB\u6761\u89C4\u77E9\u3001\u8D26\u672C\u53EA\u5B58\u4E8B\u5B9E\u2026\u2026\u4E00\u6761\u4E00\u884C\uFF09"
555
+ })
556
+ };
557
+ notaryAdrRowSchema = Type2.Union([
558
+ Type2.Object(
559
+ {
560
+ ...adrRowBase,
561
+ adr: Type2.String({ description: "\u843D\u5904\uFF1Adocs/adr \u6587\u4EF6\u540D\uFF0B\u6587\u5185\u627F\u8F7D\u8FD9\u6761\u62CD\u5B9A\u7684\u90A3\u4E00\u53E5\u539F\u6587\uFF08\u7167\u6284\uFF09" }),
562
+ landed: Type2.Literal("\u843D\u4E86\uFF1AADR \u6587\u5185\u6709\u627F\u8F7D\u5B83\u7684\u53E5\u5B50")
563
+ },
564
+ { additionalProperties: true }
565
+ ),
566
+ Type2.Object(
567
+ {
568
+ ...adrRowBase,
569
+ adr: Type2.Null(),
570
+ landed: Type2.Literal(
571
+ "\u672A\u843D\uFF1AADR \u6587\u5185\u6CA1\u6709\u627F\u8F7D\u5B83\u7684\u53E5\u5B50\uFF1B\u7968\u9762\u6761\u6B3E\u5199\u4E86\u3001CLAUDE.md \u4E00\u7C7B\u7D22\u5F15\u8BF4\u67D0\u4EFD ADR \u542B\u5B83\u3001\u5224\u8BCD\u5F15\u8FC7\u5B83\u3001ADR \u6807\u9898\u50CF\uFF0C\u90FD\u4E0D\u662F\u843D\u5904"
572
+ )
573
+ },
574
+ { additionalProperties: true }
575
+ )
576
+ ]);
577
+ notaryAdrField = Type2.Array(notaryAdrRowSchema, {
578
+ description: "ADR \u843D\u5904\u8868\uFF1A\u53D7\u5BA1\u4E4B\u7269\u662F\u7ED9\u4E8B\u4E2D\u5BF9\u7968\u9762\u7684\u5224\u8BCD\uFF08\u7968\u5EAD\uFF09\u65F6\u586B\u2014\u2014\u8D77\u5C45\u5F55\u4E0E\u6E90\u5377\u91CC\u965B\u4E0B\u62CD\u5B9A\u7684\u3001\u8BE5\u8FDB ADR \u7684\u51B3\u5B9A\uFF08\u67B6\u6784\u5F62\u72B6\u3001\u5206\u5C42\u4E0E\u8FB9\u754C\u3001\u6280\u672F\u9009\u578B\u3001\u523B\u610F\u504F\u79BB\u5E38\u89C4\u7684\u505A\u6CD5\uFF1A\u96BE\u9006\u3001\u8BFB\u4EE3\u7801\u7684\u4EBA\u4F1A\u95EE\u4E3A\u4EC0\u4E48\u7684\u90A3\u7C7B\uFF09\uFF0C\u6BCF\u6761\u4E00\u884C\uFF0C\u5230 docs/adr \u91CC\u627E\u627F\u8F7D\u5B83\u7684\u90A3\u4E00\u53E5\uFF1B\u600E\u4E48\u6D4B\u3001\u600E\u4E48\u5206\u652F\u5408\u5165\u3001\u6570\u636E\u600E\u4E48\u8865\u3001\u5B57\u6BB5\u53EB\u4EC0\u4E48\u8FD9\u7C7B\u529E\u4E8B\u65B9\u6CD5\u4E0E\u7968\u5185\u7EC6\u8282\u4E0D\u5217\u3002\u6709\u300C\u672A\u843D\u300D\u884C\uFF0Cstatus \u53EA\u80FD\u662F escalate\uFF0C\u62CD\u5B9A\u539F\u6587\u4E0E\u5B83\u8BE5\u8FDB\u54EA\u4EFD ADR \u5217\u8FDB decisionGate\uFF0C\u8FDB\u4E0D\u8FDB\u7531\u965B\u4E0B\u5B9A\u3002\u53D7\u5BA1\u4E4B\u7269\u662F\u5927\u7406\u5BFA\u7684\u5224\u8BCD\u3001\u4FEE\u6CD5\u65B9\u5411\u6216\u6536\u655B\u7684\u5B9E\u73B0\u65F6\u4E3A\u7A7A\u6570\u7EC4\u3002"
550
579
  });
551
580
  notaryReviewSubmissionSchema = withTerminatingOutputDeclarations(
552
581
  Type2.Object(
553
582
  {
554
583
  status: reviewStatusField,
555
584
  ...reviewNarrativeFields,
556
- clauses: notaryClausesField
585
+ clauses: notaryClausesField,
586
+ adr: notaryAdrField
557
587
  },
558
588
  { additionalProperties: true }
559
589
  )
@@ -8707,7 +8707,7 @@ var init_navigator_output = __esm({
8707
8707
  });
8708
8708
 
8709
8709
  // src/review-submission.ts
8710
- var REVIEW_SUBMISSION_OUTPUT_TOOL_NAME, REVIEW_QUEUE_WORDS, REVIEW_QUEUE_STATUSES, reviewStatusField, reviewNarrativeFields, reviewSubmissionSchema, notaryClauseItemSchema, notaryClausesField, notaryReviewSubmissionSchema, ticketComplexityRowSchema, mechanismRowBase, MECHANISM_FRAMEWORK_RULE, existenceRowUnion, MECHANISM_LABELS, mechanismRowUnion, mechanismRowSchema, auditorMechanismRowSchema, clauseRowBase, CLAUSE_LABELS, clauseExistenceRowSchema, countersignSubmissionSchema, judgeMechanismRowSchema, judgeSubmissionSchema, inspectorSubmissionSchema, auditorSubmissionSchema;
8710
+ var REVIEW_SUBMISSION_OUTPUT_TOOL_NAME, REVIEW_QUEUE_WORDS, REVIEW_QUEUE_STATUSES, reviewStatusField, reviewNarrativeFields, reviewSubmissionSchema, notaryClauseItemSchema, notaryClausesField, adrRowBase, notaryAdrRowSchema, notaryAdrField, notaryReviewSubmissionSchema, ticketComplexityRowSchema, mechanismRowBase, MECHANISM_FRAMEWORK_RULE, existenceRowUnion, MECHANISM_LABELS, mechanismRowUnion, mechanismRowSchema, auditorMechanismRowSchema, clauseRowBase, CLAUSE_LABELS, clauseExistenceRowSchema, countersignSubmissionSchema, judgeMechanismRowSchema, judgeSubmissionSchema, inspectorSubmissionSchema, auditorSubmissionSchema;
8711
8711
  var init_review_submission = __esm({
8712
8712
  "src/review-submission.ts"() {
8713
8713
  "use strict";
@@ -8749,7 +8749,7 @@ var init_review_submission = __esm({
8749
8749
  notaryClauseItemSchema = typebox_exports.Object(
8750
8750
  {
8751
8751
  clause: typebox_exports.String({
8752
- description: "\u7968\u9762\u6761\u6B3E\u539F\u6587\uFF08\u6539\u53D8\u5B9E\u9645\u884C\u4E3A\u7684\u6761\u6B3E\uFF1B\u4E0D\u5408\u5E76\u3001\u4E0D\u6539\u5199\uFF09"
8752
+ description: "\u7968\u9762\u6761\u6B3E\u539F\u6587\uFF08\u6539\u53D8\u5B9E\u9645\u884C\u4E3A\u7684\u6761\u6B3E\uFF1B\u4E0D\u5408\u5E76\u3001\u4E0D\u6539\u5199\uFF09\uFF1B\u7968\u9762\u70B9\u540D\u4E3A\u6CD5\u6E90\u7684 ADR \u91CC\u672C\u7968\u65B0\u5199\u6216\u6539\u8FC7\u7684\u51B3\u5B9A\u53E5\u4E5F\u7B97\u4E00\u6761\uFF0C\u524D\u7F00\u6587\u4EF6\u540D\u7167\u6284"
8753
8753
  }),
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"
@@ -8773,14 +8773,44 @@ var init_review_submission = __esm({
8773
8773
  { additionalProperties: true }
8774
8774
  );
8775
8775
  notaryClausesField = typebox_exports.Array(notaryClauseItemSchema, {
8776
- description: "\u7968\u9762\u9010\u6761\u6838\u65E8\u8868\uFF0C\u6BCF\u4E00\u8F6E\u90FD\u586B\uFF0C\u4E0D\u8BBA\u672C\u8F6E\u53D7\u5BA1\u7684\u662F\u7968\u9762\u8FD8\u662F\u5927\u7406\u5BFA\u7684\u5224\u8BCD\uFF1A\u73B0\u884C\u7968\u9762\u6BCF\u6761\u6539\u53D8\u5B9E\u9645\u884C\u4E3A\u7684\u6761\u6B3E\u7684\u539F\u6587\u3001\u965B\u4E0B\u539F\u8BDD uuid\u3001\u63A8\u5BFC\u3001\u662F\u5426\u5728\u6700\u540E\u4E00\u7B7E\u65F6\u5C31\u5728\u8868\u91CC\u3002\u65E0\u539F\u8BDD\u5219 ownerUuid \u4E3A null\u3002\u771F\u65E0\u7968\u5BF9\u8C61\u6CA1\u6709\u7968\u9762\uFF0C\u586B\u7A7A\u6570\u7EC4\u3002"
8776
+ description: "\u7968\u9762\u9010\u6761\u6838\u65E8\u8868\uFF0C\u6BCF\u4E00\u8F6E\u90FD\u586B\uFF0C\u4E0D\u8BBA\u672C\u8F6E\u53D7\u5BA1\u7684\u662F\u7968\u9762\u8FD8\u662F\u5927\u7406\u5BFA\u7684\u5224\u8BCD\uFF1A\u73B0\u884C\u7968\u9762\u6BCF\u6761\u6539\u53D8\u5B9E\u9645\u884C\u4E3A\u7684\u6761\u6B3E\u7684\u539F\u6587\uFF08\u542B\u7968\u9762\u70B9\u540D\u4E3A\u6CD5\u6E90\u7684 ADR \u91CC\u672C\u7968\u65B0\u5199\u6216\u6539\u8FC7\u7684\u51B3\u5B9A\u53E5\uFF09\u3001\u965B\u4E0B\u539F\u8BDD uuid\u3001\u63A8\u5BFC\u3001\u662F\u5426\u5728\u6700\u540E\u4E00\u7B7E\u65F6\u5C31\u5728\u8868\u91CC\u3002\u65E0\u539F\u8BDD\u5219 ownerUuid \u4E3A null\u3002\u771F\u65E0\u7968\u5BF9\u8C61\u6CA1\u6709\u7968\u9762\uFF0C\u586B\u7A7A\u6570\u7EC4\u3002"
8777
+ });
8778
+ adrRowBase = {
8779
+ ownerUuid: typebox_exports.String({ description: "\u965B\u4E0B\u62CD\u5B9A\u90A3\u53E5\u539F\u8BDD\u7684 uuid" }),
8780
+ decided: typebox_exports.String({
8781
+ description: "\u90A3\u53E5\u62CD\u5B9A\u4E86\u4EC0\u4E48\uFF1A\u7167\u539F\u8BCD\uFF0C\u4E0D\u6982\u62EC\u3001\u4E0D\u5408\u5E76\uFF08\u56DB\u5C42\u5206\u5DE5\u3001\u56DB\u6761\u89C4\u77E9\u3001\u8D26\u672C\u53EA\u5B58\u4E8B\u5B9E\u2026\u2026\u4E00\u6761\u4E00\u884C\uFF09"
8782
+ })
8783
+ };
8784
+ notaryAdrRowSchema = typebox_exports.Union([
8785
+ typebox_exports.Object(
8786
+ {
8787
+ ...adrRowBase,
8788
+ adr: typebox_exports.String({ description: "\u843D\u5904\uFF1Adocs/adr \u6587\u4EF6\u540D\uFF0B\u6587\u5185\u627F\u8F7D\u8FD9\u6761\u62CD\u5B9A\u7684\u90A3\u4E00\u53E5\u539F\u6587\uFF08\u7167\u6284\uFF09" }),
8789
+ landed: typebox_exports.Literal("\u843D\u4E86\uFF1AADR \u6587\u5185\u6709\u627F\u8F7D\u5B83\u7684\u53E5\u5B50")
8790
+ },
8791
+ { additionalProperties: true }
8792
+ ),
8793
+ typebox_exports.Object(
8794
+ {
8795
+ ...adrRowBase,
8796
+ adr: typebox_exports.Null(),
8797
+ landed: typebox_exports.Literal(
8798
+ "\u672A\u843D\uFF1AADR \u6587\u5185\u6CA1\u6709\u627F\u8F7D\u5B83\u7684\u53E5\u5B50\uFF1B\u7968\u9762\u6761\u6B3E\u5199\u4E86\u3001CLAUDE.md \u4E00\u7C7B\u7D22\u5F15\u8BF4\u67D0\u4EFD ADR \u542B\u5B83\u3001\u5224\u8BCD\u5F15\u8FC7\u5B83\u3001ADR \u6807\u9898\u50CF\uFF0C\u90FD\u4E0D\u662F\u843D\u5904"
8799
+ )
8800
+ },
8801
+ { additionalProperties: true }
8802
+ )
8803
+ ]);
8804
+ notaryAdrField = typebox_exports.Array(notaryAdrRowSchema, {
8805
+ description: "ADR \u843D\u5904\u8868\uFF1A\u53D7\u5BA1\u4E4B\u7269\u662F\u7ED9\u4E8B\u4E2D\u5BF9\u7968\u9762\u7684\u5224\u8BCD\uFF08\u7968\u5EAD\uFF09\u65F6\u586B\u2014\u2014\u8D77\u5C45\u5F55\u4E0E\u6E90\u5377\u91CC\u965B\u4E0B\u62CD\u5B9A\u7684\u3001\u8BE5\u8FDB ADR \u7684\u51B3\u5B9A\uFF08\u67B6\u6784\u5F62\u72B6\u3001\u5206\u5C42\u4E0E\u8FB9\u754C\u3001\u6280\u672F\u9009\u578B\u3001\u523B\u610F\u504F\u79BB\u5E38\u89C4\u7684\u505A\u6CD5\uFF1A\u96BE\u9006\u3001\u8BFB\u4EE3\u7801\u7684\u4EBA\u4F1A\u95EE\u4E3A\u4EC0\u4E48\u7684\u90A3\u7C7B\uFF09\uFF0C\u6BCF\u6761\u4E00\u884C\uFF0C\u5230 docs/adr \u91CC\u627E\u627F\u8F7D\u5B83\u7684\u90A3\u4E00\u53E5\uFF1B\u600E\u4E48\u6D4B\u3001\u600E\u4E48\u5206\u652F\u5408\u5165\u3001\u6570\u636E\u600E\u4E48\u8865\u3001\u5B57\u6BB5\u53EB\u4EC0\u4E48\u8FD9\u7C7B\u529E\u4E8B\u65B9\u6CD5\u4E0E\u7968\u5185\u7EC6\u8282\u4E0D\u5217\u3002\u6709\u300C\u672A\u843D\u300D\u884C\uFF0Cstatus \u53EA\u80FD\u662F escalate\uFF0C\u62CD\u5B9A\u539F\u6587\u4E0E\u5B83\u8BE5\u8FDB\u54EA\u4EFD ADR \u5217\u8FDB decisionGate\uFF0C\u8FDB\u4E0D\u8FDB\u7531\u965B\u4E0B\u5B9A\u3002\u53D7\u5BA1\u4E4B\u7269\u662F\u5927\u7406\u5BFA\u7684\u5224\u8BCD\u3001\u4FEE\u6CD5\u65B9\u5411\u6216\u6536\u655B\u7684\u5B9E\u73B0\u65F6\u4E3A\u7A7A\u6570\u7EC4\u3002"
8777
8806
  });
8778
8807
  notaryReviewSubmissionSchema = withTerminatingOutputDeclarations(
8779
8808
  typebox_exports.Object(
8780
8809
  {
8781
8810
  status: reviewStatusField,
8782
8811
  ...reviewNarrativeFields,
8783
- clauses: notaryClausesField
8812
+ clauses: notaryClausesField,
8813
+ adr: notaryAdrField
8784
8814
  },
8785
8815
  { additionalProperties: true }
8786
8816
  )
@@ -9197,7 +9197,7 @@ var init_navigator_output = __esm({
9197
9197
  });
9198
9198
 
9199
9199
  // src/review-submission.ts
9200
- var REVIEW_SUBMISSION_OUTPUT_TOOL_NAME, REVIEW_QUEUE_WORDS, REVIEW_QUEUE_STATUSES, reviewStatusField, reviewNarrativeFields, reviewSubmissionSchema, notaryClauseItemSchema, notaryClausesField, notaryReviewSubmissionSchema, ticketComplexityRowSchema, mechanismRowBase, MECHANISM_FRAMEWORK_RULE, existenceRowUnion, MECHANISM_LABELS, mechanismRowUnion, mechanismRowSchema, auditorMechanismRowSchema, clauseRowBase, CLAUSE_LABELS, clauseExistenceRowSchema, countersignSubmissionSchema, judgeMechanismRowSchema, judgeSubmissionSchema, inspectorSubmissionSchema, auditorSubmissionSchema;
9200
+ var REVIEW_SUBMISSION_OUTPUT_TOOL_NAME, REVIEW_QUEUE_WORDS, REVIEW_QUEUE_STATUSES, reviewStatusField, reviewNarrativeFields, reviewSubmissionSchema, notaryClauseItemSchema, notaryClausesField, adrRowBase, notaryAdrRowSchema, notaryAdrField, notaryReviewSubmissionSchema, ticketComplexityRowSchema, mechanismRowBase, MECHANISM_FRAMEWORK_RULE, existenceRowUnion, MECHANISM_LABELS, mechanismRowUnion, mechanismRowSchema, auditorMechanismRowSchema, clauseRowBase, CLAUSE_LABELS, clauseExistenceRowSchema, countersignSubmissionSchema, judgeMechanismRowSchema, judgeSubmissionSchema, inspectorSubmissionSchema, auditorSubmissionSchema;
9201
9201
  var init_review_submission = __esm({
9202
9202
  "src/review-submission.ts"() {
9203
9203
  "use strict";
@@ -9239,7 +9239,7 @@ var init_review_submission = __esm({
9239
9239
  notaryClauseItemSchema = typebox_exports.Object(
9240
9240
  {
9241
9241
  clause: typebox_exports.String({
9242
- description: "\u7968\u9762\u6761\u6B3E\u539F\u6587\uFF08\u6539\u53D8\u5B9E\u9645\u884C\u4E3A\u7684\u6761\u6B3E\uFF1B\u4E0D\u5408\u5E76\u3001\u4E0D\u6539\u5199\uFF09"
9242
+ description: "\u7968\u9762\u6761\u6B3E\u539F\u6587\uFF08\u6539\u53D8\u5B9E\u9645\u884C\u4E3A\u7684\u6761\u6B3E\uFF1B\u4E0D\u5408\u5E76\u3001\u4E0D\u6539\u5199\uFF09\uFF1B\u7968\u9762\u70B9\u540D\u4E3A\u6CD5\u6E90\u7684 ADR \u91CC\u672C\u7968\u65B0\u5199\u6216\u6539\u8FC7\u7684\u51B3\u5B9A\u53E5\u4E5F\u7B97\u4E00\u6761\uFF0C\u524D\u7F00\u6587\u4EF6\u540D\u7167\u6284"
9243
9243
  }),
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"
@@ -9263,14 +9263,44 @@ var init_review_submission = __esm({
9263
9263
  { additionalProperties: true }
9264
9264
  );
9265
9265
  notaryClausesField = typebox_exports.Array(notaryClauseItemSchema, {
9266
- description: "\u7968\u9762\u9010\u6761\u6838\u65E8\u8868\uFF0C\u6BCF\u4E00\u8F6E\u90FD\u586B\uFF0C\u4E0D\u8BBA\u672C\u8F6E\u53D7\u5BA1\u7684\u662F\u7968\u9762\u8FD8\u662F\u5927\u7406\u5BFA\u7684\u5224\u8BCD\uFF1A\u73B0\u884C\u7968\u9762\u6BCF\u6761\u6539\u53D8\u5B9E\u9645\u884C\u4E3A\u7684\u6761\u6B3E\u7684\u539F\u6587\u3001\u965B\u4E0B\u539F\u8BDD uuid\u3001\u63A8\u5BFC\u3001\u662F\u5426\u5728\u6700\u540E\u4E00\u7B7E\u65F6\u5C31\u5728\u8868\u91CC\u3002\u65E0\u539F\u8BDD\u5219 ownerUuid \u4E3A null\u3002\u771F\u65E0\u7968\u5BF9\u8C61\u6CA1\u6709\u7968\u9762\uFF0C\u586B\u7A7A\u6570\u7EC4\u3002"
9266
+ description: "\u7968\u9762\u9010\u6761\u6838\u65E8\u8868\uFF0C\u6BCF\u4E00\u8F6E\u90FD\u586B\uFF0C\u4E0D\u8BBA\u672C\u8F6E\u53D7\u5BA1\u7684\u662F\u7968\u9762\u8FD8\u662F\u5927\u7406\u5BFA\u7684\u5224\u8BCD\uFF1A\u73B0\u884C\u7968\u9762\u6BCF\u6761\u6539\u53D8\u5B9E\u9645\u884C\u4E3A\u7684\u6761\u6B3E\u7684\u539F\u6587\uFF08\u542B\u7968\u9762\u70B9\u540D\u4E3A\u6CD5\u6E90\u7684 ADR \u91CC\u672C\u7968\u65B0\u5199\u6216\u6539\u8FC7\u7684\u51B3\u5B9A\u53E5\uFF09\u3001\u965B\u4E0B\u539F\u8BDD uuid\u3001\u63A8\u5BFC\u3001\u662F\u5426\u5728\u6700\u540E\u4E00\u7B7E\u65F6\u5C31\u5728\u8868\u91CC\u3002\u65E0\u539F\u8BDD\u5219 ownerUuid \u4E3A null\u3002\u771F\u65E0\u7968\u5BF9\u8C61\u6CA1\u6709\u7968\u9762\uFF0C\u586B\u7A7A\u6570\u7EC4\u3002"
9267
+ });
9268
+ adrRowBase = {
9269
+ ownerUuid: typebox_exports.String({ description: "\u965B\u4E0B\u62CD\u5B9A\u90A3\u53E5\u539F\u8BDD\u7684 uuid" }),
9270
+ decided: typebox_exports.String({
9271
+ description: "\u90A3\u53E5\u62CD\u5B9A\u4E86\u4EC0\u4E48\uFF1A\u7167\u539F\u8BCD\uFF0C\u4E0D\u6982\u62EC\u3001\u4E0D\u5408\u5E76\uFF08\u56DB\u5C42\u5206\u5DE5\u3001\u56DB\u6761\u89C4\u77E9\u3001\u8D26\u672C\u53EA\u5B58\u4E8B\u5B9E\u2026\u2026\u4E00\u6761\u4E00\u884C\uFF09"
9272
+ })
9273
+ };
9274
+ notaryAdrRowSchema = typebox_exports.Union([
9275
+ typebox_exports.Object(
9276
+ {
9277
+ ...adrRowBase,
9278
+ adr: typebox_exports.String({ description: "\u843D\u5904\uFF1Adocs/adr \u6587\u4EF6\u540D\uFF0B\u6587\u5185\u627F\u8F7D\u8FD9\u6761\u62CD\u5B9A\u7684\u90A3\u4E00\u53E5\u539F\u6587\uFF08\u7167\u6284\uFF09" }),
9279
+ landed: typebox_exports.Literal("\u843D\u4E86\uFF1AADR \u6587\u5185\u6709\u627F\u8F7D\u5B83\u7684\u53E5\u5B50")
9280
+ },
9281
+ { additionalProperties: true }
9282
+ ),
9283
+ typebox_exports.Object(
9284
+ {
9285
+ ...adrRowBase,
9286
+ adr: typebox_exports.Null(),
9287
+ landed: typebox_exports.Literal(
9288
+ "\u672A\u843D\uFF1AADR \u6587\u5185\u6CA1\u6709\u627F\u8F7D\u5B83\u7684\u53E5\u5B50\uFF1B\u7968\u9762\u6761\u6B3E\u5199\u4E86\u3001CLAUDE.md \u4E00\u7C7B\u7D22\u5F15\u8BF4\u67D0\u4EFD ADR \u542B\u5B83\u3001\u5224\u8BCD\u5F15\u8FC7\u5B83\u3001ADR \u6807\u9898\u50CF\uFF0C\u90FD\u4E0D\u662F\u843D\u5904"
9289
+ )
9290
+ },
9291
+ { additionalProperties: true }
9292
+ )
9293
+ ]);
9294
+ notaryAdrField = typebox_exports.Array(notaryAdrRowSchema, {
9295
+ description: "ADR \u843D\u5904\u8868\uFF1A\u53D7\u5BA1\u4E4B\u7269\u662F\u7ED9\u4E8B\u4E2D\u5BF9\u7968\u9762\u7684\u5224\u8BCD\uFF08\u7968\u5EAD\uFF09\u65F6\u586B\u2014\u2014\u8D77\u5C45\u5F55\u4E0E\u6E90\u5377\u91CC\u965B\u4E0B\u62CD\u5B9A\u7684\u3001\u8BE5\u8FDB ADR \u7684\u51B3\u5B9A\uFF08\u67B6\u6784\u5F62\u72B6\u3001\u5206\u5C42\u4E0E\u8FB9\u754C\u3001\u6280\u672F\u9009\u578B\u3001\u523B\u610F\u504F\u79BB\u5E38\u89C4\u7684\u505A\u6CD5\uFF1A\u96BE\u9006\u3001\u8BFB\u4EE3\u7801\u7684\u4EBA\u4F1A\u95EE\u4E3A\u4EC0\u4E48\u7684\u90A3\u7C7B\uFF09\uFF0C\u6BCF\u6761\u4E00\u884C\uFF0C\u5230 docs/adr \u91CC\u627E\u627F\u8F7D\u5B83\u7684\u90A3\u4E00\u53E5\uFF1B\u600E\u4E48\u6D4B\u3001\u600E\u4E48\u5206\u652F\u5408\u5165\u3001\u6570\u636E\u600E\u4E48\u8865\u3001\u5B57\u6BB5\u53EB\u4EC0\u4E48\u8FD9\u7C7B\u529E\u4E8B\u65B9\u6CD5\u4E0E\u7968\u5185\u7EC6\u8282\u4E0D\u5217\u3002\u6709\u300C\u672A\u843D\u300D\u884C\uFF0Cstatus \u53EA\u80FD\u662F escalate\uFF0C\u62CD\u5B9A\u539F\u6587\u4E0E\u5B83\u8BE5\u8FDB\u54EA\u4EFD ADR \u5217\u8FDB decisionGate\uFF0C\u8FDB\u4E0D\u8FDB\u7531\u965B\u4E0B\u5B9A\u3002\u53D7\u5BA1\u4E4B\u7269\u662F\u5927\u7406\u5BFA\u7684\u5224\u8BCD\u3001\u4FEE\u6CD5\u65B9\u5411\u6216\u6536\u655B\u7684\u5B9E\u73B0\u65F6\u4E3A\u7A7A\u6570\u7EC4\u3002"
9267
9296
  });
9268
9297
  notaryReviewSubmissionSchema = withTerminatingOutputDeclarations(
9269
9298
  typebox_exports.Object(
9270
9299
  {
9271
9300
  status: reviewStatusField,
9272
9301
  ...reviewNarrativeFields,
9273
- clauses: notaryClausesField
9302
+ clauses: notaryClausesField,
9303
+ adr: notaryAdrField
9274
9304
  },
9275
9305
  { additionalProperties: true }
9276
9306
  )
@@ -41,7 +41,7 @@ export const reviewSubmissionSchema = withTerminatingOutputDeclarations(Type.Obj
41
41
  */
42
42
  export const notaryClauseItemSchema = Type.Object({
43
43
  clause: Type.String({
44
- description: "票面条款原文(改变实际行为的条款;不合并、不改写)",
44
+ description: "票面条款原文(改变实际行为的条款;不合并、不改写);票面点名为法源的 ADR 里本票新写或改过的决定句也算一条,前缀文件名照抄",
45
45
  }),
46
46
  ownerUuid: Type.Union([Type.String(), Type.Null()], {
47
47
  description: "推出该条的陛下原话 uuid;无原话则 null",
@@ -60,7 +60,34 @@ export const notaryClauseItemSchema = Type.Object({
60
60
  }),
61
61
  }, { additionalProperties: true });
62
62
  export const notaryClausesField = Type.Array(notaryClauseItemSchema, {
63
- description: "票面逐条核旨表,每一轮都填,不论本轮受审的是票面还是大理寺的判词:现行票面每条改变实际行为的条款的原文、陛下原话 uuid、推导、是否在最后一签时就在表里。无原话则 ownerUuid 为 null。真无票对象没有票面,填空数组。",
63
+ description: "票面逐条核旨表,每一轮都填,不论本轮受审的是票面还是大理寺的判词:现行票面每条改变实际行为的条款的原文(含票面点名为法源的 ADR 里本票新写或改过的决定句)、陛下原话 uuid、推导、是否在最后一签时就在表里。无原话则 ownerUuid 为 null。真无票对象没有票面,填空数组。",
64
+ });
65
+ /**
66
+ * Notary ADR-landing row (2026-10-30, 陛下: summoned by the countersign gate, the notary checks the grill's ADR
67
+ * against the owner's words). One row per owner decision at the direction/design/decision level; two row shapes,
68
+ * no third: the ADR text carries the sentence (adr filled, 落了) or it does not (adr null, 未落). A ticket clause,
69
+ * a CLAUDE.md index line, a verdict citation or an ADR title is not a landing.
70
+ */
71
+ const adrRowBase = {
72
+ ownerUuid: Type.String({ description: "陛下拍定那句原话的 uuid" }),
73
+ decided: Type.String({
74
+ description: "那句拍定了什么:照原词,不概括、不合并(四层分工、四条规矩、账本只存事实……一条一行)",
75
+ }),
76
+ };
77
+ export const notaryAdrRowSchema = Type.Union([
78
+ Type.Object({
79
+ ...adrRowBase,
80
+ adr: Type.String({ description: "落处:docs/adr 文件名+文内承载这条拍定的那一句原文(照抄)" }),
81
+ landed: Type.Literal("落了:ADR 文内有承载它的句子"),
82
+ }, { additionalProperties: true }),
83
+ Type.Object({
84
+ ...adrRowBase,
85
+ adr: Type.Null(),
86
+ landed: Type.Literal("未落:ADR 文内没有承载它的句子;票面条款写了、CLAUDE.md 一类索引说某份 ADR 含它、判词引过它、ADR 标题像,都不是落处"),
87
+ }, { additionalProperties: true }),
88
+ ]);
89
+ export const notaryAdrField = Type.Array(notaryAdrRowSchema, {
90
+ description: "ADR 落处表:受审之物是给事中对票面的判词(票庭)时填——起居录与源卷里陛下拍定的、该进 ADR 的决定(架构形状、分层与边界、技术选型、刻意偏离常规的做法:难逆、读代码的人会问为什么的那类),每条一行,到 docs/adr 里找承载它的那一句;怎么测、怎么分支合入、数据怎么补、字段叫什么这类办事方法与票内细节不列。有「未落」行,status 只能是 escalate,拍定原文与它该进哪份 ADR 列进 decisionGate,进不进由陛下定。受审之物是大理寺的判词、修法方向或收敛的实现时为空数组。",
64
91
  });
65
92
  /**
66
93
  * Notary generation schema (#1195): shared review face plus
@@ -70,6 +97,7 @@ export const notaryReviewSubmissionSchema = withTerminatingOutputDeclarations(Ty
70
97
  status: reviewStatusField,
71
98
  ...reviewNarrativeFields,
72
99
  clauses: notaryClausesField,
100
+ adr: notaryAdrField,
73
101
  }, { additionalProperties: true }));
74
102
  /** Inspector whole-ticket complexity row: one quality-law deletion clause, answered for the whole ticket. */
75
103
  export const ticketComplexityRowSchema = Type.Object({
@@ -4,7 +4,7 @@ Status: accepted
4
4
 
5
5
  交卷工具 schema 保留字段声明与 description;非审核席维持零 required(含记账位)、顶层开放额外属性的原决定。审核席的判别字段 status 则为三态枚举且必填,没有省略 status 的失败例外。审核席仍能交卷、而完成审核所需的外部依赖发生真实基础设施失败时,status 取上呈值,失败细节写入既有 infrastructureFailure;这不是放行或封驳。执行或宿主已失败、审核席无法交卷时,仍由宿主如实失败终局。
6
6
 
7
- 例外一处(2026-10-29 陛下拍,PR #1285):各席的核旨表与存废尺表是生成必填的——符宝郎 clauses(#1195 起)、台院 ticketComplexity/mechanisms、审刑院 mechanisms/runtime、大理寺 mechanisms、给事中与中书省 existence;中书省虽非三态审核席,这张表同样必填。必填只作用于宿主生成端,包侧仍照本条只记录、不拒收。
7
+ 例外一处(2026-10-29 陛下拍,PR #1285):各席的核旨表与存废尺表是生成必填的——符宝郎 clauses(#1195 起)与 adr(ADR 落处表,#1286 起)、台院 ticketComplexity/mechanisms、审刑院 mechanisms/runtime、大理寺 mechanisms、给事中与中书省 existence;中书省虽非三态审核席,这张表同样必填。必填只作用于宿主生成端,包侧仍照本条只记录、不拒收。
8
8
 
9
9
  包侧收卷:审核席除判别字段外,其余字段不必填、不限制,允许额外属性;声明不是包侧校验授权,包不因格式拒收或判死;判别字段没填或读不出时只说读不出并附收到的值,不在重交提示里另写一套状态名。key 名字不必逐字相同,合不合格由审刑院按是否读得懂来判。
10
10
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@akagilnc/pi-workflow-roles",
3
- "version": "0.1.6080",
3
+ "version": "0.1.6086",
4
4
  "description": "Soul-bound workflow roles for Pi",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
package/souls/notary.md CHANGED
@@ -20,9 +20,11 @@
20
20
  键值已写进 ADR、票面已过庭、判词已引用,都不算原话,不豁免。
21
21
  任一病成立,点名该条驳回;拿不准陛下本意的,上呈。
22
22
 
23
+ **三、ADR 落处**:受审之物是票面本身(票庭)那一轮,再做一张表:起居录与源卷里陛下拍定的、该进 ADR 的决定——架构形状、分层与边界、技术选型、刻意偏离常规的做法,难逆、读代码的人会问为什么的那类——每条一行,到 docs/adr 里找承载它的那一句;怎么测、怎么分支合入、数据怎么补、字段叫什么这类办事方法与票内细节不列。落处只认 ADR 文内的句子:票面条款写了、CLAUDE.md 一类索引说某份 ADR「含」它、判词引过它、ADR 标题像,都不是落处。陛下说过要写进 ADR 的(「更新/新增到 adr」一类)而 ADR 里没有那句,是漏写;没说过的也照列,进不进 ADR 由陛下定。有未落的行,status 只能是 escalate,拍定原文与它该进哪份 ADR 列进 decisionGate。反过来,票面点名为法源的 ADR 里本票新写或改过的决定句也是条款,照条款表的规矩找原话(没动的句子不列);ADR 里有、原话推不出的,同为加戏。
24
+
23
25
  方法:按条封驳。
24
26
  取证按《审法·取证授权》与《取证边界》。无法解决的上抛陛下。
25
27
 
26
28
  ## 结论
27
29
 
28
- 结论三态,裁的是被审衙门这一轮的判词站不站得住(票庭是给事中,大理寺庭是大理寺),条款表是你的依据:'converged'(署)——站得住,不论它署了票还是封驳了票:它署了票,而条款表每条都有 uuid 且推导成立;或它封驳了票、退签发方改,而你也查出该改的地方。'continue'(封驳)——站不住,要被审衙门改判重交:它署了票,而条款表查出与原话相抵的条款;或它封驳的理由在原话上不成立。'escalate'(上呈)——有条款 ownerUuid 为 null(无原话),或有条款是最后一签后才出现在票面上(未过庭),陛下定。
30
+ 结论三态,裁的是被审衙门这一轮的判词站不站得住(票庭是给事中,大理寺庭是大理寺),条款表是你的依据:'converged'(署)——站得住,不论它署了票还是封驳了票:它署了票,而条款表每条都有 uuid 且推导成立;或它封驳了票、退签发方改,而你也查出该改的地方。'continue'(封驳)——站不住,要被审衙门改判重交:它署了票,而条款表查出与原话相抵的条款;或它封驳的理由在原话上不成立。'escalate'(上呈)——有条款 ownerUuid 为 null(无原话),或有条款是最后一签后才出现在票面上(未过庭),或 ADR 落处表有未落的拍定,陛下定。
@@ -58,7 +58,7 @@ export const reviewSubmissionSchema = withTerminatingOutputDeclarations(
58
58
  export const notaryClauseItemSchema = Type.Object(
59
59
  {
60
60
  clause: Type.String({
61
- description: "票面条款原文(改变实际行为的条款;不合并、不改写)",
61
+ description: "票面条款原文(改变实际行为的条款;不合并、不改写);票面点名为法源的 ADR 里本票新写或改过的决定句也算一条,前缀文件名照抄",
62
62
  }),
63
63
  ownerUuid: Type.Union([Type.String(), Type.Null()], {
64
64
  description: "推出该条的陛下原话 uuid;无原话则 null",
@@ -87,7 +87,45 @@ export const notaryClauseItemSchema = Type.Object(
87
87
 
88
88
  export const notaryClausesField = Type.Array(notaryClauseItemSchema, {
89
89
  description:
90
- "票面逐条核旨表,每一轮都填,不论本轮受审的是票面还是大理寺的判词:现行票面每条改变实际行为的条款的原文、陛下原话 uuid、推导、是否在最后一签时就在表里。无原话则 ownerUuid 为 null。真无票对象没有票面,填空数组。",
90
+ "票面逐条核旨表,每一轮都填,不论本轮受审的是票面还是大理寺的判词:现行票面每条改变实际行为的条款的原文(含票面点名为法源的 ADR 里本票新写或改过的决定句)、陛下原话 uuid、推导、是否在最后一签时就在表里。无原话则 ownerUuid 为 null。真无票对象没有票面,填空数组。",
91
+ });
92
+
93
+ /**
94
+ * Notary ADR-landing row (2026-10-30, 陛下: summoned by the countersign gate, the notary checks the grill's ADR
95
+ * against the owner's words). One row per owner decision at the direction/design/decision level; two row shapes,
96
+ * no third: the ADR text carries the sentence (adr filled, 落了) or it does not (adr null, 未落). A ticket clause,
97
+ * a CLAUDE.md index line, a verdict citation or an ADR title is not a landing.
98
+ */
99
+ const adrRowBase = {
100
+ ownerUuid: Type.String({ description: "陛下拍定那句原话的 uuid" }),
101
+ decided: Type.String({
102
+ description: "那句拍定了什么:照原词,不概括、不合并(四层分工、四条规矩、账本只存事实……一条一行)",
103
+ }),
104
+ };
105
+ export const notaryAdrRowSchema = Type.Union([
106
+ Type.Object(
107
+ {
108
+ ...adrRowBase,
109
+ adr: Type.String({ description: "落处:docs/adr 文件名+文内承载这条拍定的那一句原文(照抄)" }),
110
+ landed: Type.Literal("落了:ADR 文内有承载它的句子"),
111
+ },
112
+ { additionalProperties: true },
113
+ ),
114
+ Type.Object(
115
+ {
116
+ ...adrRowBase,
117
+ adr: Type.Null(),
118
+ landed: Type.Literal(
119
+ "未落:ADR 文内没有承载它的句子;票面条款写了、CLAUDE.md 一类索引说某份 ADR 含它、判词引过它、ADR 标题像,都不是落处",
120
+ ),
121
+ },
122
+ { additionalProperties: true },
123
+ ),
124
+ ]);
125
+
126
+ export const notaryAdrField = Type.Array(notaryAdrRowSchema, {
127
+ description:
128
+ "ADR 落处表:受审之物是给事中对票面的判词(票庭)时填——起居录与源卷里陛下拍定的、该进 ADR 的决定(架构形状、分层与边界、技术选型、刻意偏离常规的做法:难逆、读代码的人会问为什么的那类),每条一行,到 docs/adr 里找承载它的那一句;怎么测、怎么分支合入、数据怎么补、字段叫什么这类办事方法与票内细节不列。有「未落」行,status 只能是 escalate,拍定原文与它该进哪份 ADR 列进 decisionGate,进不进由陛下定。受审之物是大理寺的判词、修法方向或收敛的实现时为空数组。",
91
129
  });
92
130
 
93
131
  /**
@@ -100,6 +138,7 @@ export const notaryReviewSubmissionSchema = withTerminatingOutputDeclarations(
100
138
  status: reviewStatusField,
101
139
  ...reviewNarrativeFields,
102
140
  clauses: notaryClausesField,
141
+ adr: notaryAdrField,
103
142
  },
104
143
  { additionalProperties: true },
105
144
  ),