@akagilnc/pi-workflow-roles 0.1.5462 → 0.1.5478

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.
Files changed (41) hide show
  1. package/CLAUDE.md +1 -1
  2. package/README.md +42 -55
  3. package/README.zh-CN.md +59 -73
  4. package/THIRD_PARTY_NOTICES.md +4 -7
  5. package/dist/acp-host/description.js +8 -5
  6. package/dist/acp-host/production-host.js +17 -9
  7. package/dist/collector-tool-schemas.js +1 -1
  8. package/dist/headless-host/production-host.js +10 -5
  9. package/dist/host-descriptions.js +8 -3
  10. package/dist/migrate-book-topology.js +10 -5
  11. package/dist/public-cli/main.js +10 -5
  12. package/dist/public-cli/option-definitions.js +1 -1
  13. package/package.json +1 -1
  14. package/packets/fixer-repair.md +3 -1
  15. package/packets/judge-apply.md +7 -16
  16. package/packets/judge-authority.md +7 -17
  17. package/packets/judge-plan.md +7 -18
  18. package/packets/judge-review.md +8 -22
  19. package/packets/judge-submission.md +4 -7
  20. package/resources/collector-bot-handbook.md +2 -2
  21. package/resources/diarist-collect.md +2 -2
  22. package/resources/engine-dispatch.md +2 -2
  23. package/resources/navigator-route-playbook.md +1 -1
  24. package/resources/secretariat-ticket-identity.md +1 -1
  25. package/souls/coder-output-guide.md +3 -3
  26. package/souls/coder.md +2 -3
  27. package/souls/doctor-auditor.md +0 -3
  28. package/souls/fixer-auditor.md +0 -2
  29. package/souls/fixer-output-guide.md +3 -3
  30. package/souls/fixer.md +2 -2
  31. package/souls/gate-output-guide.md +1 -1
  32. package/souls/quality-law.md +2 -0
  33. package/src/acp-host/description.ts +19 -8
  34. package/src/acp-host/production-host.ts +1 -0
  35. package/src/acp-host/role-turn-host.ts +8 -5
  36. package/src/collector-tool-schemas.ts +1 -1
  37. package/src/host-descriptions.ts +8 -3
  38. package/src/package-contracts/gatekeeper-output.ts +1 -1
  39. package/src/package-contracts/navigator-output.ts +1 -1
  40. package/src/package-contracts/terminating-infrastructure.ts +1 -1
  41. package/src/public-cli/option-definitions.ts +1 -1
