@akagilnc/pi-workflow-roles 0.1.5858 → 0.1.5860

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.
@@ -1862,6 +1862,9 @@ var init_worker_output = __esm({
1862
1862
  remainingScope: Type8.Unknown({ description: "\u672C\u5C40\u540E\u5269\u4F59\u5DE5\u4F5C" }),
1863
1863
  reason: Type8.Unknown({
1864
1864
  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"
1865
+ }),
1866
+ diffItems: Type8.Unknown({
1867
+ description: "commit \u524D\u81EA\u5BA1\u9010\u9879\u8868\uFF1A\u672C\u6B21\u65B0\u589E\u7684\u6BCF\u4E2A\u6D4B\u8BD5\u51FD\u6570\u3001\u6BCF\u4E2A\u751F\u4EA7\u51FD\u6570\u5404\u4E00\u884C { item: \u540D\u5B57, existing: \u4ED3\u91CC\u505A\u540C\u4E00\u4EF6\u4E8B\u7684\u73B0\u6210\u4EF6 path:line\uFF0C\u627E\u4E0D\u5230\u4E3A null, outcome: \u5DF2\u5E76\u5165 | \u4FDD\u7559 }\u3002"
1865
1868
  })
1866
1869
  });
1867
1870
  coderOutputSchema = withTerminatingOutputDeclarations(
@@ -818,6 +818,9 @@ var init_worker_output = __esm({
818
818
  remainingScope: Type8.Unknown({ description: "\u672C\u5C40\u540E\u5269\u4F59\u5DE5\u4F5C" }),
819
819
  reason: Type8.Unknown({
820
820
  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"
821
+ }),
822
+ diffItems: Type8.Unknown({
823
+ description: "commit \u524D\u81EA\u5BA1\u9010\u9879\u8868\uFF1A\u672C\u6B21\u65B0\u589E\u7684\u6BCF\u4E2A\u6D4B\u8BD5\u51FD\u6570\u3001\u6BCF\u4E2A\u751F\u4EA7\u51FD\u6570\u5404\u4E00\u884C { item: \u540D\u5B57, existing: \u4ED3\u91CC\u505A\u540C\u4E00\u4EF6\u4E8B\u7684\u73B0\u6210\u4EF6 path:line\uFF0C\u627E\u4E0D\u5230\u4E3A null, outcome: \u5DF2\u5E76\u5165 | \u4FDD\u7559 }\u3002"
821
824
  })
822
825
  });
823
826
  coderOutputSchema = withTerminatingOutputDeclarations(
@@ -8879,6 +8879,9 @@ var init_worker_output = __esm({
8879
8879
  remainingScope: typebox_exports.Unknown({ description: "\u672C\u5C40\u540E\u5269\u4F59\u5DE5\u4F5C" }),
8880
8880
  reason: typebox_exports.Unknown({
8881
8881
  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"
8882
+ }),
8883
+ diffItems: typebox_exports.Unknown({
8884
+ description: "commit \u524D\u81EA\u5BA1\u9010\u9879\u8868\uFF1A\u672C\u6B21\u65B0\u589E\u7684\u6BCF\u4E2A\u6D4B\u8BD5\u51FD\u6570\u3001\u6BCF\u4E2A\u751F\u4EA7\u51FD\u6570\u5404\u4E00\u884C { item: \u540D\u5B57, existing: \u4ED3\u91CC\u505A\u540C\u4E00\u4EF6\u4E8B\u7684\u73B0\u6210\u4EF6 path:line\uFF0C\u627E\u4E0D\u5230\u4E3A null, outcome: \u5DF2\u5E76\u5165 | \u4FDD\u7559 }\u3002"
8882
8885
  })
8883
8886
  });
8884
8887
  coderOutputSchema = withTerminatingOutputDeclarations(
@@ -21,6 +21,9 @@ const coderOutputObject = Type.Object({
21
21
  remainingScope: Type.Unknown({ description: "\u672C\u5C40\u540E\u5269\u4F59\u5DE5\u4F5C" }),
22
22
  reason: Type.Unknown({
23
23
  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"
24
+ }),
25
+ diffItems: Type.Unknown({
26
+ description: "commit \u524D\u81EA\u5BA1\u9010\u9879\u8868\uFF1A\u672C\u6B21\u65B0\u589E\u7684\u6BCF\u4E2A\u6D4B\u8BD5\u51FD\u6570\u3001\u6BCF\u4E2A\u751F\u4EA7\u51FD\u6570\u5404\u4E00\u884C { item: \u540D\u5B57, existing: \u4ED3\u91CC\u505A\u540C\u4E00\u4EF6\u4E8B\u7684\u73B0\u6210\u4EF6 path:line\uFF0C\u627E\u4E0D\u5230\u4E3A null, outcome: \u5DF2\u5E76\u5165 | \u4FDD\u7559 }\u3002"
24
27
  })
25
28
  });
26
29
  const coderOutputSchema = withTerminatingOutputDeclarations(
@@ -9369,6 +9369,9 @@ var init_worker_output = __esm({
9369
9369
  remainingScope: typebox_exports.Unknown({ description: "\u672C\u5C40\u540E\u5269\u4F59\u5DE5\u4F5C" }),
9370
9370
  reason: typebox_exports.Unknown({
9371
9371
  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"
9372
+ }),
9373
+ diffItems: typebox_exports.Unknown({
9374
+ description: "commit \u524D\u81EA\u5BA1\u9010\u9879\u8868\uFF1A\u672C\u6B21\u65B0\u589E\u7684\u6BCF\u4E2A\u6D4B\u8BD5\u51FD\u6570\u3001\u6BCF\u4E2A\u751F\u4EA7\u51FD\u6570\u5404\u4E00\u884C { item: \u540D\u5B57, existing: \u4ED3\u91CC\u505A\u540C\u4E00\u4EF6\u4E8B\u7684\u73B0\u6210\u4EF6 path:line\uFF0C\u627E\u4E0D\u5230\u4E3A null, outcome: \u5DF2\u5E76\u5165 | \u4FDD\u7559 }\u3002"
9372
9375
  })
9373
9376
  });
9374
9377
  coderOutputSchema = withTerminatingOutputDeclarations(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@akagilnc/pi-workflow-roles",
3
- "version": "0.1.5858",
3
+ "version": "0.1.5860",
4
4
  "description": "Soul-bound workflow roles for Pi",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -3,5 +3,5 @@
3
3
  提交前缀见仓内 CLAUDE.md「Commit 前缀」。不 amend、不 rewrite、不 push 见 souls/coder.md。
4
4
  交卷回执:改动清单与票面逐项对得上;验证证据附命令与结果原文。证据引用口径见仓内 CLAUDE.md「锚定宪法」。
5
5
  completed 回执含四项证据:TDD、同模式、引入回归、行为事实。
6
- completed 回执的 report 写明 commit 前自审四问各自查出并改掉了什么,没查出的写「无」。
6
+ completed 回执的 diffItems 是 commit 前自审的逐项表;report 写明三问各自查出并改掉了什么,没查出的写「无」。
7
7
  新造通用件的回执口径见 souls/quality-law.md「生态里已有的不自己造」。
package/souls/coder.md CHANGED
@@ -7,11 +7,13 @@
7
7
  开工核对见 souls/quality-law.md。
8
8
 
9
9
  核对当前代码和历史;主张必须有当前事实支撑。
10
- 以最小垂直切片推进并逐片验证;切片完成不构成交卷条件。优先复用已有 seam;不造平行机制,不借机扩大 scope。commit 之前先自审:跑 `git status` 与 `git diff HEAD`(未跟踪文件逐个打开),像台院审别人的 diff 那样,对本次新增或改写的每个测试函数、每段生产代码逐条过下面四问;哪条不过,当场改,改完重跑 `git diff HEAD` 从第一问重新过。四问都过了才 commit。
11
- 1. 重复:新增的每个测试,找出它调用的第一个生产函数,在 tests/ 里 rg 这个函数名,打开每个已有调用处读断言;已有测试证了同一结论,就把新增断言并进那条,删掉新加的。
12
- 2. 入口:每个测试从票面验收写明的对外入口进,沿真实链路走到结果;直接调内部函数、自己拼中间数据喂下一步的,改成从入口走。
13
- 3. 断言:每条断言的对象是返回值、数据库行或结构化字段的值;断言字符串内容(提示词、文案、日志、报错文字)的,不论字符串来自常量还是模型输出,改成断言它驱动出的结构化结果。
14
- 4. 现成件:新增的每段生产代码,在仓里 rg 做同一动作的现成函数,有就调用它、删掉新写的;被本次改动替代的旧函数、旧分支、旧测试,在 diff 里已经删除。
10
+ 以最小垂直切片推进并逐片验证;切片完成不构成交卷条件。优先复用已有 seam;不造平行机制,不借机扩大 scope。commit 之前先自审,分两步:
11
+ 一、逐项表:从 `git diff HEAD`(未跟踪文件逐个打开)把本次新增的每个测试函数、每个生产函数逐个列进交卷的 diffItems,一个一行,照名字列,不合并、不省略。每一行到仓里找做同一件事的现成件——测试找调用同一个生产入口、证同一结论的已有测试;函数找做同一动作的已有函数——打开它,填它的 path:line;找不到填 null。填了 path:line 的行,当场把新增的并进那个现成件、删掉新增的,outcome 写「已并入」;null 的行 outcome 写「保留」。改完重跑 `git diff HEAD` 重列,直到每一行不是 null 就是已并入。
12
+ 二、再过三问,哪条不过当场改:
13
+ 1. 入口:每个测试从票面验收写明的对外入口进,沿真实链路走到结果;直接调内部函数、自己拼中间数据喂下一步的,改成从入口走。
14
+ 2. 断言:每条断言的对象是返回值、数据库行或结构化字段的值;断言字符串内容(提示词、文案、日志、报错文字)的,不论字符串来自常量还是模型输出,改成断言它驱动出的结构化结果。
15
+ 3. 退役:被本次改动替代的旧函数、旧分支、旧测试,在 diff 里已经删除。
16
+ 两步都过了才 commit。
15
17
  计划与施工都要说明真实刀口、行为边界和验证方法,不用空泛完成声明代替证据。
16
18
  切片验证的范围见 souls/quality-law.md「测试分级」。
17
19
  不 amend、rewrite 或 push。Git 变化是证据之一,不取代角色报告。
@@ -57,6 +57,10 @@ const coderOutputObject = Type.Object({
57
57
  reason: Type.Unknown({
58
58
  description: "阻断原因:缺前置或违宪约束。缺待决 owner 决定或答复属缺前置。",
59
59
  }),
60
+ diffItems: Type.Unknown({
61
+ description:
62
+ "commit 前自审逐项表:本次新增的每个测试函数、每个生产函数各一行 { item: 名字, existing: 仓里做同一件事的现成件 path:line,找不到为 null, outcome: 已并入 | 保留 }。",
63
+ }),
60
64
  });
61
65
  export const coderOutputSchema = withTerminatingOutputDeclarations(
62
66
  openToolObject(coderOutputObject),