@akagilnc/pi-workflow-roles 0.1.6054 → 0.1.6063
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 +45 -7
- package/dist/headless-host/production-host.js +45 -7
- package/dist/migrate-book-topology.js +45 -7
- package/dist/public-cli/main.js +45 -7
- package/dist/review-submission.js +29 -2
- package/dist/role-submission-declarations.js +3 -3
- package/package.json +1 -1
- package/souls/judge-auditor.md +1 -1
- package/souls/notary.md +1 -1
- package/src/review-submission.ts +73 -26
- package/src/role-submission-declarations.ts +3 -3
|
@@ -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, mechanismRowSchema, 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, mechanismRowUnion, mechanismRowSchema, auditorMechanismRowSchema, inspectorSubmissionSchema, auditorSubmissionSchema;
|
|
1686
1686
|
var init_review_submission = __esm({
|
|
1687
1687
|
"src/review-submission.ts"() {
|
|
1688
1688
|
"use strict";
|
|
@@ -1732,7 +1732,7 @@ var init_review_submission = __esm({
|
|
|
1732
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
1733
|
}),
|
|
1734
1734
|
askedObject: Type5.Union([Type5.String(), Type5.Null()], {
|
|
1735
|
-
description: "\u6240\u7B54\u90A3\u53E5\u95EE\u7684\u662F\u54EA\u4EF6\u4E8B\
|
|
1735
|
+
description: "\u6240\u7B54\u90A3\u53E5\u95EE\u7684\u662F\u54EA\u4EF6\u4E8B\uFF1A\u7167\u6284 answered \u91CC\u70B9\u540D\u5BF9\u8C61\u7684\u539F\u8BCD\uFF0C\u4E0D\u8F6C\u8FF0\u3001\u4E0D\u6982\u62EC\uFF08\u90A3\u53E5\u95EE\u300C\u7F13\u5B58\u662F\u89E3\u7981\u8FD8\u662F\u7EF4\u6301\u7981\u4EE4\u300D\uFF0C\u8FD9\u683C\u5C31\u662F\u300C\u7F13\u5B58\u7981\u4EE4\u300D\uFF0C\u4E0D\u662F\u300C\u8FD0\u884C\u65F6 DRY \u4FEE\u590D\u300D\uFF09\uFF1Banswered \u4E3A null \u65F6\u540C\u4E3A null"
|
|
1736
1736
|
}),
|
|
1737
1737
|
derivation: Type5.String({
|
|
1738
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"
|
|
@@ -1779,7 +1779,7 @@ var init_review_submission = __esm({
|
|
|
1779
1779
|
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" })
|
|
1780
1780
|
};
|
|
1781
1781
|
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";
|
|
1782
|
-
|
|
1782
|
+
mechanismRowUnion = (extra = {}) => Type5.Union(
|
|
1783
1783
|
[
|
|
1784
1784
|
Type5.Object(
|
|
1785
1785
|
{
|
|
@@ -1787,7 +1787,8 @@ var init_review_submission = __esm({
|
|
|
1787
1787
|
official: Type5.String({
|
|
1788
1788
|
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}`
|
|
1789
1789
|
}),
|
|
1790
|
-
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" })
|
|
1790
|
+
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" }),
|
|
1791
|
+
...extra
|
|
1791
1792
|
},
|
|
1792
1793
|
{ additionalProperties: true }
|
|
1793
1794
|
),
|
|
@@ -1797,13 +1798,20 @@ var init_review_submission = __esm({
|
|
|
1797
1798
|
official: Type5.Null({
|
|
1798
1799
|
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}`
|
|
1799
1800
|
}),
|
|
1800
|
-
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" })
|
|
1801
|
+
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" }),
|
|
1802
|
+
...extra
|
|
1801
1803
|
},
|
|
1802
1804
|
{ additionalProperties: true }
|
|
1803
1805
|
)
|
|
1804
1806
|
],
|
|
1805
1807
|
{ 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" }
|
|
1806
1808
|
);
|
|
1809
|
+
mechanismRowSchema = mechanismRowUnion();
|
|
1810
|
+
auditorMechanismRowSchema = mechanismRowUnion({
|
|
1811
|
+
judgeSaid: Type5.Union([Type5.String(), Type5.Null()], {
|
|
1812
|
+
description: "\u5927\u7406\u5BFA\u5224\u8BCD\u91CC\u88C1\u5230\u8FD9\u4E00\u5C42\u7684\u90A3\u53E5\u539F\u6587\uFF08\u7167\u6284\uFF09\uFF1B\u5224\u8BCD\u6CA1\u63D0\u8FD9\u4E00\u5C42\uFF0C\u586B null"
|
|
1813
|
+
})
|
|
1814
|
+
});
|
|
1807
1815
|
inspectorSubmissionSchema = withTerminatingOutputDeclarations(
|
|
1808
1816
|
Type5.Object(
|
|
1809
1817
|
{
|
|
@@ -1822,6 +1830,36 @@ var init_review_submission = __esm({
|
|
|
1822
1830
|
{ additionalProperties: true }
|
|
1823
1831
|
)
|
|
1824
1832
|
);
|
|
1833
|
+
auditorSubmissionSchema = withTerminatingOutputDeclarations(
|
|
1834
|
+
Type5.Object(
|
|
1835
|
+
{
|
|
1836
|
+
status: reviewStatusField,
|
|
1837
|
+
...reviewNarrativeFields,
|
|
1838
|
+
mechanisms: Type5.Array(auditorMechanismRowSchema, {
|
|
1839
|
+
description: "\u590D\u6742\u5EA6\u8D26\uFF1A\u5927\u7406\u5BFA\u672C\u8F6E\u5224\u8BCD\u6240\u88C1\u7684\u5B9E\u73B0\uFF0C\u4ECE\u672C\u7968\u8D77\u70B9\u5230\u8BE5 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\uFF08\u540C\u53F0\u9662\u673A\u5236\u5C42\u8868\uFF09\uFF0C\u518D\u5199\u5224\u8BCD\u5BF9\u8FD9\u4E00\u5C42\u8BF4\u4E86\u4EC0\u4E48\uFF1B\u4E00\u5904\u6CA1\u6709\u4E3A\u7A7A\u6570\u7EC4\u3002\u5224\u8BCD\u7F72\u4E86\u800C\u8868\u91CC\u6709\u300C\u5220\u300D\u884C\u5224\u8BCD\u6CA1\u5904\u7F6E\uFF0C\u5C31\u662F\u9519\u7F72\u3002"
|
|
1840
|
+
}),
|
|
1841
|
+
runtime: Type5.Array(
|
|
1842
|
+
Type5.Object(
|
|
1843
|
+
{
|
|
1844
|
+
entry: Type5.String({ description: "\u771F\u5B9E\u5165\u53E3\uFF1A\u4F60\u4EB2\u8DD1\u7684\u547D\u4EE4\u539F\u6587\uFF08\u6D4B\u8BD5\u7528\u4F8B\u6216\u7A0B\u5E8F\u5165\u53E3\uFF09\u3002\u7968\u9762\u3001\u5224\u8BCD\u3001\u65BD\u5DE5\u8BB0\u5F55\u3001\u53F0\u9662\u56DE\u6267\u91CC\u70B9\u540D\u8FC7\u7684\u6BCF\u4E2A\u771F\u5B9E\u5165\u53E3\u90FD\u8981\u6709\u4E00\u884C\uFF0C\u4E00\u4E2A\u4E0D\u6F0F\uFF0C\u518D\u52A0\u4F60\u81EA\u5DF1\u9009\u7684\uFF1B\u6570\u5B57\u53EA\u8BA4\u81EA\u5DF1\u8DD1\u51FA\u6765\u7684\uFF0C\u4E0D\u6284\u8BB0\u5F55" }),
|
|
1845
|
+
atBase: Type5.String({ description: "\u5728\u672C\u7968\u8D77\u70B9\uFF08\u672C\u5206\u652F\u4E0E\u5BB6\u65CF\u5206\u652F\u6216\u76EE\u6807\u5206\u652F\u7684 git merge-base\uFF0C\u540C\u53F0\u9662\uFF09\u4E0A\u8DD1\u8FD9\u4E00\u5165\u53E3\u7684\u673A\u5668\u8F93\u51FA\uFF1A\u7528\u65F6\u3001SQL\uFF0F\u8BFB\u6B21\u6570\u3001\u5CF0\u503C\u5185\u5B58\u7B49\u80FD\u8BFB\u5230\u7684\u6570\u5B57\uFF1B\u5165\u53E3\u662F\u672C\u7968\u65B0\u52A0\u3001\u7968\u8D77\u70B9\u4E0A\u6CA1\u6709\u7684\uFF0C\u5199\u300C\u7968\u8D77\u70B9\u65E0\u6B64\u5165\u53E3\u300D" }),
|
|
1846
|
+
atHead: Type5.String({ description: "\u5728\u6240\u88C1 HEAD \u4E0A\u8DD1\u540C\u4E00\u5165\u53E3\u7684\u673A\u5668\u8F93\u51FA\uFF0C\u540C\u4E00\u673A\u5668\u540C\u4E00\u73AF\u5883" }),
|
|
1847
|
+
judgeSaid: Type5.Union([Type5.String(), Type5.Null()], { description: "\u5224\u8BCD\u5BF9\u8FD9\u4E00\u5165\u53E3\u5FEB\u6162\u8BF4\u7684\u90A3\u53E5\u539F\u6587\uFF08\u7167\u6284\uFF09\uFF1B\u6CA1\u8BF4\u586B null" }),
|
|
1848
|
+
compared: Type5.Union(
|
|
1849
|
+
[Type5.Literal("HEAD \u6BD4\u7968\u8D77\u70B9\u6162\u6216\u8BFB\u5F97\u591A"), Type5.Literal("HEAD \u4E0D\u6BD4\u7968\u8D77\u70B9\u6162\u3001\u4E0D\u591A\u8BFB"), Type5.Literal("\u65E0\u4ECE\u6BD4\uFF1A\u7968\u8D77\u70B9\u65E0\u6B64\u5165\u53E3\uFF0C\u6216\u8FD9\u4E00\u7AEF\u8DD1\u5931\u8D25")],
|
|
1850
|
+
{ description: "\u53EA\u8BA4 atBase \u4E0E atHead \u5E76\u6392\u7684\u6570\u5B57\uFF1A\u7528\u65F6\u6216\u8BFB\u6B21\u6570\u4EFB\u4E00\u53D8\u5927\u5C31\u662F\u7B2C\u4E00\u79CD\uFF1B\u4E00\u6B21\u6027\u6210\u672C\u3001CI \u53E6\u7B97\u3001\u4E0D\u963B\u65AD\u90FD\u4E0D\u662F\u7406\u7531\u3002\u7B2C\u4E09\u79CD\u7ED9\u4E24\u7C7B\u884C\uFF1A\u7968\u8D77\u70B9\u4E0A\u4E0D\u5B58\u5728\u7684\u5165\u53E3\uFF08atBase \u5199\u300C\u7968\u8D77\u70B9\u65E0\u6B64\u5165\u53E3\u300D\uFF09\uFF0C\u6216\u4EFB\u4E00\u7AEF\u8DD1\u5931\u8D25\uFF08\u628A\u5931\u8D25\u8F93\u51FA\u539F\u6837\u5199\u8FDB\u90A3\u4E00\u7AEF\uFF09\uFF1B\u8DD1\u5931\u8D25\u7684\u884C\u6CA1\u89E3\u51B3\u524D\u4E0D\u5F97 converged" }
|
|
1851
|
+
)
|
|
1852
|
+
},
|
|
1853
|
+
{ additionalProperties: true }
|
|
1854
|
+
),
|
|
1855
|
+
{
|
|
1856
|
+
description: "\u6027\u80FD\u8D26\uFF08\u53D7\u5BA1\u4E4B\u7269\u662F\u5927\u7406\u5BFA\u5224\u8BCD\u65F6\u586B\uFF1B\u53D7\u5BA1\u592A\u533B\u7F72\u65F6\u6B64\u8868\u4E0E mechanisms \u90FD\u4E3A\u7A7A\u6570\u7EC4\uFF09\uFF1A\u7968\u9762\u6D89\u53CA\u7684\u771F\u5B9E\u5165\u53E3\uFF0C\u6BCF\u4E2A\u4E00\u884C\uFF0C\u7968\u8D77\u70B9\u4E0E\u6240\u88C1 HEAD \u5404\u4EB2\u8DD1\u4E00\u6B21\u5E76\u6392\u8BB0\uFF1B\u81F3\u5C11\u4E00\u884C\u662F\u7968\u8D77\u70B9\u4E0A\u5C31\u6709\u3001\u4E24\u7AEF\u90FD\u8DD1\u51FA\u6570\u5B57\u7684\u65E2\u6709\u5165\u53E3\u3002\u6709\u4E00\u884C compared \u4E3A\u300C\u6162\u6216\u8BFB\u5F97\u591A\u300D\u800C judgeSaid \u4E3A null\uFF0C\u5224\u8BCD\u5C31\u662F\u7F72\u4E86\u6CA1\u5904\u7F6E\uFF0Cstatus \u4E0D\u80FD\u662F converged\uFF1B\u6709\u8DD1\u5931\u8D25\u7684\u884C\uFF0C\u6216\u6CA1\u6709\u4E00\u884C\u53EF\u6BD4\uFF0Cstatus \u540C\u6837\u4E0D\u80FD\u662F converged\u3002"
|
|
1857
|
+
}
|
|
1858
|
+
)
|
|
1859
|
+
},
|
|
1860
|
+
{ additionalProperties: true }
|
|
1861
|
+
)
|
|
1862
|
+
);
|
|
1825
1863
|
}
|
|
1826
1864
|
});
|
|
1827
1865
|
|
|
@@ -3270,9 +3308,9 @@ var init_role_submission_declarations = __esm({
|
|
|
3270
3308
|
},
|
|
3271
3309
|
auditor: {
|
|
3272
3310
|
label: "\u5BA1\u5211\u9662\u8F93\u51FA",
|
|
3273
|
-
description: "\u5BA1\u5211\u9662\u7EC8\u5C40\u56DE\u6267\uFF0Cstatus \u4E3A converged\u3001continue \u6216 escalate\u3002",
|
|
3311
|
+
description: "\u5BA1\u5211\u9662\u7EC8\u5C40\u56DE\u6267\uFF0Cstatus \u4E3A converged\u3001continue \u6216 escalate\uFF08\u542B\u6240\u88C1\u5B9E\u73B0\u7684\u590D\u6742\u5EA6\u8D26 mechanisms\uFF09\u3002",
|
|
3274
3312
|
promptSnippet: "\u5BA1\u5211\u9662\u7EC8\u5C40\u56DE\u6267",
|
|
3275
|
-
parameters:
|
|
3313
|
+
parameters: auditorSubmissionSchema
|
|
3276
3314
|
},
|
|
3277
3315
|
diarist: {
|
|
3278
3316
|
label: "\u8D77\u5C45\u90CE\u8F93\u51FA",
|
|
@@ -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, mechanismRowSchema, 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, mechanismRowUnion, mechanismRowSchema, auditorMechanismRowSchema, inspectorSubmissionSchema, auditorSubmissionSchema;
|
|
485
485
|
var init_review_submission = __esm({
|
|
486
486
|
"src/review-submission.ts"() {
|
|
487
487
|
"use strict";
|
|
@@ -531,7 +531,7 @@ var init_review_submission = __esm({
|
|
|
531
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
532
|
}),
|
|
533
533
|
askedObject: Type2.Union([Type2.String(), Type2.Null()], {
|
|
534
|
-
description: "\u6240\u7B54\u90A3\u53E5\u95EE\u7684\u662F\u54EA\u4EF6\u4E8B\
|
|
534
|
+
description: "\u6240\u7B54\u90A3\u53E5\u95EE\u7684\u662F\u54EA\u4EF6\u4E8B\uFF1A\u7167\u6284 answered \u91CC\u70B9\u540D\u5BF9\u8C61\u7684\u539F\u8BCD\uFF0C\u4E0D\u8F6C\u8FF0\u3001\u4E0D\u6982\u62EC\uFF08\u90A3\u53E5\u95EE\u300C\u7F13\u5B58\u662F\u89E3\u7981\u8FD8\u662F\u7EF4\u6301\u7981\u4EE4\u300D\uFF0C\u8FD9\u683C\u5C31\u662F\u300C\u7F13\u5B58\u7981\u4EE4\u300D\uFF0C\u4E0D\u662F\u300C\u8FD0\u884C\u65F6 DRY \u4FEE\u590D\u300D\uFF09\uFF1Banswered \u4E3A null \u65F6\u540C\u4E3A null"
|
|
535
535
|
}),
|
|
536
536
|
derivation: Type2.String({
|
|
537
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"
|
|
@@ -578,7 +578,7 @@ var init_review_submission = __esm({
|
|
|
578
578
|
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" })
|
|
579
579
|
};
|
|
580
580
|
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";
|
|
581
|
-
|
|
581
|
+
mechanismRowUnion = (extra = {}) => Type2.Union(
|
|
582
582
|
[
|
|
583
583
|
Type2.Object(
|
|
584
584
|
{
|
|
@@ -586,7 +586,8 @@ var init_review_submission = __esm({
|
|
|
586
586
|
official: Type2.String({
|
|
587
587
|
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}`
|
|
588
588
|
}),
|
|
589
|
-
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" })
|
|
589
|
+
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" }),
|
|
590
|
+
...extra
|
|
590
591
|
},
|
|
591
592
|
{ additionalProperties: true }
|
|
592
593
|
),
|
|
@@ -596,13 +597,20 @@ var init_review_submission = __esm({
|
|
|
596
597
|
official: Type2.Null({
|
|
597
598
|
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}`
|
|
598
599
|
}),
|
|
599
|
-
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" })
|
|
600
|
+
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" }),
|
|
601
|
+
...extra
|
|
600
602
|
},
|
|
601
603
|
{ additionalProperties: true }
|
|
602
604
|
)
|
|
603
605
|
],
|
|
604
606
|
{ 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" }
|
|
605
607
|
);
|
|
608
|
+
mechanismRowSchema = mechanismRowUnion();
|
|
609
|
+
auditorMechanismRowSchema = mechanismRowUnion({
|
|
610
|
+
judgeSaid: Type2.Union([Type2.String(), Type2.Null()], {
|
|
611
|
+
description: "\u5927\u7406\u5BFA\u5224\u8BCD\u91CC\u88C1\u5230\u8FD9\u4E00\u5C42\u7684\u90A3\u53E5\u539F\u6587\uFF08\u7167\u6284\uFF09\uFF1B\u5224\u8BCD\u6CA1\u63D0\u8FD9\u4E00\u5C42\uFF0C\u586B null"
|
|
612
|
+
})
|
|
613
|
+
});
|
|
606
614
|
inspectorSubmissionSchema = withTerminatingOutputDeclarations(
|
|
607
615
|
Type2.Object(
|
|
608
616
|
{
|
|
@@ -621,6 +629,36 @@ var init_review_submission = __esm({
|
|
|
621
629
|
{ additionalProperties: true }
|
|
622
630
|
)
|
|
623
631
|
);
|
|
632
|
+
auditorSubmissionSchema = withTerminatingOutputDeclarations(
|
|
633
|
+
Type2.Object(
|
|
634
|
+
{
|
|
635
|
+
status: reviewStatusField,
|
|
636
|
+
...reviewNarrativeFields,
|
|
637
|
+
mechanisms: Type2.Array(auditorMechanismRowSchema, {
|
|
638
|
+
description: "\u590D\u6742\u5EA6\u8D26\uFF1A\u5927\u7406\u5BFA\u672C\u8F6E\u5224\u8BCD\u6240\u88C1\u7684\u5B9E\u73B0\uFF0C\u4ECE\u672C\u7968\u8D77\u70B9\u5230\u8BE5 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\uFF08\u540C\u53F0\u9662\u673A\u5236\u5C42\u8868\uFF09\uFF0C\u518D\u5199\u5224\u8BCD\u5BF9\u8FD9\u4E00\u5C42\u8BF4\u4E86\u4EC0\u4E48\uFF1B\u4E00\u5904\u6CA1\u6709\u4E3A\u7A7A\u6570\u7EC4\u3002\u5224\u8BCD\u7F72\u4E86\u800C\u8868\u91CC\u6709\u300C\u5220\u300D\u884C\u5224\u8BCD\u6CA1\u5904\u7F6E\uFF0C\u5C31\u662F\u9519\u7F72\u3002"
|
|
639
|
+
}),
|
|
640
|
+
runtime: Type2.Array(
|
|
641
|
+
Type2.Object(
|
|
642
|
+
{
|
|
643
|
+
entry: Type2.String({ description: "\u771F\u5B9E\u5165\u53E3\uFF1A\u4F60\u4EB2\u8DD1\u7684\u547D\u4EE4\u539F\u6587\uFF08\u6D4B\u8BD5\u7528\u4F8B\u6216\u7A0B\u5E8F\u5165\u53E3\uFF09\u3002\u7968\u9762\u3001\u5224\u8BCD\u3001\u65BD\u5DE5\u8BB0\u5F55\u3001\u53F0\u9662\u56DE\u6267\u91CC\u70B9\u540D\u8FC7\u7684\u6BCF\u4E2A\u771F\u5B9E\u5165\u53E3\u90FD\u8981\u6709\u4E00\u884C\uFF0C\u4E00\u4E2A\u4E0D\u6F0F\uFF0C\u518D\u52A0\u4F60\u81EA\u5DF1\u9009\u7684\uFF1B\u6570\u5B57\u53EA\u8BA4\u81EA\u5DF1\u8DD1\u51FA\u6765\u7684\uFF0C\u4E0D\u6284\u8BB0\u5F55" }),
|
|
644
|
+
atBase: Type2.String({ description: "\u5728\u672C\u7968\u8D77\u70B9\uFF08\u672C\u5206\u652F\u4E0E\u5BB6\u65CF\u5206\u652F\u6216\u76EE\u6807\u5206\u652F\u7684 git merge-base\uFF0C\u540C\u53F0\u9662\uFF09\u4E0A\u8DD1\u8FD9\u4E00\u5165\u53E3\u7684\u673A\u5668\u8F93\u51FA\uFF1A\u7528\u65F6\u3001SQL\uFF0F\u8BFB\u6B21\u6570\u3001\u5CF0\u503C\u5185\u5B58\u7B49\u80FD\u8BFB\u5230\u7684\u6570\u5B57\uFF1B\u5165\u53E3\u662F\u672C\u7968\u65B0\u52A0\u3001\u7968\u8D77\u70B9\u4E0A\u6CA1\u6709\u7684\uFF0C\u5199\u300C\u7968\u8D77\u70B9\u65E0\u6B64\u5165\u53E3\u300D" }),
|
|
645
|
+
atHead: Type2.String({ description: "\u5728\u6240\u88C1 HEAD \u4E0A\u8DD1\u540C\u4E00\u5165\u53E3\u7684\u673A\u5668\u8F93\u51FA\uFF0C\u540C\u4E00\u673A\u5668\u540C\u4E00\u73AF\u5883" }),
|
|
646
|
+
judgeSaid: Type2.Union([Type2.String(), Type2.Null()], { description: "\u5224\u8BCD\u5BF9\u8FD9\u4E00\u5165\u53E3\u5FEB\u6162\u8BF4\u7684\u90A3\u53E5\u539F\u6587\uFF08\u7167\u6284\uFF09\uFF1B\u6CA1\u8BF4\u586B null" }),
|
|
647
|
+
compared: Type2.Union(
|
|
648
|
+
[Type2.Literal("HEAD \u6BD4\u7968\u8D77\u70B9\u6162\u6216\u8BFB\u5F97\u591A"), Type2.Literal("HEAD \u4E0D\u6BD4\u7968\u8D77\u70B9\u6162\u3001\u4E0D\u591A\u8BFB"), Type2.Literal("\u65E0\u4ECE\u6BD4\uFF1A\u7968\u8D77\u70B9\u65E0\u6B64\u5165\u53E3\uFF0C\u6216\u8FD9\u4E00\u7AEF\u8DD1\u5931\u8D25")],
|
|
649
|
+
{ description: "\u53EA\u8BA4 atBase \u4E0E atHead \u5E76\u6392\u7684\u6570\u5B57\uFF1A\u7528\u65F6\u6216\u8BFB\u6B21\u6570\u4EFB\u4E00\u53D8\u5927\u5C31\u662F\u7B2C\u4E00\u79CD\uFF1B\u4E00\u6B21\u6027\u6210\u672C\u3001CI \u53E6\u7B97\u3001\u4E0D\u963B\u65AD\u90FD\u4E0D\u662F\u7406\u7531\u3002\u7B2C\u4E09\u79CD\u7ED9\u4E24\u7C7B\u884C\uFF1A\u7968\u8D77\u70B9\u4E0A\u4E0D\u5B58\u5728\u7684\u5165\u53E3\uFF08atBase \u5199\u300C\u7968\u8D77\u70B9\u65E0\u6B64\u5165\u53E3\u300D\uFF09\uFF0C\u6216\u4EFB\u4E00\u7AEF\u8DD1\u5931\u8D25\uFF08\u628A\u5931\u8D25\u8F93\u51FA\u539F\u6837\u5199\u8FDB\u90A3\u4E00\u7AEF\uFF09\uFF1B\u8DD1\u5931\u8D25\u7684\u884C\u6CA1\u89E3\u51B3\u524D\u4E0D\u5F97 converged" }
|
|
650
|
+
)
|
|
651
|
+
},
|
|
652
|
+
{ additionalProperties: true }
|
|
653
|
+
),
|
|
654
|
+
{
|
|
655
|
+
description: "\u6027\u80FD\u8D26\uFF08\u53D7\u5BA1\u4E4B\u7269\u662F\u5927\u7406\u5BFA\u5224\u8BCD\u65F6\u586B\uFF1B\u53D7\u5BA1\u592A\u533B\u7F72\u65F6\u6B64\u8868\u4E0E mechanisms \u90FD\u4E3A\u7A7A\u6570\u7EC4\uFF09\uFF1A\u7968\u9762\u6D89\u53CA\u7684\u771F\u5B9E\u5165\u53E3\uFF0C\u6BCF\u4E2A\u4E00\u884C\uFF0C\u7968\u8D77\u70B9\u4E0E\u6240\u88C1 HEAD \u5404\u4EB2\u8DD1\u4E00\u6B21\u5E76\u6392\u8BB0\uFF1B\u81F3\u5C11\u4E00\u884C\u662F\u7968\u8D77\u70B9\u4E0A\u5C31\u6709\u3001\u4E24\u7AEF\u90FD\u8DD1\u51FA\u6570\u5B57\u7684\u65E2\u6709\u5165\u53E3\u3002\u6709\u4E00\u884C compared \u4E3A\u300C\u6162\u6216\u8BFB\u5F97\u591A\u300D\u800C judgeSaid \u4E3A null\uFF0C\u5224\u8BCD\u5C31\u662F\u7F72\u4E86\u6CA1\u5904\u7F6E\uFF0Cstatus \u4E0D\u80FD\u662F converged\uFF1B\u6709\u8DD1\u5931\u8D25\u7684\u884C\uFF0C\u6216\u6CA1\u6709\u4E00\u884C\u53EF\u6BD4\uFF0Cstatus \u540C\u6837\u4E0D\u80FD\u662F converged\u3002"
|
|
656
|
+
}
|
|
657
|
+
)
|
|
658
|
+
},
|
|
659
|
+
{ additionalProperties: true }
|
|
660
|
+
)
|
|
661
|
+
);
|
|
624
662
|
}
|
|
625
663
|
});
|
|
626
664
|
|
|
@@ -4592,9 +4630,9 @@ var init_role_submission_declarations = __esm({
|
|
|
4592
4630
|
},
|
|
4593
4631
|
auditor: {
|
|
4594
4632
|
label: "\u5BA1\u5211\u9662\u8F93\u51FA",
|
|
4595
|
-
description: "\u5BA1\u5211\u9662\u7EC8\u5C40\u56DE\u6267\uFF0Cstatus \u4E3A converged\u3001continue \u6216 escalate\u3002",
|
|
4633
|
+
description: "\u5BA1\u5211\u9662\u7EC8\u5C40\u56DE\u6267\uFF0Cstatus \u4E3A converged\u3001continue \u6216 escalate\uFF08\u542B\u6240\u88C1\u5B9E\u73B0\u7684\u590D\u6742\u5EA6\u8D26 mechanisms\uFF09\u3002",
|
|
4596
4634
|
promptSnippet: "\u5BA1\u5211\u9662\u7EC8\u5C40\u56DE\u6267",
|
|
4597
|
-
parameters:
|
|
4635
|
+
parameters: auditorSubmissionSchema
|
|
4598
4636
|
},
|
|
4599
4637
|
diarist: {
|
|
4600
4638
|
label: "\u8D77\u5C45\u90CE\u8F93\u51FA",
|
|
@@ -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, mechanismRowSchema, 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, mechanismRowUnion, mechanismRowSchema, auditorMechanismRowSchema, inspectorSubmissionSchema, auditorSubmissionSchema;
|
|
8711
8711
|
var init_review_submission = __esm({
|
|
8712
8712
|
"src/review-submission.ts"() {
|
|
8713
8713
|
"use strict";
|
|
@@ -8758,7 +8758,7 @@ var init_review_submission = __esm({
|
|
|
8758
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
8759
|
}),
|
|
8760
8760
|
askedObject: typebox_exports.Union([typebox_exports.String(), typebox_exports.Null()], {
|
|
8761
|
-
description: "\u6240\u7B54\u90A3\u53E5\u95EE\u7684\u662F\u54EA\u4EF6\u4E8B\
|
|
8761
|
+
description: "\u6240\u7B54\u90A3\u53E5\u95EE\u7684\u662F\u54EA\u4EF6\u4E8B\uFF1A\u7167\u6284 answered \u91CC\u70B9\u540D\u5BF9\u8C61\u7684\u539F\u8BCD\uFF0C\u4E0D\u8F6C\u8FF0\u3001\u4E0D\u6982\u62EC\uFF08\u90A3\u53E5\u95EE\u300C\u7F13\u5B58\u662F\u89E3\u7981\u8FD8\u662F\u7EF4\u6301\u7981\u4EE4\u300D\uFF0C\u8FD9\u683C\u5C31\u662F\u300C\u7F13\u5B58\u7981\u4EE4\u300D\uFF0C\u4E0D\u662F\u300C\u8FD0\u884C\u65F6 DRY \u4FEE\u590D\u300D\uFF09\uFF1Banswered \u4E3A null \u65F6\u540C\u4E3A null"
|
|
8762
8762
|
}),
|
|
8763
8763
|
derivation: typebox_exports.String({
|
|
8764
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"
|
|
@@ -8805,7 +8805,7 @@ var init_review_submission = __esm({
|
|
|
8805
8805
|
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" })
|
|
8806
8806
|
};
|
|
8807
8807
|
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";
|
|
8808
|
-
|
|
8808
|
+
mechanismRowUnion = (extra = {}) => typebox_exports.Union(
|
|
8809
8809
|
[
|
|
8810
8810
|
typebox_exports.Object(
|
|
8811
8811
|
{
|
|
@@ -8813,7 +8813,8 @@ var init_review_submission = __esm({
|
|
|
8813
8813
|
official: typebox_exports.String({
|
|
8814
8814
|
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}`
|
|
8815
8815
|
}),
|
|
8816
|
-
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" })
|
|
8816
|
+
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" }),
|
|
8817
|
+
...extra
|
|
8817
8818
|
},
|
|
8818
8819
|
{ additionalProperties: true }
|
|
8819
8820
|
),
|
|
@@ -8823,13 +8824,20 @@ var init_review_submission = __esm({
|
|
|
8823
8824
|
official: typebox_exports.Null({
|
|
8824
8825
|
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}`
|
|
8825
8826
|
}),
|
|
8826
|
-
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" })
|
|
8827
|
+
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" }),
|
|
8828
|
+
...extra
|
|
8827
8829
|
},
|
|
8828
8830
|
{ additionalProperties: true }
|
|
8829
8831
|
)
|
|
8830
8832
|
],
|
|
8831
8833
|
{ 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" }
|
|
8832
8834
|
);
|
|
8835
|
+
mechanismRowSchema = mechanismRowUnion();
|
|
8836
|
+
auditorMechanismRowSchema = mechanismRowUnion({
|
|
8837
|
+
judgeSaid: typebox_exports.Union([typebox_exports.String(), typebox_exports.Null()], {
|
|
8838
|
+
description: "\u5927\u7406\u5BFA\u5224\u8BCD\u91CC\u88C1\u5230\u8FD9\u4E00\u5C42\u7684\u90A3\u53E5\u539F\u6587\uFF08\u7167\u6284\uFF09\uFF1B\u5224\u8BCD\u6CA1\u63D0\u8FD9\u4E00\u5C42\uFF0C\u586B null"
|
|
8839
|
+
})
|
|
8840
|
+
});
|
|
8833
8841
|
inspectorSubmissionSchema = withTerminatingOutputDeclarations(
|
|
8834
8842
|
typebox_exports.Object(
|
|
8835
8843
|
{
|
|
@@ -8848,6 +8856,36 @@ var init_review_submission = __esm({
|
|
|
8848
8856
|
{ additionalProperties: true }
|
|
8849
8857
|
)
|
|
8850
8858
|
);
|
|
8859
|
+
auditorSubmissionSchema = withTerminatingOutputDeclarations(
|
|
8860
|
+
typebox_exports.Object(
|
|
8861
|
+
{
|
|
8862
|
+
status: reviewStatusField,
|
|
8863
|
+
...reviewNarrativeFields,
|
|
8864
|
+
mechanisms: typebox_exports.Array(auditorMechanismRowSchema, {
|
|
8865
|
+
description: "\u590D\u6742\u5EA6\u8D26\uFF1A\u5927\u7406\u5BFA\u672C\u8F6E\u5224\u8BCD\u6240\u88C1\u7684\u5B9E\u73B0\uFF0C\u4ECE\u672C\u7968\u8D77\u70B9\u5230\u8BE5 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\uFF08\u540C\u53F0\u9662\u673A\u5236\u5C42\u8868\uFF09\uFF0C\u518D\u5199\u5224\u8BCD\u5BF9\u8FD9\u4E00\u5C42\u8BF4\u4E86\u4EC0\u4E48\uFF1B\u4E00\u5904\u6CA1\u6709\u4E3A\u7A7A\u6570\u7EC4\u3002\u5224\u8BCD\u7F72\u4E86\u800C\u8868\u91CC\u6709\u300C\u5220\u300D\u884C\u5224\u8BCD\u6CA1\u5904\u7F6E\uFF0C\u5C31\u662F\u9519\u7F72\u3002"
|
|
8866
|
+
}),
|
|
8867
|
+
runtime: typebox_exports.Array(
|
|
8868
|
+
typebox_exports.Object(
|
|
8869
|
+
{
|
|
8870
|
+
entry: typebox_exports.String({ description: "\u771F\u5B9E\u5165\u53E3\uFF1A\u4F60\u4EB2\u8DD1\u7684\u547D\u4EE4\u539F\u6587\uFF08\u6D4B\u8BD5\u7528\u4F8B\u6216\u7A0B\u5E8F\u5165\u53E3\uFF09\u3002\u7968\u9762\u3001\u5224\u8BCD\u3001\u65BD\u5DE5\u8BB0\u5F55\u3001\u53F0\u9662\u56DE\u6267\u91CC\u70B9\u540D\u8FC7\u7684\u6BCF\u4E2A\u771F\u5B9E\u5165\u53E3\u90FD\u8981\u6709\u4E00\u884C\uFF0C\u4E00\u4E2A\u4E0D\u6F0F\uFF0C\u518D\u52A0\u4F60\u81EA\u5DF1\u9009\u7684\uFF1B\u6570\u5B57\u53EA\u8BA4\u81EA\u5DF1\u8DD1\u51FA\u6765\u7684\uFF0C\u4E0D\u6284\u8BB0\u5F55" }),
|
|
8871
|
+
atBase: typebox_exports.String({ description: "\u5728\u672C\u7968\u8D77\u70B9\uFF08\u672C\u5206\u652F\u4E0E\u5BB6\u65CF\u5206\u652F\u6216\u76EE\u6807\u5206\u652F\u7684 git merge-base\uFF0C\u540C\u53F0\u9662\uFF09\u4E0A\u8DD1\u8FD9\u4E00\u5165\u53E3\u7684\u673A\u5668\u8F93\u51FA\uFF1A\u7528\u65F6\u3001SQL\uFF0F\u8BFB\u6B21\u6570\u3001\u5CF0\u503C\u5185\u5B58\u7B49\u80FD\u8BFB\u5230\u7684\u6570\u5B57\uFF1B\u5165\u53E3\u662F\u672C\u7968\u65B0\u52A0\u3001\u7968\u8D77\u70B9\u4E0A\u6CA1\u6709\u7684\uFF0C\u5199\u300C\u7968\u8D77\u70B9\u65E0\u6B64\u5165\u53E3\u300D" }),
|
|
8872
|
+
atHead: typebox_exports.String({ description: "\u5728\u6240\u88C1 HEAD \u4E0A\u8DD1\u540C\u4E00\u5165\u53E3\u7684\u673A\u5668\u8F93\u51FA\uFF0C\u540C\u4E00\u673A\u5668\u540C\u4E00\u73AF\u5883" }),
|
|
8873
|
+
judgeSaid: typebox_exports.Union([typebox_exports.String(), typebox_exports.Null()], { description: "\u5224\u8BCD\u5BF9\u8FD9\u4E00\u5165\u53E3\u5FEB\u6162\u8BF4\u7684\u90A3\u53E5\u539F\u6587\uFF08\u7167\u6284\uFF09\uFF1B\u6CA1\u8BF4\u586B null" }),
|
|
8874
|
+
compared: typebox_exports.Union(
|
|
8875
|
+
[typebox_exports.Literal("HEAD \u6BD4\u7968\u8D77\u70B9\u6162\u6216\u8BFB\u5F97\u591A"), typebox_exports.Literal("HEAD \u4E0D\u6BD4\u7968\u8D77\u70B9\u6162\u3001\u4E0D\u591A\u8BFB"), typebox_exports.Literal("\u65E0\u4ECE\u6BD4\uFF1A\u7968\u8D77\u70B9\u65E0\u6B64\u5165\u53E3\uFF0C\u6216\u8FD9\u4E00\u7AEF\u8DD1\u5931\u8D25")],
|
|
8876
|
+
{ description: "\u53EA\u8BA4 atBase \u4E0E atHead \u5E76\u6392\u7684\u6570\u5B57\uFF1A\u7528\u65F6\u6216\u8BFB\u6B21\u6570\u4EFB\u4E00\u53D8\u5927\u5C31\u662F\u7B2C\u4E00\u79CD\uFF1B\u4E00\u6B21\u6027\u6210\u672C\u3001CI \u53E6\u7B97\u3001\u4E0D\u963B\u65AD\u90FD\u4E0D\u662F\u7406\u7531\u3002\u7B2C\u4E09\u79CD\u7ED9\u4E24\u7C7B\u884C\uFF1A\u7968\u8D77\u70B9\u4E0A\u4E0D\u5B58\u5728\u7684\u5165\u53E3\uFF08atBase \u5199\u300C\u7968\u8D77\u70B9\u65E0\u6B64\u5165\u53E3\u300D\uFF09\uFF0C\u6216\u4EFB\u4E00\u7AEF\u8DD1\u5931\u8D25\uFF08\u628A\u5931\u8D25\u8F93\u51FA\u539F\u6837\u5199\u8FDB\u90A3\u4E00\u7AEF\uFF09\uFF1B\u8DD1\u5931\u8D25\u7684\u884C\u6CA1\u89E3\u51B3\u524D\u4E0D\u5F97 converged" }
|
|
8877
|
+
)
|
|
8878
|
+
},
|
|
8879
|
+
{ additionalProperties: true }
|
|
8880
|
+
),
|
|
8881
|
+
{
|
|
8882
|
+
description: "\u6027\u80FD\u8D26\uFF08\u53D7\u5BA1\u4E4B\u7269\u662F\u5927\u7406\u5BFA\u5224\u8BCD\u65F6\u586B\uFF1B\u53D7\u5BA1\u592A\u533B\u7F72\u65F6\u6B64\u8868\u4E0E mechanisms \u90FD\u4E3A\u7A7A\u6570\u7EC4\uFF09\uFF1A\u7968\u9762\u6D89\u53CA\u7684\u771F\u5B9E\u5165\u53E3\uFF0C\u6BCF\u4E2A\u4E00\u884C\uFF0C\u7968\u8D77\u70B9\u4E0E\u6240\u88C1 HEAD \u5404\u4EB2\u8DD1\u4E00\u6B21\u5E76\u6392\u8BB0\uFF1B\u81F3\u5C11\u4E00\u884C\u662F\u7968\u8D77\u70B9\u4E0A\u5C31\u6709\u3001\u4E24\u7AEF\u90FD\u8DD1\u51FA\u6570\u5B57\u7684\u65E2\u6709\u5165\u53E3\u3002\u6709\u4E00\u884C compared \u4E3A\u300C\u6162\u6216\u8BFB\u5F97\u591A\u300D\u800C judgeSaid \u4E3A null\uFF0C\u5224\u8BCD\u5C31\u662F\u7F72\u4E86\u6CA1\u5904\u7F6E\uFF0Cstatus \u4E0D\u80FD\u662F converged\uFF1B\u6709\u8DD1\u5931\u8D25\u7684\u884C\uFF0C\u6216\u6CA1\u6709\u4E00\u884C\u53EF\u6BD4\uFF0Cstatus \u540C\u6837\u4E0D\u80FD\u662F converged\u3002"
|
|
8883
|
+
}
|
|
8884
|
+
)
|
|
8885
|
+
},
|
|
8886
|
+
{ additionalProperties: true }
|
|
8887
|
+
)
|
|
8888
|
+
);
|
|
8851
8889
|
}
|
|
8852
8890
|
});
|
|
8853
8891
|
|
|
@@ -9888,9 +9926,9 @@ var init_role_submission_declarations = __esm({
|
|
|
9888
9926
|
},
|
|
9889
9927
|
auditor: {
|
|
9890
9928
|
label: "\u5BA1\u5211\u9662\u8F93\u51FA",
|
|
9891
|
-
description: "\u5BA1\u5211\u9662\u7EC8\u5C40\u56DE\u6267\uFF0Cstatus \u4E3A converged\u3001continue \u6216 escalate\u3002",
|
|
9929
|
+
description: "\u5BA1\u5211\u9662\u7EC8\u5C40\u56DE\u6267\uFF0Cstatus \u4E3A converged\u3001continue \u6216 escalate\uFF08\u542B\u6240\u88C1\u5B9E\u73B0\u7684\u590D\u6742\u5EA6\u8D26 mechanisms\uFF09\u3002",
|
|
9892
9930
|
promptSnippet: "\u5BA1\u5211\u9662\u7EC8\u5C40\u56DE\u6267",
|
|
9893
|
-
parameters:
|
|
9931
|
+
parameters: auditorSubmissionSchema
|
|
9894
9932
|
},
|
|
9895
9933
|
diarist: {
|
|
9896
9934
|
label: "\u8D77\u5C45\u90CE\u8F93\u51FA",
|
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, mechanismRowBase, MECHANISM_FRAMEWORK_RULE, mechanismRowSchema, 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, mechanismRowUnion, mechanismRowSchema, auditorMechanismRowSchema, inspectorSubmissionSchema, auditorSubmissionSchema;
|
|
9201
9201
|
var init_review_submission = __esm({
|
|
9202
9202
|
"src/review-submission.ts"() {
|
|
9203
9203
|
"use strict";
|
|
@@ -9248,7 +9248,7 @@ var init_review_submission = __esm({
|
|
|
9248
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
9249
|
}),
|
|
9250
9250
|
askedObject: typebox_exports.Union([typebox_exports.String(), typebox_exports.Null()], {
|
|
9251
|
-
description: "\u6240\u7B54\u90A3\u53E5\u95EE\u7684\u662F\u54EA\u4EF6\u4E8B\
|
|
9251
|
+
description: "\u6240\u7B54\u90A3\u53E5\u95EE\u7684\u662F\u54EA\u4EF6\u4E8B\uFF1A\u7167\u6284 answered \u91CC\u70B9\u540D\u5BF9\u8C61\u7684\u539F\u8BCD\uFF0C\u4E0D\u8F6C\u8FF0\u3001\u4E0D\u6982\u62EC\uFF08\u90A3\u53E5\u95EE\u300C\u7F13\u5B58\u662F\u89E3\u7981\u8FD8\u662F\u7EF4\u6301\u7981\u4EE4\u300D\uFF0C\u8FD9\u683C\u5C31\u662F\u300C\u7F13\u5B58\u7981\u4EE4\u300D\uFF0C\u4E0D\u662F\u300C\u8FD0\u884C\u65F6 DRY \u4FEE\u590D\u300D\uFF09\uFF1Banswered \u4E3A null \u65F6\u540C\u4E3A null"
|
|
9252
9252
|
}),
|
|
9253
9253
|
derivation: typebox_exports.String({
|
|
9254
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"
|
|
@@ -9295,7 +9295,7 @@ var init_review_submission = __esm({
|
|
|
9295
9295
|
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" })
|
|
9296
9296
|
};
|
|
9297
9297
|
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";
|
|
9298
|
-
|
|
9298
|
+
mechanismRowUnion = (extra = {}) => typebox_exports.Union(
|
|
9299
9299
|
[
|
|
9300
9300
|
typebox_exports.Object(
|
|
9301
9301
|
{
|
|
@@ -9303,7 +9303,8 @@ var init_review_submission = __esm({
|
|
|
9303
9303
|
official: typebox_exports.String({
|
|
9304
9304
|
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}`
|
|
9305
9305
|
}),
|
|
9306
|
-
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" })
|
|
9306
|
+
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" }),
|
|
9307
|
+
...extra
|
|
9307
9308
|
},
|
|
9308
9309
|
{ additionalProperties: true }
|
|
9309
9310
|
),
|
|
@@ -9313,13 +9314,20 @@ var init_review_submission = __esm({
|
|
|
9313
9314
|
official: typebox_exports.Null({
|
|
9314
9315
|
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}`
|
|
9315
9316
|
}),
|
|
9316
|
-
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" })
|
|
9317
|
+
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" }),
|
|
9318
|
+
...extra
|
|
9317
9319
|
},
|
|
9318
9320
|
{ additionalProperties: true }
|
|
9319
9321
|
)
|
|
9320
9322
|
],
|
|
9321
9323
|
{ 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" }
|
|
9322
9324
|
);
|
|
9325
|
+
mechanismRowSchema = mechanismRowUnion();
|
|
9326
|
+
auditorMechanismRowSchema = mechanismRowUnion({
|
|
9327
|
+
judgeSaid: typebox_exports.Union([typebox_exports.String(), typebox_exports.Null()], {
|
|
9328
|
+
description: "\u5927\u7406\u5BFA\u5224\u8BCD\u91CC\u88C1\u5230\u8FD9\u4E00\u5C42\u7684\u90A3\u53E5\u539F\u6587\uFF08\u7167\u6284\uFF09\uFF1B\u5224\u8BCD\u6CA1\u63D0\u8FD9\u4E00\u5C42\uFF0C\u586B null"
|
|
9329
|
+
})
|
|
9330
|
+
});
|
|
9323
9331
|
inspectorSubmissionSchema = withTerminatingOutputDeclarations(
|
|
9324
9332
|
typebox_exports.Object(
|
|
9325
9333
|
{
|
|
@@ -9338,6 +9346,36 @@ var init_review_submission = __esm({
|
|
|
9338
9346
|
{ additionalProperties: true }
|
|
9339
9347
|
)
|
|
9340
9348
|
);
|
|
9349
|
+
auditorSubmissionSchema = withTerminatingOutputDeclarations(
|
|
9350
|
+
typebox_exports.Object(
|
|
9351
|
+
{
|
|
9352
|
+
status: reviewStatusField,
|
|
9353
|
+
...reviewNarrativeFields,
|
|
9354
|
+
mechanisms: typebox_exports.Array(auditorMechanismRowSchema, {
|
|
9355
|
+
description: "\u590D\u6742\u5EA6\u8D26\uFF1A\u5927\u7406\u5BFA\u672C\u8F6E\u5224\u8BCD\u6240\u88C1\u7684\u5B9E\u73B0\uFF0C\u4ECE\u672C\u7968\u8D77\u70B9\u5230\u8BE5 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\uFF08\u540C\u53F0\u9662\u673A\u5236\u5C42\u8868\uFF09\uFF0C\u518D\u5199\u5224\u8BCD\u5BF9\u8FD9\u4E00\u5C42\u8BF4\u4E86\u4EC0\u4E48\uFF1B\u4E00\u5904\u6CA1\u6709\u4E3A\u7A7A\u6570\u7EC4\u3002\u5224\u8BCD\u7F72\u4E86\u800C\u8868\u91CC\u6709\u300C\u5220\u300D\u884C\u5224\u8BCD\u6CA1\u5904\u7F6E\uFF0C\u5C31\u662F\u9519\u7F72\u3002"
|
|
9356
|
+
}),
|
|
9357
|
+
runtime: typebox_exports.Array(
|
|
9358
|
+
typebox_exports.Object(
|
|
9359
|
+
{
|
|
9360
|
+
entry: typebox_exports.String({ description: "\u771F\u5B9E\u5165\u53E3\uFF1A\u4F60\u4EB2\u8DD1\u7684\u547D\u4EE4\u539F\u6587\uFF08\u6D4B\u8BD5\u7528\u4F8B\u6216\u7A0B\u5E8F\u5165\u53E3\uFF09\u3002\u7968\u9762\u3001\u5224\u8BCD\u3001\u65BD\u5DE5\u8BB0\u5F55\u3001\u53F0\u9662\u56DE\u6267\u91CC\u70B9\u540D\u8FC7\u7684\u6BCF\u4E2A\u771F\u5B9E\u5165\u53E3\u90FD\u8981\u6709\u4E00\u884C\uFF0C\u4E00\u4E2A\u4E0D\u6F0F\uFF0C\u518D\u52A0\u4F60\u81EA\u5DF1\u9009\u7684\uFF1B\u6570\u5B57\u53EA\u8BA4\u81EA\u5DF1\u8DD1\u51FA\u6765\u7684\uFF0C\u4E0D\u6284\u8BB0\u5F55" }),
|
|
9361
|
+
atBase: typebox_exports.String({ description: "\u5728\u672C\u7968\u8D77\u70B9\uFF08\u672C\u5206\u652F\u4E0E\u5BB6\u65CF\u5206\u652F\u6216\u76EE\u6807\u5206\u652F\u7684 git merge-base\uFF0C\u540C\u53F0\u9662\uFF09\u4E0A\u8DD1\u8FD9\u4E00\u5165\u53E3\u7684\u673A\u5668\u8F93\u51FA\uFF1A\u7528\u65F6\u3001SQL\uFF0F\u8BFB\u6B21\u6570\u3001\u5CF0\u503C\u5185\u5B58\u7B49\u80FD\u8BFB\u5230\u7684\u6570\u5B57\uFF1B\u5165\u53E3\u662F\u672C\u7968\u65B0\u52A0\u3001\u7968\u8D77\u70B9\u4E0A\u6CA1\u6709\u7684\uFF0C\u5199\u300C\u7968\u8D77\u70B9\u65E0\u6B64\u5165\u53E3\u300D" }),
|
|
9362
|
+
atHead: typebox_exports.String({ description: "\u5728\u6240\u88C1 HEAD \u4E0A\u8DD1\u540C\u4E00\u5165\u53E3\u7684\u673A\u5668\u8F93\u51FA\uFF0C\u540C\u4E00\u673A\u5668\u540C\u4E00\u73AF\u5883" }),
|
|
9363
|
+
judgeSaid: typebox_exports.Union([typebox_exports.String(), typebox_exports.Null()], { description: "\u5224\u8BCD\u5BF9\u8FD9\u4E00\u5165\u53E3\u5FEB\u6162\u8BF4\u7684\u90A3\u53E5\u539F\u6587\uFF08\u7167\u6284\uFF09\uFF1B\u6CA1\u8BF4\u586B null" }),
|
|
9364
|
+
compared: typebox_exports.Union(
|
|
9365
|
+
[typebox_exports.Literal("HEAD \u6BD4\u7968\u8D77\u70B9\u6162\u6216\u8BFB\u5F97\u591A"), typebox_exports.Literal("HEAD \u4E0D\u6BD4\u7968\u8D77\u70B9\u6162\u3001\u4E0D\u591A\u8BFB"), typebox_exports.Literal("\u65E0\u4ECE\u6BD4\uFF1A\u7968\u8D77\u70B9\u65E0\u6B64\u5165\u53E3\uFF0C\u6216\u8FD9\u4E00\u7AEF\u8DD1\u5931\u8D25")],
|
|
9366
|
+
{ description: "\u53EA\u8BA4 atBase \u4E0E atHead \u5E76\u6392\u7684\u6570\u5B57\uFF1A\u7528\u65F6\u6216\u8BFB\u6B21\u6570\u4EFB\u4E00\u53D8\u5927\u5C31\u662F\u7B2C\u4E00\u79CD\uFF1B\u4E00\u6B21\u6027\u6210\u672C\u3001CI \u53E6\u7B97\u3001\u4E0D\u963B\u65AD\u90FD\u4E0D\u662F\u7406\u7531\u3002\u7B2C\u4E09\u79CD\u7ED9\u4E24\u7C7B\u884C\uFF1A\u7968\u8D77\u70B9\u4E0A\u4E0D\u5B58\u5728\u7684\u5165\u53E3\uFF08atBase \u5199\u300C\u7968\u8D77\u70B9\u65E0\u6B64\u5165\u53E3\u300D\uFF09\uFF0C\u6216\u4EFB\u4E00\u7AEF\u8DD1\u5931\u8D25\uFF08\u628A\u5931\u8D25\u8F93\u51FA\u539F\u6837\u5199\u8FDB\u90A3\u4E00\u7AEF\uFF09\uFF1B\u8DD1\u5931\u8D25\u7684\u884C\u6CA1\u89E3\u51B3\u524D\u4E0D\u5F97 converged" }
|
|
9367
|
+
)
|
|
9368
|
+
},
|
|
9369
|
+
{ additionalProperties: true }
|
|
9370
|
+
),
|
|
9371
|
+
{
|
|
9372
|
+
description: "\u6027\u80FD\u8D26\uFF08\u53D7\u5BA1\u4E4B\u7269\u662F\u5927\u7406\u5BFA\u5224\u8BCD\u65F6\u586B\uFF1B\u53D7\u5BA1\u592A\u533B\u7F72\u65F6\u6B64\u8868\u4E0E mechanisms \u90FD\u4E3A\u7A7A\u6570\u7EC4\uFF09\uFF1A\u7968\u9762\u6D89\u53CA\u7684\u771F\u5B9E\u5165\u53E3\uFF0C\u6BCF\u4E2A\u4E00\u884C\uFF0C\u7968\u8D77\u70B9\u4E0E\u6240\u88C1 HEAD \u5404\u4EB2\u8DD1\u4E00\u6B21\u5E76\u6392\u8BB0\uFF1B\u81F3\u5C11\u4E00\u884C\u662F\u7968\u8D77\u70B9\u4E0A\u5C31\u6709\u3001\u4E24\u7AEF\u90FD\u8DD1\u51FA\u6570\u5B57\u7684\u65E2\u6709\u5165\u53E3\u3002\u6709\u4E00\u884C compared \u4E3A\u300C\u6162\u6216\u8BFB\u5F97\u591A\u300D\u800C judgeSaid \u4E3A null\uFF0C\u5224\u8BCD\u5C31\u662F\u7F72\u4E86\u6CA1\u5904\u7F6E\uFF0Cstatus \u4E0D\u80FD\u662F converged\uFF1B\u6709\u8DD1\u5931\u8D25\u7684\u884C\uFF0C\u6216\u6CA1\u6709\u4E00\u884C\u53EF\u6BD4\uFF0Cstatus \u540C\u6837\u4E0D\u80FD\u662F converged\u3002"
|
|
9373
|
+
}
|
|
9374
|
+
)
|
|
9375
|
+
},
|
|
9376
|
+
{ additionalProperties: true }
|
|
9377
|
+
)
|
|
9378
|
+
);
|
|
9341
9379
|
}
|
|
9342
9380
|
});
|
|
9343
9381
|
|
|
@@ -11628,9 +11666,9 @@ var init_role_submission_declarations = __esm({
|
|
|
11628
11666
|
},
|
|
11629
11667
|
auditor: {
|
|
11630
11668
|
label: "\u5BA1\u5211\u9662\u8F93\u51FA",
|
|
11631
|
-
description: "\u5BA1\u5211\u9662\u7EC8\u5C40\u56DE\u6267\uFF0Cstatus \u4E3A converged\u3001continue \u6216 escalate\u3002",
|
|
11669
|
+
description: "\u5BA1\u5211\u9662\u7EC8\u5C40\u56DE\u6267\uFF0Cstatus \u4E3A converged\u3001continue \u6216 escalate\uFF08\u542B\u6240\u88C1\u5B9E\u73B0\u7684\u590D\u6742\u5EA6\u8D26 mechanisms\uFF09\u3002",
|
|
11632
11670
|
promptSnippet: "\u5BA1\u5211\u9662\u7EC8\u5C40\u56DE\u6267",
|
|
11633
|
-
parameters:
|
|
11671
|
+
parameters: auditorSubmissionSchema
|
|
11634
11672
|
},
|
|
11635
11673
|
diarist: {
|
|
11636
11674
|
label: "\u8D77\u5C45\u90CE\u8F93\u51FA",
|
|
@@ -50,7 +50,7 @@ export const notaryClauseItemSchema = Type.Object({
|
|
|
50
50
|
description: "那句原话所答的 runner 句原文(问句、选项、表格行,照抄);陛下独立提出、不是在答谁的,填 null",
|
|
51
51
|
}),
|
|
52
52
|
askedObject: Type.Union([Type.String(), Type.Null()], {
|
|
53
|
-
description: "
|
|
53
|
+
description: "所答那句问的是哪件事:照抄 answered 里点名对象的原词,不转述、不概括(那句问「缓存是解禁还是维持禁令」,这格就是「缓存禁令」,不是「运行时 DRY 修复」);answered 为 null 时同为 null",
|
|
54
54
|
}),
|
|
55
55
|
derivation: Type.String({
|
|
56
56
|
description: "一句推导:从原话哪个意思到该条款。answered 不为 null 时,条款的对象须在 askedObject 之内,或另有原话点名更大的对象,ownerUuid 才站得住,否则填 null;陛下独立提出的原话直接按它的意思推",
|
|
@@ -94,13 +94,15 @@ const mechanismRowBase = {
|
|
|
94
94
|
layer: Type.Integer({ description: "从本票起点到 HEAD,这是第几处这样的新增(含前几轮已署过的)" }),
|
|
95
95
|
};
|
|
96
96
|
const MECHANISM_FRAMEWORK_RULE = "框架是仓库 ADR 或票面点名的那一个(读写模型、Web、测试等框架),不是席位自选;实现这一层所用的库(ORM、缓存库、解析库)不是框架,它的 API 页或示例填不进这格——那答的是「这层怎么做」,这格问的是「示范不带这层怎么办」";
|
|
97
|
-
|
|
97
|
+
/** The two row shapes, with any extra per-row fields a seat needs (the auditor adds what the verdict said about the layer). */
|
|
98
|
+
const mechanismRowUnion = (extra = {}) => Type.Union([
|
|
98
99
|
Type.Object({
|
|
99
100
|
...mechanismRowBase,
|
|
100
101
|
official: Type.String({
|
|
101
102
|
description: `这段代码所属应用框架的官方示范里,不带这一层时同一关切怎么处理:先写框架名,再链接+原句(示范里直接读、直接查、交给框架哪项设置)。${MECHANISM_FRAMEWORK_RULE}`,
|
|
102
103
|
}),
|
|
103
104
|
disposition: Type.Literal("删:示范不带这一层也处理得了", { description: "official 填了字,这一行只能是这个处置" }),
|
|
105
|
+
...extra,
|
|
104
106
|
}, { additionalProperties: true }),
|
|
105
107
|
Type.Object({
|
|
106
108
|
...mechanismRowBase,
|
|
@@ -108,8 +110,16 @@ export const mechanismRowSchema = Type.Union([
|
|
|
108
110
|
description: `示范代码本身就为同一关切带同样的状态、锁、缓存或依赖:填 null,并在 keeps 末尾写框架名与示范里那一处。${MECHANISM_FRAMEWORK_RULE}`,
|
|
109
111
|
}),
|
|
110
112
|
disposition: Type.Literal("留:示范本身就为同一关切带同样的层", { description: "official 为 null,这一行只能是这个处置" }),
|
|
113
|
+
...extra,
|
|
111
114
|
}, { additionalProperties: true }),
|
|
112
115
|
], { description: "两种行形,没有第三种:示范不带这一层也处理得了(official 填字,删);示范本身就带同样的层(official null,留)" });
|
|
116
|
+
export const mechanismRowSchema = mechanismRowUnion();
|
|
117
|
+
/** Auditor row: the inspector row plus what the judge's verdict said about this layer, verbatim, or null when the verdict never touched it. */
|
|
118
|
+
export const auditorMechanismRowSchema = mechanismRowUnion({
|
|
119
|
+
judgeSaid: Type.Union([Type.String(), Type.Null()], {
|
|
120
|
+
description: "大理寺判词里裁到这一层的那句原文(照抄);判词没提这一层,填 null",
|
|
121
|
+
}),
|
|
122
|
+
});
|
|
113
123
|
/** Inspector generation schema: shared review face plus the required whole-ticket complexity answer (package records as-is). */
|
|
114
124
|
export const inspectorSubmissionSchema = withTerminatingOutputDeclarations(Type.Object({
|
|
115
125
|
status: reviewStatusField,
|
|
@@ -124,3 +134,20 @@ export const inspectorSubmissionSchema = withTerminatingOutputDeclarations(Type.
|
|
|
124
134
|
description: "整票机制层:本票起点到 HEAD 生产代码新增的每一处依赖行、跨调用状态、锁、缓存装饰或包装,各一行,前几轮已署过的也列,测试夹具不列;一处没有为空数组。",
|
|
125
135
|
}),
|
|
126
136
|
}, { additionalProperties: true }));
|
|
137
|
+
/** Auditor generation schema: shared review face plus the complexity account of the implementation the verdict ruled on (package records as-is). */
|
|
138
|
+
export const auditorSubmissionSchema = withTerminatingOutputDeclarations(Type.Object({
|
|
139
|
+
status: reviewStatusField,
|
|
140
|
+
...reviewNarrativeFields,
|
|
141
|
+
mechanisms: Type.Array(auditorMechanismRowSchema, {
|
|
142
|
+
description: "复杂度账:大理寺本轮判词所裁的实现,从本票起点到该 HEAD 生产代码新增的每一处依赖行、跨调用状态、锁、缓存装饰或包装,各一行(同台院机制层表),再写判词对这一层说了什么;一处没有为空数组。判词署了而表里有「删」行判词没处置,就是错署。",
|
|
143
|
+
}),
|
|
144
|
+
runtime: Type.Array(Type.Object({
|
|
145
|
+
entry: Type.String({ description: "真实入口:你亲跑的命令原文(测试用例或程序入口)。票面、判词、施工记录、台院回执里点名过的每个真实入口都要有一行,一个不漏,再加你自己选的;数字只认自己跑出来的,不抄记录" }),
|
|
146
|
+
atBase: Type.String({ description: "在本票起点(本分支与家族分支或目标分支的 git merge-base,同台院)上跑这一入口的机器输出:用时、SQL/读次数、峰值内存等能读到的数字;入口是本票新加、票起点上没有的,写「票起点无此入口」" }),
|
|
147
|
+
atHead: Type.String({ description: "在所裁 HEAD 上跑同一入口的机器输出,同一机器同一环境" }),
|
|
148
|
+
judgeSaid: Type.Union([Type.String(), Type.Null()], { description: "判词对这一入口快慢说的那句原文(照抄);没说填 null" }),
|
|
149
|
+
compared: Type.Union([Type.Literal("HEAD 比票起点慢或读得多"), Type.Literal("HEAD 不比票起点慢、不多读"), Type.Literal("无从比:票起点无此入口,或这一端跑失败")], { description: "只认 atBase 与 atHead 并排的数字:用时或读次数任一变大就是第一种;一次性成本、CI 另算、不阻断都不是理由。第三种给两类行:票起点上不存在的入口(atBase 写「票起点无此入口」),或任一端跑失败(把失败输出原样写进那一端);跑失败的行没解决前不得 converged" }),
|
|
150
|
+
}, { additionalProperties: true }), {
|
|
151
|
+
description: "性能账(受审之物是大理寺判词时填;受审太医署时此表与 mechanisms 都为空数组):票面涉及的真实入口,每个一行,票起点与所裁 HEAD 各亲跑一次并排记;至少一行是票起点上就有、两端都跑出数字的既有入口。有一行 compared 为「慢或读得多」而 judgeSaid 为 null,判词就是署了没处置,status 不能是 converged;有跑失败的行,或没有一行可比,status 同样不能是 converged。",
|
|
152
|
+
}),
|
|
153
|
+
}, { additionalProperties: true }));
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Execute lives in filed-submission.ts.
|
|
6
6
|
*/
|
|
7
7
|
import { packagedRoleOutputTool } from "./packaged-role-registry.js";
|
|
8
|
-
import { notaryReviewSubmissionSchema, inspectorSubmissionSchema, reviewSubmissionSchema } from "./review-submission.js";
|
|
8
|
+
import { auditorSubmissionSchema, notaryReviewSubmissionSchema, inspectorSubmissionSchema, reviewSubmissionSchema } from "./review-submission.js";
|
|
9
9
|
import { collectorOutputArgsSchema } from "./collector-tool-schemas.js";
|
|
10
10
|
import { diaristOutputSchema } from "./diarist-contracts.js";
|
|
11
11
|
import { doctorSubmissionSchema, DOCTOR_OUTPUT_TOOL_DESCRIPTION } from "./doctor-contracts.js";
|
|
@@ -103,9 +103,9 @@ const SUBMISSION_FACE = {
|
|
|
103
103
|
},
|
|
104
104
|
auditor: {
|
|
105
105
|
label: "审刑院输出",
|
|
106
|
-
description: "审刑院终局回执,status 为 converged、continue 或 escalate
|
|
106
|
+
description: "审刑院终局回执,status 为 converged、continue 或 escalate(含所裁实现的复杂度账 mechanisms)。",
|
|
107
107
|
promptSnippet: "审刑院终局回执",
|
|
108
|
-
parameters:
|
|
108
|
+
parameters: auditorSubmissionSchema,
|
|
109
109
|
},
|
|
110
110
|
diarist: {
|
|
111
111
|
label: "起居郎输出",
|
package/package.json
CHANGED
package/souls/judge-auditor.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
你是审刑院,审大理寺的判词,不审施工。判词里每一条承重事实、每一句「已核」,你都要亲自打开源头核一遍——核的是判词说的对不对,不是施工做完没有。一份判词只有三种错,按序查:
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
一、错署——署了,但票面有要求未做到、有票面外之物未处置、或判词称「已核」「已真跑」而卷宗里没有命令与结果(尺是《质量法》:变异真跑、复杂度账)。复杂度账按层记进 mechanisms:所裁实现生产代码每一处新增的跨调用状态、锁、缓存、依赖各一行,到所属应用框架(ADR/票面点名的那一个,不是实现这层所用的库)的官方示范里看不带这一层时同一关切怎么处理,再照抄判词对这一层说的那句;示范不带也处理得了而判词署了、没处置这一层,即错署。性能账按入口记进 runtime:票面、判词、施工记录、台院回执里点名过的每个真实入口一个不漏,再加你自己选的,在票起点与所裁 HEAD 上各亲跑一次,用时与读次数并排写下,再照抄判词对它说的那句;每行只认并排的两个数填「慢或读得多」还是「不慢不多」——一次性成本、CI 另算、不阻断都不是理由;本票新加、票起点上没有的入口,或任一端跑失败的,填「无从比」——新加的不计快慢,跑失败的没解决前不得 converged;至少要有一行票起点上就有、两端都跑出数字的既有入口;有一行「慢或读得多」而判词没处置,即错署,不得 converged。
|
|
6
6
|
二、错封——封驳或所加约束指不出法源,或超出票面与陛下的话。
|
|
7
7
|
三、事实错——判词所引代码事实、法源引文与源头不符。
|
|
8
8
|
|
package/souls/notary.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
条款表每一轮都做,受审之物是票面、还是大理寺的判词、修法方向或收敛的实现,都一样:判词是拿现行票面当法源判的,票面在票庭最后一签之后改过,判词的法源就不是过了庭的那份。每条写明它是最后一签时就在你交的条款表里,还是签后才出现在票面上——现行票面的更新时间对起居录里最后一次签押的时间,条款对你上次签时交的表;「签后才出现」只用于受审之物是大理寺的判词、修法方向或收敛的实现——它们拿票面当法源;受审之物是给事中对票面的判词(票庭,含修订后重送的票庭),本轮就是在为新的签押做表,每条都是前者;票庭尚无签押、或签押那一轮没有可对照的表,同样每条都是前者。现行票面的更新时间只是线索(评论也会改它),定夺看条款在不在那张表里;表漏列的条款不算签后,拿不准就查 issue 的编辑记录。真无票对象没有票面可列,clauses 为空数组,照 ADR 0075 以 source-run 核旨。签后才出现的条款没有过庭,不是现行票面,不得当法源:status 只能是 escalate,把这些条款原文列进 decisionGate,写明要重送给事中。
|
|
8
8
|
|
|
9
9
|
**二、核旨**:受审之物是票面本身——`gh issue view N` 的现行全文,加起居录与源卷里陛下的原话。先独立做完条款表,再开给事中这一轮的判词对照;判词是待核主张,不是你的依据。
|
|
10
|
-
只有一个方向:先把票面「要做什么」「怎么验」里每一条改变实际行为的条款逐条列出(一条一行,照原文,不合并、不改写),写进交卷的 clauses;再为每一条找陛下哪一句原话推得出它——填那句的 uuid(ownerUuid)和一句推导(derivation:从那句话的哪个意思到这条条款)。推不出的,ownerUuid 填 null、derivation
|
|
10
|
+
只有一个方向:先把票面「要做什么」「怎么验」里每一条改变实际行为的条款逐条列出(一条一行,照原文,不合并、不改写),写进交卷的 clauses;再为每一条找陛下哪一句原话推得出它——填那句的 uuid(ownerUuid)和一句推导(derivation:从那句话的哪个意思到这条条款)。推不出的,ownerUuid 填 null、derivation 写「无原话」。陛下答一句,只答那一句问的事:所答的句子(问句、选项、表格行)问的是什么,原话就只管什么;askedObject 照抄所答那句里点名对象的原词,不用自己的话转述——一转述就能把对象说宽,条款就塞得进。条款的对象比所答那句问的大——答的是备注画不画全,条款管的是整张票修不修——又没有别的原话点名大的那个,就是无原话,ownerUuid 填 null;选项正文里多写的字是 runner 写的,不是陛下说的。「承接设计」「保留现有能力」「合理」「接缝归属」这类话不是推导,不能顶替 uuid。
|
|
11
11
|
clauses 里有任何一条 ownerUuid 为 null,status 只能是 escalate,并把这些条款原文列进 decisionGate 请陛下定;有条款与所引原话的意思相抵的,点名该条,再按「结论」对给事中这一轮的判词定署或封驳。
|
|
12
12
|
**是否符合陛下原意**——先根据起居录对话判断陛下意图,再看受审之物 是不是陛下想要的;字面对得上、意思不对(曲解、断章、只取字面不取法意)同为病。
|
|
13
13
|
**陛下原话逐句核销**——起居录里陛下对本票说过的每一句,逐句过:先写明它答的是起居录哪一句、哪一行(问句、表格行、选项),那一句描述的对象是什么,写进判词证据;再问他这句话想要什么、在担心什么,再看受审之物给没给到——不是为了凑齐引文。受审之物动作的对象比所答对象大——答的是代码代劳却删席位、删衙门、删能力、改流程——而原话没有点名该对象的,封驳。衙门与替它干活的代码是两个对象:说某机制多余、可以删,不是说撤该衙门;席位、衙门、能力的存废只认点名它本身的原话。质问句——陛下在问这张票、这条约束凭什么存在——是对受审之物的未决挑战,不是授权:没被事实或适用的法答掉的,或被摘来当「支持」的,封驳。runner 在录里已自认不成立的理由仍撑着受审之物的,同。
|
package/src/review-submission.ts
CHANGED
|
@@ -68,7 +68,7 @@ export const notaryClauseItemSchema = Type.Object(
|
|
|
68
68
|
"那句原话所答的 runner 句原文(问句、选项、表格行,照抄);陛下独立提出、不是在答谁的,填 null",
|
|
69
69
|
}),
|
|
70
70
|
askedObject: Type.Union([Type.String(), Type.Null()], {
|
|
71
|
-
description: "
|
|
71
|
+
description: "所答那句问的是哪件事:照抄 answered 里点名对象的原词,不转述、不概括(那句问「缓存是解禁还是维持禁令」,这格就是「缓存禁令」,不是「运行时 DRY 修复」);answered 为 null 时同为 null",
|
|
72
72
|
}),
|
|
73
73
|
derivation: Type.String({
|
|
74
74
|
description:
|
|
@@ -136,31 +136,44 @@ const mechanismRowBase = {
|
|
|
136
136
|
const MECHANISM_FRAMEWORK_RULE =
|
|
137
137
|
"框架是仓库 ADR 或票面点名的那一个(读写模型、Web、测试等框架),不是席位自选;实现这一层所用的库(ORM、缓存库、解析库)不是框架,它的 API 页或示例填不进这格——那答的是「这层怎么做」,这格问的是「示范不带这层怎么办」";
|
|
138
138
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
139
|
+
/** The two row shapes, with any extra per-row fields a seat needs (the auditor adds what the verdict said about the layer). */
|
|
140
|
+
const mechanismRowUnion = (extra: Record<string, ReturnType<typeof Type.Union> | ReturnType<typeof Type.String>> = {}) =>
|
|
141
|
+
Type.Union(
|
|
142
|
+
[
|
|
143
|
+
Type.Object(
|
|
144
|
+
{
|
|
145
|
+
...mechanismRowBase,
|
|
146
|
+
official: Type.String({
|
|
147
|
+
description: `这段代码所属应用框架的官方示范里,不带这一层时同一关切怎么处理:先写框架名,再链接+原句(示范里直接读、直接查、交给框架哪项设置)。${MECHANISM_FRAMEWORK_RULE}`,
|
|
148
|
+
}),
|
|
149
|
+
disposition: Type.Literal("删:示范不带这一层也处理得了", { description: "official 填了字,这一行只能是这个处置" }),
|
|
150
|
+
...extra,
|
|
151
|
+
},
|
|
152
|
+
{ additionalProperties: true },
|
|
153
|
+
),
|
|
154
|
+
Type.Object(
|
|
155
|
+
{
|
|
156
|
+
...mechanismRowBase,
|
|
157
|
+
official: Type.Null({
|
|
158
|
+
description: `示范代码本身就为同一关切带同样的状态、锁、缓存或依赖:填 null,并在 keeps 末尾写框架名与示范里那一处。${MECHANISM_FRAMEWORK_RULE}`,
|
|
159
|
+
}),
|
|
160
|
+
disposition: Type.Literal("留:示范本身就为同一关切带同样的层", { description: "official 为 null,这一行只能是这个处置" }),
|
|
161
|
+
...extra,
|
|
162
|
+
},
|
|
163
|
+
{ additionalProperties: true },
|
|
164
|
+
),
|
|
165
|
+
],
|
|
166
|
+
{ description: "两种行形,没有第三种:示范不带这一层也处理得了(official 填字,删);示范本身就带同样的层(official null,留)" },
|
|
167
|
+
);
|
|
168
|
+
|
|
169
|
+
export const mechanismRowSchema = mechanismRowUnion();
|
|
170
|
+
|
|
171
|
+
/** Auditor row: the inspector row plus what the judge's verdict said about this layer, verbatim, or null when the verdict never touched it. */
|
|
172
|
+
export const auditorMechanismRowSchema = mechanismRowUnion({
|
|
173
|
+
judgeSaid: Type.Union([Type.String(), Type.Null()], {
|
|
174
|
+
description: "大理寺判词里裁到这一层的那句原文(照抄);判词没提这一层,填 null",
|
|
175
|
+
}),
|
|
176
|
+
});
|
|
164
177
|
|
|
165
178
|
/** Inspector generation schema: shared review face plus the required whole-ticket complexity answer (package records as-is). */
|
|
166
179
|
export const inspectorSubmissionSchema = withTerminatingOutputDeclarations(
|
|
@@ -184,4 +197,38 @@ export const inspectorSubmissionSchema = withTerminatingOutputDeclarations(
|
|
|
184
197
|
),
|
|
185
198
|
);
|
|
186
199
|
|
|
200
|
+
/** Auditor generation schema: shared review face plus the complexity account of the implementation the verdict ruled on (package records as-is). */
|
|
201
|
+
export const auditorSubmissionSchema = withTerminatingOutputDeclarations(
|
|
202
|
+
Type.Object(
|
|
203
|
+
{
|
|
204
|
+
status: reviewStatusField,
|
|
205
|
+
...reviewNarrativeFields,
|
|
206
|
+
mechanisms: Type.Array(auditorMechanismRowSchema, {
|
|
207
|
+
description:
|
|
208
|
+
"复杂度账:大理寺本轮判词所裁的实现,从本票起点到该 HEAD 生产代码新增的每一处依赖行、跨调用状态、锁、缓存装饰或包装,各一行(同台院机制层表),再写判词对这一层说了什么;一处没有为空数组。判词署了而表里有「删」行判词没处置,就是错署。",
|
|
209
|
+
}),
|
|
210
|
+
runtime: Type.Array(
|
|
211
|
+
Type.Object(
|
|
212
|
+
{
|
|
213
|
+
entry: Type.String({ description: "真实入口:你亲跑的命令原文(测试用例或程序入口)。票面、判词、施工记录、台院回执里点名过的每个真实入口都要有一行,一个不漏,再加你自己选的;数字只认自己跑出来的,不抄记录" }),
|
|
214
|
+
atBase: Type.String({ description: "在本票起点(本分支与家族分支或目标分支的 git merge-base,同台院)上跑这一入口的机器输出:用时、SQL/读次数、峰值内存等能读到的数字;入口是本票新加、票起点上没有的,写「票起点无此入口」" }),
|
|
215
|
+
atHead: Type.String({ description: "在所裁 HEAD 上跑同一入口的机器输出,同一机器同一环境" }),
|
|
216
|
+
judgeSaid: Type.Union([Type.String(), Type.Null()], { description: "判词对这一入口快慢说的那句原文(照抄);没说填 null" }),
|
|
217
|
+
compared: Type.Union(
|
|
218
|
+
[Type.Literal("HEAD 比票起点慢或读得多"), Type.Literal("HEAD 不比票起点慢、不多读"), Type.Literal("无从比:票起点无此入口,或这一端跑失败")],
|
|
219
|
+
{ description: "只认 atBase 与 atHead 并排的数字:用时或读次数任一变大就是第一种;一次性成本、CI 另算、不阻断都不是理由。第三种给两类行:票起点上不存在的入口(atBase 写「票起点无此入口」),或任一端跑失败(把失败输出原样写进那一端);跑失败的行没解决前不得 converged" },
|
|
220
|
+
),
|
|
221
|
+
},
|
|
222
|
+
{ additionalProperties: true },
|
|
223
|
+
),
|
|
224
|
+
{
|
|
225
|
+
description:
|
|
226
|
+
"性能账(受审之物是大理寺判词时填;受审太医署时此表与 mechanisms 都为空数组):票面涉及的真实入口,每个一行,票起点与所裁 HEAD 各亲跑一次并排记;至少一行是票起点上就有、两端都跑出数字的既有入口。有一行 compared 为「慢或读得多」而 judgeSaid 为 null,判词就是署了没处置,status 不能是 converged;有跑失败的行,或没有一行可比,status 同样不能是 converged。",
|
|
227
|
+
},
|
|
228
|
+
),
|
|
229
|
+
},
|
|
230
|
+
{ additionalProperties: true },
|
|
231
|
+
),
|
|
232
|
+
);
|
|
233
|
+
|
|
187
234
|
export type ReviewSubmission = { readonly status?: unknown; readonly [key: string]: unknown };
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Execute lives in filed-submission.ts.
|
|
6
6
|
*/
|
|
7
7
|
import { packagedRoleOutputTool, type PackagedRole } from "./packaged-role-registry.ts";
|
|
8
|
-
import { notaryReviewSubmissionSchema, inspectorSubmissionSchema, reviewSubmissionSchema } from "./review-submission.ts";
|
|
8
|
+
import { auditorSubmissionSchema, notaryReviewSubmissionSchema, inspectorSubmissionSchema, reviewSubmissionSchema } from "./review-submission.ts";
|
|
9
9
|
import { collectorOutputArgsSchema } from "./collector-tool-schemas.ts";
|
|
10
10
|
import { diaristOutputSchema } from "./diarist-contracts.ts";
|
|
11
11
|
import { doctorSubmissionSchema, DOCTOR_OUTPUT_TOOL_DESCRIPTION } from "./doctor-contracts.ts";
|
|
@@ -115,9 +115,9 @@ const SUBMISSION_FACE = {
|
|
|
115
115
|
},
|
|
116
116
|
auditor: {
|
|
117
117
|
label: "审刑院输出",
|
|
118
|
-
description: "审刑院终局回执,status 为 converged、continue 或 escalate
|
|
118
|
+
description: "审刑院终局回执,status 为 converged、continue 或 escalate(含所裁实现的复杂度账 mechanisms)。",
|
|
119
119
|
promptSnippet: "审刑院终局回执",
|
|
120
|
-
parameters:
|
|
120
|
+
parameters: auditorSubmissionSchema,
|
|
121
121
|
},
|
|
122
122
|
diarist: {
|
|
123
123
|
label: "起居郎输出",
|