@akagilnc/pi-workflow-roles 0.1.3572 → 0.1.3621

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 (129) hide show
  1. package/dist/acp-host/production-host.js +20239 -10556
  2. package/dist/analyst-gate-cycles-read.js +387 -0
  3. package/dist/archivist-record-entry.js +22 -1
  4. package/dist/audit-escalation.js +6 -0
  5. package/dist/auditor-soul.js +74 -0
  6. package/dist/collector-config.js +86 -0
  7. package/dist/collector-evidence.js +316 -0
  8. package/dist/collector-github.js +527 -0
  9. package/dist/collector-ledger.js +853 -0
  10. package/dist/collector-tool-schemas.js +33 -0
  11. package/dist/compliance-transport.js +104 -52
  12. package/dist/diarist-mechanical.js +411 -0
  13. package/dist/diarist-ticket-resolution.js +177 -0
  14. package/dist/diarist.js +311 -0
  15. package/dist/doctor-auditor.js +25 -0
  16. package/dist/doctor-contracts.js +2 -0
  17. package/dist/doctor-evidence.js +142 -0
  18. package/dist/gatekeeper-role.js +104 -81
  19. package/dist/host-transition-prior-native.js +78 -0
  20. package/dist/institutional-resolution.js +1 -95
  21. package/dist/judge-auditor.js +26 -0
  22. package/dist/ledger-session-read.js +227 -0
  23. package/dist/merger-git-state.js +78 -0
  24. package/dist/navigator-attendance.js +15 -7
  25. package/dist/navigator-public-session.js +170 -0
  26. package/dist/navigator-session-contracts.js +36 -40
  27. package/dist/notary-source-run.js +122 -0
  28. package/dist/package-contracts/auditor-output.js +66 -0
  29. package/dist/package-contracts/evidence-child-output.js +34 -0
  30. package/dist/package-contracts/judge-output.js +2 -0
  31. package/dist/package-contracts/terminating-tools.js +25 -2
  32. package/dist/package-resources/method-skill.js +254 -0
  33. package/dist/packaged-role-registry.js +36 -0
  34. package/dist/pi/durable-principal.js +61 -0
  35. package/dist/pi/in-process-session.js +25 -6
  36. package/dist/pi/known-failure.js +52 -0
  37. package/dist/pi/role-turn-host.js +430 -0
  38. package/dist/public-cli/auto-resume.js +414 -0
  39. package/dist/public-cli/cli-errors.js +8 -0
  40. package/dist/public-cli/cli-io.js +1 -0
  41. package/dist/public-cli/command-renderer.js +5 -0
  42. package/dist/public-cli/doctor-run.js +84 -0
  43. package/dist/public-cli/inspector-run.js +136 -0
  44. package/dist/public-cli/instruction-seat-run.js +256 -0
  45. package/dist/public-cli/invocation.js +2225 -0
  46. package/dist/public-cli/judge-run.js +118 -0
  47. package/dist/public-cli/load-production-acp-host.js +40 -0
  48. package/dist/public-cli/main.js +1140 -652
  49. package/dist/public-cli/notary-run.js +161 -0
  50. package/dist/public-cli/option-definitions.js +1192 -0
  51. package/dist/public-cli/post-admission.js +667 -0
  52. package/dist/public-cli/public-run-credentials.js +49 -0
  53. package/dist/public-cli/registry.js +4 -1
  54. package/dist/public-cli/reviewer-dispatch-rejection.js +77 -0
  55. package/dist/public-cli/run-lifecycle.js +1344 -0
  56. package/dist/public-cli/seat-ticket-binding.js +113 -0
  57. package/dist/public-cli/settlement.js +3441 -0
  58. package/dist/public-cli/terminal.js +135 -0
  59. package/dist/public-cli/turn-request.js +25 -0
  60. package/dist/public-role-summons.js +301 -0
  61. package/dist/receipt-delivery-policy.js +10 -0
  62. package/dist/reviewer-child-executor.js +80 -8
  63. package/dist/reviewer-execution-ledger.js +2 -1
  64. package/dist/run-terminal-artifacts.js +195 -0
  65. package/dist/run-ticket-number.js +40 -0
  66. package/dist/session-assistant-usage.js +107 -0
  67. package/dist/shape-unreadable-failure.js +34 -0
  68. package/dist/submission-errors.js +3 -0
  69. package/dist/submission-ledger.js +388 -0
  70. package/dist/ticket-provenance-contracts.js +115 -0
  71. package/dist/ticket-provenance.js +340 -0
  72. package/extensions/role-runtime.ts +7 -0
  73. package/package.json +1 -1
  74. package/scripts/build-package.mjs +2 -1
  75. package/souls/doctor-auditor.md +1 -0
  76. package/souls/evidence-child.md +1 -0
  77. package/src/acp-host/production-host.ts +3 -0
  78. package/src/acp-host/role-envelope.ts +2 -2
  79. package/src/acp-host/role-turn-host.ts +9 -1
  80. package/src/analyst-gate-cycles-read.ts +37 -2
  81. package/src/archivist-record-entry.ts +45 -1
  82. package/src/audit-escalation.ts +17 -0
  83. package/src/auditor-role.ts +22 -0
  84. package/src/auditor-soul.ts +42 -0
  85. package/src/compliance-transport.ts +177 -66
  86. package/src/doctor-auditor.ts +10 -14
  87. package/src/doctor-contracts.ts +1 -0
  88. package/src/doctor-role.ts +2 -2
  89. package/src/evidence-child-role.ts +22 -0
  90. package/src/gatekeeper-pass-envelope.ts +109 -0
  91. package/src/gatekeeper-role.ts +145 -104
  92. package/src/host-contracts.ts +9 -1
  93. package/src/institutional-resolution.ts +8 -163
  94. package/src/judge-auditor.ts +10 -15
  95. package/src/judge-role.ts +8 -0
  96. package/src/navigator-attendance.ts +25 -9
  97. package/src/navigator-public-session.ts +217 -0
  98. package/src/navigator-session-contracts.ts +61 -54
  99. package/src/notary-source-run.ts +3 -1
  100. package/src/package-contracts/auditor-output.ts +82 -0
  101. package/src/package-contracts/evidence-child-output.ts +51 -0
  102. package/src/package-contracts/judge-output.ts +1 -0
  103. package/src/package-contracts/reviewer-output.ts +2 -2
  104. package/src/package-contracts/terminating-tools.ts +31 -1
  105. package/src/packaged-role-registry.ts +43 -0
  106. package/src/pi/adapter.ts +2 -1
  107. package/src/pi/in-process-session.ts +38 -12
  108. package/src/pi/role-turn-host.ts +34 -0
  109. package/src/public-cli/cli.ts +14 -6
  110. package/src/public-cli/instruction-seat-run.ts +289 -50
  111. package/src/public-cli/invocation.ts +66 -25
  112. package/src/public-cli/option-definitions.ts +61 -0
  113. package/src/public-cli/post-admission.ts +7 -1
  114. package/src/public-cli/registry.ts +4 -1
  115. package/src/public-cli/run-lifecycle.ts +22 -3
  116. package/src/public-cli/settlement.ts +120 -5
  117. package/src/public-cli/terminal.ts +2 -0
  118. package/src/public-role-summons.ts +431 -0
  119. package/src/receipt-delivery-policy.ts +10 -0
  120. package/src/reviewer-agent.ts +1 -1
  121. package/src/reviewer-child-executor.ts +114 -12
  122. package/src/reviewer-execution-ledger.ts +3 -2
  123. package/src/role-runtime.ts +158 -17
  124. package/src/session-assistant-usage.ts +119 -0
  125. package/src/session-opening-materials.ts +1 -1
  126. package/src/shape-unreadable-failure.ts +49 -0
  127. package/src/submission-errors.ts +3 -0
  128. package/dist/evidence-child-executor.js +0 -829
  129. package/src/evidence-child-executor.ts +0 -1140
