@akagilnc/pi-workflow-roles 0.1.2296 → 0.1.2310

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.
@@ -45,6 +45,7 @@ import {
45
45
  } from "./collector-role.ts";
46
46
  import type { ComplianceDecision } from "./compliance-transport.ts";
47
47
  import { createDoctorRoleRuntime } from "./doctor-role.ts";
48
+ import { createNotaryRoleRuntime } from "./notary-role.ts";
48
49
  import { decorateSettlementWithNavigation, formatNavigatorReport, NAVIGATOR_EVENT_TYPE, navigatorSubjectKey, navigatorUnavailableError, subjectPath, type NavigatorAttendance, type NavigatorEvent, type NavigatorPhase, type NavigatorReport, type NavigatorSettlement, type NavigatorSubjectProvenance, type NavigatorWorkContext } from "./navigator-attendance.ts";
49
50
  import {
50
51
  buildNavigatorInfrastructureFailureFact,
@@ -377,6 +378,7 @@ type ActivationRuntime = {
377
378
  bindReviewerParent(activation: ReviewerActivation): void;
378
379
  collector: { activate(context: ExtensionContext, event: { reason: string }): Promise<void> };
379
380
  doctor: { activate(): Promise<void> };
381
+ notary: { activate(): Promise<void> };
380
382
  merger(): Promise<void>;
381
383
  };
382
384
 
@@ -413,6 +415,7 @@ function activationStage(role: PackagedRole, runtime: ActivationRuntime): { id:
413
415
  } };
414
416
  case "collector": return { id: "load-and-install", run: async () => runtime.collector.activate(runtime.context, runtime.event) };
415
417
  case "doctor": return { id: "load-and-install", run: async () => runtime.doctor.activate() };
418
+ case "notary": return { id: "load-and-install", run: async () => runtime.notary.activate() };
416
419
  case "merger": return { id: "prepare-git-and-install", run: async () => runtime.merger() };
417
420
  }
418
421
  }
@@ -494,6 +497,8 @@ export type RoleRuntimeDependencies = {
494
497
  loadCollectorSoul?(): Promise<string>;
495
498
  createCollectorTransport?(): CollectorGitHubTransport;
496
499
  loadDoctorSoul?(): Promise<string>;
500
+ loadNotarySoul?(): Promise<string>;
501
+ loadNotarySourceRun?(path: string): Promise<import("./notary-contracts.ts").NotarySourceRunLocator>;
497
502
  loadDoctorCase?(path: string): Promise<import("./doctor-contracts.ts").DoctorCase>;
498
503
  loadMergerSoul?(): Promise<string>;
499
504
  loadMergerInput?(path: string): Promise<unknown>;
@@ -982,6 +987,16 @@ export function createRoleRuntimeExtension(
982
987
  async loadCase(path) { if (!dependencies.loadDoctorCase) throw new Error("Doctor runtime dependencies are not configured"); return dependencies.loadDoctorCase(path); },
983
988
  async auditCompliance(options) { if (!dependencies.auditDoctorCompliance) throw new Error("Doctor runtime dependencies are not configured"); return dependencies.auditDoctorCompliance(options); },
984
989
  }, hostActions);
990
+ const notary = createNotaryRoleRuntime(pi, {
991
+ async loadSoul() {
992
+ if (!dependencies.loadNotarySoul) throw new Error("Notary runtime dependencies are not configured");
993
+ return dependencies.loadNotarySoul();
994
+ },
995
+ async loadSourceRunLocator(path) {
996
+ if (!dependencies.loadNotarySourceRun) throw new Error("Notary runtime dependencies are not configured");
997
+ return dependencies.loadNotarySourceRun(path);
998
+ },
999
+ }, hostActions);
985
1000
  let sessionMergerGitState = dependencies.mergerGitState;
986
1001
  const merger = createMergerRoleRuntime(pi, {
987
1002
  async loadSoul() { if (!dependencies.loadMergerSoul) throw new Error("Merger runtime dependencies are not configured"); return dependencies.loadMergerSoul(); },
@@ -1133,6 +1148,7 @@ export function createRoleRuntimeExtension(
1133
1148
  },
1134
1149
  collector,
1135
1150
  doctor,
1151
+ notary,
1136
1152
  merger: async () => {
1137
1153
  if (dependencies.mergerGitState === undefined) {
1138
1154
  sessionMergerGitState = dependencies.createMergerGitState?.(ctx.cwd);
@@ -46,6 +46,7 @@ export const MAIN_ROLE_SESSION_MATERIALS = {
46
46
  collector: ["CLAUDE.md", "souls/collector.md"],
47
47
  doctor: ["CLAUDE.md", "souls/doctor.md"],
48
48
  merger: ["CLAUDE.md", "souls/merger.md"],
49
+ notary: ["CLAUDE.md", "souls/notary.md"],
49
50
  navigator: ["CLAUDE.md", "souls/navigator.md"],
50
51
  } as const;
51
52