@akagilnc/pi-workflow-roles 0.1.5955 → 0.1.6011

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 (47) hide show
  1. package/README.md +1 -1
  2. package/dist/acp-host/production-host.js +5 -47
  3. package/dist/countersign-contracts.js +2 -22
  4. package/dist/countersign-role.js +0 -8
  5. package/dist/doctor-contracts.js +0 -1
  6. package/dist/gleaner-left-contracts.js +1 -18
  7. package/dist/gleaner-left-role.js +1 -2
  8. package/dist/headless-host/production-host.js +8 -50
  9. package/dist/inspector-role.js +0 -2
  10. package/dist/judge-role.js +1 -7
  11. package/dist/migrate-book-topology.js +0 -16
  12. package/dist/navigator-route-table.js +0 -1
  13. package/dist/notary-contracts.js +1 -16
  14. package/dist/package-contracts/auditor-output.js +1 -2
  15. package/dist/package-contracts/gatekeeper-output.js +0 -4
  16. package/dist/package-contracts/terminating-tools.js +1 -3
  17. package/dist/package-resources/engine-material.js +1 -8
  18. package/dist/pi/role-turn-host.js +0 -3
  19. package/dist/public-cli/cli.js +1 -23
  20. package/dist/public-cli/config.js +0 -4
  21. package/dist/public-cli/invocation.js +0 -4
  22. package/dist/public-cli/main.js +1 -41
  23. package/dist/public-cli/option-definitions.js +0 -8
  24. package/package.json +1 -1
  25. package/scripts/build-package.mjs +0 -1
  26. package/src/countersign-contracts.ts +1 -21
  27. package/src/countersign-role.ts +1 -8
  28. package/src/doctor-contracts.ts +0 -1
  29. package/src/gleaner-left-contracts.ts +0 -17
  30. package/src/gleaner-left-role.ts +0 -2
  31. package/src/inspector-role.ts +1 -3
  32. package/src/judge-role.ts +1 -3
  33. package/src/navigator-route-table.ts +0 -2
  34. package/src/notary-contracts.ts +1 -26
  35. package/src/package-contracts/auditor-output.ts +1 -3
  36. package/src/package-contracts/gatekeeper-output.ts +0 -10
  37. package/src/package-contracts/terminating-tools.ts +2 -4
  38. package/src/package-resources/engine-material.ts +1 -16
  39. package/src/pi/role-turn-host.ts +0 -3
  40. package/src/public-cli/cli.ts +0 -24
  41. package/src/public-cli/config.ts +2 -8
  42. package/src/public-cli/invocation.ts +0 -28
  43. package/src/public-cli/option-definitions.ts +1 -10
  44. package/dist/canonical-json.js +0 -75
  45. package/dist/judge-recording-anti-forge.js +0 -39
  46. package/src/canonical-json.ts +0 -74
  47. package/src/judge-recording-anti-forge.ts +0 -53