@@ -0,0 +1,113 @@
1
+ /**
2
+ * Shared LLM ticket binding for public court seats (#635).
3
+ * One path: unbound admission → diarist instruction assertion → bindAdmittedTicketNumber.
4
+ * No CLI --ticket and no attachment frontmatter binding.
5
+ * #637: same-ticket prior-run lookup → resume decision also lives here (shared seam).
6
+ */
7
+ import { resolveBookKeyFromGit } from "../activation-ledger-git.js";
8
+ import { createGhTicketExistenceChecker, createHermesDiaristTicketResolver, DiaristTicketResolutionError, resolveDiaristTicketFromInstruction, } from "../diarist-ticket-resolution.js";
9
+ import { resolveDiaristGithubOrigin } from "../diarist.js";
10
+ import { bindAdmittedTicketNumber, recordTrueUnboundTicketResolution, } from "./invocation.js";
11
+ import { findLatestRunIdForSeatTicket, } from "./run-lifecycle.js";
12
+ /**
13
+ * Instruction → ticket resolution without admission (#635 / #637).
14
+ * Used to locate a prior same-ticket run before minting a new one.
15
+ * Throws on resolution failure — prefer probeInstructionTicket at seat entry.
16
+ */
17
+ export async function resolveInstructionTicket(instruction, projectRoot, env = {}) {
18
+ const resolver = createHermesDiaristTicketResolver({
19
+ ...(env.packageRoot === undefined ? {} : { packageRoot: env.packageRoot }),
20
+ cwd: projectRoot,
21
+ });
22
+ const checkExistence = createGhTicketExistenceChecker();
23
+ const origin = resolveDiaristGithubOrigin(projectRoot);
24
+ return resolveDiaristTicketFromInstruction({
25
+ instruction,
26
+ origin,
27
+ resolver,
28
+ checkExistence,
29
+ });
30
+ }
31
+ /**
32
+ * Pre-admit probe: resolution success or captured DiaristTicketResolutionError.
33
+ * Other errors still propagate (launch/infrastructure outside this class).
34
+ */
35
+ export async function probeInstructionTicket(instruction, projectRoot, env = {}) {
36
+ try {
37
+ const resolution = await resolveInstructionTicket(instruction, projectRoot, env);
38
+ return { kind: "resolved", resolution };
39
+ }
40
+ catch (error) {
41
+ if (error instanceof DiaristTicketResolutionError) {
42
+ return { kind: "failed", error };
43
+ }
44
+ throw error;
45
+ }
46
+ }
47
+ /** Ticket number from a successful ticket probe; undefined for unbound/failed. */
48
+ export function ticketNumberFromProbe(probe) {
49
+ if (probe.kind !== "resolved")
50
+ return undefined;
51
+ if (probe.resolution.kind !== "ticket")
52
+ return undefined;
53
+ return probe.resolution.ticketNumber;
54
+ }
55
+ /**
56
+ * Sole disposition of a resolved ticket onto an unbound admission (#635 / #637).
57
+ * Countersign / inspector / resolveSeatTicketBinding share this — no parallel branches.
58
+ */
59
+ export async function applyTicketResolution(admitted, resolution) {
60
+ if (resolution.kind === "ticket") {
61
+ await bindAdmittedTicketNumber(admitted, resolution.ticketNumber);
62
+ }
63
+ else {
64
+ await recordTrueUnboundTicketResolution(admitted);
65
+ }
66
+ }
67
+ /**
68
+ * Apply a pre-admit probe onto an unbound admission.
69
+ * Failed probes rethrow — caller must be inside the controlled-failure boundary
70
+ * (post-admission beforeDispatch), never before admit/markRunning.
71
+ */
72
+ export async function applyInstructionTicketProbe(admitted, probe) {
73
+ if (probe.kind === "failed")
74
+ throw probe.error;
75
+ await applyTicketResolution(admitted, probe.resolution);
76
+ }
77
+ /**
78
+ * Bind ticketNumber onto an unbound admitted seat via LLM instruction recognition.
79
+ * Already-settled admissions (ticketNumber or durable true-unbound) short-circuit —
80
+ * no re-entry into hermes on auto-resume attempts or manual resume (#635).
81
+ * true-unbound is persisted once; failed verification throws.
82
+ */
83
+ export async function resolveSeatTicketBinding(admitted, env = {}) {
84
+ if (admitted.ticketNumber !== undefined)
85
+ return undefined;
86
+ if (admitted.ticketResolution === "true-unbound") {
87
+ return { kind: "true-unbound" };
88
+ }
89
+ const resolution = await resolveInstructionTicket(admitted.instruction, admitted.projectRoot, env);
90
+ await applyTicketResolution(admitted, resolution);
91
+ return resolution;
92
+ }
93
+ /**
94
+ * Sole same-ticket → resume decision (#637 / #724).
95
+ * Looks up the latest retained run for seat+ticket; when found, runs resume with
96
+ * this summons' materials. Lookup/resume failures propagate (失败诚实) — never
97
+ * wash into a fresh mint. Returns undefined when the caller declared an explicit
98
+ * fresh summons (`ak-role new`) or when no prior run exists; both mint new.
99
+ * freshSummons is required so no seat can drift back into its own skip branch.
100
+ */
101
+ export async function tryResumeSameTicketSeatRun(input) {
102
+ if (input.freshSummons === true)
103
+ return undefined;
104
+ const previousRunId = await findLatestRunIdForSeatTicket({
105
+ home: input.home,
106
+ bookKey: resolveBookKeyFromGit(input.projectRoot),
107
+ role: input.role,
108
+ ticketNumber: input.ticketNumber,
109
+ });
110
+ if (previousRunId === undefined)
111
+ return undefined;
112
+ return await input.resume(previousRunId, input.summons);
113
+ }