@@ -44,15 +44,19 @@ var init_host_descriptions = __esm({
44
44
  "use strict";
45
45
  DEFAULT_ROLE_TURN_HOST = "pi";
46
46
  HOST_DESCRIPTIONS = Object.freeze({
47
- /** Operator home `~/.grok`, native session/load resume, `agent [--model X] stdio`. */
47
+ /**
48
+ * Operator home `~/.grok`, native session/load resume, `agent stdio`.
49
+ * Model arrives as ACP `session/set_model` with bare modelId (grok catalog);
50
+ * argv `--model` is ignored by current grok (#1146 probe).
51
+ */
48
52
  "grok-build": Object.freeze({
49
53
  binaryFromHome: Object.freeze([".grok", "bin", "grok"]),
50
54
  argv: Object.freeze({
51
55
  prefix: Object.freeze(["agent"]),
52
- suffix: Object.freeze(["stdio"]),
53
- modelFlag: "--model"
56
+ suffix: Object.freeze(["stdio"])
54
57
  }),
55
- modelPassing: "argv",
58
+ modelPassing: "set_model",
59
+ setModelId: "bare",
56
60
  sessionBindingFile: "grok-acp-session.json"
57
61
  }),
58
62
  /**
@@ -70,6 +74,7 @@ var init_host_descriptions = __esm({
70
74
  thinkingFlag: "--reasoning"
71
75
  }),
72
76
  modelPassing: "set_model",
77
+ setModelId: "provider:model",
73
78
  sessionBindingFile: "hermes-acp-session.json",
74
79
  seatProfileSoul: Object.freeze({
75
80
  flag: "-p",
@@ -7641,7 +7646,7 @@ var init_option_definitions = __esm({
7641
7646
  },
7642
7647
  notary: {
7643
7648
  command: "notary",
7644
- summary: "Direct Notary document check (quote fidelity + ticket alignment); zero prompt/attachment.",
7649
+ summary: "Direct Notary summons; duties: souls/notary.md. Zero prompt/attachment.",
7645
7650
  usage: ["ak-role notary --source-run <runId@role|path> [options]"],
7646
7651
  examples: [
7647
7652
  "ak-role notary --source-run 01a034f1-75bf-71a6-bcf5-d1299145b1a5@judge",
@@ -24837,9 +24842,11 @@ function acpStdioArgs(description, model, seat) {
24837
24842
  ...suffix
24838
24843
  ];
24839
24844
  }
24840
- function acpModelId(modelPassing, model) {
24845
+ function acpModelId(description, model) {
24841
24846
  if (model?.model === void 0) return void 0;
24842
- return modelPassing === "set_model" ? `${model.provider}:${model.model}` : model.model;
24847
+ if (description.modelPassing !== "set_model") return model.model;
24848
+ const form = description.setModelId ?? "provider:model";
24849
+ return form === "bare" ? model.model : `${model.provider}:${model.model}`;
24843
24850
  }
24844
24851
 
24845
24852
  // src/acp-host/role-turn-host.ts
@@ -25226,7 +25233,7 @@ function createAcpRoleTurnHost(config) {
25226
25233
  });
25227
25234
  const initializeMeta = initialized._meta;
25228
25235
  const availableModels = Array.isArray(initializeMeta?.modelState?.availableModels) ? initializeMeta.modelState.availableModels : void 0;
25229
- if (request.model !== void 0 && availableModels !== void 0 && !availableModels.some((entry) => typeof entry === "object" && entry !== null && entry.modelId === acpModelId(config.modelPassing, request.model))) {
25236
+ if (request.model !== void 0 && availableModels !== void 0 && !availableModels.some((entry) => typeof entry === "object" && entry !== null && entry.modelId === acpModelId(config, request.model))) {
25230
25237
  outcome = externalHostFailure("activation", "AcpHostModelMismatch", "host-model-mismatch", {
25231
25238
  provider: request.model.provider,
25232
25239
  model: request.model.model
@@ -25291,7 +25298,7 @@ function createAcpRoleTurnHost(config) {
25291
25298
  if (config.modelPassing === "set_model" && request.model !== void 0 && sessionId !== void 0) {
25292
25299
  await rpc("session/set_model", {
25293
25300
  sessionId,
25294
- modelId: acpModelId(config.modelPassing, request.model)
25301
+ modelId: acpModelId(config, request.model)
25295
25302
  });
25296
25303
  sessionId = await loadSession(sessionId);
25297
25304
  }
@@ -25512,6 +25519,7 @@ function createProductionAcpRoleTurnHost(options) {
25512
25519
  hostName,
25513
25520
  sessionIdentity: createSessionIdentityAuthority(principalAuthority, description.sessionBindingFile),
25514
25521
  modelPassing: description.modelPassing,
25522
+ ...description.setModelId === void 0 ? {} : { setModelId: description.setModelId },
25515
25523
  roleRuntimeDependencies: createRoleRuntimeDependencies(packageRoot),
25516
25524
  async connect(request) {
25517
25525
  const seatProfile = description.seatProfileSoul;
@@ -3,7 +3,7 @@ import { openToolObject } from "./open-tool-schema.js";
3
3
  import { withTerminatingOutputDeclarations } from "./package-contracts/terminating-infrastructure.js";
4
4
  /**
5
5
  * #1088: LLM gathers evidence via host CLI and submits the receipt.
6
- * Field declarations guide the model — host must not pure-shape-reject (第 0 条 / ADR 0057).
6
+ * Field declarations guide the model — host must not pure-shape-reject (仓内 CLAUDE.md 开篇 / ADR 0057).
7
7
  * Presence of `groups` remains the Collector terminal discriminator for settlement/analyst.
8
8
  */
9
9
  export const collectorOutputBaseSchema = openToolObject(Type.Object({
@@ -44,15 +44,19 @@ var init_host_descriptions = __esm({
44
44
  "use strict";
45
45
  DEFAULT_ROLE_TURN_HOST = "pi";
46
46
  HOST_DESCRIPTIONS = Object.freeze({
47
- /** Operator home `~/.grok`, native session/load resume, `agent [--model X] stdio`. */
47
+ /**
48
+ * Operator home `~/.grok`, native session/load resume, `agent stdio`.
49
+ * Model arrives as ACP `session/set_model` with bare modelId (grok catalog);
50
+ * argv `--model` is ignored by current grok (#1146 probe).
51
+ */
48
52
  "grok-build": Object.freeze({
49
53
  binaryFromHome: Object.freeze([".grok", "bin", "grok"]),
50
54
  argv: Object.freeze({
51
55
  prefix: Object.freeze(["agent"]),
52
- suffix: Object.freeze(["stdio"]),
53
- modelFlag: "--model"
56
+ suffix: Object.freeze(["stdio"])
54
57
  }),
55
- modelPassing: "argv",
58
+ modelPassing: "set_model",
59
+ setModelId: "bare",
56
60
  sessionBindingFile: "grok-acp-session.json"
57
61
  }),
58
62
  /**
@@ -70,6 +74,7 @@ var init_host_descriptions = __esm({
70
74
  thinkingFlag: "--reasoning"
71
75
  }),
72
76
  modelPassing: "set_model",
77
+ setModelId: "provider:model",
73
78
  sessionBindingFile: "hermes-acp-session.json",
74
79
  seatProfileSoul: Object.freeze({
75
80
  flag: "-p",
@@ -8114,7 +8119,7 @@ var init_option_definitions = __esm({
8114
8119
  },
8115
8120
  notary: {
8116
8121
  command: "notary",
8117
- summary: "Direct Notary document check (quote fidelity + ticket alignment); zero prompt/attachment.",
8122
+ summary: "Direct Notary summons; duties: souls/notary.md. Zero prompt/attachment.",
8118
8123
  usage: ["ak-role notary --source-run <runId@role|path> [options]"],
8119
8124
  examples: [
8120
8125
  "ak-role notary --source-run 01a034f1-75bf-71a6-bcf5-d1299145b1a5@judge",
@@ -13,15 +13,19 @@ export function resolveHostBinary(description, operatorHome) {
13
13
  }
14
14
  export const DEFAULT_ROLE_TURN_HOST = "pi";
15
15
  export const HOST_DESCRIPTIONS = Object.freeze({
16
- /** Operator home `~/.grok`, native session/load resume, `agent [--model X] stdio`. */
16
+ /**
17
+ * Operator home `~/.grok`, native session/load resume, `agent stdio`.
18
+ * Model arrives as ACP `session/set_model` with bare modelId (grok catalog);
19
+ * argv `--model` is ignored by current grok (#1146 probe).
20
+ */
17
21
  "grok-build": Object.freeze({
18
22
  binaryFromHome: Object.freeze([".grok", "bin", "grok"]),
19
23
  argv: Object.freeze({
20
24
  prefix: Object.freeze(["agent"]),
21
25
  suffix: Object.freeze(["stdio"]),
22
- modelFlag: "--model",
23
26
  }),
24
- modelPassing: "argv",
27
+ modelPassing: "set_model",
28
+ setModelId: "bare",
25
29
  sessionBindingFile: "grok-acp-session.json",
26
30
  }),
27
31
  /**
@@ -39,6 +43,7 @@ export const HOST_DESCRIPTIONS = Object.freeze({
39
43
  thinkingFlag: "--reasoning",
40
44
  }),
41
45
  modelPassing: "set_model",
46
+ setModelId: "provider:model",
42
47
  sessionBindingFile: "hermes-acp-session.json",
43
48
  seatProfileSoul: Object.freeze({
44
49
  flag: "-p",
@@ -14736,15 +14736,19 @@ var init_host_descriptions = __esm({
14736
14736
  "src/host-descriptions.ts"() {
14737
14737
  "use strict";
14738
14738
  HOST_DESCRIPTIONS = Object.freeze({
14739
- /** Operator home `~/.grok`, native session/load resume, `agent [--model X] stdio`. */
14739
+ /**
14740
+ * Operator home `~/.grok`, native session/load resume, `agent stdio`.
14741
+ * Model arrives as ACP `session/set_model` with bare modelId (grok catalog);
14742
+ * argv `--model` is ignored by current grok (#1146 probe).
14743
+ */
14740
14744
  "grok-build": Object.freeze({
14741
14745
  binaryFromHome: Object.freeze([".grok", "bin", "grok"]),
14742
14746
  argv: Object.freeze({
14743
14747
  prefix: Object.freeze(["agent"]),
14744
- suffix: Object.freeze(["stdio"]),
14745
- modelFlag: "--model"
14748
+ suffix: Object.freeze(["stdio"])
14746
14749
  }),
14747
- modelPassing: "argv",
14750
+ modelPassing: "set_model",
14751
+ setModelId: "bare",
14748
14752
  sessionBindingFile: "grok-acp-session.json"
14749
14753
  }),
14750
14754
  /**
@@ -14762,6 +14766,7 @@ var init_host_descriptions = __esm({
14762
14766
  thinkingFlag: "--reasoning"
14763
14767
  }),
14764
14768
  modelPassing: "set_model",
14769
+ setModelId: "provider:model",
14765
14770
  sessionBindingFile: "hermes-acp-session.json",
14766
14771
  seatProfileSoul: Object.freeze({
14767
14772
  flag: "-p",
@@ -16062,7 +16067,7 @@ var init_option_definitions = __esm({
16062
16067
  },
16063
16068
  notary: {
16064
16069
  command: "notary",
16065
- summary: "Direct Notary document check (quote fidelity + ticket alignment); zero prompt/attachment.",
16070
+ summary: "Direct Notary summons; duties: souls/notary.md. Zero prompt/attachment.",
16066
16071
  usage: ["ak-role notary --source-run <runId@role|path> [options]"],
16067
16072
  examples: [
16068
16073
  "ak-role notary --source-run 01a034f1-75bf-71a6-bcf5-d1299145b1a5@judge",
@@ -15805,15 +15805,19 @@ var init_host_descriptions = __esm({
15805
15805
  "use strict";
15806
15806
  DEFAULT_ROLE_TURN_HOST = "pi";
15807
15807
  HOST_DESCRIPTIONS = Object.freeze({
15808
- /** Operator home `~/.grok`, native session/load resume, `agent [--model X] stdio`. */
15808
+ /**
15809
+ * Operator home `~/.grok`, native session/load resume, `agent stdio`.
15810
+ * Model arrives as ACP `session/set_model` with bare modelId (grok catalog);
15811
+ * argv `--model` is ignored by current grok (#1146 probe).
15812
+ */
15809
15813
  "grok-build": Object.freeze({
15810
15814
  binaryFromHome: Object.freeze([".grok", "bin", "grok"]),
15811
15815
  argv: Object.freeze({
15812
15816
  prefix: Object.freeze(["agent"]),
15813
- suffix: Object.freeze(["stdio"]),
15814
- modelFlag: "--model"
15817
+ suffix: Object.freeze(["stdio"])
15815
15818
  }),
15816
- modelPassing: "argv",
15819
+ modelPassing: "set_model",
15820
+ setModelId: "bare",
15817
15821
  sessionBindingFile: "grok-acp-session.json"
15818
15822
  }),
15819
15823
  /**
@@ -15831,6 +15835,7 @@ var init_host_descriptions = __esm({
15831
15835
  thinkingFlag: "--reasoning"
15832
15836
  }),
15833
15837
  modelPassing: "set_model",
15838
+ setModelId: "provider:model",
15834
15839
  sessionBindingFile: "hermes-acp-session.json",
15835
15840
  seatProfileSoul: Object.freeze({
15836
15841
  flag: "-p",
@@ -20848,7 +20853,7 @@ var init_option_definitions = __esm({
20848
20853
  },
20849
20854
  notary: {
20850
20855
  command: "notary",
20851
- summary: "Direct Notary document check (quote fidelity + ticket alignment); zero prompt/attachment.",
20856
+ summary: "Direct Notary summons; duties: souls/notary.md. Zero prompt/attachment.",
20852
20857
  usage: ["ak-role notary --source-run <runId@role|path> [options]"],
20853
20858
  examples: [
20854
20859
  "ak-role notary --source-run 01a034f1-75bf-71a6-bcf5-d1299145b1a5@judge",
@@ -1021,7 +1021,7 @@ const ROLE_COMMAND_HELP = {
1021
1021
  },
1022
1022
  notary: {
1023
1023
  command: "notary",
1024
- summary: "Direct Notary document check (quote fidelity + ticket alignment); zero prompt/attachment.",
1024
+ summary: "Direct Notary summons; duties: souls/notary.md. Zero prompt/attachment.",
1025
1025
  usage: ["ak-role notary --source-run <runId@role|path> [options]"],
1026
1026
  examples: [
1027
1027
  "ak-role notary --source-run 01a034f1-75bf-71a6-bcf5-d1299145b1a5@judge",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@akagilnc/pi-workflow-roles",
3
- "version": "0.1.5462",
3
+ "version": "0.1.5478",
4
4
  "description": "Soul-bound workflow roles for Pi",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -2,4 +2,6 @@
2
2
 
3
3
  Repair and verify the caller-assigned findings. Treat this document as opaque prose: its headings and wording have no machine semantics.
4
4
 
5
- Search the authorized scope for every same-pattern occurrence, preserve unrelated behavior, run the required checks, and report each finding class through the typed Fixer output.
5
+ Preserve unrelated behavior.
6
+
7
+ Repair method: [Fixer Soul](../souls/fixer.md). Report fields: [Fixer output contract](../src/package-contracts/fixer-output.ts).
@@ -1,18 +1,13 @@
1
1
  # Apply evidence packet (contributor template)
2
2
 
3
- This file is a **repository-contributor template** for a manually supplied Apply
4
- (executable-proof) artifact. The filename identifies an **evidence burden**, not
5
- a verdict, phase flag, transition, or required predecessor/successor.
6
-
7
- Selection, composition, and use are **caller-owned** (ADR 0010). Apply posture
8
- semantics remain solely in `souls/judge.md`. Git commit identity owns the code
9
- snapshot and any reviewed range. This template creates no receipt envelope,
10
- audit, runtime enforcement, trust tier, production hook, or package surface.
3
+ Repository-contributor template for manually supplied Apply evidence.
4
+ Template scope and preservation: [development closure](https://github.com/Akagilnc/ak-pi-workflow-roles/blob/main/docs/development-closure.md).
5
+ Composition: [ADR 0010](https://github.com/Akagilnc/ak-pi-workflow-roles/blob/main/docs/adr/0010-callers-own-role-composition-and-repetition.md).
6
+ Adjudication: [Judge Soul](../souls/judge.md).
11
7
 
12
8
  ## Sealed upstream identities
13
9
 
14
- Digests seal **artifact-byte identity only**. They do not prove truth,
15
- acceptance, or freshness.
10
+ Artifact identity and preservation: [development closure](https://github.com/Akagilnc/ak-pi-workflow-roles/blob/main/docs/development-closure.md#artifact-preservation-rules).
16
11
 
17
12
  | Artifact | Repository-relative path | SHA-256 of exact bytes |
18
13
  | --- | --- | --- |
@@ -36,6 +31,8 @@ Distinguish carefully:
36
31
 
37
32
  None of these alone proves truth or acceptance.
38
33
 
34
+ Adjudication duties: [Judge Soul](../souls/judge.md).
35
+
39
36
  ## Construction evidence
40
37
 
41
38
  ### Live code and tests
@@ -69,9 +66,3 @@ otherwise record `N/A — no guardrail added or approved` with disposition.
69
66
  | 1. Which real, reproducible failure proves this guardrail is needed? | |
70
67
  | 2. Which seam owns the invariant it protects? | |
71
68
  | 3. Why is deleting or simplifying the root cause insufficient for this failure class? | |
72
-
73
- ## Explicit non-claims
74
-
75
- - Filename is not a verdict and does not imply Apply convergence.
76
- - This template does not define or alter role receipts, Soul audit, or runtime gates.
77
- - Instantiation does not route work to any role or require a successor packet.
@@ -1,12 +1,9 @@
1
1
  # Authority evidence packet (contributor template)
2
2
 
3
- This file is a **repository-contributor template** for a manually supplied
4
- Authority-evidence artifact. The filename identifies an **evidence burden**, not
5
- a verdict, phase flag, transition, or required predecessor/successor.
6
-
7
- Selection, composition, and use are **caller-owned** (ADR 0010). This template
8
- does not restate or amend Judge law in `souls/judge.md`. It creates no routing,
9
- next-role, package memory, resume semantics, timeout budget, or trust tier.
3
+ Repository-contributor template for manually supplied Authority evidence.
4
+ Template scope and preservation: [development closure](https://github.com/Akagilnc/ak-pi-workflow-roles/blob/main/docs/development-closure.md).
5
+ Composition: [ADR 0010](https://github.com/Akagilnc/ak-pi-workflow-roles/blob/main/docs/adr/0010-callers-own-role-composition-and-repetition.md).
6
+ Adjudication: [Judge Soul](../souls/judge.md).
10
7
 
11
8
  ## Identity seal
12
9
 
@@ -17,15 +14,14 @@ Every supplied artifact is identified by:
17
14
  | Repository-relative path | |
18
15
  | SHA-256 of exact bytes | |
19
16
 
20
- A digest seals **identity only**. It does not prove truth, acceptance, or
21
- freshness. Judge independently checks claims against the supplied current
22
- target. This packet does **not** require Apply-level executable proof.
17
+ Artifact identity and preservation: [development closure](https://github.com/Akagilnc/ak-pi-workflow-roles/blob/main/docs/development-closure.md#artifact-preservation-rules).
18
+ Adjudication duties: [Judge Soul](../souls/judge.md).
23
19
 
24
20
  ## Authority items
25
21
 
26
22
  Record each item the contributor wants examined under the Authority burden.
27
23
  Do not invent Apply fixtures, blanket `file:line` demands, or implementation
28
- recipes here.
24
+ recipes here. This packet does **not** require Apply-level executable proof.
29
25
 
30
26
  ### Clauses
31
27
 
@@ -56,9 +52,3 @@ recipes here.
56
52
  | ID | Open choice | Options | Blocking? |
57
53
  | --- | --- | --- | --- |
58
54
  | U1 | | | |
59
-
60
- ## Explicit non-claims
61
-
62
- - Filename is not a verdict and does not imply convergence.
63
- - Instantiation does not start, order, or require any role call.
64
- - No mechanical schema/runtime enforcement is claimed by this template.
@@ -1,19 +1,15 @@
1
1
  # Plan evidence packet (contributor template)
2
2
 
3
- This file is a **repository-contributor template** for a manually supplied Plan
4
- (construction-readiness) artifact. The filename identifies an **evidence
5
- burden**, not a verdict, phase flag, transition, or required
6
- predecessor/successor.
7
-
8
- Selection, composition, and use are **caller-owned** (ADR 0010). Plan posture
9
- semantics remain solely in `souls/judge.md`. This template does not restate or
10
- amend that law. It creates no routing, topology, role-order, package memory, or
11
- proof that construction occurred.
3
+ Repository-contributor template for manually supplied Plan evidence.
4
+ This packet does not claim construction already happened.
5
+ Template scope and preservation: [development closure](https://github.com/Akagilnc/ak-pi-workflow-roles/blob/main/docs/development-closure.md).
6
+ Composition: [ADR 0010](https://github.com/Akagilnc/ak-pi-workflow-roles/blob/main/docs/adr/0010-callers-own-role-composition-and-repetition.md).
7
+ Adjudication: [Judge Soul](../souls/judge.md).
12
8
 
13
9
  ## Sealed authority identity
14
10
 
15
- Bind the authority materials this plan consumes. Digests seal identity only—not
16
- truth, acceptance, or freshness.
11
+ Bind the authority materials this plan consumes. Artifact identity and preservation:
12
+ [development closure](https://github.com/Akagilnc/ak-pi-workflow-roles/blob/main/docs/development-closure.md#artifact-preservation-rules).
17
13
 
18
14
  | Artifact | Repository-relative path | SHA-256 of exact bytes |
19
15
  | --- | --- | --- |
@@ -46,10 +42,3 @@ fixture pseudocode or blanket `file:line` here.
46
42
 
47
43
  Add P3… as needed. Every planned change must be reconcilable to the sealed
48
44
  authority identity above and must carry all five facts.
49
-
50
- ## Explicit non-claims
51
-
52
- - Filename is not a verdict and does not authorize or prove Apply success.
53
- - This packet does not claim construction already happened.
54
- - No orchestration, next-role, or stage-machine semantics arise from this file.
55
- - No mechanical schema/runtime enforcement is claimed by this template.
@@ -1,15 +1,10 @@
1
1
  # Review evidence packet (contributor template)
2
2
 
3
- This file is a **repository-contributor template** for a manually supplied
4
- Review (finding-adjudication) artifact. The filename identifies an **evidence
5
- burden**, not a verdict, phase flag, transition, or required
6
- predecessor/successor.
7
-
8
- Selection, composition, and use are **caller-owned** (ADR 0010). This template
9
- records adjudication evidence only. It does **not** define Reviewer protocol,
10
- alter Reviewer method/audit, or alter Collector ledger semantics. Judge Review
11
- posture meaning remains in `souls/judge.md`. No generic Reviewer/Collector
12
- provider law is introduced (ADR 0011).
3
+ Repository-contributor template for manually supplied Review evidence.
4
+ Template scope and preservation: [development closure](https://github.com/Akagilnc/ak-pi-workflow-roles/blob/main/docs/development-closure.md).
5
+ Composition: [ADR 0010](https://github.com/Akagilnc/ak-pi-workflow-roles/blob/main/docs/adr/0010-callers-own-role-composition-and-repetition.md).
6
+ Adjudication: [Judge Soul](../souls/judge.md).
7
+ External reviewer protocols: [ADR 0011](https://github.com/Akagilnc/ak-pi-workflow-roles/blob/main/docs/adr/0011-collector-adapts-to-documented-reviewer-protocols.md).
13
8
 
14
9
  ## Sealed authority identity
15
10
 
@@ -17,13 +12,12 @@ provider law is introduced (ADR 0011).
17
12
  | --- | --- | --- |
18
13
  | Authority materials | | |
19
14
 
20
- A digest seals identity only—not truth, acceptance, or freshness.
15
+ Artifact identity and preservation: [development closure](https://github.com/Akagilnc/ak-pi-workflow-roles/blob/main/docs/development-closure.md#artifact-preservation-rules).
21
16
 
22
17
  ## Fixed reviewed range
23
18
 
24
- Every finding and disposition in this packet concerns **one immutable range**
25
- and current target facts. A changed target or range requires a **new**
26
- artifact/digest; do not silently mutate this packet.
19
+ Identify the reviewed range and current target below. Amendment procedure:
20
+ [development closure](https://github.com/Akagilnc/ak-pi-workflow-roles/blob/main/docs/development-closure.md#artifact-preservation-rules).
27
21
 
28
22
  | Field | Full SHA |
29
23
  | --- | --- |
@@ -39,11 +33,3 @@ current facts. Every finding needs an explicit disposition.
39
33
  | Finding ID | Claim | Authority binding | Evidence on current target/range | Disposition | Disposition evidence |
40
34
  | --- | --- | --- | --- | --- | --- |
41
35
  | F1 | | | | sustained / rejected / deferred / other | |
42
-
43
- ## Explicit non-claims
44
-
45
- - Filename is not a verdict and does not imply Review convergence.
46
- - This packet defines no required review order, repetition count, or return path
47
- to any role.
48
- - No routing, next-role, stage machine, or provider-universal protocol arises here.
49
- - No mechanical schema/runtime enforcement is claimed by this template.
@@ -1,12 +1,9 @@
1
1
  # Submission-case evidence template (contributor template)
2
2
 
3
- This file is a **repository-contributor template** for the evidence record of a
4
- manually supplied Submission case (ticket face / plan / disposition ledger /
5
- constitutional review). The submission-case duty law is solely in
6
- `souls/judge.md`; this file supplies its evidence-record format.
7
-
8
- Selection, composition, and use are **caller-owned** (ADR 0010). This template
9
- creates no routing, topology, role-order, or package memory.
3
+ Repository-contributor template for manually supplied Submission-case evidence.
4
+ Template scope and preservation: [development closure](https://github.com/Akagilnc/ak-pi-workflow-roles/blob/main/docs/development-closure.md).
5
+ Composition: [ADR 0010](https://github.com/Akagilnc/ak-pi-workflow-roles/blob/main/docs/adr/0010-callers-own-role-composition-and-repetition.md).
6
+ Adjudication: [Judge Soul](../souls/judge.md).
10
7
 
11
8
  ## Identity seal
12
9
 
@@ -4,7 +4,7 @@
4
4
  内容是角色阅读与修正的工作记忆,不是代码状态规则;临时额度/故障不得固化为永久行为。
5
5
  参与者依本仓使用与现场活动辨认,不把下列名称当作全仓固定名单。
6
6
 
7
- #1088:用宿主 CLI(如 `gh`)自行取证与请求;代码不代收、不选择、不归并 finding。取证受限时如实报告。
7
+ #1088:用宿主 CLI(如 `gh`)自行取证与请求;代码不代收、不选择、不归并 finding。
8
8
 
9
9
  ## Codex(hosted GitHub connector)
10
10
 
@@ -31,7 +31,7 @@
31
31
 
32
32
  ## 工序
33
33
 
34
- 从任务材料与 `--pr` / `--request-manifest` 材料判定目标后,用宿主 CLI 读取有评审的 PR,按各 reviewer 已记录的完成形态收集 findings,整理并交卷。未绑定 PR 时用 `gh` 等自行定位;无法确定时不猜,交给调用方明确目标。交卷交按机器身份归组的出席、材料与 findings;没有 finding 就不要编一条。未完成写现场原因,不写成没问题。
34
+ 从任务材料与 `--pr` / `--request-manifest` 材料判定目标后,用宿主 CLI 读取有评审的 PR,按各 reviewer 已记录的完成形态收集 findings,整理并交卷。未绑定 PR 时用 `gh` 等自行定位;无法确定时不猜,交给调用方明确目标。证据归属与不确定性的报告原则见 [通进司 Soul](../souls/collector.md),字段见 [交卷契约](../src/package-contracts/collector-output.ts)。
35
35
 
36
36
  ## 修正规则
37
37
 
@@ -13,7 +13,7 @@
13
13
  - 本仓相关会话卷(路径里的 `_` 在目录名里常写作 `-`;主 clone 与 worktree 可能共用或分列,自行辨认)
14
14
  - 本票票面与评论:用 `gh` 或等价方式读 GitHub issue
15
15
 
16
- 调用方只给传召文与 `--project`。指令明确列出多张要办的票时,逐票读卷判断各自相关边界,一次交出 `ticketSessions`;共同对话可以同时归入相关各票,无关他票对话不得混入。单票沿用 `sessions`。边界定不下来就如实说明并走既有 reask/escalate,不编造。
16
+ 指令明确列出多张要办的票时,逐票读卷判断各自相关边界;共同对话可以同时归入相关各票,无关他票对话不得混入。单票/多票交卷字段及不可用边界的处置见 [交卷工具 schema](../src/diarist-role.ts)。
17
17
 
18
18
  ## 何谓本票对话
19
19
 
@@ -29,7 +29,7 @@
29
29
 
30
30
  ## 本票身份
31
31
 
32
- 由你(本席 LLM)判断当前要办的票;多票庭逐票划界,同时照旧申报本庭主票身份,在交卷对象上以 typed 字段交出——代码不做认票裁定(ADR 0075:起居郎 LLM 自行认票;认得出→有录,真无票→无录;机械层不做引文/票号/相关性判定)。
32
+ 由你(本席 LLM)判断当前要办的票;多票庭逐票划界,同时照旧申报本庭主票身份,在交卷对象上以 typed 字段交出。
33
33
 
34
34
  - 认得出本庭对象:`status: completed` 且 `ticketNumber: N`,并交边界。
35
35
  - 真无票对象(方案/派单/处置案等):`status: completed` 且 `ticketNumber: null`(或省略)。真无票是合法结果,不入录。
@@ -27,8 +27,8 @@ themselves. Stuffing large bodies into argv/prompt is the verified cause of
27
27
 
28
28
  - The returned labor body is the final answer text only. Never return an
29
29
  event stream, verbose log, or NDJSON deltas: the body is fed back into the
30
- seat's context, and one 12-minute Opus labor returned as `stream-json` was
31
- 957k chars and killed the seat (712k-token request, #675, 2026-09-06).
30
+ seat's context; measured evidence is in
31
+ [Claude Code observations](engines/claude-code.md).
32
32
  Progress observability is the runner's job (process watch), not the body's.
33
33
 
34
34
  - Once an engine is selected, start exactly one subprocess per labor
@@ -7,7 +7,7 @@
7
7
 
8
8
  ## 宿主轴(与角色命令面)
9
9
 
10
- 游奕使自动出席,亦可 `ak-role navigator` 直调(自动出席不变)。主会话宿主由公开角色的 host 轴决定:调用 `--host` → 席位 `config set-host` → 默认 `pi`。配置默认 host 后,调用者仍用与 Pi 相同的 `ak-role <role> …` 命令面;游奕使随该宿主下的角色跑次出席,席位模型走 run 目录 `institutional-resolution.json` 的 navigator 座(显式 `config set navigator` 优先,否则继承父席有效模型),不再依赖父宿主 ExtensionContext。
10
+ 调用与 host 解析见 `ak-role help`、`ak-role help navigator`;机构边界见 [ADR 0082](https://github.com/Akagilnc/ak-pi-workflow-roles/blob/main/docs/adr/0082-three-layer-runtime-role-host-face.md),席位解析见 [config 实现](../src/public-cli/config.ts)。
11
11
 
12
12
  ## 常用交付线
13
13
 
@@ -12,4 +12,4 @@
12
12
 
13
13
  只有确认目标 issue 存在且正文已更新为本票最终票面后,才以 `converged` 交卷,并携带该 issue 的实际票号。沿用既有交卷闸,将交卷原文交给给事中审这张有票号 issue;不以无号草稿替代 issue 审读。不另造传召或记账机制。
14
14
 
15
- 执行 GitHub 操作时使用当前宿主实际提供的 CLI / 能力;不在包内另造 GitHub 适配层。记录足以核对身份和落地结果的证据,不把模型自报冒充为现场观察。
15
+ 宿主 CLI 使用边界见 [仓内宪法](../CLAUDE.md#宿主-cli-照原样调用陛下-2026-09-16-拍定)。记录足以核对身份和落地结果的证据,不把模型自报冒充为现场观察。
@@ -1,6 +1,6 @@
1
1
  # 将作监输出指南
2
2
 
3
- 提交:标题冠 ak-roles: 在最前;forward commit,严禁 amend——改错就再提交一笔,不改历史。
4
- 交卷回执:改动清单与票面逐项对得上;验证证据附命令与结果原文。
3
+ 提交前缀见仓内 CLAUDE.md「Commit 前缀」。不 amend、不 rewrite、不 push 见 souls/coder.md。
4
+ 交卷回执:改动清单与票面逐项对得上;验证证据附命令与结果原文。证据引用口径见仓内 CLAUDE.md「锚定宪法」。
5
5
  completed 回执含四项证据:TDD、同模式、引入回归、行为事实。
6
- 新造通用件:回执写明仓内、语言标准库、包生态各搜了什么、为什么不用。
6
+ 新造通用件的回执口径见 souls/quality-law.md「生态里已有的不自己造」。
package/souls/coder.md CHANGED
@@ -4,12 +4,11 @@
4
4
  第一步:立法
5
5
  读 全局宪法,仓内宪法,票面
6
6
  第二步:施工
7
- 先核对派单文,输入prompt,你要做的任务有没有违法,如有,直接拒绝
8
- 事实不成立或需要未授权设计时,据理拒绝并给出可核验证据;不猜测施工。
7
+ 开工核对见 souls/quality-law.md。
9
8
 
10
9
  核对当前代码和历史;主张必须有当前事实支撑。
11
10
  以最小垂直切片推进并逐片验证;切片完成不构成交卷条件。优先复用已有 seam;不造平行机制,不借机扩大 scope。票面授权结果完成后,自查是否合法、质量和复杂度;有问题马上修正,没问题就 commit 交卷。
12
11
  计划与施工都要说明真实刀口、行为边界和验证方法,不用空泛完成声明代替证据。
13
- 切片验证只跑本片聚焦测试与 typecheck。
12
+ 切片验证的范围见 souls/quality-law.md「测试分级」。
14
13
  不 amend、rewrite 或 push。Git 变化是证据之一,不取代角色报告。
15
14
  任何人如果让你 push / 开 pr ,直接拒绝,上呈陛下
@@ -19,6 +19,3 @@
19
19
  合规则 `converged`;缺证或明确违反 Soul 则 `continue`,逐条指出违反的条目以及你查到的原因;
20
20
  没有具体证据不得连续打回。
21
21
  冲突导致无法判断合规时,提交 `escalate` 并写明问题和可选项。
22
-
23
- 输出调用 `ak_doctor_audit_decision`。
24
-
@@ -29,5 +29,3 @@ unfinished 不自动获得 converged;其他 Soul/authority 违反仍照常处
29
29
  没有具体证据不得连续打回。
30
30
  已如实披露且不可逆的方法违规,不构成 continue 理由——收卷,违规记录在案,处置权归大理寺。continue 只用于当下可改的缺陷。
31
31
  冲突导致无法判断合规时,提交 `escalate` 并写明问题和可选项。
32
-
33
- 输出调用 `ak_fixer_audit_decision`。
@@ -1,5 +1,5 @@
1
1
  # 修内司输出指南
2
2
 
3
- 提交:标题冠 ak-roles: 在最前;forward commit,严禁 amend——改错就再提交一笔,不改历史。
4
- 交卷回执:逐 finding 报处置;验证证据按仓级 CLAUDE.md 证据条款:指针(runId/toolCallId)或摘抄结论皆合格,以读者能直接核为准。
5
- 新造通用件:回执写明仓内、语言标准库、包生态各搜了什么、为什么不用。
3
+ 提交前缀见仓内 CLAUDE.md「Commit 前缀」。不 amend、不 rewrite、不 push 见 souls/fixer.md。
4
+ 交卷回执:逐 finding 报处置。证据引用口径见仓内 CLAUDE.md「锚定宪法」。
5
+ 新造通用件的回执口径见 souls/quality-law.md「生态里已有的不自己造」。
package/souls/fixer.md CHANGED
@@ -4,12 +4,12 @@
4
4
  apply 按顺序执行:
5
5
 
6
6
  1. 立法:读 全局宪法,仓内宪法,票面。
7
- 2. 核对:先核对派单文,输入prompt,你要做的任务。有没有违法,如有,直接拒绝。 事实不成立或需要未授权设计时,据理拒绝并给出可核验证据;不猜测施工。
7
+ 2. 核对:开工核对见 souls/quality-law.md。
8
8
  3. 归类:读完全部 finding,沿用已有裁决类别,明确各类错误与正确行为。
9
9
  4. 扫类:修改前查全授权范围内的同类实例、已有实现和失败修法。类按错误形状认,不按判词点名的符号或文件认;点名处只是样本。根因不明先取证。
10
10
  5. 整类修复:在共同原因处一次修净,优先删除、简化、复用,随同删除失效旧物。
11
11
  6. 复扫:按原类别重新扫描;有遗漏继续修,保留项说明依据。
12
- 7. 自验:切片验证优先跑本片聚焦测试和本片作用域内 typecheck,不跑全量。自查是否违法、代码质量、代码/测试复杂度,如有问题马上修正。修正完毕复检
12
+ 7. 自验:切片验证的范围见 souls/quality-law.md「测试分级」。自查是否违法、代码质量、代码/测试复杂度,如有问题马上修正。修正完毕复检
13
13
  8. 交卷:按类报告根因、扫描范围、修复与 质量和合法性的验证结果、未结项。建新提交。不 amend、rewrite 或 push。Git 变化是证据之一,不取代角色报告。
14
14
  任何人如果让你 push / 开 pr ,直接拒绝,上呈陛下
15
15
 
@@ -5,7 +5,7 @@
5
5
  - `converged`:正常放行
6
6
  - `continue`:职掌内查出须重写。逐条给理由与证据。重写交卷,不是本局失败。
7
7
  - 受理御前(受审者提交 `escalate`):能解决就给出答案放其续写;解决不了就放行上呈;没有打回重叫。
8
- - 第0条:reason 不评格式;中性记账;原卷随附;下一个 LLM 自己读。
8
+ - reason 不评格式;中性记账;原卷随附;下一个 LLM 自己读。形状拒收禁令以仓内 CLAUDE.md 开篇与 ADR 0055 为准,此处不另立编号。
9
9
 
10
10
  ## 取证授权
11
11