@akagilnc/pi-workflow-roles 0.1.6035 → 0.1.6048
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 +44 -2
- package/dist/headless-host/production-host.js +44 -2
- package/dist/migrate-book-topology.js +44 -2
- package/dist/public-cli/main.js +44 -2
- package/dist/review-submission.js +40 -2
- package/package.json +1 -1
- package/souls/inspector.md +2 -0
- package/souls/notary.md +2 -1
- package/src/review-submission.ts +56 -2
|
@@ -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, inspectorSubmissionSchema;
|
|
1685
|
+
var REVIEW_SUBMISSION_OUTPUT_TOOL_NAME, REVIEW_QUEUE_WORDS, REVIEW_QUEUE_STATUSES, reviewStatusField, reviewNarrativeFields, reviewSubmissionSchema, notaryClauseItemSchema, notaryClausesField, notaryReviewSubmissionSchema, ticketComplexityRowSchema, mechanismRowBase, MECHANISM_FRAMEWORK_RULE, mechanismRowSchema, inspectorSubmissionSchema;
|
|
1686
1686
|
var init_review_submission = __esm({
|
|
1687
1687
|
"src/review-submission.ts"() {
|
|
1688
1688
|
"use strict";
|
|
@@ -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 }
|
|
@@ -1759,6 +1765,39 @@ var init_review_submission = __esm({
|
|
|
1759
1765
|
},
|
|
1760
1766
|
{ additionalProperties: true }
|
|
1761
1767
|
);
|
|
1768
|
+
mechanismRowBase = {
|
|
1769
|
+
where: Type5.String({
|
|
1770
|
+
description: "\u672C\u7968\u751F\u4EA7\u4EE3\u7801\u51C0\u589E\u91CC\u7684\u90A3\u4E00\u884C path:line\uFF1A\u65B0\u589E\u4F9D\u8D56\u884C\u3001\u8DE8\u8C03\u7528\u4FDD\u5B58\u7684\u72B6\u6001\uFF08\u6A21\u5757\u7EA7\u6216\u5B9E\u4F8B\u7EA7\u7684\u5B57\u5178\u3001\u96C6\u5408\u3001\u5217\u8868\u3001LRU \u7B49\uFF09\u3001\u9501\u3001\u7F13\u5B58\u88C5\u9970\u6216\u5305\u88C5\uFF1B\u4E00\u884C\u4E00\u6761\uFF0C\u7167 diff \u5217\uFF0C\u4E0D\u5408\u5E76\uFF1B\u6D4B\u8BD5\u5939\u5177\u4E0D\u5217"
|
|
1771
|
+
}),
|
|
1772
|
+
keeps: Type5.String({ description: "\u8FD9\u4E00\u884C\u8BA9\u4EC0\u4E48\u4E1C\u897F\u5728\u4E24\u6B21\u8C03\u7528\u4E4B\u95F4\u7559\u4E0B\u6765\uFF0C\u6216\u6321\u4F4F\u4EC0\u4E48" }),
|
|
1773
|
+
layer: Type5.Integer({ description: "\u4ECE\u672C\u7968\u8D77\u70B9\u5230 HEAD\uFF0C\u8FD9\u662F\u7B2C\u51E0\u5904\u8FD9\u6837\u7684\u65B0\u589E\uFF08\u542B\u524D\u51E0\u8F6E\u5DF2\u7F72\u8FC7\u7684\uFF09" })
|
|
1774
|
+
};
|
|
1775
|
+
MECHANISM_FRAMEWORK_RULE = "\u6846\u67B6\u662F\u4ED3\u5E93 ADR \u6216\u7968\u9762\u70B9\u540D\u7684\u90A3\u4E00\u4E2A\uFF08\u8BFB\u5199\u6A21\u578B\u3001Web\u3001\u6D4B\u8BD5\u7B49\u6846\u67B6\uFF09\uFF0C\u4E0D\u662F\u5E2D\u4F4D\u81EA\u9009\uFF1B\u5B9E\u73B0\u8FD9\u4E00\u5C42\u6240\u7528\u7684\u5E93\uFF08ORM\u3001\u7F13\u5B58\u5E93\u3001\u89E3\u6790\u5E93\uFF09\u4E0D\u662F\u6846\u67B6\uFF0C\u5B83\u7684 API \u9875\u6216\u793A\u4F8B\u586B\u4E0D\u8FDB\u8FD9\u683C\u2014\u2014\u90A3\u7B54\u7684\u662F\u300C\u8FD9\u5C42\u600E\u4E48\u505A\u300D\uFF0C\u8FD9\u683C\u95EE\u7684\u662F\u300C\u793A\u8303\u4E0D\u5E26\u8FD9\u5C42\u600E\u4E48\u529E\u300D";
|
|
1776
|
+
mechanismRowSchema = Type5.Union(
|
|
1777
|
+
[
|
|
1778
|
+
Type5.Object(
|
|
1779
|
+
{
|
|
1780
|
+
...mechanismRowBase,
|
|
1781
|
+
official: Type5.String({
|
|
1782
|
+
description: `\u8FD9\u6BB5\u4EE3\u7801\u6240\u5C5E\u5E94\u7528\u6846\u67B6\u7684\u5B98\u65B9\u793A\u8303\u91CC\uFF0C\u4E0D\u5E26\u8FD9\u4E00\u5C42\u65F6\u540C\u4E00\u5173\u5207\u600E\u4E48\u5904\u7406\uFF1A\u5148\u5199\u6846\u67B6\u540D\uFF0C\u518D\u94FE\u63A5\uFF0B\u539F\u53E5\uFF08\u793A\u8303\u91CC\u76F4\u63A5\u8BFB\u3001\u76F4\u63A5\u67E5\u3001\u4EA4\u7ED9\u6846\u67B6\u54EA\u9879\u8BBE\u7F6E\uFF09\u3002${MECHANISM_FRAMEWORK_RULE}`
|
|
1783
|
+
}),
|
|
1784
|
+
disposition: Type5.Literal("\u5220\uFF1A\u793A\u8303\u4E0D\u5E26\u8FD9\u4E00\u5C42\u4E5F\u5904\u7406\u5F97\u4E86", { description: "official \u586B\u4E86\u5B57\uFF0C\u8FD9\u4E00\u884C\u53EA\u80FD\u662F\u8FD9\u4E2A\u5904\u7F6E" })
|
|
1785
|
+
},
|
|
1786
|
+
{ additionalProperties: true }
|
|
1787
|
+
),
|
|
1788
|
+
Type5.Object(
|
|
1789
|
+
{
|
|
1790
|
+
...mechanismRowBase,
|
|
1791
|
+
official: Type5.Null({
|
|
1792
|
+
description: `\u793A\u8303\u4EE3\u7801\u672C\u8EAB\u5C31\u4E3A\u540C\u4E00\u5173\u5207\u5E26\u540C\u6837\u7684\u72B6\u6001\u3001\u9501\u3001\u7F13\u5B58\u6216\u4F9D\u8D56\uFF1A\u586B null\uFF0C\u5E76\u5728 keeps \u672B\u5C3E\u5199\u6846\u67B6\u540D\u4E0E\u793A\u8303\u91CC\u90A3\u4E00\u5904\u3002${MECHANISM_FRAMEWORK_RULE}`
|
|
1793
|
+
}),
|
|
1794
|
+
disposition: Type5.Literal("\u7559\uFF1A\u793A\u8303\u672C\u8EAB\u5C31\u4E3A\u540C\u4E00\u5173\u5207\u5E26\u540C\u6837\u7684\u5C42", { description: "official \u4E3A null\uFF0C\u8FD9\u4E00\u884C\u53EA\u80FD\u662F\u8FD9\u4E2A\u5904\u7F6E" })
|
|
1795
|
+
},
|
|
1796
|
+
{ additionalProperties: true }
|
|
1797
|
+
)
|
|
1798
|
+
],
|
|
1799
|
+
{ description: "\u4E24\u79CD\u884C\u5F62\uFF0C\u6CA1\u6709\u7B2C\u4E09\u79CD\uFF1A\u793A\u8303\u4E0D\u5E26\u8FD9\u4E00\u5C42\u4E5F\u5904\u7406\u5F97\u4E86\uFF08official \u586B\u5B57\uFF0C\u5220\uFF09\uFF1B\u793A\u8303\u672C\u8EAB\u5C31\u5E26\u540C\u6837\u7684\u5C42\uFF08official null\uFF0C\u7559\uFF09" }
|
|
1800
|
+
);
|
|
1762
1801
|
inspectorSubmissionSchema = withTerminatingOutputDeclarations(
|
|
1763
1802
|
Type5.Object(
|
|
1764
1803
|
{
|
|
@@ -1769,6 +1808,9 @@ var init_review_submission = __esm({
|
|
|
1769
1808
|
}),
|
|
1770
1809
|
ticketComplexity: Type5.Array(ticketComplexityRowSchema, {
|
|
1771
1810
|
description: "\u6574\u7968\u590D\u6742\u5EA6\uFF1A\u672C\u7968\u8D77\u70B9\uFF08\u672C\u5206\u652F\u4E0E\u5BB6\u65CF\u5206\u652F\u6216\u76EE\u6807\u5206\u652F\u7684 git merge-base\uFF09\u5230 HEAD \u7684\u751F\u4EA7\u4E0E\u6D4B\u8BD5\u51C0\u589E\uFF0C\u5BF9\u300A\u8D28\u91CF\u6CD5\u300B\u91CC\u6BCF\u4E00\u53E5\u8981\u6C42\u5220\u9664\u3001\u5408\u5E76\u3001\u590D\u7528\u6216\u4E0D\u53E6\u5199\u7684\u6761\u6587\u5404\u7B54\u4E00\u884C\u3002\u524D\u51E0\u8F6E\u5DF2\u7F72\u8FC7\u7684\u6539\u52A8\u4E5F\u7B97\u5728\u5185\u3002"
|
|
1811
|
+
}),
|
|
1812
|
+
mechanisms: Type5.Array(mechanismRowSchema, {
|
|
1813
|
+
description: "\u6574\u7968\u673A\u5236\u5C42\uFF1A\u672C\u7968\u8D77\u70B9\u5230 HEAD \u751F\u4EA7\u4EE3\u7801\u65B0\u589E\u7684\u6BCF\u4E00\u5904\u4F9D\u8D56\u884C\u3001\u8DE8\u8C03\u7528\u72B6\u6001\u3001\u9501\u3001\u7F13\u5B58\u88C5\u9970\u6216\u5305\u88C5\uFF0C\u5404\u4E00\u884C\uFF0C\u524D\u51E0\u8F6E\u5DF2\u7F72\u8FC7\u7684\u4E5F\u5217\uFF0C\u6D4B\u8BD5\u5939\u5177\u4E0D\u5217\uFF1B\u4E00\u5904\u6CA1\u6709\u4E3A\u7A7A\u6570\u7EC4\u3002"
|
|
1772
1814
|
})
|
|
1773
1815
|
},
|
|
1774
1816
|
{ additionalProperties: true }
|
|
@@ -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, inspectorSubmissionSchema;
|
|
484
|
+
var REVIEW_SUBMISSION_OUTPUT_TOOL_NAME, REVIEW_QUEUE_WORDS, REVIEW_QUEUE_STATUSES, reviewStatusField, reviewNarrativeFields, reviewSubmissionSchema, notaryClauseItemSchema, notaryClausesField, notaryReviewSubmissionSchema, ticketComplexityRowSchema, mechanismRowBase, MECHANISM_FRAMEWORK_RULE, mechanismRowSchema, inspectorSubmissionSchema;
|
|
485
485
|
var init_review_submission = __esm({
|
|
486
486
|
"src/review-submission.ts"() {
|
|
487
487
|
"use strict";
|
|
@@ -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 }
|
|
@@ -558,6 +564,39 @@ var init_review_submission = __esm({
|
|
|
558
564
|
},
|
|
559
565
|
{ additionalProperties: true }
|
|
560
566
|
);
|
|
567
|
+
mechanismRowBase = {
|
|
568
|
+
where: Type2.String({
|
|
569
|
+
description: "\u672C\u7968\u751F\u4EA7\u4EE3\u7801\u51C0\u589E\u91CC\u7684\u90A3\u4E00\u884C path:line\uFF1A\u65B0\u589E\u4F9D\u8D56\u884C\u3001\u8DE8\u8C03\u7528\u4FDD\u5B58\u7684\u72B6\u6001\uFF08\u6A21\u5757\u7EA7\u6216\u5B9E\u4F8B\u7EA7\u7684\u5B57\u5178\u3001\u96C6\u5408\u3001\u5217\u8868\u3001LRU \u7B49\uFF09\u3001\u9501\u3001\u7F13\u5B58\u88C5\u9970\u6216\u5305\u88C5\uFF1B\u4E00\u884C\u4E00\u6761\uFF0C\u7167 diff \u5217\uFF0C\u4E0D\u5408\u5E76\uFF1B\u6D4B\u8BD5\u5939\u5177\u4E0D\u5217"
|
|
570
|
+
}),
|
|
571
|
+
keeps: Type2.String({ description: "\u8FD9\u4E00\u884C\u8BA9\u4EC0\u4E48\u4E1C\u897F\u5728\u4E24\u6B21\u8C03\u7528\u4E4B\u95F4\u7559\u4E0B\u6765\uFF0C\u6216\u6321\u4F4F\u4EC0\u4E48" }),
|
|
572
|
+
layer: Type2.Integer({ description: "\u4ECE\u672C\u7968\u8D77\u70B9\u5230 HEAD\uFF0C\u8FD9\u662F\u7B2C\u51E0\u5904\u8FD9\u6837\u7684\u65B0\u589E\uFF08\u542B\u524D\u51E0\u8F6E\u5DF2\u7F72\u8FC7\u7684\uFF09" })
|
|
573
|
+
};
|
|
574
|
+
MECHANISM_FRAMEWORK_RULE = "\u6846\u67B6\u662F\u4ED3\u5E93 ADR \u6216\u7968\u9762\u70B9\u540D\u7684\u90A3\u4E00\u4E2A\uFF08\u8BFB\u5199\u6A21\u578B\u3001Web\u3001\u6D4B\u8BD5\u7B49\u6846\u67B6\uFF09\uFF0C\u4E0D\u662F\u5E2D\u4F4D\u81EA\u9009\uFF1B\u5B9E\u73B0\u8FD9\u4E00\u5C42\u6240\u7528\u7684\u5E93\uFF08ORM\u3001\u7F13\u5B58\u5E93\u3001\u89E3\u6790\u5E93\uFF09\u4E0D\u662F\u6846\u67B6\uFF0C\u5B83\u7684 API \u9875\u6216\u793A\u4F8B\u586B\u4E0D\u8FDB\u8FD9\u683C\u2014\u2014\u90A3\u7B54\u7684\u662F\u300C\u8FD9\u5C42\u600E\u4E48\u505A\u300D\uFF0C\u8FD9\u683C\u95EE\u7684\u662F\u300C\u793A\u8303\u4E0D\u5E26\u8FD9\u5C42\u600E\u4E48\u529E\u300D";
|
|
575
|
+
mechanismRowSchema = Type2.Union(
|
|
576
|
+
[
|
|
577
|
+
Type2.Object(
|
|
578
|
+
{
|
|
579
|
+
...mechanismRowBase,
|
|
580
|
+
official: Type2.String({
|
|
581
|
+
description: `\u8FD9\u6BB5\u4EE3\u7801\u6240\u5C5E\u5E94\u7528\u6846\u67B6\u7684\u5B98\u65B9\u793A\u8303\u91CC\uFF0C\u4E0D\u5E26\u8FD9\u4E00\u5C42\u65F6\u540C\u4E00\u5173\u5207\u600E\u4E48\u5904\u7406\uFF1A\u5148\u5199\u6846\u67B6\u540D\uFF0C\u518D\u94FE\u63A5\uFF0B\u539F\u53E5\uFF08\u793A\u8303\u91CC\u76F4\u63A5\u8BFB\u3001\u76F4\u63A5\u67E5\u3001\u4EA4\u7ED9\u6846\u67B6\u54EA\u9879\u8BBE\u7F6E\uFF09\u3002${MECHANISM_FRAMEWORK_RULE}`
|
|
582
|
+
}),
|
|
583
|
+
disposition: Type2.Literal("\u5220\uFF1A\u793A\u8303\u4E0D\u5E26\u8FD9\u4E00\u5C42\u4E5F\u5904\u7406\u5F97\u4E86", { description: "official \u586B\u4E86\u5B57\uFF0C\u8FD9\u4E00\u884C\u53EA\u80FD\u662F\u8FD9\u4E2A\u5904\u7F6E" })
|
|
584
|
+
},
|
|
585
|
+
{ additionalProperties: true }
|
|
586
|
+
),
|
|
587
|
+
Type2.Object(
|
|
588
|
+
{
|
|
589
|
+
...mechanismRowBase,
|
|
590
|
+
official: Type2.Null({
|
|
591
|
+
description: `\u793A\u8303\u4EE3\u7801\u672C\u8EAB\u5C31\u4E3A\u540C\u4E00\u5173\u5207\u5E26\u540C\u6837\u7684\u72B6\u6001\u3001\u9501\u3001\u7F13\u5B58\u6216\u4F9D\u8D56\uFF1A\u586B null\uFF0C\u5E76\u5728 keeps \u672B\u5C3E\u5199\u6846\u67B6\u540D\u4E0E\u793A\u8303\u91CC\u90A3\u4E00\u5904\u3002${MECHANISM_FRAMEWORK_RULE}`
|
|
592
|
+
}),
|
|
593
|
+
disposition: Type2.Literal("\u7559\uFF1A\u793A\u8303\u672C\u8EAB\u5C31\u4E3A\u540C\u4E00\u5173\u5207\u5E26\u540C\u6837\u7684\u5C42", { description: "official \u4E3A null\uFF0C\u8FD9\u4E00\u884C\u53EA\u80FD\u662F\u8FD9\u4E2A\u5904\u7F6E" })
|
|
594
|
+
},
|
|
595
|
+
{ additionalProperties: true }
|
|
596
|
+
)
|
|
597
|
+
],
|
|
598
|
+
{ description: "\u4E24\u79CD\u884C\u5F62\uFF0C\u6CA1\u6709\u7B2C\u4E09\u79CD\uFF1A\u793A\u8303\u4E0D\u5E26\u8FD9\u4E00\u5C42\u4E5F\u5904\u7406\u5F97\u4E86\uFF08official \u586B\u5B57\uFF0C\u5220\uFF09\uFF1B\u793A\u8303\u672C\u8EAB\u5C31\u5E26\u540C\u6837\u7684\u5C42\uFF08official null\uFF0C\u7559\uFF09" }
|
|
599
|
+
);
|
|
561
600
|
inspectorSubmissionSchema = withTerminatingOutputDeclarations(
|
|
562
601
|
Type2.Object(
|
|
563
602
|
{
|
|
@@ -568,6 +607,9 @@ var init_review_submission = __esm({
|
|
|
568
607
|
}),
|
|
569
608
|
ticketComplexity: Type2.Array(ticketComplexityRowSchema, {
|
|
570
609
|
description: "\u6574\u7968\u590D\u6742\u5EA6\uFF1A\u672C\u7968\u8D77\u70B9\uFF08\u672C\u5206\u652F\u4E0E\u5BB6\u65CF\u5206\u652F\u6216\u76EE\u6807\u5206\u652F\u7684 git merge-base\uFF09\u5230 HEAD \u7684\u751F\u4EA7\u4E0E\u6D4B\u8BD5\u51C0\u589E\uFF0C\u5BF9\u300A\u8D28\u91CF\u6CD5\u300B\u91CC\u6BCF\u4E00\u53E5\u8981\u6C42\u5220\u9664\u3001\u5408\u5E76\u3001\u590D\u7528\u6216\u4E0D\u53E6\u5199\u7684\u6761\u6587\u5404\u7B54\u4E00\u884C\u3002\u524D\u51E0\u8F6E\u5DF2\u7F72\u8FC7\u7684\u6539\u52A8\u4E5F\u7B97\u5728\u5185\u3002"
|
|
610
|
+
}),
|
|
611
|
+
mechanisms: Type2.Array(mechanismRowSchema, {
|
|
612
|
+
description: "\u6574\u7968\u673A\u5236\u5C42\uFF1A\u672C\u7968\u8D77\u70B9\u5230 HEAD \u751F\u4EA7\u4EE3\u7801\u65B0\u589E\u7684\u6BCF\u4E00\u5904\u4F9D\u8D56\u884C\u3001\u8DE8\u8C03\u7528\u72B6\u6001\u3001\u9501\u3001\u7F13\u5B58\u88C5\u9970\u6216\u5305\u88C5\uFF0C\u5404\u4E00\u884C\uFF0C\u524D\u51E0\u8F6E\u5DF2\u7F72\u8FC7\u7684\u4E5F\u5217\uFF0C\u6D4B\u8BD5\u5939\u5177\u4E0D\u5217\uFF1B\u4E00\u5904\u6CA1\u6709\u4E3A\u7A7A\u6570\u7EC4\u3002"
|
|
571
613
|
})
|
|
572
614
|
},
|
|
573
615
|
{ additionalProperties: true }
|
|
@@ -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, inspectorSubmissionSchema;
|
|
8710
|
+
var REVIEW_SUBMISSION_OUTPUT_TOOL_NAME, REVIEW_QUEUE_WORDS, REVIEW_QUEUE_STATUSES, reviewStatusField, reviewNarrativeFields, reviewSubmissionSchema, notaryClauseItemSchema, notaryClausesField, notaryReviewSubmissionSchema, ticketComplexityRowSchema, mechanismRowBase, MECHANISM_FRAMEWORK_RULE, mechanismRowSchema, inspectorSubmissionSchema;
|
|
8711
8711
|
var init_review_submission = __esm({
|
|
8712
8712
|
"src/review-submission.ts"() {
|
|
8713
8713
|
"use strict";
|
|
@@ -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 }
|
|
@@ -8785,6 +8791,39 @@ var init_review_submission = __esm({
|
|
|
8785
8791
|
},
|
|
8786
8792
|
{ additionalProperties: true }
|
|
8787
8793
|
);
|
|
8794
|
+
mechanismRowBase = {
|
|
8795
|
+
where: typebox_exports.String({
|
|
8796
|
+
description: "\u672C\u7968\u751F\u4EA7\u4EE3\u7801\u51C0\u589E\u91CC\u7684\u90A3\u4E00\u884C path:line\uFF1A\u65B0\u589E\u4F9D\u8D56\u884C\u3001\u8DE8\u8C03\u7528\u4FDD\u5B58\u7684\u72B6\u6001\uFF08\u6A21\u5757\u7EA7\u6216\u5B9E\u4F8B\u7EA7\u7684\u5B57\u5178\u3001\u96C6\u5408\u3001\u5217\u8868\u3001LRU \u7B49\uFF09\u3001\u9501\u3001\u7F13\u5B58\u88C5\u9970\u6216\u5305\u88C5\uFF1B\u4E00\u884C\u4E00\u6761\uFF0C\u7167 diff \u5217\uFF0C\u4E0D\u5408\u5E76\uFF1B\u6D4B\u8BD5\u5939\u5177\u4E0D\u5217"
|
|
8797
|
+
}),
|
|
8798
|
+
keeps: typebox_exports.String({ description: "\u8FD9\u4E00\u884C\u8BA9\u4EC0\u4E48\u4E1C\u897F\u5728\u4E24\u6B21\u8C03\u7528\u4E4B\u95F4\u7559\u4E0B\u6765\uFF0C\u6216\u6321\u4F4F\u4EC0\u4E48" }),
|
|
8799
|
+
layer: typebox_exports.Integer({ description: "\u4ECE\u672C\u7968\u8D77\u70B9\u5230 HEAD\uFF0C\u8FD9\u662F\u7B2C\u51E0\u5904\u8FD9\u6837\u7684\u65B0\u589E\uFF08\u542B\u524D\u51E0\u8F6E\u5DF2\u7F72\u8FC7\u7684\uFF09" })
|
|
8800
|
+
};
|
|
8801
|
+
MECHANISM_FRAMEWORK_RULE = "\u6846\u67B6\u662F\u4ED3\u5E93 ADR \u6216\u7968\u9762\u70B9\u540D\u7684\u90A3\u4E00\u4E2A\uFF08\u8BFB\u5199\u6A21\u578B\u3001Web\u3001\u6D4B\u8BD5\u7B49\u6846\u67B6\uFF09\uFF0C\u4E0D\u662F\u5E2D\u4F4D\u81EA\u9009\uFF1B\u5B9E\u73B0\u8FD9\u4E00\u5C42\u6240\u7528\u7684\u5E93\uFF08ORM\u3001\u7F13\u5B58\u5E93\u3001\u89E3\u6790\u5E93\uFF09\u4E0D\u662F\u6846\u67B6\uFF0C\u5B83\u7684 API \u9875\u6216\u793A\u4F8B\u586B\u4E0D\u8FDB\u8FD9\u683C\u2014\u2014\u90A3\u7B54\u7684\u662F\u300C\u8FD9\u5C42\u600E\u4E48\u505A\u300D\uFF0C\u8FD9\u683C\u95EE\u7684\u662F\u300C\u793A\u8303\u4E0D\u5E26\u8FD9\u5C42\u600E\u4E48\u529E\u300D";
|
|
8802
|
+
mechanismRowSchema = typebox_exports.Union(
|
|
8803
|
+
[
|
|
8804
|
+
typebox_exports.Object(
|
|
8805
|
+
{
|
|
8806
|
+
...mechanismRowBase,
|
|
8807
|
+
official: typebox_exports.String({
|
|
8808
|
+
description: `\u8FD9\u6BB5\u4EE3\u7801\u6240\u5C5E\u5E94\u7528\u6846\u67B6\u7684\u5B98\u65B9\u793A\u8303\u91CC\uFF0C\u4E0D\u5E26\u8FD9\u4E00\u5C42\u65F6\u540C\u4E00\u5173\u5207\u600E\u4E48\u5904\u7406\uFF1A\u5148\u5199\u6846\u67B6\u540D\uFF0C\u518D\u94FE\u63A5\uFF0B\u539F\u53E5\uFF08\u793A\u8303\u91CC\u76F4\u63A5\u8BFB\u3001\u76F4\u63A5\u67E5\u3001\u4EA4\u7ED9\u6846\u67B6\u54EA\u9879\u8BBE\u7F6E\uFF09\u3002${MECHANISM_FRAMEWORK_RULE}`
|
|
8809
|
+
}),
|
|
8810
|
+
disposition: typebox_exports.Literal("\u5220\uFF1A\u793A\u8303\u4E0D\u5E26\u8FD9\u4E00\u5C42\u4E5F\u5904\u7406\u5F97\u4E86", { description: "official \u586B\u4E86\u5B57\uFF0C\u8FD9\u4E00\u884C\u53EA\u80FD\u662F\u8FD9\u4E2A\u5904\u7F6E" })
|
|
8811
|
+
},
|
|
8812
|
+
{ additionalProperties: true }
|
|
8813
|
+
),
|
|
8814
|
+
typebox_exports.Object(
|
|
8815
|
+
{
|
|
8816
|
+
...mechanismRowBase,
|
|
8817
|
+
official: typebox_exports.Null({
|
|
8818
|
+
description: `\u793A\u8303\u4EE3\u7801\u672C\u8EAB\u5C31\u4E3A\u540C\u4E00\u5173\u5207\u5E26\u540C\u6837\u7684\u72B6\u6001\u3001\u9501\u3001\u7F13\u5B58\u6216\u4F9D\u8D56\uFF1A\u586B null\uFF0C\u5E76\u5728 keeps \u672B\u5C3E\u5199\u6846\u67B6\u540D\u4E0E\u793A\u8303\u91CC\u90A3\u4E00\u5904\u3002${MECHANISM_FRAMEWORK_RULE}`
|
|
8819
|
+
}),
|
|
8820
|
+
disposition: typebox_exports.Literal("\u7559\uFF1A\u793A\u8303\u672C\u8EAB\u5C31\u4E3A\u540C\u4E00\u5173\u5207\u5E26\u540C\u6837\u7684\u5C42", { description: "official \u4E3A null\uFF0C\u8FD9\u4E00\u884C\u53EA\u80FD\u662F\u8FD9\u4E2A\u5904\u7F6E" })
|
|
8821
|
+
},
|
|
8822
|
+
{ additionalProperties: true }
|
|
8823
|
+
)
|
|
8824
|
+
],
|
|
8825
|
+
{ description: "\u4E24\u79CD\u884C\u5F62\uFF0C\u6CA1\u6709\u7B2C\u4E09\u79CD\uFF1A\u793A\u8303\u4E0D\u5E26\u8FD9\u4E00\u5C42\u4E5F\u5904\u7406\u5F97\u4E86\uFF08official \u586B\u5B57\uFF0C\u5220\uFF09\uFF1B\u793A\u8303\u672C\u8EAB\u5C31\u5E26\u540C\u6837\u7684\u5C42\uFF08official null\uFF0C\u7559\uFF09" }
|
|
8826
|
+
);
|
|
8788
8827
|
inspectorSubmissionSchema = withTerminatingOutputDeclarations(
|
|
8789
8828
|
typebox_exports.Object(
|
|
8790
8829
|
{
|
|
@@ -8795,6 +8834,9 @@ var init_review_submission = __esm({
|
|
|
8795
8834
|
}),
|
|
8796
8835
|
ticketComplexity: typebox_exports.Array(ticketComplexityRowSchema, {
|
|
8797
8836
|
description: "\u6574\u7968\u590D\u6742\u5EA6\uFF1A\u672C\u7968\u8D77\u70B9\uFF08\u672C\u5206\u652F\u4E0E\u5BB6\u65CF\u5206\u652F\u6216\u76EE\u6807\u5206\u652F\u7684 git merge-base\uFF09\u5230 HEAD \u7684\u751F\u4EA7\u4E0E\u6D4B\u8BD5\u51C0\u589E\uFF0C\u5BF9\u300A\u8D28\u91CF\u6CD5\u300B\u91CC\u6BCF\u4E00\u53E5\u8981\u6C42\u5220\u9664\u3001\u5408\u5E76\u3001\u590D\u7528\u6216\u4E0D\u53E6\u5199\u7684\u6761\u6587\u5404\u7B54\u4E00\u884C\u3002\u524D\u51E0\u8F6E\u5DF2\u7F72\u8FC7\u7684\u6539\u52A8\u4E5F\u7B97\u5728\u5185\u3002"
|
|
8837
|
+
}),
|
|
8838
|
+
mechanisms: typebox_exports.Array(mechanismRowSchema, {
|
|
8839
|
+
description: "\u6574\u7968\u673A\u5236\u5C42\uFF1A\u672C\u7968\u8D77\u70B9\u5230 HEAD \u751F\u4EA7\u4EE3\u7801\u65B0\u589E\u7684\u6BCF\u4E00\u5904\u4F9D\u8D56\u884C\u3001\u8DE8\u8C03\u7528\u72B6\u6001\u3001\u9501\u3001\u7F13\u5B58\u88C5\u9970\u6216\u5305\u88C5\uFF0C\u5404\u4E00\u884C\uFF0C\u524D\u51E0\u8F6E\u5DF2\u7F72\u8FC7\u7684\u4E5F\u5217\uFF0C\u6D4B\u8BD5\u5939\u5177\u4E0D\u5217\uFF1B\u4E00\u5904\u6CA1\u6709\u4E3A\u7A7A\u6570\u7EC4\u3002"
|
|
8798
8840
|
})
|
|
8799
8841
|
},
|
|
8800
8842
|
{ additionalProperties: true }
|
package/dist/public-cli/main.js
CHANGED
|
@@ -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, inspectorSubmissionSchema;
|
|
9200
|
+
var REVIEW_SUBMISSION_OUTPUT_TOOL_NAME, REVIEW_QUEUE_WORDS, REVIEW_QUEUE_STATUSES, reviewStatusField, reviewNarrativeFields, reviewSubmissionSchema, notaryClauseItemSchema, notaryClausesField, notaryReviewSubmissionSchema, ticketComplexityRowSchema, mechanismRowBase, MECHANISM_FRAMEWORK_RULE, mechanismRowSchema, inspectorSubmissionSchema;
|
|
9201
9201
|
var init_review_submission = __esm({
|
|
9202
9202
|
"src/review-submission.ts"() {
|
|
9203
9203
|
"use strict";
|
|
@@ -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 }
|
|
@@ -9275,6 +9281,39 @@ var init_review_submission = __esm({
|
|
|
9275
9281
|
},
|
|
9276
9282
|
{ additionalProperties: true }
|
|
9277
9283
|
);
|
|
9284
|
+
mechanismRowBase = {
|
|
9285
|
+
where: typebox_exports.String({
|
|
9286
|
+
description: "\u672C\u7968\u751F\u4EA7\u4EE3\u7801\u51C0\u589E\u91CC\u7684\u90A3\u4E00\u884C path:line\uFF1A\u65B0\u589E\u4F9D\u8D56\u884C\u3001\u8DE8\u8C03\u7528\u4FDD\u5B58\u7684\u72B6\u6001\uFF08\u6A21\u5757\u7EA7\u6216\u5B9E\u4F8B\u7EA7\u7684\u5B57\u5178\u3001\u96C6\u5408\u3001\u5217\u8868\u3001LRU \u7B49\uFF09\u3001\u9501\u3001\u7F13\u5B58\u88C5\u9970\u6216\u5305\u88C5\uFF1B\u4E00\u884C\u4E00\u6761\uFF0C\u7167 diff \u5217\uFF0C\u4E0D\u5408\u5E76\uFF1B\u6D4B\u8BD5\u5939\u5177\u4E0D\u5217"
|
|
9287
|
+
}),
|
|
9288
|
+
keeps: typebox_exports.String({ description: "\u8FD9\u4E00\u884C\u8BA9\u4EC0\u4E48\u4E1C\u897F\u5728\u4E24\u6B21\u8C03\u7528\u4E4B\u95F4\u7559\u4E0B\u6765\uFF0C\u6216\u6321\u4F4F\u4EC0\u4E48" }),
|
|
9289
|
+
layer: typebox_exports.Integer({ description: "\u4ECE\u672C\u7968\u8D77\u70B9\u5230 HEAD\uFF0C\u8FD9\u662F\u7B2C\u51E0\u5904\u8FD9\u6837\u7684\u65B0\u589E\uFF08\u542B\u524D\u51E0\u8F6E\u5DF2\u7F72\u8FC7\u7684\uFF09" })
|
|
9290
|
+
};
|
|
9291
|
+
MECHANISM_FRAMEWORK_RULE = "\u6846\u67B6\u662F\u4ED3\u5E93 ADR \u6216\u7968\u9762\u70B9\u540D\u7684\u90A3\u4E00\u4E2A\uFF08\u8BFB\u5199\u6A21\u578B\u3001Web\u3001\u6D4B\u8BD5\u7B49\u6846\u67B6\uFF09\uFF0C\u4E0D\u662F\u5E2D\u4F4D\u81EA\u9009\uFF1B\u5B9E\u73B0\u8FD9\u4E00\u5C42\u6240\u7528\u7684\u5E93\uFF08ORM\u3001\u7F13\u5B58\u5E93\u3001\u89E3\u6790\u5E93\uFF09\u4E0D\u662F\u6846\u67B6\uFF0C\u5B83\u7684 API \u9875\u6216\u793A\u4F8B\u586B\u4E0D\u8FDB\u8FD9\u683C\u2014\u2014\u90A3\u7B54\u7684\u662F\u300C\u8FD9\u5C42\u600E\u4E48\u505A\u300D\uFF0C\u8FD9\u683C\u95EE\u7684\u662F\u300C\u793A\u8303\u4E0D\u5E26\u8FD9\u5C42\u600E\u4E48\u529E\u300D";
|
|
9292
|
+
mechanismRowSchema = typebox_exports.Union(
|
|
9293
|
+
[
|
|
9294
|
+
typebox_exports.Object(
|
|
9295
|
+
{
|
|
9296
|
+
...mechanismRowBase,
|
|
9297
|
+
official: typebox_exports.String({
|
|
9298
|
+
description: `\u8FD9\u6BB5\u4EE3\u7801\u6240\u5C5E\u5E94\u7528\u6846\u67B6\u7684\u5B98\u65B9\u793A\u8303\u91CC\uFF0C\u4E0D\u5E26\u8FD9\u4E00\u5C42\u65F6\u540C\u4E00\u5173\u5207\u600E\u4E48\u5904\u7406\uFF1A\u5148\u5199\u6846\u67B6\u540D\uFF0C\u518D\u94FE\u63A5\uFF0B\u539F\u53E5\uFF08\u793A\u8303\u91CC\u76F4\u63A5\u8BFB\u3001\u76F4\u63A5\u67E5\u3001\u4EA4\u7ED9\u6846\u67B6\u54EA\u9879\u8BBE\u7F6E\uFF09\u3002${MECHANISM_FRAMEWORK_RULE}`
|
|
9299
|
+
}),
|
|
9300
|
+
disposition: typebox_exports.Literal("\u5220\uFF1A\u793A\u8303\u4E0D\u5E26\u8FD9\u4E00\u5C42\u4E5F\u5904\u7406\u5F97\u4E86", { description: "official \u586B\u4E86\u5B57\uFF0C\u8FD9\u4E00\u884C\u53EA\u80FD\u662F\u8FD9\u4E2A\u5904\u7F6E" })
|
|
9301
|
+
},
|
|
9302
|
+
{ additionalProperties: true }
|
|
9303
|
+
),
|
|
9304
|
+
typebox_exports.Object(
|
|
9305
|
+
{
|
|
9306
|
+
...mechanismRowBase,
|
|
9307
|
+
official: typebox_exports.Null({
|
|
9308
|
+
description: `\u793A\u8303\u4EE3\u7801\u672C\u8EAB\u5C31\u4E3A\u540C\u4E00\u5173\u5207\u5E26\u540C\u6837\u7684\u72B6\u6001\u3001\u9501\u3001\u7F13\u5B58\u6216\u4F9D\u8D56\uFF1A\u586B null\uFF0C\u5E76\u5728 keeps \u672B\u5C3E\u5199\u6846\u67B6\u540D\u4E0E\u793A\u8303\u91CC\u90A3\u4E00\u5904\u3002${MECHANISM_FRAMEWORK_RULE}`
|
|
9309
|
+
}),
|
|
9310
|
+
disposition: typebox_exports.Literal("\u7559\uFF1A\u793A\u8303\u672C\u8EAB\u5C31\u4E3A\u540C\u4E00\u5173\u5207\u5E26\u540C\u6837\u7684\u5C42", { description: "official \u4E3A null\uFF0C\u8FD9\u4E00\u884C\u53EA\u80FD\u662F\u8FD9\u4E2A\u5904\u7F6E" })
|
|
9311
|
+
},
|
|
9312
|
+
{ additionalProperties: true }
|
|
9313
|
+
)
|
|
9314
|
+
],
|
|
9315
|
+
{ description: "\u4E24\u79CD\u884C\u5F62\uFF0C\u6CA1\u6709\u7B2C\u4E09\u79CD\uFF1A\u793A\u8303\u4E0D\u5E26\u8FD9\u4E00\u5C42\u4E5F\u5904\u7406\u5F97\u4E86\uFF08official \u586B\u5B57\uFF0C\u5220\uFF09\uFF1B\u793A\u8303\u672C\u8EAB\u5C31\u5E26\u540C\u6837\u7684\u5C42\uFF08official null\uFF0C\u7559\uFF09" }
|
|
9316
|
+
);
|
|
9278
9317
|
inspectorSubmissionSchema = withTerminatingOutputDeclarations(
|
|
9279
9318
|
typebox_exports.Object(
|
|
9280
9319
|
{
|
|
@@ -9285,6 +9324,9 @@ var init_review_submission = __esm({
|
|
|
9285
9324
|
}),
|
|
9286
9325
|
ticketComplexity: typebox_exports.Array(ticketComplexityRowSchema, {
|
|
9287
9326
|
description: "\u6574\u7968\u590D\u6742\u5EA6\uFF1A\u672C\u7968\u8D77\u70B9\uFF08\u672C\u5206\u652F\u4E0E\u5BB6\u65CF\u5206\u652F\u6216\u76EE\u6807\u5206\u652F\u7684 git merge-base\uFF09\u5230 HEAD \u7684\u751F\u4EA7\u4E0E\u6D4B\u8BD5\u51C0\u589E\uFF0C\u5BF9\u300A\u8D28\u91CF\u6CD5\u300B\u91CC\u6BCF\u4E00\u53E5\u8981\u6C42\u5220\u9664\u3001\u5408\u5E76\u3001\u590D\u7528\u6216\u4E0D\u53E6\u5199\u7684\u6761\u6587\u5404\u7B54\u4E00\u884C\u3002\u524D\u51E0\u8F6E\u5DF2\u7F72\u8FC7\u7684\u6539\u52A8\u4E5F\u7B97\u5728\u5185\u3002"
|
|
9327
|
+
}),
|
|
9328
|
+
mechanisms: typebox_exports.Array(mechanismRowSchema, {
|
|
9329
|
+
description: "\u6574\u7968\u673A\u5236\u5C42\uFF1A\u672C\u7968\u8D77\u70B9\u5230 HEAD \u751F\u4EA7\u4EE3\u7801\u65B0\u589E\u7684\u6BCF\u4E00\u5904\u4F9D\u8D56\u884C\u3001\u8DE8\u8C03\u7528\u72B6\u6001\u3001\u9501\u3001\u7F13\u5B58\u88C5\u9970\u6216\u5305\u88C5\uFF0C\u5404\u4E00\u884C\uFF0C\u524D\u51E0\u8F6E\u5DF2\u7F72\u8FC7\u7684\u4E5F\u5217\uFF0C\u6D4B\u8BD5\u5939\u5177\u4E0D\u5217\uFF1B\u4E00\u5904\u6CA1\u6709\u4E3A\u7A7A\u6570\u7EC4\u3002"
|
|
9288
9330
|
})
|
|
9289
9331
|
},
|
|
9290
9332
|
{ 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, {
|
|
@@ -72,6 +78,35 @@ export const ticketComplexityRowSchema = Type.Object({
|
|
|
72
78
|
description: "为这一条打开比对过的几处 path:line:hits 为空时写每处为什么不算,不能只写未发现;有命中时写比对了哪些地方、命中在哪找到",
|
|
73
79
|
}),
|
|
74
80
|
}, { additionalProperties: true });
|
|
81
|
+
/**
|
|
82
|
+
* Inspector whole-ticket mechanism row: one added line that keeps state across calls, locks, caches, or adds a dependency.
|
|
83
|
+
* Two row shapes, no third: the framework's example manages without the layer (official filled, 删), or it carries the
|
|
84
|
+
* same layer itself (official null, 留). The union sits inside the array item, never at the root (see reviewSubmissionSchema).
|
|
85
|
+
*/
|
|
86
|
+
const mechanismRowBase = {
|
|
87
|
+
where: Type.String({
|
|
88
|
+
description: "本票生产代码净增里的那一行 path:line:新增依赖行、跨调用保存的状态(模块级或实例级的字典、集合、列表、LRU 等)、锁、缓存装饰或包装;一行一条,照 diff 列,不合并;测试夹具不列",
|
|
89
|
+
}),
|
|
90
|
+
keeps: Type.String({ description: "这一行让什么东西在两次调用之间留下来,或挡住什么" }),
|
|
91
|
+
layer: Type.Integer({ description: "从本票起点到 HEAD,这是第几处这样的新增(含前几轮已署过的)" }),
|
|
92
|
+
};
|
|
93
|
+
const MECHANISM_FRAMEWORK_RULE = "框架是仓库 ADR 或票面点名的那一个(读写模型、Web、测试等框架),不是席位自选;实现这一层所用的库(ORM、缓存库、解析库)不是框架,它的 API 页或示例填不进这格——那答的是「这层怎么做」,这格问的是「示范不带这层怎么办」";
|
|
94
|
+
export const mechanismRowSchema = Type.Union([
|
|
95
|
+
Type.Object({
|
|
96
|
+
...mechanismRowBase,
|
|
97
|
+
official: Type.String({
|
|
98
|
+
description: `这段代码所属应用框架的官方示范里,不带这一层时同一关切怎么处理:先写框架名,再链接+原句(示范里直接读、直接查、交给框架哪项设置)。${MECHANISM_FRAMEWORK_RULE}`,
|
|
99
|
+
}),
|
|
100
|
+
disposition: Type.Literal("删:示范不带这一层也处理得了", { description: "official 填了字,这一行只能是这个处置" }),
|
|
101
|
+
}, { additionalProperties: true }),
|
|
102
|
+
Type.Object({
|
|
103
|
+
...mechanismRowBase,
|
|
104
|
+
official: Type.Null({
|
|
105
|
+
description: `示范代码本身就为同一关切带同样的状态、锁、缓存或依赖:填 null,并在 keeps 末尾写框架名与示范里那一处。${MECHANISM_FRAMEWORK_RULE}`,
|
|
106
|
+
}),
|
|
107
|
+
disposition: Type.Literal("留:示范本身就为同一关切带同样的层", { description: "official 为 null,这一行只能是这个处置" }),
|
|
108
|
+
}, { additionalProperties: true }),
|
|
109
|
+
], { description: "两种行形,没有第三种:示范不带这一层也处理得了(official 填字,删);示范本身就带同样的层(official null,留)" });
|
|
75
110
|
/** Inspector generation schema: shared review face plus the required whole-ticket complexity answer (package records as-is). */
|
|
76
111
|
export const inspectorSubmissionSchema = withTerminatingOutputDeclarations(Type.Object({
|
|
77
112
|
status: reviewStatusField,
|
|
@@ -82,4 +117,7 @@ export const inspectorSubmissionSchema = withTerminatingOutputDeclarations(Type.
|
|
|
82
117
|
ticketComplexity: Type.Array(ticketComplexityRowSchema, {
|
|
83
118
|
description: "整票复杂度:本票起点(本分支与家族分支或目标分支的 git merge-base)到 HEAD 的生产与测试净增,对《质量法》里每一句要求删除、合并、复用或不另写的条文各答一行。前几轮已署过的改动也算在内。",
|
|
84
119
|
}),
|
|
120
|
+
mechanisms: Type.Array(mechanismRowSchema, {
|
|
121
|
+
description: "整票机制层:本票起点到 HEAD 生产代码新增的每一处依赖行、跨调用状态、锁、缓存装饰或包装,各一行,前几轮已署过的也列,测试夹具不列;一处没有为空数组。",
|
|
122
|
+
}),
|
|
85
123
|
}, { additionalProperties: true }));
|
package/package.json
CHANGED
package/souls/inspector.md
CHANGED
|
@@ -10,6 +10,8 @@
|
|
|
10
10
|
|
|
11
11
|
本腿判完,再审整票:本票从起点到 HEAD 的生产与测试净增,还剩哪些能删、能合并,按 ticketComplexity 逐条答。有一条命中就封驳;封驳按那句条文写类、列全命中处,不用某一处实例的说法。答无也要拿出比对过的地方:写明为这一条打开比对了哪几处、为什么不算。再从整票里挑出最可疑的一处写进 suspect,说清为什么留着;说不清就是命中。
|
|
12
12
|
|
|
13
|
+
机制按层数,不按行数:票内生产代码每一处新增的跨调用状态、锁、缓存、依赖,各列一行进 mechanisms(测试夹具不是机制层,不列),到这段代码所属应用框架的官方示范里看:不带这一层时,示范怎么处理同一关切。示范不带这一层也处理得了的,就是《质量法》「自撰机制是最后手段」那句的命中,这一行的处置只能是删,判删不判修;留只给示范本身就带同样的层的那一行;框架是 ADR 或票面点名的那一个,不是实现这一层所用的库;实现这一层所用的库自己的文档答的是「这层怎么做」,答不了「示范不带这层怎么办」,不算。一层层叠上去的修法,每多一层就回头看最早那一层该不该在。
|
|
14
|
+
|
|
13
15
|
取证与同类复核依《审法》;复杂度、测试质量与成本依《质量法》。
|
|
14
16
|
|
|
15
17
|
封驳写清现象,原因,具体问题。根因不明先指诊断。
|
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 },
|
|
@@ -105,6 +112,49 @@ export const ticketComplexityRowSchema = Type.Object(
|
|
|
105
112
|
{ additionalProperties: true },
|
|
106
113
|
);
|
|
107
114
|
|
|
115
|
+
/**
|
|
116
|
+
* Inspector whole-ticket mechanism row: one added line that keeps state across calls, locks, caches, or adds a dependency.
|
|
117
|
+
* Two row shapes, no third: the framework's example manages without the layer (official filled, 删), or it carries the
|
|
118
|
+
* same layer itself (official null, 留). The union sits inside the array item, never at the root (see reviewSubmissionSchema).
|
|
119
|
+
*/
|
|
120
|
+
const mechanismRowBase = {
|
|
121
|
+
where: Type.String({
|
|
122
|
+
description:
|
|
123
|
+
"本票生产代码净增里的那一行 path:line:新增依赖行、跨调用保存的状态(模块级或实例级的字典、集合、列表、LRU 等)、锁、缓存装饰或包装;一行一条,照 diff 列,不合并;测试夹具不列",
|
|
124
|
+
}),
|
|
125
|
+
keeps: Type.String({ description: "这一行让什么东西在两次调用之间留下来,或挡住什么" }),
|
|
126
|
+
layer: Type.Integer({ description: "从本票起点到 HEAD,这是第几处这样的新增(含前几轮已署过的)" }),
|
|
127
|
+
} as const;
|
|
128
|
+
|
|
129
|
+
const MECHANISM_FRAMEWORK_RULE =
|
|
130
|
+
"框架是仓库 ADR 或票面点名的那一个(读写模型、Web、测试等框架),不是席位自选;实现这一层所用的库(ORM、缓存库、解析库)不是框架,它的 API 页或示例填不进这格——那答的是「这层怎么做」,这格问的是「示范不带这层怎么办」";
|
|
131
|
+
|
|
132
|
+
export const mechanismRowSchema = Type.Union(
|
|
133
|
+
[
|
|
134
|
+
Type.Object(
|
|
135
|
+
{
|
|
136
|
+
...mechanismRowBase,
|
|
137
|
+
official: Type.String({
|
|
138
|
+
description: `这段代码所属应用框架的官方示范里,不带这一层时同一关切怎么处理:先写框架名,再链接+原句(示范里直接读、直接查、交给框架哪项设置)。${MECHANISM_FRAMEWORK_RULE}`,
|
|
139
|
+
}),
|
|
140
|
+
disposition: Type.Literal("删:示范不带这一层也处理得了", { description: "official 填了字,这一行只能是这个处置" }),
|
|
141
|
+
},
|
|
142
|
+
{ additionalProperties: true },
|
|
143
|
+
),
|
|
144
|
+
Type.Object(
|
|
145
|
+
{
|
|
146
|
+
...mechanismRowBase,
|
|
147
|
+
official: Type.Null({
|
|
148
|
+
description: `示范代码本身就为同一关切带同样的状态、锁、缓存或依赖:填 null,并在 keeps 末尾写框架名与示范里那一处。${MECHANISM_FRAMEWORK_RULE}`,
|
|
149
|
+
}),
|
|
150
|
+
disposition: Type.Literal("留:示范本身就为同一关切带同样的层", { description: "official 为 null,这一行只能是这个处置" }),
|
|
151
|
+
},
|
|
152
|
+
{ additionalProperties: true },
|
|
153
|
+
),
|
|
154
|
+
],
|
|
155
|
+
{ description: "两种行形,没有第三种:示范不带这一层也处理得了(official 填字,删);示范本身就带同样的层(official null,留)" },
|
|
156
|
+
);
|
|
157
|
+
|
|
108
158
|
/** Inspector generation schema: shared review face plus the required whole-ticket complexity answer (package records as-is). */
|
|
109
159
|
export const inspectorSubmissionSchema = withTerminatingOutputDeclarations(
|
|
110
160
|
Type.Object(
|
|
@@ -118,6 +168,10 @@ export const inspectorSubmissionSchema = withTerminatingOutputDeclarations(
|
|
|
118
168
|
description:
|
|
119
169
|
"整票复杂度:本票起点(本分支与家族分支或目标分支的 git merge-base)到 HEAD 的生产与测试净增,对《质量法》里每一句要求删除、合并、复用或不另写的条文各答一行。前几轮已署过的改动也算在内。",
|
|
120
170
|
}),
|
|
171
|
+
mechanisms: Type.Array(mechanismRowSchema, {
|
|
172
|
+
description:
|
|
173
|
+
"整票机制层:本票起点到 HEAD 生产代码新增的每一处依赖行、跨调用状态、锁、缓存装饰或包装,各一行,前几轮已署过的也列,测试夹具不列;一处没有为空数组。",
|
|
174
|
+
}),
|
|
121
175
|
},
|
|
122
176
|
{ additionalProperties: true },
|
|
123
177
|
),
|