@akagilnc/pi-workflow-roles 0.1.5882 → 0.1.5891

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.
@@ -1768,6 +1768,9 @@ var init_review_submission = __esm({
1768
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
1769
  hits: Type5.Array(Type5.String(), {
1770
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
+ checked: Type5.String({
1773
+ description: "\u4E3A\u8FD9\u4E00\u6761\u6253\u5F00\u6BD4\u5BF9\u8FC7\u7684\u51E0\u5904 path:line\uFF1Ahits \u4E3A\u7A7A\u65F6\u5199\u6BCF\u5904\u4E3A\u4EC0\u4E48\u4E0D\u7B97\uFF0C\u4E0D\u80FD\u53EA\u5199\u672A\u53D1\u73B0\uFF1B\u6709\u547D\u4E2D\u65F6\u5199\u6BD4\u5BF9\u4E86\u54EA\u4E9B\u5730\u65B9\u3001\u547D\u4E2D\u5728\u54EA\u627E\u5230"
1771
1774
  })
1772
1775
  },
1773
1776
  { additionalProperties: true }
@@ -1777,6 +1780,9 @@ var init_review_submission = __esm({
1777
1780
  {
1778
1781
  status: reviewStatusField,
1779
1782
  ...reviewNarrativeFields,
1783
+ suspect: Type5.String({
1784
+ description: "\u6574\u7968\u91CC\u6700\u53EF\u7591\u3001\u6700\u50CF\u80FD\u5220\u80FD\u5E76\u7684\u4E00\u5904 path:line\uFF0C\u4EE5\u53CA\u4E3A\u4EC0\u4E48\u7559\u7740\uFF1B\u8BF4\u4E0D\u6E05\u5C31\u8BE5\u8FDB hits"
1785
+ }),
1780
1786
  ticketComplexity: Type5.Array(ticketComplexityRowSchema, {
1781
1787
  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
1788
  })
@@ -1861,7 +1867,7 @@ var init_fixer_output = __esm({
1861
1867
  description: "\u963B\u65AD\u539F\u56E0\uFF1A\u7F3A\u524D\u7F6E\u6216\u8FDD\u5BAA\u7EA6\u675F\u3002\u7F3A\u5F85\u51B3 owner \u51B3\u5B9A\u6216\u7B54\u590D\u5C5E\u7F3A\u524D\u7F6E\u3002"
1862
1868
  }),
1863
1869
  classResults: Type8.Unknown({
1864
- description: "\u5404\u7C7B class \u7ED3\u7B97\uFF0C\u539F\u6837\u7559\u5B58\u3002\u6BCF\u7C7B\u5199 name\u3001shape\uFF08\u9519\u8BEF\u5F62\u72B6\u4E00\u53E5\uFF09\u3002\u6309\u4EE3\u7801\u5F62\u72B6\u8BA4\u7684\u7C7B\u5199 search\uFF08\u5B9E\u9645\u8DD1\u7684\u641C\u7D22\u547D\u4EE4\uFF0C\u539F\u6837\uFF09\u3001hits\uFF08\u547D\u4EE4\u8F93\u51FA\u7684\u6BCF\u4E2A\u547D\u4E2D\u4E00\u884C { where: path:line, outcome: \u5DF2\u4FEE | \u4E0D\u540C\u7C7B\uFF1A\u7406\u7531 }\uFF09\uFF1B\u6309\u60C5\u5F62\u8BA4\u7684\u7C7B\u5199 cases\uFF08\u6BCF\u79CD\u524D\u5E8F\u7ECF\u5386\u4E00\u884C { case: \u5BF9\u8C61\u5148\u7ECF\u5386\u4E86\u4EC0\u4E48, entry: \u4ECE\u771F\u5B9E\u5165\u53E3\u600E\u4E48\u8D70\u5230\u5B83, before: \u4FEE\u524D\u7ED3\u679C, after: \u4FEE\u540E\u7ED3\u679C }\uFF09\u3002\u5B8C\u6210\u9879\u7684 disposition \u4E3A completed\uFF0C\u53EF\u5199 commitSha\u3002\u62D2\u7EDD\u9879\u7684 disposition \u4E3A refused\uFF0C\u53EF\u5199 remainingScope\u3001blocker\u3002"
1870
+ description: "\u5404\u7C7B class \u7ED3\u7B97\uFF0C\u539F\u6837\u7559\u5B58\u3002\u6BCF\u7C7B\u5199 name\u3001shape\uFF08\u9519\u8BEF\u5F62\u72B6\u4E00\u53E5\uFF09\u3002\u6309\u4EE3\u7801\u5F62\u72B6\u8BA4\u7684\u7C7B\u5199 search\uFF08\u5B9E\u9645\u8DD1\u7684\u641C\u7D22\u547D\u4EE4\uFF0C\u539F\u6837\uFF09\u3001hits\uFF08\u547D\u4EE4\u8F93\u51FA\u7684\u6BCF\u4E2A\u547D\u4E2D\u4E00\u884C { where: path:line, outcome: \u5DF2\u4FEE | \u4E0D\u540C\u7C7B\uFF1A\u7406\u7531 }\uFF09\uFF1B\u6309\u60C5\u5F62\u8BA4\u7684\u7C7B\u5199 cases\uFF08\u6BCF\u79CD\u524D\u5E8F\u7ECF\u5386\u4E00\u884C { case: \u5BF9\u8C61\u5148\u7ECF\u5386\u4E86\u4EC0\u4E48, entry: \u4ECE\u771F\u5B9E\u5165\u53E3\u600E\u4E48\u8D70\u5230\u5B83, before: \u4FEE\u524D\u7ED3\u679C, after: \u4FEE\u540E\u7ED3\u679C }\uFF09\u3002\u5220\u5E76\u7C7B\u5199 files\uFF08\u672C\u7968\u8D77\u70B9\u5230 HEAD \u7684 git diff --name-status \u91CC\u6BCF\u4E2A\u6587\u4EF6\u4E00\u884C { file, hits: \u8BE5\u7C7B\u5728\u6B64\u6587\u4EF6\u7684\u547D\u4E2D path:line \u5217\u8868\uFF0C\u6CA1\u6709\u4E3A\u7A7A, outcome: \u5DF2\u4FEE | \u65E0\uFF1A\u6BD4\u5BF9\u4E86\u54EA\u51E0\u5904\u3001\u4E3A\u4EC0\u4E48\u4E0D\u7B97 | \u672A\u4FEE\uFF1A\u7406\u7531 }\uFF09\u3002\u5B8C\u6210\u9879\u7684 disposition \u4E3A completed\uFF0C\u53EF\u5199 commitSha\u3002\u62D2\u7EDD\u9879\u7684 disposition \u4E3A refused\uFF0C\u53EF\u5199 remainingScope\u3001blocker\u3002"
1865
1871
  }),
1866
1872
  diffItems: diffItemsField,
1867
1873
  testEvidence: Type8.Unknown({
@@ -567,6 +567,9 @@ var init_review_submission = __esm({
567
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
568
  hits: Type2.Array(Type2.String(), {
569
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
+ checked: Type2.String({
572
+ description: "\u4E3A\u8FD9\u4E00\u6761\u6253\u5F00\u6BD4\u5BF9\u8FC7\u7684\u51E0\u5904 path:line\uFF1Ahits \u4E3A\u7A7A\u65F6\u5199\u6BCF\u5904\u4E3A\u4EC0\u4E48\u4E0D\u7B97\uFF0C\u4E0D\u80FD\u53EA\u5199\u672A\u53D1\u73B0\uFF1B\u6709\u547D\u4E2D\u65F6\u5199\u6BD4\u5BF9\u4E86\u54EA\u4E9B\u5730\u65B9\u3001\u547D\u4E2D\u5728\u54EA\u627E\u5230"
570
573
  })
571
574
  },
572
575
  { additionalProperties: true }
@@ -576,6 +579,9 @@ var init_review_submission = __esm({
576
579
  {
577
580
  status: reviewStatusField,
578
581
  ...reviewNarrativeFields,
582
+ suspect: Type2.String({
583
+ description: "\u6574\u7968\u91CC\u6700\u53EF\u7591\u3001\u6700\u50CF\u80FD\u5220\u80FD\u5E76\u7684\u4E00\u5904 path:line\uFF0C\u4EE5\u53CA\u4E3A\u4EC0\u4E48\u7559\u7740\uFF1B\u8BF4\u4E0D\u6E05\u5C31\u8BE5\u8FDB hits"
584
+ }),
579
585
  ticketComplexity: Type2.Array(ticketComplexityRowSchema, {
580
586
  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
587
  })
@@ -817,7 +823,7 @@ var init_fixer_output = __esm({
817
823
  description: "\u963B\u65AD\u539F\u56E0\uFF1A\u7F3A\u524D\u7F6E\u6216\u8FDD\u5BAA\u7EA6\u675F\u3002\u7F3A\u5F85\u51B3 owner \u51B3\u5B9A\u6216\u7B54\u590D\u5C5E\u7F3A\u524D\u7F6E\u3002"
818
824
  }),
819
825
  classResults: Type8.Unknown({
820
- description: "\u5404\u7C7B class \u7ED3\u7B97\uFF0C\u539F\u6837\u7559\u5B58\u3002\u6BCF\u7C7B\u5199 name\u3001shape\uFF08\u9519\u8BEF\u5F62\u72B6\u4E00\u53E5\uFF09\u3002\u6309\u4EE3\u7801\u5F62\u72B6\u8BA4\u7684\u7C7B\u5199 search\uFF08\u5B9E\u9645\u8DD1\u7684\u641C\u7D22\u547D\u4EE4\uFF0C\u539F\u6837\uFF09\u3001hits\uFF08\u547D\u4EE4\u8F93\u51FA\u7684\u6BCF\u4E2A\u547D\u4E2D\u4E00\u884C { where: path:line, outcome: \u5DF2\u4FEE | \u4E0D\u540C\u7C7B\uFF1A\u7406\u7531 }\uFF09\uFF1B\u6309\u60C5\u5F62\u8BA4\u7684\u7C7B\u5199 cases\uFF08\u6BCF\u79CD\u524D\u5E8F\u7ECF\u5386\u4E00\u884C { case: \u5BF9\u8C61\u5148\u7ECF\u5386\u4E86\u4EC0\u4E48, entry: \u4ECE\u771F\u5B9E\u5165\u53E3\u600E\u4E48\u8D70\u5230\u5B83, before: \u4FEE\u524D\u7ED3\u679C, after: \u4FEE\u540E\u7ED3\u679C }\uFF09\u3002\u5B8C\u6210\u9879\u7684 disposition \u4E3A completed\uFF0C\u53EF\u5199 commitSha\u3002\u62D2\u7EDD\u9879\u7684 disposition \u4E3A refused\uFF0C\u53EF\u5199 remainingScope\u3001blocker\u3002"
826
+ description: "\u5404\u7C7B class \u7ED3\u7B97\uFF0C\u539F\u6837\u7559\u5B58\u3002\u6BCF\u7C7B\u5199 name\u3001shape\uFF08\u9519\u8BEF\u5F62\u72B6\u4E00\u53E5\uFF09\u3002\u6309\u4EE3\u7801\u5F62\u72B6\u8BA4\u7684\u7C7B\u5199 search\uFF08\u5B9E\u9645\u8DD1\u7684\u641C\u7D22\u547D\u4EE4\uFF0C\u539F\u6837\uFF09\u3001hits\uFF08\u547D\u4EE4\u8F93\u51FA\u7684\u6BCF\u4E2A\u547D\u4E2D\u4E00\u884C { where: path:line, outcome: \u5DF2\u4FEE | \u4E0D\u540C\u7C7B\uFF1A\u7406\u7531 }\uFF09\uFF1B\u6309\u60C5\u5F62\u8BA4\u7684\u7C7B\u5199 cases\uFF08\u6BCF\u79CD\u524D\u5E8F\u7ECF\u5386\u4E00\u884C { case: \u5BF9\u8C61\u5148\u7ECF\u5386\u4E86\u4EC0\u4E48, entry: \u4ECE\u771F\u5B9E\u5165\u53E3\u600E\u4E48\u8D70\u5230\u5B83, before: \u4FEE\u524D\u7ED3\u679C, after: \u4FEE\u540E\u7ED3\u679C }\uFF09\u3002\u5220\u5E76\u7C7B\u5199 files\uFF08\u672C\u7968\u8D77\u70B9\u5230 HEAD \u7684 git diff --name-status \u91CC\u6BCF\u4E2A\u6587\u4EF6\u4E00\u884C { file, hits: \u8BE5\u7C7B\u5728\u6B64\u6587\u4EF6\u7684\u547D\u4E2D path:line \u5217\u8868\uFF0C\u6CA1\u6709\u4E3A\u7A7A, outcome: \u5DF2\u4FEE | \u65E0\uFF1A\u6BD4\u5BF9\u4E86\u54EA\u51E0\u5904\u3001\u4E3A\u4EC0\u4E48\u4E0D\u7B97 | \u672A\u4FEE\uFF1A\u7406\u7531 }\uFF09\u3002\u5B8C\u6210\u9879\u7684 disposition \u4E3A completed\uFF0C\u53EF\u5199 commitSha\u3002\u62D2\u7EDD\u9879\u7684 disposition \u4E3A refused\uFF0C\u53EF\u5199 remainingScope\u3001blocker\u3002"
821
827
  }),
822
828
  diffItems: diffItemsField,
823
829
  testEvidence: Type8.Unknown({
@@ -8794,6 +8794,9 @@ var init_review_submission = __esm({
8794
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
8795
  hits: typebox_exports.Array(typebox_exports.String(), {
8796
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
+ checked: typebox_exports.String({
8799
+ description: "\u4E3A\u8FD9\u4E00\u6761\u6253\u5F00\u6BD4\u5BF9\u8FC7\u7684\u51E0\u5904 path:line\uFF1Ahits \u4E3A\u7A7A\u65F6\u5199\u6BCF\u5904\u4E3A\u4EC0\u4E48\u4E0D\u7B97\uFF0C\u4E0D\u80FD\u53EA\u5199\u672A\u53D1\u73B0\uFF1B\u6709\u547D\u4E2D\u65F6\u5199\u6BD4\u5BF9\u4E86\u54EA\u4E9B\u5730\u65B9\u3001\u547D\u4E2D\u5728\u54EA\u627E\u5230"
8797
8800
  })
8798
8801
  },
8799
8802
  { additionalProperties: true }
@@ -8803,6 +8806,9 @@ var init_review_submission = __esm({
8803
8806
  {
8804
8807
  status: reviewStatusField,
8805
8808
  ...reviewNarrativeFields,
8809
+ suspect: typebox_exports.String({
8810
+ description: "\u6574\u7968\u91CC\u6700\u53EF\u7591\u3001\u6700\u50CF\u80FD\u5220\u80FD\u5E76\u7684\u4E00\u5904 path:line\uFF0C\u4EE5\u53CA\u4E3A\u4EC0\u4E48\u7559\u7740\uFF1B\u8BF4\u4E0D\u6E05\u5C31\u8BE5\u8FDB hits"
8811
+ }),
8806
8812
  ticketComplexity: typebox_exports.Array(ticketComplexityRowSchema, {
8807
8813
  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
8814
  })
@@ -8884,7 +8890,7 @@ var init_fixer_output = __esm({
8884
8890
  description: "\u963B\u65AD\u539F\u56E0\uFF1A\u7F3A\u524D\u7F6E\u6216\u8FDD\u5BAA\u7EA6\u675F\u3002\u7F3A\u5F85\u51B3 owner \u51B3\u5B9A\u6216\u7B54\u590D\u5C5E\u7F3A\u524D\u7F6E\u3002"
8885
8891
  }),
8886
8892
  classResults: typebox_exports.Unknown({
8887
- description: "\u5404\u7C7B class \u7ED3\u7B97\uFF0C\u539F\u6837\u7559\u5B58\u3002\u6BCF\u7C7B\u5199 name\u3001shape\uFF08\u9519\u8BEF\u5F62\u72B6\u4E00\u53E5\uFF09\u3002\u6309\u4EE3\u7801\u5F62\u72B6\u8BA4\u7684\u7C7B\u5199 search\uFF08\u5B9E\u9645\u8DD1\u7684\u641C\u7D22\u547D\u4EE4\uFF0C\u539F\u6837\uFF09\u3001hits\uFF08\u547D\u4EE4\u8F93\u51FA\u7684\u6BCF\u4E2A\u547D\u4E2D\u4E00\u884C { where: path:line, outcome: \u5DF2\u4FEE | \u4E0D\u540C\u7C7B\uFF1A\u7406\u7531 }\uFF09\uFF1B\u6309\u60C5\u5F62\u8BA4\u7684\u7C7B\u5199 cases\uFF08\u6BCF\u79CD\u524D\u5E8F\u7ECF\u5386\u4E00\u884C { case: \u5BF9\u8C61\u5148\u7ECF\u5386\u4E86\u4EC0\u4E48, entry: \u4ECE\u771F\u5B9E\u5165\u53E3\u600E\u4E48\u8D70\u5230\u5B83, before: \u4FEE\u524D\u7ED3\u679C, after: \u4FEE\u540E\u7ED3\u679C }\uFF09\u3002\u5B8C\u6210\u9879\u7684 disposition \u4E3A completed\uFF0C\u53EF\u5199 commitSha\u3002\u62D2\u7EDD\u9879\u7684 disposition \u4E3A refused\uFF0C\u53EF\u5199 remainingScope\u3001blocker\u3002"
8893
+ description: "\u5404\u7C7B class \u7ED3\u7B97\uFF0C\u539F\u6837\u7559\u5B58\u3002\u6BCF\u7C7B\u5199 name\u3001shape\uFF08\u9519\u8BEF\u5F62\u72B6\u4E00\u53E5\uFF09\u3002\u6309\u4EE3\u7801\u5F62\u72B6\u8BA4\u7684\u7C7B\u5199 search\uFF08\u5B9E\u9645\u8DD1\u7684\u641C\u7D22\u547D\u4EE4\uFF0C\u539F\u6837\uFF09\u3001hits\uFF08\u547D\u4EE4\u8F93\u51FA\u7684\u6BCF\u4E2A\u547D\u4E2D\u4E00\u884C { where: path:line, outcome: \u5DF2\u4FEE | \u4E0D\u540C\u7C7B\uFF1A\u7406\u7531 }\uFF09\uFF1B\u6309\u60C5\u5F62\u8BA4\u7684\u7C7B\u5199 cases\uFF08\u6BCF\u79CD\u524D\u5E8F\u7ECF\u5386\u4E00\u884C { case: \u5BF9\u8C61\u5148\u7ECF\u5386\u4E86\u4EC0\u4E48, entry: \u4ECE\u771F\u5B9E\u5165\u53E3\u600E\u4E48\u8D70\u5230\u5B83, before: \u4FEE\u524D\u7ED3\u679C, after: \u4FEE\u540E\u7ED3\u679C }\uFF09\u3002\u5220\u5E76\u7C7B\u5199 files\uFF08\u672C\u7968\u8D77\u70B9\u5230 HEAD \u7684 git diff --name-status \u91CC\u6BCF\u4E2A\u6587\u4EF6\u4E00\u884C { file, hits: \u8BE5\u7C7B\u5728\u6B64\u6587\u4EF6\u7684\u547D\u4E2D path:line \u5217\u8868\uFF0C\u6CA1\u6709\u4E3A\u7A7A, outcome: \u5DF2\u4FEE | \u65E0\uFF1A\u6BD4\u5BF9\u4E86\u54EA\u51E0\u5904\u3001\u4E3A\u4EC0\u4E48\u4E0D\u7B97 | \u672A\u4FEE\uFF1A\u7406\u7531 }\uFF09\u3002\u5B8C\u6210\u9879\u7684 disposition \u4E3A completed\uFF0C\u53EF\u5199 commitSha\u3002\u62D2\u7EDD\u9879\u7684 disposition \u4E3A refused\uFF0C\u53EF\u5199 remainingScope\u3001blocker\u3002"
8888
8894
  }),
8889
8895
  diffItems: diffItemsField,
8890
8896
  testEvidence: typebox_exports.Unknown({
@@ -18,7 +18,7 @@ const fixerOutputObject = Type.Object({
18
18
  description: "\u963B\u65AD\u539F\u56E0\uFF1A\u7F3A\u524D\u7F6E\u6216\u8FDD\u5BAA\u7EA6\u675F\u3002\u7F3A\u5F85\u51B3 owner \u51B3\u5B9A\u6216\u7B54\u590D\u5C5E\u7F3A\u524D\u7F6E\u3002"
19
19
  }),
20
20
  classResults: Type.Unknown({
21
- description: "\u5404\u7C7B class \u7ED3\u7B97\uFF0C\u539F\u6837\u7559\u5B58\u3002\u6BCF\u7C7B\u5199 name\u3001shape\uFF08\u9519\u8BEF\u5F62\u72B6\u4E00\u53E5\uFF09\u3002\u6309\u4EE3\u7801\u5F62\u72B6\u8BA4\u7684\u7C7B\u5199 search\uFF08\u5B9E\u9645\u8DD1\u7684\u641C\u7D22\u547D\u4EE4\uFF0C\u539F\u6837\uFF09\u3001hits\uFF08\u547D\u4EE4\u8F93\u51FA\u7684\u6BCF\u4E2A\u547D\u4E2D\u4E00\u884C { where: path:line, outcome: \u5DF2\u4FEE | \u4E0D\u540C\u7C7B\uFF1A\u7406\u7531 }\uFF09\uFF1B\u6309\u60C5\u5F62\u8BA4\u7684\u7C7B\u5199 cases\uFF08\u6BCF\u79CD\u524D\u5E8F\u7ECF\u5386\u4E00\u884C { case: \u5BF9\u8C61\u5148\u7ECF\u5386\u4E86\u4EC0\u4E48, entry: \u4ECE\u771F\u5B9E\u5165\u53E3\u600E\u4E48\u8D70\u5230\u5B83, before: \u4FEE\u524D\u7ED3\u679C, after: \u4FEE\u540E\u7ED3\u679C }\uFF09\u3002\u5B8C\u6210\u9879\u7684 disposition \u4E3A completed\uFF0C\u53EF\u5199 commitSha\u3002\u62D2\u7EDD\u9879\u7684 disposition \u4E3A refused\uFF0C\u53EF\u5199 remainingScope\u3001blocker\u3002"
21
+ description: "\u5404\u7C7B class \u7ED3\u7B97\uFF0C\u539F\u6837\u7559\u5B58\u3002\u6BCF\u7C7B\u5199 name\u3001shape\uFF08\u9519\u8BEF\u5F62\u72B6\u4E00\u53E5\uFF09\u3002\u6309\u4EE3\u7801\u5F62\u72B6\u8BA4\u7684\u7C7B\u5199 search\uFF08\u5B9E\u9645\u8DD1\u7684\u641C\u7D22\u547D\u4EE4\uFF0C\u539F\u6837\uFF09\u3001hits\uFF08\u547D\u4EE4\u8F93\u51FA\u7684\u6BCF\u4E2A\u547D\u4E2D\u4E00\u884C { where: path:line, outcome: \u5DF2\u4FEE | \u4E0D\u540C\u7C7B\uFF1A\u7406\u7531 }\uFF09\uFF1B\u6309\u60C5\u5F62\u8BA4\u7684\u7C7B\u5199 cases\uFF08\u6BCF\u79CD\u524D\u5E8F\u7ECF\u5386\u4E00\u884C { case: \u5BF9\u8C61\u5148\u7ECF\u5386\u4E86\u4EC0\u4E48, entry: \u4ECE\u771F\u5B9E\u5165\u53E3\u600E\u4E48\u8D70\u5230\u5B83, before: \u4FEE\u524D\u7ED3\u679C, after: \u4FEE\u540E\u7ED3\u679C }\uFF09\u3002\u5220\u5E76\u7C7B\u5199 files\uFF08\u672C\u7968\u8D77\u70B9\u5230 HEAD \u7684 git diff --name-status \u91CC\u6BCF\u4E2A\u6587\u4EF6\u4E00\u884C { file, hits: \u8BE5\u7C7B\u5728\u6B64\u6587\u4EF6\u7684\u547D\u4E2D path:line \u5217\u8868\uFF0C\u6CA1\u6709\u4E3A\u7A7A, outcome: \u5DF2\u4FEE | \u65E0\uFF1A\u6BD4\u5BF9\u4E86\u54EA\u51E0\u5904\u3001\u4E3A\u4EC0\u4E48\u4E0D\u7B97 | \u672A\u4FEE\uFF1A\u7406\u7531 }\uFF09\u3002\u5B8C\u6210\u9879\u7684 disposition \u4E3A completed\uFF0C\u53EF\u5199 commitSha\u3002\u62D2\u7EDD\u9879\u7684 disposition \u4E3A refused\uFF0C\u53EF\u5199 remainingScope\u3001blocker\u3002"
22
22
  }),
23
23
  diffItems: diffItemsField,
24
24
  testEvidence: Type.Unknown({
@@ -9284,6 +9284,9 @@ var init_review_submission = __esm({
9284
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
9285
  hits: typebox_exports.Array(typebox_exports.String(), {
9286
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
+ checked: typebox_exports.String({
9289
+ description: "\u4E3A\u8FD9\u4E00\u6761\u6253\u5F00\u6BD4\u5BF9\u8FC7\u7684\u51E0\u5904 path:line\uFF1Ahits \u4E3A\u7A7A\u65F6\u5199\u6BCF\u5904\u4E3A\u4EC0\u4E48\u4E0D\u7B97\uFF0C\u4E0D\u80FD\u53EA\u5199\u672A\u53D1\u73B0\uFF1B\u6709\u547D\u4E2D\u65F6\u5199\u6BD4\u5BF9\u4E86\u54EA\u4E9B\u5730\u65B9\u3001\u547D\u4E2D\u5728\u54EA\u627E\u5230"
9287
9290
  })
9288
9291
  },
9289
9292
  { additionalProperties: true }
@@ -9293,6 +9296,9 @@ var init_review_submission = __esm({
9293
9296
  {
9294
9297
  status: reviewStatusField,
9295
9298
  ...reviewNarrativeFields,
9299
+ suspect: typebox_exports.String({
9300
+ description: "\u6574\u7968\u91CC\u6700\u53EF\u7591\u3001\u6700\u50CF\u80FD\u5220\u80FD\u5E76\u7684\u4E00\u5904 path:line\uFF0C\u4EE5\u53CA\u4E3A\u4EC0\u4E48\u7559\u7740\uFF1B\u8BF4\u4E0D\u6E05\u5C31\u8BE5\u8FDB hits"
9301
+ }),
9296
9302
  ticketComplexity: typebox_exports.Array(ticketComplexityRowSchema, {
9297
9303
  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
9304
  })
@@ -9374,7 +9380,7 @@ var init_fixer_output = __esm({
9374
9380
  description: "\u963B\u65AD\u539F\u56E0\uFF1A\u7F3A\u524D\u7F6E\u6216\u8FDD\u5BAA\u7EA6\u675F\u3002\u7F3A\u5F85\u51B3 owner \u51B3\u5B9A\u6216\u7B54\u590D\u5C5E\u7F3A\u524D\u7F6E\u3002"
9375
9381
  }),
9376
9382
  classResults: typebox_exports.Unknown({
9377
- description: "\u5404\u7C7B class \u7ED3\u7B97\uFF0C\u539F\u6837\u7559\u5B58\u3002\u6BCF\u7C7B\u5199 name\u3001shape\uFF08\u9519\u8BEF\u5F62\u72B6\u4E00\u53E5\uFF09\u3002\u6309\u4EE3\u7801\u5F62\u72B6\u8BA4\u7684\u7C7B\u5199 search\uFF08\u5B9E\u9645\u8DD1\u7684\u641C\u7D22\u547D\u4EE4\uFF0C\u539F\u6837\uFF09\u3001hits\uFF08\u547D\u4EE4\u8F93\u51FA\u7684\u6BCF\u4E2A\u547D\u4E2D\u4E00\u884C { where: path:line, outcome: \u5DF2\u4FEE | \u4E0D\u540C\u7C7B\uFF1A\u7406\u7531 }\uFF09\uFF1B\u6309\u60C5\u5F62\u8BA4\u7684\u7C7B\u5199 cases\uFF08\u6BCF\u79CD\u524D\u5E8F\u7ECF\u5386\u4E00\u884C { case: \u5BF9\u8C61\u5148\u7ECF\u5386\u4E86\u4EC0\u4E48, entry: \u4ECE\u771F\u5B9E\u5165\u53E3\u600E\u4E48\u8D70\u5230\u5B83, before: \u4FEE\u524D\u7ED3\u679C, after: \u4FEE\u540E\u7ED3\u679C }\uFF09\u3002\u5B8C\u6210\u9879\u7684 disposition \u4E3A completed\uFF0C\u53EF\u5199 commitSha\u3002\u62D2\u7EDD\u9879\u7684 disposition \u4E3A refused\uFF0C\u53EF\u5199 remainingScope\u3001blocker\u3002"
9383
+ description: "\u5404\u7C7B class \u7ED3\u7B97\uFF0C\u539F\u6837\u7559\u5B58\u3002\u6BCF\u7C7B\u5199 name\u3001shape\uFF08\u9519\u8BEF\u5F62\u72B6\u4E00\u53E5\uFF09\u3002\u6309\u4EE3\u7801\u5F62\u72B6\u8BA4\u7684\u7C7B\u5199 search\uFF08\u5B9E\u9645\u8DD1\u7684\u641C\u7D22\u547D\u4EE4\uFF0C\u539F\u6837\uFF09\u3001hits\uFF08\u547D\u4EE4\u8F93\u51FA\u7684\u6BCF\u4E2A\u547D\u4E2D\u4E00\u884C { where: path:line, outcome: \u5DF2\u4FEE | \u4E0D\u540C\u7C7B\uFF1A\u7406\u7531 }\uFF09\uFF1B\u6309\u60C5\u5F62\u8BA4\u7684\u7C7B\u5199 cases\uFF08\u6BCF\u79CD\u524D\u5E8F\u7ECF\u5386\u4E00\u884C { case: \u5BF9\u8C61\u5148\u7ECF\u5386\u4E86\u4EC0\u4E48, entry: \u4ECE\u771F\u5B9E\u5165\u53E3\u600E\u4E48\u8D70\u5230\u5B83, before: \u4FEE\u524D\u7ED3\u679C, after: \u4FEE\u540E\u7ED3\u679C }\uFF09\u3002\u5220\u5E76\u7C7B\u5199 files\uFF08\u672C\u7968\u8D77\u70B9\u5230 HEAD \u7684 git diff --name-status \u91CC\u6BCF\u4E2A\u6587\u4EF6\u4E00\u884C { file, hits: \u8BE5\u7C7B\u5728\u6B64\u6587\u4EF6\u7684\u547D\u4E2D path:line \u5217\u8868\uFF0C\u6CA1\u6709\u4E3A\u7A7A, outcome: \u5DF2\u4FEE | \u65E0\uFF1A\u6BD4\u5BF9\u4E86\u54EA\u51E0\u5904\u3001\u4E3A\u4EC0\u4E48\u4E0D\u7B97 | \u672A\u4FEE\uFF1A\u7406\u7531 }\uFF09\u3002\u5B8C\u6210\u9879\u7684 disposition \u4E3A completed\uFF0C\u53EF\u5199 commitSha\u3002\u62D2\u7EDD\u9879\u7684 disposition \u4E3A refused\uFF0C\u53EF\u5199 remainingScope\u3001blocker\u3002"
9378
9384
  }),
9379
9385
  diffItems: diffItemsField,
9380
9386
  testEvidence: typebox_exports.Unknown({
@@ -68,11 +68,17 @@ export const ticketComplexityRowSchema = Type.Object({
68
68
  hits: Type.Array(Type.String(), {
69
69
  description: "本票净增里命中这一句的每一处 path:line,并写删到哪、并到哪;打开看过才算。一处没有为空数组,没有第三种答法",
70
70
  }),
71
+ checked: Type.String({
72
+ description: "为这一条打开比对过的几处 path:line:hits 为空时写每处为什么不算,不能只写未发现;有命中时写比对了哪些地方、命中在哪找到",
73
+ }),
71
74
  }, { additionalProperties: true });
72
75
  /** Inspector generation schema: shared review face plus the required whole-ticket complexity answer (package records as-is). */
73
76
  export const inspectorSubmissionSchema = withTerminatingOutputDeclarations(Type.Object({
74
77
  status: reviewStatusField,
75
78
  ...reviewNarrativeFields,
79
+ suspect: Type.String({
80
+ description: "整票里最可疑、最像能删能并的一处 path:line,以及为什么留着;说不清就该进 hits",
81
+ }),
76
82
  ticketComplexity: Type.Array(ticketComplexityRowSchema, {
77
83
  description: "整票复杂度:本票起点(本分支与家族分支或目标分支的 git merge-base)到 HEAD 的生产与测试净增,对《质量法》里每一句要求删除、合并、复用或不另写的条文各答一行。前几轮已署过的改动也算在内。",
78
84
  }),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@akagilnc/pi-workflow-roles",
3
- "version": "0.1.5882",
3
+ "version": "0.1.5891",
4
4
  "description": "Soul-bound workflow roles for Pi",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -1,5 +1,5 @@
1
1
  # 修内司输出指南
2
2
 
3
3
  提交前缀见仓内 CLAUDE.md「Commit 前缀」。不 amend、不 rewrite、不 push 见 souls/fixer.md。
4
- 交卷回执:逐 finding 报处置。classResults 每类的 hits 或 cases 是扫类、复扫的逐项表;diffItems 是交卷前自审的逐项表。证据引用口径见仓内 CLAUDE.md「锚定宪法」。
4
+ 交卷回执:逐 finding 报处置。classResults 每类的 hits、cases 或 files 是扫类、复扫的逐项表;diffItems 是交卷前自审的逐项表。证据引用口径见仓内 CLAUDE.md「锚定宪法」。
5
5
  新造通用件的回执口径见 souls/quality-law.md「生态里已有的不自己造」。
package/souls/fixer.md CHANGED
@@ -6,12 +6,13 @@ apply 按顺序执行:
6
6
  1. 立法:读 全局宪法,仓内宪法,票面。
7
7
  2. 核对:开工核对见 souls/quality-law.md。
8
8
  3. 归类:读完全部 finding,沿用已有裁决类别,明确各类错误与正确行为。
9
- 4. 扫类:每类先写一句错误形状,再判这一类按什么认,两种各用一张表,记进交卷 classResults 该类,不合并、不省略:
9
+ 4. 扫类:每类先写一句错误形状,再判这一类按什么认,三种各用一张表,记进交卷 classResults 该类,不合并、不省略:
10
10
  - 按代码形状认(同一种写法出现在多处:别名、写口、调用点):按形状写搜索命令并真跑,命令原样记进 search,输出里的每一个命中逐行记进 hits(where 写 path:line)。判词点名处必须出现在 hits 里;不在,说明命令写窄了,改命令重跑。
11
11
  - 按情形认(同一段代码,对象先经历了不同的事,行为就不同):把对象在出错之前可能经历的状态组合逐个列进 cases,一种经历一行,写明从真实入口怎么走到它;每一行修改前先走一遍,记下结果。判词点名的情形必须在 cases 里。
12
+ - 删并类(同一规则写了两份、平行测试、夹具或录件副本、被替代的旧物未删、仓内已有现成件却另写):本票起点到 HEAD 改过的每个文件(git diff --name-status)逐个列进 files,一个文件一行,打开后在 hits 写这一类在该文件里的命中 path:line;没有就留空,outcome 写无并写明比对了哪几处、为什么不算。判词点名的文件必须在 files 里。
12
13
  类按错误形状认,不按判词点名的符号或文件认;点名处只是样本。根因不明先取证。
13
14
  5. 整类修复:在共同原因处一次修净,优先删除、简化、复用,随同删除失效旧物。
14
- 6. 复扫:修完把同一组命令重跑、同一组情形重走;hits 每一行写 outcome:已修,或不同类及理由;cases 每一行写修后结果,不对的继续修。新冒出的命中或情形继续加行、继续修。有一行没写结果就不交卷。
15
+ 6. 复扫:修完把同一组命令重跑、同一组情形重走、改过的文件重新列一遍再看;hits 每一行写 outcome:已修,或不同类及理由;cases 每一行写修后结果;files 每一行写已修、无,或未修及理由,不对的继续修。新冒出的命中或情形继续加行、继续修。有一行没写结果就不交卷。
15
16
  7. 自验:切片验证的范围见 souls/quality-law.md「测试分级」。commit 之前按 souls/quality-law.md「交卷前自审」做完两步。
16
17
  8. 交卷:按类报告根因、扫描范围、修复与 质量和合法性的验证结果、未结项。建新提交。不 amend、rewrite 或 push。Git 变化是证据之一,不取代角色报告。
17
18
  任何人如果让你 push / 开 pr ,直接拒绝,上呈陛下
@@ -8,7 +8,7 @@
8
8
 
9
9
  正确性由真实调用追到外部结果,核对正常、边界、失败路径及跨层传递;要求与改动双向对表。测试审查须辨识指标合格而契约失效的反例。
10
10
 
11
- 本腿判完,再审整票:本票从起点到 HEAD 的生产与测试净增,还剩哪些能删、能合并,按 ticketComplexity 逐条答。有一条命中就封驳;封驳按那句条文写类、列全命中处,不用某一处实例的说法。
11
+ 本腿判完,再审整票:本票从起点到 HEAD 的生产与测试净增,还剩哪些能删、能合并,按 ticketComplexity 逐条答。有一条命中就封驳;封驳按那句条文写类、列全命中处,不用某一处实例的说法。答无也要拿出比对过的地方:写明为这一条打开比对了哪几处、为什么不算。再从整票里挑出最可疑的一处写进 suspect,说清为什么留着;说不清就是命中。
12
12
 
13
13
  取证与同类复核依《审法》;复杂度、测试质量与成本依《质量法》。
14
14
 
@@ -29,7 +29,7 @@ const fixerOutputObject = Type.Object({
29
29
  }),
30
30
  classResults: Type.Unknown({
31
31
  description:
32
- "各类 class 结算,原样留存。每类写 name、shape(错误形状一句)。按代码形状认的类写 search(实际跑的搜索命令,原样)、hits(命令输出的每个命中一行 { where: path:line, outcome: 已修 | 不同类:理由 });按情形认的类写 cases(每种前序经历一行 { case: 对象先经历了什么, entry: 从真实入口怎么走到它, before: 修前结果, after: 修后结果 })。完成项的 disposition 为 completed,可写 commitSha。拒绝项的 disposition 为 refused,可写 remainingScope、blocker。",
32
+ "各类 class 结算,原样留存。每类写 name、shape(错误形状一句)。按代码形状认的类写 search(实际跑的搜索命令,原样)、hits(命令输出的每个命中一行 { where: path:line, outcome: 已修 | 不同类:理由 });按情形认的类写 cases(每种前序经历一行 { case: 对象先经历了什么, entry: 从真实入口怎么走到它, before: 修前结果, after: 修后结果 })。删并类写 files(本票起点到 HEAD 的 git diff --name-status 里每个文件一行 { file, hits: 该类在此文件的命中 path:line 列表,没有为空, outcome: 已修 | 无:比对了哪几处、为什么不算 | 未修:理由 })。完成项的 disposition 为 completed,可写 commitSha。拒绝项的 disposition 为 refused,可写 remainingScope、blocker。",
33
33
  }),
34
34
  diffItems: diffItemsField,
35
35
  testEvidence: Type.Unknown({
@@ -98,6 +98,9 @@ export const ticketComplexityRowSchema = Type.Object(
98
98
  hits: Type.Array(Type.String(), {
99
99
  description: "本票净增里命中这一句的每一处 path:line,并写删到哪、并到哪;打开看过才算。一处没有为空数组,没有第三种答法",
100
100
  }),
101
+ checked: Type.String({
102
+ description: "为这一条打开比对过的几处 path:line:hits 为空时写每处为什么不算,不能只写未发现;有命中时写比对了哪些地方、命中在哪找到",
103
+ }),
101
104
  },
102
105
  { additionalProperties: true },
103
106
  );
@@ -108,6 +111,9 @@ export const inspectorSubmissionSchema = withTerminatingOutputDeclarations(
108
111
  {
109
112
  status: reviewStatusField,
110
113
  ...reviewNarrativeFields,
114
+ suspect: Type.String({
115
+ description: "整票里最可疑、最像能删能并的一处 path:line,以及为什么留着;说不清就该进 hits",
116
+ }),
111
117
  ticketComplexity: Type.Array(ticketComplexityRowSchema, {
112
118
  description:
113
119
  "整票复杂度:本票起点(本分支与家族分支或目标分支的 git merge-base)到 HEAD 的生产与测试净增,对《质量法》里每一句要求删除、合并、复用或不另写的条文各答一行。前几轮已署过的改动也算在内。",