@akagilnc/pi-workflow-roles 0.1.5880 → 0.1.5882
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 +23 -2
- package/dist/headless-host/production-host.js +23 -2
- package/dist/inspector-role.js +2 -2
- package/dist/migrate-book-topology.js +23 -2
- package/dist/public-cli/main.js +23 -2
- package/dist/review-submission.js +15 -0
- package/dist/role-submission-declarations.js +2 -2
- package/package.json +1 -1
- package/souls/inspector.md +2 -0
- package/src/inspector-role.ts +2 -2
- package/src/review-submission.ts +26 -0
- package/src/role-submission-declarations.ts +2 -2
|
@@ -1698,7 +1698,7 @@ var init_navigator_output = __esm({
|
|
|
1698
1698
|
|
|
1699
1699
|
// src/review-submission.ts
|
|
1700
1700
|
import { Type as Type5 } from "typebox";
|
|
1701
|
-
var REVIEW_SUBMISSION_OUTPUT_TOOL_NAME, REVIEW_QUEUE_WORDS, REVIEW_QUEUE_STATUSES, reviewStatusField, reviewNarrativeFields, reviewSubmissionSchema, courtClauseItemSchema, courtClausesField, courtReviewSubmissionSchema;
|
|
1701
|
+
var REVIEW_SUBMISSION_OUTPUT_TOOL_NAME, REVIEW_QUEUE_WORDS, REVIEW_QUEUE_STATUSES, reviewStatusField, reviewNarrativeFields, reviewSubmissionSchema, courtClauseItemSchema, courtClausesField, courtReviewSubmissionSchema, ticketComplexityRowSchema, inspectorSubmissionSchema;
|
|
1702
1702
|
var init_review_submission = __esm({
|
|
1703
1703
|
"src/review-submission.ts"() {
|
|
1704
1704
|
"use strict";
|
|
@@ -1763,6 +1763,27 @@ var init_review_submission = __esm({
|
|
|
1763
1763
|
{ additionalProperties: true }
|
|
1764
1764
|
)
|
|
1765
1765
|
);
|
|
1766
|
+
ticketComplexityRowSchema = Type5.Object(
|
|
1767
|
+
{
|
|
1768
|
+
class: Type5.String({ description: "\u7167\u6284\u300A\u8D28\u91CF\u6CD5\u300B\u91CC\u90A3\u4E00\u53E5\u8981\u6C42\u5220\u9664\u3001\u5408\u5E76\u3001\u590D\u7528\u6216\u4E0D\u53E6\u5199\u7684\u6761\u6587" }),
|
|
1769
|
+
hits: Type5.Array(Type5.String(), {
|
|
1770
|
+
description: "\u672C\u7968\u51C0\u589E\u91CC\u547D\u4E2D\u8FD9\u4E00\u53E5\u7684\u6BCF\u4E00\u5904 path:line\uFF0C\u5E76\u5199\u5220\u5230\u54EA\u3001\u5E76\u5230\u54EA\uFF1B\u6253\u5F00\u770B\u8FC7\u624D\u7B97\u3002\u4E00\u5904\u6CA1\u6709\u4E3A\u7A7A\u6570\u7EC4\uFF0C\u6CA1\u6709\u7B2C\u4E09\u79CD\u7B54\u6CD5"
|
|
1771
|
+
})
|
|
1772
|
+
},
|
|
1773
|
+
{ additionalProperties: true }
|
|
1774
|
+
);
|
|
1775
|
+
inspectorSubmissionSchema = withTerminatingOutputDeclarations(
|
|
1776
|
+
Type5.Object(
|
|
1777
|
+
{
|
|
1778
|
+
status: reviewStatusField,
|
|
1779
|
+
...reviewNarrativeFields,
|
|
1780
|
+
ticketComplexity: Type5.Array(ticketComplexityRowSchema, {
|
|
1781
|
+
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"
|
|
1782
|
+
})
|
|
1783
|
+
},
|
|
1784
|
+
{ additionalProperties: true }
|
|
1785
|
+
)
|
|
1786
|
+
);
|
|
1766
1787
|
}
|
|
1767
1788
|
});
|
|
1768
1789
|
|
|
@@ -3203,7 +3224,7 @@ var init_role_submission_declarations = __esm({
|
|
|
3203
3224
|
label: "\u53F0\u9662\u8F93\u51FA",
|
|
3204
3225
|
description: "\u53F0\u9662\u7EC8\u5C40\u56DE\u6267\uFF0C\u72B6\u6001\u4E3A converged\u3001continue \u6216 escalate\u3002",
|
|
3205
3226
|
promptSnippet: "\u53F0\u9662\u7EC8\u5C40\u56DE\u6267",
|
|
3206
|
-
parameters:
|
|
3227
|
+
parameters: inspectorSubmissionSchema
|
|
3207
3228
|
},
|
|
3208
3229
|
gatekeeper: {
|
|
3209
3230
|
label: "\u95E8\u4E0B\u7701\u51B3\u8BAE",
|
|
@@ -497,7 +497,7 @@ var init_terminating_infrastructure = __esm({
|
|
|
497
497
|
|
|
498
498
|
// src/review-submission.ts
|
|
499
499
|
import { Type as Type2 } from "typebox";
|
|
500
|
-
var REVIEW_SUBMISSION_OUTPUT_TOOL_NAME, REVIEW_QUEUE_WORDS, REVIEW_QUEUE_STATUSES, reviewStatusField, reviewNarrativeFields, reviewSubmissionSchema, courtClauseItemSchema, courtClausesField, courtReviewSubmissionSchema;
|
|
500
|
+
var REVIEW_SUBMISSION_OUTPUT_TOOL_NAME, REVIEW_QUEUE_WORDS, REVIEW_QUEUE_STATUSES, reviewStatusField, reviewNarrativeFields, reviewSubmissionSchema, courtClauseItemSchema, courtClausesField, courtReviewSubmissionSchema, ticketComplexityRowSchema, inspectorSubmissionSchema;
|
|
501
501
|
var init_review_submission = __esm({
|
|
502
502
|
"src/review-submission.ts"() {
|
|
503
503
|
"use strict";
|
|
@@ -562,6 +562,27 @@ var init_review_submission = __esm({
|
|
|
562
562
|
{ additionalProperties: true }
|
|
563
563
|
)
|
|
564
564
|
);
|
|
565
|
+
ticketComplexityRowSchema = Type2.Object(
|
|
566
|
+
{
|
|
567
|
+
class: Type2.String({ description: "\u7167\u6284\u300A\u8D28\u91CF\u6CD5\u300B\u91CC\u90A3\u4E00\u53E5\u8981\u6C42\u5220\u9664\u3001\u5408\u5E76\u3001\u590D\u7528\u6216\u4E0D\u53E6\u5199\u7684\u6761\u6587" }),
|
|
568
|
+
hits: Type2.Array(Type2.String(), {
|
|
569
|
+
description: "\u672C\u7968\u51C0\u589E\u91CC\u547D\u4E2D\u8FD9\u4E00\u53E5\u7684\u6BCF\u4E00\u5904 path:line\uFF0C\u5E76\u5199\u5220\u5230\u54EA\u3001\u5E76\u5230\u54EA\uFF1B\u6253\u5F00\u770B\u8FC7\u624D\u7B97\u3002\u4E00\u5904\u6CA1\u6709\u4E3A\u7A7A\u6570\u7EC4\uFF0C\u6CA1\u6709\u7B2C\u4E09\u79CD\u7B54\u6CD5"
|
|
570
|
+
})
|
|
571
|
+
},
|
|
572
|
+
{ additionalProperties: true }
|
|
573
|
+
);
|
|
574
|
+
inspectorSubmissionSchema = withTerminatingOutputDeclarations(
|
|
575
|
+
Type2.Object(
|
|
576
|
+
{
|
|
577
|
+
status: reviewStatusField,
|
|
578
|
+
...reviewNarrativeFields,
|
|
579
|
+
ticketComplexity: Type2.Array(ticketComplexityRowSchema, {
|
|
580
|
+
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"
|
|
581
|
+
})
|
|
582
|
+
},
|
|
583
|
+
{ additionalProperties: true }
|
|
584
|
+
)
|
|
585
|
+
);
|
|
565
586
|
}
|
|
566
587
|
});
|
|
567
588
|
|
|
@@ -4466,7 +4487,7 @@ var init_role_submission_declarations = __esm({
|
|
|
4466
4487
|
label: "\u53F0\u9662\u8F93\u51FA",
|
|
4467
4488
|
description: "\u53F0\u9662\u7EC8\u5C40\u56DE\u6267\uFF0C\u72B6\u6001\u4E3A converged\u3001continue \u6216 escalate\u3002",
|
|
4468
4489
|
promptSnippet: "\u53F0\u9662\u7EC8\u5C40\u56DE\u6267",
|
|
4469
|
-
parameters:
|
|
4490
|
+
parameters: inspectorSubmissionSchema
|
|
4470
4491
|
},
|
|
4471
4492
|
gatekeeper: {
|
|
4472
4493
|
label: "\u95E8\u4E0B\u7701\u51B3\u8BAE",
|
package/dist/inspector-role.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { inspectorSubmissionSchema } from "./review-submission.js";
|
|
2
2
|
import { roleSubmissionDeclaration } from "./role-submission-declarations.js";
|
|
3
3
|
import { INSPECTOR_OUTPUT_TOOL_NAME, validateRecordedInspectorOutput, } from "./inspector-contracts.js";
|
|
4
4
|
export { INSPECTOR_OUTPUT_TOOL_NAME, };
|
|
5
5
|
export { INSPECTOR_OUTPUT_TOOL_NAME as INSPECTOR_OUTPUT_TOOL };
|
|
6
6
|
export { validateRecordedInspectorOutput };
|
|
7
7
|
/** 台院事后察举交卷形状。 */
|
|
8
|
-
export const inspectorOutputSchema =
|
|
8
|
+
export const inspectorOutputSchema = inspectorSubmissionSchema;
|
|
9
9
|
/**
|
|
10
10
|
* 决定工具规格。生命周期装配归注册信封 owner——src/role-runtime.ts(ADR 0018)。
|
|
11
11
|
*/
|
|
@@ -8723,7 +8723,7 @@ var init_navigator_output = __esm({
|
|
|
8723
8723
|
});
|
|
8724
8724
|
|
|
8725
8725
|
// src/review-submission.ts
|
|
8726
|
-
var REVIEW_SUBMISSION_OUTPUT_TOOL_NAME, REVIEW_QUEUE_WORDS, REVIEW_QUEUE_STATUSES, reviewStatusField, reviewNarrativeFields, reviewSubmissionSchema, courtClauseItemSchema, courtClausesField, courtReviewSubmissionSchema;
|
|
8726
|
+
var REVIEW_SUBMISSION_OUTPUT_TOOL_NAME, REVIEW_QUEUE_WORDS, REVIEW_QUEUE_STATUSES, reviewStatusField, reviewNarrativeFields, reviewSubmissionSchema, courtClauseItemSchema, courtClausesField, courtReviewSubmissionSchema, ticketComplexityRowSchema, inspectorSubmissionSchema;
|
|
8727
8727
|
var init_review_submission = __esm({
|
|
8728
8728
|
"src/review-submission.ts"() {
|
|
8729
8729
|
"use strict";
|
|
@@ -8789,6 +8789,27 @@ var init_review_submission = __esm({
|
|
|
8789
8789
|
{ additionalProperties: true }
|
|
8790
8790
|
)
|
|
8791
8791
|
);
|
|
8792
|
+
ticketComplexityRowSchema = typebox_exports.Object(
|
|
8793
|
+
{
|
|
8794
|
+
class: typebox_exports.String({ description: "\u7167\u6284\u300A\u8D28\u91CF\u6CD5\u300B\u91CC\u90A3\u4E00\u53E5\u8981\u6C42\u5220\u9664\u3001\u5408\u5E76\u3001\u590D\u7528\u6216\u4E0D\u53E6\u5199\u7684\u6761\u6587" }),
|
|
8795
|
+
hits: typebox_exports.Array(typebox_exports.String(), {
|
|
8796
|
+
description: "\u672C\u7968\u51C0\u589E\u91CC\u547D\u4E2D\u8FD9\u4E00\u53E5\u7684\u6BCF\u4E00\u5904 path:line\uFF0C\u5E76\u5199\u5220\u5230\u54EA\u3001\u5E76\u5230\u54EA\uFF1B\u6253\u5F00\u770B\u8FC7\u624D\u7B97\u3002\u4E00\u5904\u6CA1\u6709\u4E3A\u7A7A\u6570\u7EC4\uFF0C\u6CA1\u6709\u7B2C\u4E09\u79CD\u7B54\u6CD5"
|
|
8797
|
+
})
|
|
8798
|
+
},
|
|
8799
|
+
{ additionalProperties: true }
|
|
8800
|
+
);
|
|
8801
|
+
inspectorSubmissionSchema = withTerminatingOutputDeclarations(
|
|
8802
|
+
typebox_exports.Object(
|
|
8803
|
+
{
|
|
8804
|
+
status: reviewStatusField,
|
|
8805
|
+
...reviewNarrativeFields,
|
|
8806
|
+
ticketComplexity: typebox_exports.Array(ticketComplexityRowSchema, {
|
|
8807
|
+
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"
|
|
8808
|
+
})
|
|
8809
|
+
},
|
|
8810
|
+
{ additionalProperties: true }
|
|
8811
|
+
)
|
|
8812
|
+
);
|
|
8792
8813
|
}
|
|
8793
8814
|
});
|
|
8794
8815
|
|
|
@@ -9821,7 +9842,7 @@ var init_role_submission_declarations = __esm({
|
|
|
9821
9842
|
label: "\u53F0\u9662\u8F93\u51FA",
|
|
9822
9843
|
description: "\u53F0\u9662\u7EC8\u5C40\u56DE\u6267\uFF0C\u72B6\u6001\u4E3A converged\u3001continue \u6216 escalate\u3002",
|
|
9823
9844
|
promptSnippet: "\u53F0\u9662\u7EC8\u5C40\u56DE\u6267",
|
|
9824
|
-
parameters:
|
|
9845
|
+
parameters: inspectorSubmissionSchema
|
|
9825
9846
|
},
|
|
9826
9847
|
gatekeeper: {
|
|
9827
9848
|
label: "\u95E8\u4E0B\u7701\u51B3\u8BAE",
|
package/dist/public-cli/main.js
CHANGED
|
@@ -9213,7 +9213,7 @@ var init_navigator_output = __esm({
|
|
|
9213
9213
|
});
|
|
9214
9214
|
|
|
9215
9215
|
// src/review-submission.ts
|
|
9216
|
-
var REVIEW_SUBMISSION_OUTPUT_TOOL_NAME, REVIEW_QUEUE_WORDS, REVIEW_QUEUE_STATUSES, reviewStatusField, reviewNarrativeFields, reviewSubmissionSchema, courtClauseItemSchema, courtClausesField, courtReviewSubmissionSchema;
|
|
9216
|
+
var REVIEW_SUBMISSION_OUTPUT_TOOL_NAME, REVIEW_QUEUE_WORDS, REVIEW_QUEUE_STATUSES, reviewStatusField, reviewNarrativeFields, reviewSubmissionSchema, courtClauseItemSchema, courtClausesField, courtReviewSubmissionSchema, ticketComplexityRowSchema, inspectorSubmissionSchema;
|
|
9217
9217
|
var init_review_submission = __esm({
|
|
9218
9218
|
"src/review-submission.ts"() {
|
|
9219
9219
|
"use strict";
|
|
@@ -9279,6 +9279,27 @@ var init_review_submission = __esm({
|
|
|
9279
9279
|
{ additionalProperties: true }
|
|
9280
9280
|
)
|
|
9281
9281
|
);
|
|
9282
|
+
ticketComplexityRowSchema = typebox_exports.Object(
|
|
9283
|
+
{
|
|
9284
|
+
class: typebox_exports.String({ description: "\u7167\u6284\u300A\u8D28\u91CF\u6CD5\u300B\u91CC\u90A3\u4E00\u53E5\u8981\u6C42\u5220\u9664\u3001\u5408\u5E76\u3001\u590D\u7528\u6216\u4E0D\u53E6\u5199\u7684\u6761\u6587" }),
|
|
9285
|
+
hits: typebox_exports.Array(typebox_exports.String(), {
|
|
9286
|
+
description: "\u672C\u7968\u51C0\u589E\u91CC\u547D\u4E2D\u8FD9\u4E00\u53E5\u7684\u6BCF\u4E00\u5904 path:line\uFF0C\u5E76\u5199\u5220\u5230\u54EA\u3001\u5E76\u5230\u54EA\uFF1B\u6253\u5F00\u770B\u8FC7\u624D\u7B97\u3002\u4E00\u5904\u6CA1\u6709\u4E3A\u7A7A\u6570\u7EC4\uFF0C\u6CA1\u6709\u7B2C\u4E09\u79CD\u7B54\u6CD5"
|
|
9287
|
+
})
|
|
9288
|
+
},
|
|
9289
|
+
{ additionalProperties: true }
|
|
9290
|
+
);
|
|
9291
|
+
inspectorSubmissionSchema = withTerminatingOutputDeclarations(
|
|
9292
|
+
typebox_exports.Object(
|
|
9293
|
+
{
|
|
9294
|
+
status: reviewStatusField,
|
|
9295
|
+
...reviewNarrativeFields,
|
|
9296
|
+
ticketComplexity: typebox_exports.Array(ticketComplexityRowSchema, {
|
|
9297
|
+
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"
|
|
9298
|
+
})
|
|
9299
|
+
},
|
|
9300
|
+
{ additionalProperties: true }
|
|
9301
|
+
)
|
|
9302
|
+
);
|
|
9282
9303
|
}
|
|
9283
9304
|
});
|
|
9284
9305
|
|
|
@@ -11566,7 +11587,7 @@ var init_role_submission_declarations = __esm({
|
|
|
11566
11587
|
label: "\u53F0\u9662\u8F93\u51FA",
|
|
11567
11588
|
description: "\u53F0\u9662\u7EC8\u5C40\u56DE\u6267\uFF0C\u72B6\u6001\u4E3A converged\u3001continue \u6216 escalate\u3002",
|
|
11568
11589
|
promptSnippet: "\u53F0\u9662\u7EC8\u5C40\u56DE\u6267",
|
|
11569
|
-
parameters:
|
|
11590
|
+
parameters: inspectorSubmissionSchema
|
|
11570
11591
|
},
|
|
11571
11592
|
gatekeeper: {
|
|
11572
11593
|
label: "\u95E8\u4E0B\u7701\u51B3\u8BAE",
|
|
@@ -62,3 +62,18 @@ export const courtReviewSubmissionSchema = withTerminatingOutputDeclarations(Typ
|
|
|
62
62
|
...reviewNarrativeFields,
|
|
63
63
|
clauses: courtClausesField,
|
|
64
64
|
}, { additionalProperties: true }));
|
|
65
|
+
/** Inspector whole-ticket complexity row: one quality-law deletion clause, answered for the whole ticket. */
|
|
66
|
+
export const ticketComplexityRowSchema = Type.Object({
|
|
67
|
+
class: Type.String({ description: "照抄《质量法》里那一句要求删除、合并、复用或不另写的条文" }),
|
|
68
|
+
hits: Type.Array(Type.String(), {
|
|
69
|
+
description: "本票净增里命中这一句的每一处 path:line,并写删到哪、并到哪;打开看过才算。一处没有为空数组,没有第三种答法",
|
|
70
|
+
}),
|
|
71
|
+
}, { additionalProperties: true });
|
|
72
|
+
/** Inspector generation schema: shared review face plus the required whole-ticket complexity answer (package records as-is). */
|
|
73
|
+
export const inspectorSubmissionSchema = withTerminatingOutputDeclarations(Type.Object({
|
|
74
|
+
status: reviewStatusField,
|
|
75
|
+
...reviewNarrativeFields,
|
|
76
|
+
ticketComplexity: Type.Array(ticketComplexityRowSchema, {
|
|
77
|
+
description: "整票复杂度:本票起点(本分支与家族分支或目标分支的 git merge-base)到 HEAD 的生产与测试净增,对《质量法》里每一句要求删除、合并、复用或不另写的条文各答一行。前几轮已署过的改动也算在内。",
|
|
78
|
+
}),
|
|
79
|
+
}, { 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 { courtReviewSubmissionSchema, reviewSubmissionSchema } from "./review-submission.js";
|
|
8
|
+
import { courtReviewSubmissionSchema, 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";
|
|
@@ -87,7 +87,7 @@ const SUBMISSION_FACE = {
|
|
|
87
87
|
label: "台院输出",
|
|
88
88
|
description: "台院终局回执,状态为 converged、continue 或 escalate。",
|
|
89
89
|
promptSnippet: "台院终局回执",
|
|
90
|
-
parameters:
|
|
90
|
+
parameters: inspectorSubmissionSchema,
|
|
91
91
|
},
|
|
92
92
|
gatekeeper: {
|
|
93
93
|
label: "门下省决议",
|
package/package.json
CHANGED
package/souls/inspector.md
CHANGED
package/src/inspector-role.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Static } from "typebox";
|
|
2
|
-
import {
|
|
2
|
+
import { inspectorSubmissionSchema } from "./review-submission.ts";
|
|
3
3
|
import { roleSubmissionDeclaration } from "./role-submission-declarations.ts";
|
|
4
4
|
import {
|
|
5
5
|
INSPECTOR_OUTPUT_TOOL_NAME,
|
|
@@ -15,7 +15,7 @@ export type { InspectorOutput };
|
|
|
15
15
|
export { validateRecordedInspectorOutput };
|
|
16
16
|
|
|
17
17
|
/** 台院事后察举交卷形状。 */
|
|
18
|
-
export const inspectorOutputSchema =
|
|
18
|
+
export const inspectorOutputSchema = inspectorSubmissionSchema;
|
|
19
19
|
|
|
20
20
|
export type InspectorOutputParameters = Static<typeof inspectorOutputSchema>;
|
|
21
21
|
|
package/src/review-submission.ts
CHANGED
|
@@ -91,4 +91,30 @@ export const courtReviewSubmissionSchema = withTerminatingOutputDeclarations(
|
|
|
91
91
|
),
|
|
92
92
|
);
|
|
93
93
|
|
|
94
|
+
/** Inspector whole-ticket complexity row: one quality-law deletion clause, answered for the whole ticket. */
|
|
95
|
+
export const ticketComplexityRowSchema = Type.Object(
|
|
96
|
+
{
|
|
97
|
+
class: Type.String({ description: "照抄《质量法》里那一句要求删除、合并、复用或不另写的条文" }),
|
|
98
|
+
hits: Type.Array(Type.String(), {
|
|
99
|
+
description: "本票净增里命中这一句的每一处 path:line,并写删到哪、并到哪;打开看过才算。一处没有为空数组,没有第三种答法",
|
|
100
|
+
}),
|
|
101
|
+
},
|
|
102
|
+
{ additionalProperties: true },
|
|
103
|
+
);
|
|
104
|
+
|
|
105
|
+
/** Inspector generation schema: shared review face plus the required whole-ticket complexity answer (package records as-is). */
|
|
106
|
+
export const inspectorSubmissionSchema = withTerminatingOutputDeclarations(
|
|
107
|
+
Type.Object(
|
|
108
|
+
{
|
|
109
|
+
status: reviewStatusField,
|
|
110
|
+
...reviewNarrativeFields,
|
|
111
|
+
ticketComplexity: Type.Array(ticketComplexityRowSchema, {
|
|
112
|
+
description:
|
|
113
|
+
"整票复杂度:本票起点(本分支与家族分支或目标分支的 git merge-base)到 HEAD 的生产与测试净增,对《质量法》里每一句要求删除、合并、复用或不另写的条文各答一行。前几轮已署过的改动也算在内。",
|
|
114
|
+
}),
|
|
115
|
+
},
|
|
116
|
+
{ additionalProperties: true },
|
|
117
|
+
),
|
|
118
|
+
);
|
|
119
|
+
|
|
94
120
|
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 { courtReviewSubmissionSchema, reviewSubmissionSchema } from "./review-submission.ts";
|
|
8
|
+
import { courtReviewSubmissionSchema, 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";
|
|
@@ -99,7 +99,7 @@ const SUBMISSION_FACE = {
|
|
|
99
99
|
label: "台院输出",
|
|
100
100
|
description: "台院终局回执,状态为 converged、continue 或 escalate。",
|
|
101
101
|
promptSnippet: "台院终局回执",
|
|
102
|
-
parameters:
|
|
102
|
+
parameters: inspectorSubmissionSchema,
|
|
103
103
|
},
|
|
104
104
|
gatekeeper: {
|
|
105
105
|
label: "门下省决议",
|