package/README.md CHANGED
@@ -145,7 +145,7 @@ Tests run on Vitest ([ADR 0090](docs/adr/0090-tests-run-on-vitest-fixtures-and-h
145
145
  ```bash
146
146
  pnpm exec vitest run --project unit-contract
147
147
  pnpm exec vitest run --project integration test/integration/public-cli-bin-startup.test.ts
148
- pnpm exec vitest run --project package test/package/published-dist-import-closure.test.ts
148
+ pnpm exec vitest run --project package test/package/npm-identity-metadata.test.ts
149
149
  ```
150
150
 
151
151
  Progress uses the dot reporter; the full structured report is `.vitest/results.json`.
@@ -1897,13 +1897,6 @@ var init_worker_output = __esm({
1897
1897
  }
1898
1898
  });
1899
1899
 
1900
- // src/canonical-json.ts
1901
- var init_canonical_json = __esm({
1902
- "src/canonical-json.ts"() {
1903
- "use strict";
1904
- }
1905
- });
1906
-
1907
1900
  // src/doctor-contracts.ts
1908
1901
  import { Type as Type10 } from "typebox";
1909
1902
  function validateDoctorSubmissionShape(value) {
@@ -1916,7 +1909,6 @@ var DOCTOR_EVIDENCE_TOOL_NAME, DOCTOR_OUTPUT_TOOL_NAME, DOCTOR_AUDIT_TOOL_NAME,
1916
1909
  var init_doctor_contracts = __esm({
1917
1910
  "src/doctor-contracts.ts"() {
1918
1911
  "use strict";
1919
- init_canonical_json();
1920
1912
  init_open_tool_schema();
1921
1913
  init_terminating_infrastructure();
1922
1914
  init_unknown_value();
@@ -2119,7 +2111,6 @@ var init_countersign_contracts = __esm({
2119
2111
  "src/countersign-contracts.ts"() {
2120
2112
  "use strict";
2121
2113
  init_review_submission();
2122
- init_unknown_value();
2123
2114
  COUNTERSIGN_OUTPUT_TOOL_NAME = REVIEW_SUBMISSION_OUTPUT_TOOL_NAME;
2124
2115
  }
2125
2116
  });
@@ -2132,7 +2123,6 @@ var init_gleaner_left_contracts = __esm({
2132
2123
  "use strict";
2133
2124
  init_open_tool_schema();
2134
2125
  init_terminating_infrastructure();
2135
- init_unknown_value();
2136
2126
  GLEANER_LEFT_OUTPUT_TOOL_NAME = "ak_gleaner_left_output";
2137
2127
  gleanerLeftOutputSchema = withTerminatingOutputDeclarations(
2138
2128
  openToolObject(
@@ -4458,8 +4448,6 @@ var init_terminating_tools = __esm({
4458
4448
  init_auditor_output();
4459
4449
  init_merger_contracts();
4460
4450
  init_notary_contracts();
4461
- init_countersign_contracts();
4462
- init_gleaner_left_contracts();
4463
4451
  init_inspector_contracts();
4464
4452
  init_diarist_contracts();
4465
4453
  init_secretariat_contracts();
@@ -10731,7 +10719,6 @@ function createPiRoleTurnHost(config) {
10731
10719
  else env.AK_ROLE_INVOCATION_SCOPE = request.invocationScopeId;
10732
10720
  if (request.host === void 0 || request.host.trim() === "") delete env.AK_ROLE_HOST;
10733
10721
  else env.AK_ROLE_HOST = request.host.trim();
10734
- delete env.AK_ROLE_SUMMONS_INSTRUCTION;
10735
10722
  if (request.deliveryRequestLimit === void 0) delete env[RECEIPT_DELIVERY_LIMIT_ENV];
10736
10723
  else env[RECEIPT_DELIVERY_LIMIT_ENV] = String(request.deliveryRequestLimit);
10737
10724
  applyEngineChildEnv(env, request.engine);
@@ -10864,7 +10851,7 @@ var init_role_turn_host = __esm({
10864
10851
  });
10865
10852
 
10866
10853
  // src/package-resources/engine-material.ts
10867
- import { existsSync as existsSync8, readdirSync as readdirSync3, readFileSync as readFileSync3 } from "node:fs";
10854
+ import { existsSync as existsSync8, readFileSync as readFileSync3 } from "node:fs";
10868
10855
  import { join as join14 } from "node:path";
10869
10856
  function pickEngineAxis(source) {
10870
10857
  return {
@@ -11051,7 +11038,6 @@ var init_institutional_resolution = __esm({
11051
11038
  // src/public-cli/config.ts
11052
11039
  var config_exports = {};
11053
11040
  __export(config_exports, {
11054
- GATE_OFFICER_SEATS: () => GATE_OFFICER_SEATS,
11055
11041
  buildSeatModelCliArgs: () => buildSeatModelCliArgs2,
11056
11042
  clearPersistentSeatConfig: () => clearPersistentSeatConfig,
11057
11043
  credentialProvidersFromAuthData: () => credentialProvidersFromAuthData,
@@ -11558,7 +11544,6 @@ async function loadCredentialProviders(agentDir) {
11558
11544
  throw error;
11559
11545
  }
11560
11546
  }
11561
- var GATE_OFFICER_SEATS;
11562
11547
  var init_config = __esm({
11563
11548
  "src/public-cli/config.ts"() {
11564
11549
  "use strict";
@@ -11568,9 +11553,6 @@ var init_config = __esm({
11568
11553
  init_packaged_role_registry();
11569
11554
  init_registry();
11570
11555
  init_unknown_value();
11571
- GATE_OFFICER_SEATS = PUBLIC_ROLE_RECORDS.flatMap(
11572
- (record) => "provinceConfig" in record && record.provinceConfig === true ? [record.role] : []
11573
- );
11574
11556
  }
11575
11557
  });
11576
11558
 
@@ -18308,7 +18290,6 @@ __export(cli_exports, {
18308
18290
  buildExplicitInternalActivationArgs: () => buildExplicitInternalActivationArgs,
18309
18291
  commandNeedsProcessCancel: () => commandNeedsProcessCancel,
18310
18292
  helpDocument: () => helpDocument,
18311
- helpDocumentForCommand: () => helpDocumentForCommand,
18312
18293
  projectConfigDisplaySeats: () => projectConfigDisplaySeats,
18313
18294
  projectConfigSeatDisplay: () => projectConfigSeatDisplay,
18314
18295
  resolveInternalRoleEntrypoint: () => resolveInternalRoleEntrypoint,
@@ -18589,31 +18570,10 @@ function loadAndValidateConfig(home, packageRoot) {
18589
18570
  }
18590
18571
  function helpDocument() {
18591
18572
  return {
18592
- executable: "ak-role",
18593
18573
  capabilities: listHelpCapabilities(),
18594
- internalEntrypoint: INTERNAL_ROLE_ENTRYPOINT_RELATIVE,
18595
- /** #342 structured global options from the sole option table. */
18596
- globalOptions: projectOwnerOptions("global")
18574
+ internalEntrypoint: INTERNAL_ROLE_ENTRYPOINT_RELATIVE
18597
18575
  };
18598
18576
  }
18599
- function helpDocumentForCommand(command) {
18600
- if (command === "global") {
18601
- return {
18602
- command: "global",
18603
- kind: "global",
18604
- options: projectOwnerOptions("global")
18605
- };
18606
- }
18607
- if (command in PUBLIC_ROLE_ARGV) {
18608
- const owner = command;
18609
- return {
18610
- command: owner,
18611
- kind: owner === "analyst" ? "deterministic" : "role",
18612
- options: projectOwnerOptions(owner)
18613
- };
18614
- }
18615
- return void 0;
18616
- }
18617
18577
  function appendUsageAndExamples(lines, topic) {
18618
18578
  const facts = projectCommandHelp(topic);
18619
18579
  if (facts === void 0) return;
@@ -21715,10 +21675,8 @@ function createNotaryRoleRuntime(pi, dependencies, host) {
21715
21675
  init_notary_contracts();
21716
21676
 
21717
21677
  // src/countersign-role.ts
21718
- init_review_submission();
21719
21678
  init_role_submission_declarations();
21720
21679
  init_countersign_contracts();
21721
- init_countersign_contracts();
21722
21680
  var COUNTERSIGN_TOOL_SPEC = roleSubmissionDeclaration("countersign");
21723
21681
 
21724
21682
  // src/gleaner-left-role.ts
@@ -22003,7 +21961,7 @@ init_unknown_value();
22003
21961
  init_submission_errors();
22004
21962
  init_worker_submission_contracts();
22005
21963
  import { execFileSync as execFileSync3 } from "node:child_process";
22006
- import { existsSync as existsSync14, lstatSync as lstatSync3, readdirSync as readdirSync4, readFileSync as readFileSync5, rmdirSync, rmSync as rmSync4 } from "node:fs";
21964
+ import { existsSync as existsSync14, lstatSync as lstatSync3, readdirSync as readdirSync3, readFileSync as readFileSync5, rmdirSync, rmSync as rmSync4 } from "node:fs";
22007
21965
  import { resolve as resolve15 } from "node:path";
22008
21966
  var WORKER_COMMIT_BASELINE_ENTRY_TYPE = "commit-baseline";
22009
21967
  var WORKER_COMMIT_REMINDER_BOUNCE_ENTRY_TYPE = "commit-reminder-bounce";
@@ -22070,12 +22028,12 @@ function rmOwnedDir(dir) {
22070
22028
  const hookPath = resolve15(dir, HOOK_FILE);
22071
22029
  if (!ownedHook(hookPath)) return;
22072
22030
  rmSync4(hookPath, { force: true });
22073
- if (existsSync14(dir) && readdirSync4(dir).length === 0) rmdirSync(dir);
22031
+ if (existsSync14(dir) && readdirSync3(dir).length === 0) rmdirSync(dir);
22074
22032
  }
22075
22033
  function linkedGitDirs(commonDir) {
22076
22034
  const root = resolve15(commonDir, "worktrees");
22077
22035
  if (!existsSync14(root)) return [];
22078
- return readdirSync4(root).map((name) => resolve15(root, name)).filter((dir) => lstatSync3(dir).isDirectory());
22036
+ return readdirSync3(root).map((name) => resolve15(root, name)).filter((dir) => lstatSync3(dir).isDirectory());
22079
22037
  }
22080
22038
  function uninstallPackageWorkerHooks(cwd) {
22081
22039
  let inside;
@@ -1,25 +1,5 @@
1
- import { REVIEW_QUEUE_STATUSES, REVIEW_SUBMISSION_OUTPUT_TOOL_NAME } from "./review-submission.js";
2
- import { isRecord } from "./unknown-value.js";
1
+ import { REVIEW_SUBMISSION_OUTPUT_TOOL_NAME } from "./review-submission.js";
3
2
  const COUNTERSIGN_OUTPUT_TOOL_NAME = REVIEW_SUBMISSION_OUTPUT_TOOL_NAME;
4
- function validateRecordedCountersignOutput(verdict) {
5
- if (!isRecord(verdict)) {
6
- throw new Error("Countersign verdict has no execution discriminator");
7
- }
8
- let status;
9
- try {
10
- status = verdict.status;
11
- } catch {
12
- throw new Error("Countersign verdict has no execution discriminator");
13
- }
14
- if (typeof status !== "string") {
15
- throw new Error("Countersign verdict has no execution discriminator");
16
- }
17
- if (REVIEW_QUEUE_STATUSES.has(status)) {
18
- return verdict;
19
- }
20
- throw new Error("Countersign verdict has no execution discriminator");
21
- }
22
3
  export {
23
- COUNTERSIGN_OUTPUT_TOOL_NAME,
24
- validateRecordedCountersignOutput
4
+ COUNTERSIGN_OUTPUT_TOOL_NAME
25
5
  };
@@ -1,13 +1,5 @@
1
- import { reviewSubmissionSchema } from "./review-submission.js";
2
1
  import { roleSubmissionDeclaration } from "./role-submission-declarations.js";
3
- import { COUNTERSIGN_OUTPUT_TOOL_NAME, validateRecordedCountersignOutput, } from "./countersign-contracts.js";
4
2
  export { COUNTERSIGN_OUTPUT_TOOL_NAME } from "./countersign-contracts.js";
5
- // #836 r16 class 1: fix/note/decisionGate are LLM/human-read narrative content —
6
- // no code branches on their length or nested presence. `status` alone is the
7
- // machine discriminator the queue reads.
8
- // #1055: the three-state field is an enum+required host generation constraint.
9
- /** 给事中票庭审读五问的交卷形状(ADR 0074);形状指引,非 schema 闸。 */
10
- export const countersignVerdictSchema = reviewSubmissionSchema;
11
3
  /**
12
4
  * 决定工具规格。生命周期装配(注册、activate、prompt 注入、singleton 检查、
13
5
  * terminate)归注册信封 owner——src/role-runtime.ts(ADR 0018 / #572 R2 判词)。
@@ -1,5 +1,4 @@
1
1
  import { Type } from "typebox";
2
- import { canonicalJson } from "./canonical-json.js";
3
2
  import { openToolObject } from "./open-tool-schema.js";
4
3
  import { withTerminatingOutputDeclarations } from "./package-contracts/terminating-infrastructure.js";
5
4
  import { isRecord } from "./unknown-value.js";
@@ -1,7 +1,6 @@
1
1
  import { Type } from "typebox";
2
2
  import { openToolObject } from "./open-tool-schema.js";
3
3
  import { withTerminatingOutputDeclarations } from "./package-contracts/terminating-infrastructure.js";
4
- import { isRecord } from "./unknown-value.js";
5
4
  const GLEANER_LEFT_OUTPUT_TOOL_NAME = "ak_gleaner_left_output";
6
5
  const gleanerLeftOutputSchema = withTerminatingOutputDeclarations(
7
6
  openToolObject(
@@ -22,24 +21,8 @@ const GLEANER_LEFT_BASE_FLAG = {
22
21
  type: "string"
23
22
  }
24
23
  };
25
- function validateRecordedGleanerLeftOutput(value) {
26
- if (!isRecord(value)) {
27
- throw new Error("Gleaner-left output has no execution discriminator");
28
- }
29
- let status;
30
- try {
31
- status = value.status;
32
- } catch {
33
- throw new Error("Gleaner-left output has no execution discriminator");
34
- }
35
- if (status === "completed") {
36
- return value;
37
- }
38
- throw new Error("Gleaner-left output has no execution discriminator");
39
- }
40
24
  export {
41
25
  GLEANER_LEFT_BASE_FLAG,
42
26
  GLEANER_LEFT_OUTPUT_TOOL_NAME,
43
- gleanerLeftOutputSchema,
44
- validateRecordedGleanerLeftOutput
27
+ gleanerLeftOutputSchema
45
28
  };
@@ -1,7 +1,6 @@
1
- import { GLEANER_LEFT_OUTPUT_TOOL_NAME, gleanerLeftOutputSchema, validateRecordedGleanerLeftOutput, } from "./gleaner-left-contracts.js";
1
+ import { GLEANER_LEFT_OUTPUT_TOOL_NAME, gleanerLeftOutputSchema, } from "./gleaner-left-contracts.js";
2
2
  import { roleSubmissionDeclaration } from "./role-submission-declarations.js";
3
3
  export { GLEANER_LEFT_OUTPUT_TOOL_NAME, gleanerLeftOutputSchema, } from "./gleaner-left-contracts.js";
4
- export { validateRecordedGleanerLeftOutput };
5
4
  /**
6
5
  * 决定工具规格。生命周期装配归注册信封 owner——src/role-runtime.ts(ADR 0018)。
7
6
  */
@@ -853,13 +853,6 @@ var init_worker_output = __esm({
853
853
  }
854
854
  });
855
855
 
856
- // src/canonical-json.ts
857
- var init_canonical_json = __esm({
858
- "src/canonical-json.ts"() {
859
- "use strict";
860
- }
861
- });
862
-
863
856
  // src/doctor-contracts.ts
864
857
  import { Type as Type10 } from "typebox";
865
858
  function validateDoctorSubmissionShape(value) {
@@ -872,7 +865,6 @@ var DOCTOR_EVIDENCE_TOOL_NAME, DOCTOR_OUTPUT_TOOL_NAME, DOCTOR_AUDIT_TOOL_NAME,
872
865
  var init_doctor_contracts = __esm({
873
866
  "src/doctor-contracts.ts"() {
874
867
  "use strict";
875
- init_canonical_json();
876
868
  init_open_tool_schema();
877
869
  init_terminating_infrastructure();
878
870
  init_unknown_value();
@@ -1075,7 +1067,6 @@ var init_countersign_contracts = __esm({
1075
1067
  "src/countersign-contracts.ts"() {
1076
1068
  "use strict";
1077
1069
  init_review_submission();
1078
- init_unknown_value();
1079
1070
  COUNTERSIGN_OUTPUT_TOOL_NAME = REVIEW_SUBMISSION_OUTPUT_TOOL_NAME;
1080
1071
  }
1081
1072
  });
@@ -1088,7 +1079,6 @@ var init_gleaner_left_contracts = __esm({
1088
1079
  "use strict";
1089
1080
  init_open_tool_schema();
1090
1081
  init_terminating_infrastructure();
1091
- init_unknown_value();
1092
1082
  GLEANER_LEFT_OUTPUT_TOOL_NAME = "ak_gleaner_left_output";
1093
1083
  gleanerLeftOutputSchema = withTerminatingOutputDeclarations(
1094
1084
  openToolObject(
@@ -2975,8 +2965,6 @@ var init_terminating_tools = __esm({
2975
2965
  init_auditor_output();
2976
2966
  init_merger_contracts();
2977
2967
  init_notary_contracts();
2978
- init_countersign_contracts();
2979
- init_gleaner_left_contracts();
2980
2968
  init_inspector_contracts();
2981
2969
  init_diarist_contracts();
2982
2970
  init_secretariat_contracts();
@@ -4791,7 +4779,7 @@ var init_gatekeeper_role = __esm({
4791
4779
  });
4792
4780
 
4793
4781
  // src/package-resources/engine-material.ts
4794
- import { existsSync as existsSync2, readdirSync as readdirSync2, readFileSync as readFileSync2 } from "node:fs";
4782
+ import { existsSync as existsSync2, readFileSync as readFileSync2 } from "node:fs";
4795
4783
  import { join as join8 } from "node:path";
4796
4784
  function pickEngineAxis(source) {
4797
4785
  return {
@@ -4953,7 +4941,6 @@ var init_institutional_resolution = __esm({
4953
4941
  // src/public-cli/config.ts
4954
4942
  var config_exports = {};
4955
4943
  __export(config_exports, {
4956
- GATE_OFFICER_SEATS: () => GATE_OFFICER_SEATS,
4957
4944
  buildSeatModelCliArgs: () => buildSeatModelCliArgs,
4958
4945
  clearPersistentSeatConfig: () => clearPersistentSeatConfig,
4959
4946
  credentialProvidersFromAuthData: () => credentialProvidersFromAuthData,
@@ -5460,7 +5447,6 @@ async function loadCredentialProviders(agentDir) {
5460
5447
  throw error;
5461
5448
  }
5462
5449
  }
5463
- var GATE_OFFICER_SEATS;
5464
5450
  var init_config = __esm({
5465
5451
  "src/public-cli/config.ts"() {
5466
5452
  "use strict";
@@ -5470,9 +5456,6 @@ var init_config = __esm({
5470
5456
  init_packaged_role_registry();
5471
5457
  init_registry();
5472
5458
  init_unknown_value();
5473
- GATE_OFFICER_SEATS = PUBLIC_ROLE_RECORDS.flatMap(
5474
- (record) => "provinceConfig" in record && record.provinceConfig === true ? [record.role] : []
5475
- );
5476
5459
  }
5477
5460
  });
5478
5461
 
@@ -5962,7 +5945,7 @@ import {
5962
5945
  existsSync as existsSync3,
5963
5946
  mkdirSync as mkdirSync3,
5964
5947
  readFileSync as readFileSync3,
5965
- readdirSync as readdirSync3,
5948
+ readdirSync as readdirSync2,
5966
5949
  rmSync as rmSync3,
5967
5950
  writeFileSync as writeFileSync2
5968
5951
  } from "node:fs";
@@ -5994,7 +5977,7 @@ function readTicketProgressLines(subjectDirectory) {
5994
5977
  const runsDir = join11(subjectDirectory, "runs");
5995
5978
  if (!existsSync3(runsDir)) return [];
5996
5979
  const out = [];
5997
- for (const name of readdirSync3(runsDir).sort()) {
5980
+ for (const name of readdirSync2(runsDir).sort()) {
5998
5981
  out.push(...readProgressFile(join11(runsDir, name, LEG_PROGRESS_FILENAME)));
5999
5982
  }
6000
5983
  return out;
@@ -6025,7 +6008,7 @@ function nextLegReceiptIndex(runDirectory) {
6025
6008
  const dir = join11(runDirectory, RECEIPTS_DIRNAME);
6026
6009
  if (!existsSync3(dir)) return 1;
6027
6010
  let max = 0;
6028
- for (const name of readdirSync3(dir)) {
6011
+ for (const name of readdirSync2(dir)) {
6029
6012
  const match = /^(\d+)\.json$/.exec(name);
6030
6013
  if (match === null) continue;
6031
6014
  const n = Number(match[1]);
@@ -12703,7 +12686,6 @@ function createPiRoleTurnHost(config) {
12703
12686
  else env.AK_ROLE_INVOCATION_SCOPE = request.invocationScopeId;
12704
12687
  if (request.host === void 0 || request.host.trim() === "") delete env.AK_ROLE_HOST;
12705
12688
  else env.AK_ROLE_HOST = request.host.trim();
12706
- delete env.AK_ROLE_SUMMONS_INSTRUCTION;
12707
12689
  if (request.deliveryRequestLimit === void 0) delete env[RECEIPT_DELIVERY_LIMIT_ENV];
12708
12690
  else env[RECEIPT_DELIVERY_LIMIT_ENV] = String(request.deliveryRequestLimit);
12709
12691
  applyEngineChildEnv(env, request.engine);
@@ -19656,7 +19638,6 @@ __export(cli_exports, {
19656
19638
  buildExplicitInternalActivationArgs: () => buildExplicitInternalActivationArgs,
19657
19639
  commandNeedsProcessCancel: () => commandNeedsProcessCancel,
19658
19640
  helpDocument: () => helpDocument,
19659
- helpDocumentForCommand: () => helpDocumentForCommand,
19660
19641
  projectConfigDisplaySeats: () => projectConfigDisplaySeats,
19661
19642
  projectConfigSeatDisplay: () => projectConfigSeatDisplay,
19662
19643
  resolveInternalRoleEntrypoint: () => resolveInternalRoleEntrypoint,
@@ -19937,31 +19918,10 @@ function loadAndValidateConfig(home, packageRoot) {
19937
19918
  }
19938
19919
  function helpDocument() {
19939
19920
  return {
19940
- executable: "ak-role",
19941
19921
  capabilities: listHelpCapabilities(),
19942
- internalEntrypoint: INTERNAL_ROLE_ENTRYPOINT_RELATIVE,
19943
- /** #342 structured global options from the sole option table. */
19944
- globalOptions: projectOwnerOptions("global")
19922
+ internalEntrypoint: INTERNAL_ROLE_ENTRYPOINT_RELATIVE
19945
19923
  };
19946
19924
  }
19947
- function helpDocumentForCommand(command) {
19948
- if (command === "global") {
19949
- return {
19950
- command: "global",
19951
- kind: "global",
19952
- options: projectOwnerOptions("global")
19953
- };
19954
- }
19955
- if (command in PUBLIC_ROLE_ARGV) {
19956
- const owner = command;
19957
- return {
19958
- command: owner,
19959
- kind: owner === "analyst" ? "deterministic" : "role",
19960
- options: projectOwnerOptions(owner)
19961
- };
19962
- }
19963
- return void 0;
19964
- }
19965
19925
  function appendUsageAndExamples(lines, topic) {
19966
19926
  const facts = projectCommandHelp(topic);
19967
19927
  if (facts === void 0) return;
@@ -21861,10 +21821,8 @@ function createNotaryRoleRuntime(pi, dependencies, host) {
21861
21821
  init_notary_contracts();
21862
21822
 
21863
21823
  // src/countersign-role.ts
21864
- init_review_submission();
21865
21824
  init_role_submission_declarations();
21866
21825
  init_countersign_contracts();
21867
- init_countersign_contracts();
21868
21826
  var COUNTERSIGN_TOOL_SPEC = roleSubmissionDeclaration("countersign");
21869
21827
 
21870
21828
  // src/gleaner-left-role.ts
@@ -21970,7 +21928,7 @@ init_unknown_value();
21970
21928
  init_submission_errors();
21971
21929
  init_worker_submission_contracts();
21972
21930
  import { execFileSync as execFileSync3 } from "node:child_process";
21973
- import { existsSync as existsSync14, lstatSync as lstatSync3, readdirSync as readdirSync4, readFileSync as readFileSync5, rmdirSync, rmSync as rmSync4 } from "node:fs";
21931
+ import { existsSync as existsSync14, lstatSync as lstatSync3, readdirSync as readdirSync3, readFileSync as readFileSync5, rmdirSync, rmSync as rmSync4 } from "node:fs";
21974
21932
  import { resolve as resolve15 } from "node:path";
21975
21933
  var WORKER_COMMIT_BASELINE_ENTRY_TYPE = "commit-baseline";
21976
21934
  var WORKER_COMMIT_REMINDER_BOUNCE_ENTRY_TYPE = "commit-reminder-bounce";
@@ -22037,12 +21995,12 @@ function rmOwnedDir(dir) {
22037
21995
  const hookPath = resolve15(dir, HOOK_FILE);
22038
21996
  if (!ownedHook(hookPath)) return;
22039
21997
  rmSync4(hookPath, { force: true });
22040
- if (existsSync14(dir) && readdirSync4(dir).length === 0) rmdirSync(dir);
21998
+ if (existsSync14(dir) && readdirSync3(dir).length === 0) rmdirSync(dir);
22041
21999
  }
22042
22000
  function linkedGitDirs(commonDir) {
22043
22001
  const root = resolve15(commonDir, "worktrees");
22044
22002
  if (!existsSync14(root)) return [];
22045
- return readdirSync4(root).map((name) => resolve15(root, name)).filter((dir) => lstatSync3(dir).isDirectory());
22003
+ return readdirSync3(root).map((name) => resolve15(root, name)).filter((dir) => lstatSync3(dir).isDirectory());
22046
22004
  }
22047
22005
  function uninstallPackageWorkerHooks(cwd) {
22048
22006
  let inside;
@@ -4,8 +4,6 @@ import { INSPECTOR_OUTPUT_TOOL_NAME, validateRecordedInspectorOutput, } from "./
4
4
  export { INSPECTOR_OUTPUT_TOOL_NAME, };
5
5
  export { INSPECTOR_OUTPUT_TOOL_NAME as INSPECTOR_OUTPUT_TOOL };
6
6
  export { validateRecordedInspectorOutput };
7
- /** 台院事后察举交卷形状。 */
8
- export const inspectorOutputSchema = inspectorSubmissionSchema;
9
7
  /**
10
8
  * 决定工具规格。生命周期装配归注册信封 owner——src/role-runtime.ts(ADR 0018)。
11
9
  */
@@ -1,5 +1,5 @@
1
1
  import {} from "./host-contracts.js";
2
- import { REVIEW_QUEUE_STATUSES, reviewSubmissionSchema } from "./review-submission.js";
2
+ import { REVIEW_QUEUE_STATUSES } from "./review-submission.js";
3
3
  import { registerFiledSubmissionTool } from "./filed-submission.js";
4
4
  import { roleSubmissionDeclaration } from "./role-submission-declarations.js";
5
5
  import {} from "./gatekeeper-role.js";
@@ -64,12 +64,6 @@ export async function runJudgeGates(input) {
64
64
  }
65
65
  return { status: "converged", passes };
66
66
  }
67
- // #836 r16 class 1: fix/classes/note/decisionGate are LLM/human-read narrative
68
- // content — 符宝郎/审刑院 read the raw receipt, no code branches on their length
69
- // or nested presence. `status` alone is the machine discriminator the
70
- // queue reads to pick converged/continue/escalate (below).
71
- // The shared open schema preserves role-specific prose without adding another contract.
72
- export const judgeVerdictSchema = reviewSubmissionSchema;
73
67
  export function createJudgeRoleRuntime(pi, dependencies) {
74
68
  let soul;
75
69
  let lifecycleRegistered = false;
@@ -8914,20 +8914,12 @@ var init_worker_output = __esm({
8914
8914
  }
8915
8915
  });
8916
8916
 
8917
- // src/canonical-json.ts
8918
- var init_canonical_json = __esm({
8919
- "src/canonical-json.ts"() {
8920
- "use strict";
8921
- }
8922
- });
8923
-
8924
8917
  // src/doctor-contracts.ts
8925
8918
  var DOCTOR_OUTPUT_TOOL_NAME, DOCTOR_AUDIT_TOOL_NAME, DOCTOR_OUTPUT_TOOL_DESCRIPTION, DOCTOR_TARGET_KINDS, DOCTOR_DISPOSITIONS, DOCTOR_PRESCRIPTION_KINDS, biteActual, biteNone, DOCTOR_BITE_KINDS, DOCTOR_STATUS_DESCRIPTION, doctorSubmissionObject, doctorSubmissionSchema, doctorEvidenceReadSchema;
8926
8919
  var init_doctor_contracts = __esm({
8927
8920
  "src/doctor-contracts.ts"() {
8928
8921
  "use strict";
8929
8922
  init_build();
8930
- init_canonical_json();
8931
8923
  init_open_tool_schema();
8932
8924
  init_terminating_infrastructure();
8933
8925
  init_unknown_value();
@@ -9026,7 +9018,6 @@ var init_countersign_contracts = __esm({
9026
9018
  "src/countersign-contracts.ts"() {
9027
9019
  "use strict";
9028
9020
  init_review_submission();
9029
- init_unknown_value();
9030
9021
  COUNTERSIGN_OUTPUT_TOOL_NAME = REVIEW_SUBMISSION_OUTPUT_TOOL_NAME;
9031
9022
  }
9032
9023
  });
@@ -9039,7 +9030,6 @@ var init_gleaner_left_contracts = __esm({
9039
9030
  init_build();
9040
9031
  init_open_tool_schema();
9041
9032
  init_terminating_infrastructure();
9042
- init_unknown_value();
9043
9033
  GLEANER_LEFT_OUTPUT_TOOL_NAME = "ak_gleaner_left_output";
9044
9034
  gleanerLeftOutputSchema = withTerminatingOutputDeclarations(
9045
9035
  openToolObject(
@@ -10020,7 +10010,6 @@ var init_institutional_resolution = __esm({
10020
10010
  });
10021
10011
 
10022
10012
  // src/public-cli/config.ts
10023
- var GATE_OFFICER_SEATS;
10024
10013
  var init_config2 = __esm({
10025
10014
  "src/public-cli/config.ts"() {
10026
10015
  "use strict";
@@ -10030,9 +10019,6 @@ var init_config2 = __esm({
10030
10019
  init_packaged_role_registry();
10031
10020
  init_registry();
10032
10021
  init_unknown_value();
10033
- GATE_OFFICER_SEATS = PUBLIC_ROLE_RECORDS.flatMap(
10034
- (record) => "provinceConfig" in record && record.provinceConfig === true ? [record.role] : []
10035
- );
10036
10022
  }
10037
10023
  });
10038
10024
 
@@ -10367,8 +10353,6 @@ var init_terminating_tools = __esm({
10367
10353
  init_auditor_output();
10368
10354
  init_merger_contracts();
10369
10355
  init_notary_contracts();
10370
- init_countersign_contracts();
10371
- init_gleaner_left_contracts();
10372
10356
  init_inspector_contracts();
10373
10357
  init_diarist_contracts();
10374
10358
  init_secretariat_contracts();
@@ -1,4 +1,3 @@
1
- export const NAVIGATOR_ADVICE_MAX_CHARS = 20;
2
1
  const DISPOSE_BY_VERDICT = "按判词处置";
3
2
  const ESCALATE_TO_OWNER = "呈陛下裁决";
4
3
  const DISPATCH_WORKER = "派将作监开工";
@@ -1,4 +1,4 @@
1
- import { REVIEW_SUBMISSION_OUTPUT_TOOL_NAME, notaryReviewSubmissionSchema } from "./review-submission.js";
1
+ import { REVIEW_SUBMISSION_OUTPUT_TOOL_NAME } from "./review-submission.js";
2
2
  import { isRecord } from "./unknown-value.js";
3
3
  const NOTARY_OUTPUT_TOOL_NAME = REVIEW_SUBMISSION_OUTPUT_TOOL_NAME;
4
4
  const NOTARY_SOURCE_RUN_FLAG = {
@@ -15,18 +15,6 @@ const NOTARY_TICKET_FLAG = {
15
15
  type: "string"
16
16
  }
17
17
  };
18
- const notaryOutputSchema = notaryReviewSubmissionSchema;
19
- function projectLawfulNotaryOutput(value) {
20
- return isRecord(value) ? value : void 0;
21
- }
22
- function retainNotarySubmission(value) {
23
- if (value === void 0) return { missing: "arguments" };
24
- try {
25
- return structuredClone(value);
26
- } catch {
27
- return value;
28
- }
29
- }
30
18
  function validateRecordedNotaryOutput(value) {
31
19
  if (!isRecord(value)) {
32
20
  throw new Error("Notary output is not an object");
@@ -37,8 +25,5 @@ export {
37
25
  NOTARY_OUTPUT_TOOL_NAME,
38
26
  NOTARY_SOURCE_RUN_FLAG,
39
27
  NOTARY_TICKET_FLAG,
40
- notaryOutputSchema,
41
- projectLawfulNotaryOutput,
42
- retainNotarySubmission,
43
28
  validateRecordedNotaryOutput
44
29
  };
@@ -2,10 +2,9 @@
2
2
  * Public Auditor (审刑院) terminating receipt contracts (#675 / #754).
3
3
  * Lawful explicit releases: converged | continue | escalate.
4
4
  */
5
- import { REVIEW_SUBMISSION_OUTPUT_TOOL_NAME, reviewSubmissionSchema } from "../review-submission.js";
5
+ import { REVIEW_SUBMISSION_OUTPUT_TOOL_NAME } from "../review-submission.js";
6
6
  import { isRecord } from "../unknown-value.js";
7
7
  export const AUDITOR_OUTPUT_TOOL_NAME = REVIEW_SUBMISSION_OUTPUT_TOOL_NAME;
8
- export const auditorOutputSchema = reviewSubmissionSchema;
9
8
  /** #836: no field drop — original object is the receipt. */
10
9
  export function projectLawfulAuditorOutput(value) {
11
10
  return isRecord(value) ? value : undefined;
@@ -23,9 +23,6 @@ function asStringArray(value) {
23
23
  if (!Array.isArray(value)) return [];
24
24
  return value.filter((item) => typeof item === "string");
25
25
  }
26
- function projectLawfulGatekeeperOutput(value) {
27
- return isRecord(value) ? value : void 0;
28
- }
29
26
  function validateRecordedGatekeeperOutput(value) {
30
27
  if (!isRecord(value)) throw new Error("Gatekeeper output is not an object");
31
28
  return value;
@@ -34,6 +31,5 @@ export {
34
31
  GATEKEEPER_OUTPUT_TOOL_NAME,
35
32
  gatekeeperDecisionSchema,
36
33
  gatekeeperOutputSchema,
37
- projectLawfulGatekeeperOutput,
38
34
  validateRecordedGatekeeperOutput
39
35
  };
@@ -13,14 +13,12 @@ import { NAVIGATOR_OUTPUT_TOOL_NAME, validateRecordedNavigatorOutput } from "./n
13
13
  import { AUDITOR_OUTPUT_TOOL_NAME, validateRecordedAuditorOutput } from "./auditor-output.js";
14
14
  import { MERGER_OUTPUT_TOOL_NAME, validateMergerOutput } from "../merger-contracts.js";
15
15
  import { NOTARY_OUTPUT_TOOL_NAME, validateRecordedNotaryOutput } from "../notary-contracts.js";
16
- import { COUNTERSIGN_OUTPUT_TOOL_NAME, validateRecordedCountersignOutput } from "../countersign-contracts.js";
17
- import { GLEANER_LEFT_OUTPUT_TOOL_NAME, validateRecordedGleanerLeftOutput } from "../gleaner-left-contracts.js";
18
16
  import { INSPECTOR_OUTPUT_TOOL_NAME, validateRecordedInspectorOutput } from "../inspector-contracts.js";
19
17
  import { DIARIST_OUTPUT_TOOL_NAME, validateRecordedDiaristOutput } from "../diarist-contracts.js";
20
18
  import { SECRETARIAT_OUTPUT_TOOL_NAME } from "../secretariat-contracts.js";
21
19
  import { CODER_OUTPUT_TOOL_NAME, FIXER_OUTPUT_TOOL_NAME, validateAcceptedWorkerDetails, } from "./worker-output.js";
22
20
  import { isRecord } from "../unknown-value.js";
23
- export { CODER_OUTPUT_TOOL_NAME, COLLECTOR_OUTPUT_TOOL, FIXER_OUTPUT_TOOL_NAME, JUDGE_OUTPUT_TOOL_NAME, REVIEWER_OUTPUT_TOOL_NAME, MERGER_OUTPUT_TOOL_NAME, validateReviewerIntent, validateAcceptedWorkerDetails, validateDoctorSubmissionShape, validateRecordedDoctorOutput, validateMergerOutput, validateRecordedNotaryOutput, validateRecordedCountersignOutput, validateRecordedGleanerLeftOutput, validateRecordedInspectorOutput, validateRecordedGatekeeperOutput, validateRecordedNavigatorOutput, validateRecordedAuditorOutput, validateRecordedDiaristOutput, };
21
+ export { CODER_OUTPUT_TOOL_NAME, COLLECTOR_OUTPUT_TOOL, FIXER_OUTPUT_TOOL_NAME, JUDGE_OUTPUT_TOOL_NAME, REVIEWER_OUTPUT_TOOL_NAME, MERGER_OUTPUT_TOOL_NAME, validateReviewerIntent, validateAcceptedWorkerDetails, validateDoctorSubmissionShape, validateRecordedDoctorOutput, validateMergerOutput, validateRecordedNotaryOutput, validateRecordedInspectorOutput, validateRecordedGatekeeperOutput, validateRecordedNavigatorOutput, validateRecordedAuditorOutput, validateRecordedDiaristOutput, };
24
22
  export const TERMINATING_TOOL_NAMES = [...new Set([
25
23
  ...PACKAGED_ROLE_REGISTRY.map((entry) => entry.outputTool),
26
24
  ...LEGACY_REVIEW_OUTPUT_ROLES.keys(),
@@ -1,4 +1,4 @@
1
- import { existsSync, readdirSync, readFileSync } from "node:fs";
1
+ import { existsSync, readFileSync } from "node:fs";
2
2
  import { join } from "node:path";
3
3
  const ENGINE_MATERIAL_RELATIVE_ROOT = "resources/engines";
4
4
  const ENGINE_DISPATCH_RELATIVE_PATH = "resources/engine-dispatch.md";
@@ -30,12 +30,6 @@ function resolveEngineMaterialDirectory(packageRoot) {
30
30
  function resolveEngineDispatchMaterialPath(packageRoot) {
31
31
  return join(packageRoot, ENGINE_DISPATCH_RELATIVE_PATH);
32
32
  }
33
- function listEngineMaterialNames(packageRoot) {
34
- const dir = resolveEngineMaterialDirectory(packageRoot);
35
- if (!existsSync(dir)) return Object.freeze([]);
36
- const names = readdirSync(dir).filter((entry) => entry.endsWith(".md")).map((entry) => entry.slice(0, -".md".length)).filter((stem) => isEngineNameSyntax(stem)).sort();
37
- return Object.freeze([...names]);
38
- }
39
33
  function resolveEngineMaterialPath(packageRoot, name) {
40
34
  const legal = assertLegalEngineName(name);
41
35
  return join(resolveEngineMaterialDirectory(packageRoot), `${legal}.md`);
@@ -80,7 +74,6 @@ export {
80
74
  engineSessionMaterialFromOptions,
81
75
  engineSessionReadingMaterial,
82
76
  isEngineNameSyntax,
83
- listEngineMaterialNames,
84
77
  pickEngineAxis,
85
78
  resolveEngineDispatchMaterialPath,
86
79
  resolveEngineMaterialDirectory,