odai-dsh-agent 0.2.6 → 0.2.8

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 (95) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +140 -138
  3. package/build/bin/odai-dsh-agent.mjs +12 -12
  4. package/build/src/installer.d.mts +1 -1
  5. package/build/src/installer.d.mts.map +1 -1
  6. package/build/src/installer.mjs +2 -1
  7. package/build/src/installer.mjs.map +1 -1
  8. package/package.json +70 -70
  9. package/preset/odai/agent.cordis.yml +261 -261
  10. package/preset/odai/preset.yml +3 -3
  11. package/preset/odai/runtime/context-activation.d.mts +2 -1
  12. package/preset/odai/runtime/context-activation.d.mts.map +1 -1
  13. package/preset/odai/runtime/context-activation.mjs +4 -1
  14. package/preset/odai/runtime/context-activation.mjs.map +1 -1
  15. package/preset/odai/runtime/governance.d.mts +1 -1
  16. package/preset/odai/runtime/governance.d.mts.map +1 -1
  17. package/preset/odai/runtime/governance.mjs +1 -0
  18. package/preset/odai/runtime/governance.mjs.map +1 -1
  19. package/preset/odai/runtime/index.d.mts.map +1 -1
  20. package/preset/odai/runtime/index.mjs +40 -9
  21. package/preset/odai/runtime/index.mjs.map +1 -1
  22. package/preset/odai/runtime/lifecycle-runtime.d.mts +3 -1
  23. package/preset/odai/runtime/lifecycle-runtime.d.mts.map +1 -1
  24. package/preset/odai/runtime/lifecycle-runtime.mjs +132 -24
  25. package/preset/odai/runtime/lifecycle-runtime.mjs.map +1 -1
  26. package/preset/odai/runtime/prompt-runtime.d.mts +1 -0
  27. package/preset/odai/runtime/prompt-runtime.d.mts.map +1 -1
  28. package/preset/odai/runtime/prompt-runtime.mjs +19 -6
  29. package/preset/odai/runtime/prompt-runtime.mjs.map +1 -1
  30. package/preset/odai/runtime/responsibility-gap.d.mts +1 -1
  31. package/preset/odai/runtime/responsibility-gap.d.mts.map +1 -1
  32. package/preset/odai/runtime/responsibility-gap.mjs +7 -5
  33. package/preset/odai/runtime/responsibility-gap.mjs.map +1 -1
  34. package/preset/odai/runtime/responsibility-return.d.mts +21 -0
  35. package/preset/odai/runtime/responsibility-return.d.mts.map +1 -0
  36. package/preset/odai/runtime/responsibility-return.mjs +96 -0
  37. package/preset/odai/runtime/responsibility-return.mjs.map +1 -0
  38. package/preset/odai/runtime/responsibility-scope.d.mts +1 -1
  39. package/preset/odai/runtime/responsibility-scope.d.mts.map +1 -1
  40. package/preset/odai/runtime/responsibility-scope.mjs +3 -3
  41. package/preset/odai/runtime/responsibility-scope.mjs.map +1 -1
  42. package/preset/odai/runtime/role-overlays.mjs +14 -14
  43. package/preset/odai/runtime/role-overlays.mjs.map +1 -1
  44. package/preset/odai/runtime/router.d.mts +2 -1
  45. package/preset/odai/runtime/router.d.mts.map +1 -1
  46. package/preset/odai/runtime/router.mjs +23 -3
  47. package/preset/odai/runtime/router.mjs.map +1 -1
  48. package/preset/odai/runtime/routing-config.d.mts +15 -5
  49. package/preset/odai/runtime/routing-config.d.mts.map +1 -1
  50. package/preset/odai/runtime/routing-config.mjs +113 -44
  51. package/preset/odai/runtime/routing-config.mjs.map +1 -1
  52. package/preset/odai/runtime/routing-context.d.mts +17 -0
  53. package/preset/odai/runtime/routing-context.d.mts.map +1 -1
  54. package/preset/odai/runtime/routing-context.mjs +204 -48
  55. package/preset/odai/runtime/routing-context.mjs.map +1 -1
  56. package/preset/odai/runtime/runtime-config.d.mts.map +1 -1
  57. package/preset/odai/runtime/runtime-config.mjs +10 -1
  58. package/preset/odai/runtime/runtime-config.mjs.map +1 -1
  59. package/preset/odai/runtime/runtime-support.d.mts +3 -1
  60. package/preset/odai/runtime/runtime-support.d.mts.map +1 -1
  61. package/preset/odai/runtime/runtime-support.mjs +5 -1
  62. package/preset/odai/runtime/runtime-support.mjs.map +1 -1
  63. package/preset/odai/runtime/runtime-types.d.mts +5 -0
  64. package/preset/odai/runtime/runtime-types.d.mts.map +1 -1
  65. package/preset/odai/runtime/tool-runtime.d.mts +4 -0
  66. package/preset/odai/runtime/tool-runtime.d.mts.map +1 -1
  67. package/preset/odai/runtime/tool-runtime.mjs +49 -4
  68. package/preset/odai/runtime/tool-runtime.mjs.map +1 -1
  69. package/preset/odai/skills/odai/agents/openai.yaml +4 -4
  70. package/preset/odai/skills/odai/assets/claude-agents/agent.md +11 -11
  71. package/preset/odai/skills/odai/assets/codex-agents/config.toml +11 -11
  72. package/preset/odai/skills/odai/assets/codex-agents/role.toml +5 -5
  73. package/preset/odai/skills/odai/assets/copilot-agents/agent.md +13 -13
  74. package/preset/odai/skills/odai/assets/hooks-policy.example.json +24 -24
  75. package/preset/odai/skills/odai/assets/routing-roles/controller.md +15 -15
  76. package/preset/odai/skills/odai/assets/routing-roles/executor.md +11 -11
  77. package/preset/odai/skills/odai/assets/routing-roles/frontend.md +7 -7
  78. package/preset/odai/skills/odai/assets/routing-roles/planner.md +29 -29
  79. package/preset/odai/skills/odai/assets/routing-roles/researcher.md +6 -6
  80. package/preset/odai/skills/odai/assets/routing-roles/reviewer.md +11 -11
  81. package/preset/odai/skills/odai/assets/task-state.md +14 -14
  82. package/preset/odai/skills/odai/manifest.json +37 -37
  83. package/preset/odai/skills/odai/references/craft.md +54 -54
  84. package/preset/odai/skills/odai/references/dao.md +30 -30
  85. package/preset/odai/skills/odai/references/leverage.md +53 -53
  86. package/preset/odai/skills/odai/references/planning.md +82 -82
  87. package/preset/odai/skills/odai/references/support.md +36 -36
  88. package/preset/odai/skills/odai/references/verification.md +23 -23
  89. package/preset/odai/skills/odai/scripts/build-hooks.mjs +273 -273
  90. package/preset/odai/skills/odai/scripts/build-routing.mjs +274 -274
  91. package/preset/odai/skills/odai/scripts/install-routing.mjs +397 -397
  92. package/preset/odai/skills/odai/scripts/odai-hook.mjs +457 -457
  93. package/preset/odai/skills/odai/scripts/run-role.mjs +336 -336
  94. package/preset/odai/skills/odai/scripts/run-routing.mjs +1154 -1154
  95. package/preset/odai/skills/odai/scripts/verify-routing.mjs +103 -103
@@ -1 +1 @@
1
- {"version":3,"file":"governance.mjs","sourceRoot":"","sources":["../src/governance.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"governance.mjs","sourceRoot":"","sources":["../src/governance.mts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.mts"],"names":[],"mappings":"AAsBA,OAAO,EACL,0BAA0B,EAC1B,aAAa,EACb,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAIL,aAAa,EAEd,MAAM,uBAAuB,CAAC;AAM/B,OAAO,KAAK,EAEV,iBAAiB,EAKlB,MAAM,qBAAqB,CAAC;AAE7B,eAAO,MAAM,IAAI,qBAAe,CAAC;AACjC,OAAO,EAAE,0BAA0B,EAAE,aAAa,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC;AAEtF,eAAO,MAAM,MAAM,UAA4D,CAAC;AAyBhF,wBAAgB,KAAK,CAAC,GAAG,EAAE,iBAAiB,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI,CA+KtE"}
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.mts"],"names":[],"mappings":"AAuBA,OAAO,EACL,0BAA0B,EAC1B,aAAa,EACb,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAIL,aAAa,EAEd,MAAM,uBAAuB,CAAC;AAO/B,OAAO,KAAK,EAEV,iBAAiB,EAKlB,MAAM,qBAAqB,CAAC;AAE7B,eAAO,MAAM,IAAI,qBAAe,CAAC;AACjC,OAAO,EAAE,0BAA0B,EAAE,aAAa,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC;AAEtF,eAAO,MAAM,MAAM,UAA4D,CAAC;AAyBhF,wBAAgB,KAAK,CAAC,GAAG,EAAE,iBAAiB,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI,CA6MtE"}
@@ -4,11 +4,13 @@ import { installLifecycleRuntime } from "./lifecycle-runtime.mjs";
4
4
  import { classifyModelRouteFailure, probeModelRoute } from "./model-route.mjs";
5
5
  import { createPromptRuntime } from "./prompt-runtime.mjs";
6
6
  import { latestDanglingResponsibilityScope, responsibilityScopeStoppedEvent, } from "./responsibility-scope.mjs";
7
+ import { classifyPendingReviewerText, extractLatestUserText } from "./router.mjs";
7
8
  import { invalidatePersistedRoleRoute } from "./routing-config.mjs";
8
9
  import { inheritCompactionReasoning, resolveConfig, resolveSkillPath, } from "./runtime-config.mjs";
9
10
  import { RUNTIME_NAME, loggerFor, routeFromConfig, runRoutedRole, sameRequestModelRoute, } from "./runtime-support.mjs";
10
11
  import { createSessionEvidence, resolveSessionEvidenceRoot } from "./session-evidence.mjs";
11
12
  import { currentAgentTurn } from "./skill-selection-state.mjs";
13
+ import { latestDirectUserMessage } from "./semantic-memory.mjs";
12
14
  import { installToolRuntime } from "./tool-runtime.mjs";
13
15
  import { resolveHumanSafetyContinuityStorePath } from "./human-safety-continuity-store.mjs";
14
16
  export const name = RUNTIME_NAME;
@@ -111,20 +113,17 @@ export function apply(ctx, rawConfig) {
111
113
  return {
112
114
  route: state.snapshot.roles[role],
113
115
  source: state.snapshot.sources[role],
116
+ dispatch: state.snapshot.dispatch[role],
117
+ dispatchSource: state.snapshot.dispatchSources[role],
114
118
  };
115
119
  };
116
120
  const pendingResponsibilityGap = (agent, turn, step) => {
117
- const consumed = new Set();
118
121
  const events = evidence.events(agent);
122
+ const consumed = new Set(events.flatMap((event) => (event.type === "odai/responsibility-gap-consumed" ? [event.data?.stateDigest] : [])));
119
123
  for (let index = events.length - 1; index >= 0; index -= 1) {
120
124
  const event = events[index];
121
- if (event.data?.turn !== turn)
122
- continue;
123
- if (event.type === "odai/responsibility-gap-consumed") {
124
- consumed.add(event.data.stateDigest);
125
- continue;
126
- }
127
- if (event.type !== "odai/responsibility-gap"
125
+ if (event.data?.turn !== turn
126
+ || event.type !== "odai/responsibility-gap"
128
127
  || typeof event.data?.step !== "number"
129
128
  || !Number.isSafeInteger(event.data.step)
130
129
  || event.data.step >= step
@@ -133,6 +132,38 @@ export function apply(ctx, rawConfig) {
133
132
  continue;
134
133
  return event.data;
135
134
  }
135
+ if (turn === undefined)
136
+ return undefined;
137
+ for (let index = events.length - 1; index >= 0; index -= 1) {
138
+ const event = events[index];
139
+ if (event.type !== "odai/responsibility-gap"
140
+ || event.data?.responsibility !== "reviewer"
141
+ || typeof event.data.turn !== "number"
142
+ || event.data.turn >= turn
143
+ || consumed.has(event.data.stateDigest)
144
+ || !isResponsibilityGapProposal(event.data))
145
+ continue;
146
+ const deferred = events.slice(index + 1).some((candidate) => (candidate.type === "odai/responsibility-gap-deferred"
147
+ && candidate.data?.stateDigest === event.data.stateDigest));
148
+ if (!deferred)
149
+ continue;
150
+ const message = latestDirectUserMessage(agent);
151
+ const transition = message
152
+ ? classifyPendingReviewerText(extractLatestUserText([message]))
153
+ : "dormant";
154
+ if (transition === "continue")
155
+ return event.data;
156
+ if (transition === "supersede") {
157
+ appendEvent(agent, "odai/responsibility-gap-consumed", {
158
+ turn,
159
+ step,
160
+ responsibility: "reviewer",
161
+ stateDigest: event.data.stateDigest,
162
+ reason: "SUPERSEDED_BY_DIRECT_USER_TASK",
163
+ });
164
+ }
165
+ return undefined;
166
+ }
136
167
  return undefined;
137
168
  };
138
169
  const invalidateFailedRoleRoute = (agent, role, route, source, failure, position = {}) => {
@@ -168,7 +199,7 @@ export function apply(ctx, rawConfig) {
168
199
  installToolRuntime({
169
200
  appendEvent, baseSelection, bundled, config, ctx, evidence, evolutionDisabled, explicitSkillPath,
170
201
  hasSessionEvent, humanSafetyContinuityStorePath, logger, pendingResponsibilityGap, promptRuntime,
171
- routeProtections, selectOutputForAgent,
202
+ responsibilityScopes, routeProtections, selectOutputForAgent, stopResponsibilityScope,
172
203
  });
173
204
  installLifecycleRuntime({
174
205
  appendEvent, bundled, config, configuredRole, ctx, evidence, hasSessionEvent, invalidateFailedRoleRoute,
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.mts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import type { ResponsibilityGapProposal } from "./responsibility-gap.mjs";
2
2
  import type { ResponsibilityScope } from "./responsibility-scope.mjs";
3
3
  export type { ResponsibilityScope } from "./responsibility-scope.mjs";
4
4
  import type { SkillBundle } from "./skill-bundle.mjs";
5
- import type { DshAgent, DshEvent, DshRuntimeContext, DshSession, ModelRoute, RuntimeConfig, RuntimeEventData, RuntimeLogger, UnknownRecord } from "./runtime-types.mjs";
5
+ import type { DshAgent, DshEvent, DshRuntimeContext, DshSession, ModelRoute, ResponsibilityDispatch, RuntimeConfig, RuntimeEventData, RuntimeLogger, UnknownRecord } from "./runtime-types.mjs";
6
6
  interface RouteFailure {
7
7
  kind: string;
8
8
  code: string;
@@ -11,6 +11,8 @@ interface RouteFailure {
11
11
  interface RoleState {
12
12
  route?: ModelRoute;
13
13
  source?: string;
14
+ dispatch?: ResponsibilityDispatch;
15
+ dispatchSource?: string;
14
16
  error?: string;
15
17
  detail?: string;
16
18
  id?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle-runtime.d.mts","sourceRoot":"","sources":["../src/lifecycle-runtime.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lifecycle-runtime.d.mts","sourceRoot":"","sources":["../src/lifecycle-runtime.mts"],"names":[],"mappings":"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"}
@@ -9,12 +9,30 @@ import { parseResearchPacket, renderResearchPacket, verifyResearchPacketSources,
9
9
  import { dshRoleContract } from "./role-overlays.mjs";
10
10
  import { sharedSkillSelection } from "./skill-selection-state.mjs";
11
11
  import { captureAutomaticMemories, claimSemanticMemoryTurn, latestDirectUserMessage, memoryPacketMessage, renderSemanticMemoryPacket, retrieveSemanticMemories, } from "./semantic-memory.mjs";
12
+ function effectiveRoleDispatch(role, configured, routingMode) {
13
+ if (configured)
14
+ return configured;
15
+ if (role === "researcher" || role === "reviewer")
16
+ return "child";
17
+ if (role === "planner")
18
+ return routingMode === "auto" ? "same-turn" : "child";
19
+ return "same-turn";
20
+ }
12
21
  function isInPlaceResponsibility(value) {
13
- return value === "planner" || value === "reviewer" || value === "executor" || value === "frontend";
22
+ return value === "researcher" || value === "planner" || value === "reviewer" || value === "executor" || value === "frontend";
14
23
  }
15
24
  function isSubagentsService(value) {
16
25
  return value !== null && typeof value === "object" && "start" in value && typeof value.start === "function";
17
26
  }
27
+ function latestReviewerDeferral(events, stateDigest) {
28
+ for (let index = events.length - 1; index >= 0; index -= 1) {
29
+ const event = events[index];
30
+ if (event?.type !== "odai/responsibility-gap-deferred" || event.data?.stateDigest !== stateDigest)
31
+ continue;
32
+ return typeof event.data.evidenceDigest === "string" ? event.data.evidenceDigest : undefined;
33
+ }
34
+ return undefined;
35
+ }
18
36
  export function installLifecycleRuntime(deps) {
19
37
  const { appendEvent, bundled, config, configuredRole, ctx, evidence, hasSessionEvent, invalidateFailedRoleRoute, logger, memorySettingsFor, outputUsageBySession, pendingResponsibilityGap, pendingRouteReceipts, pendingScopeRestorations, responsibilityScopeOwners, responsibilityScopes, routeProtections, selectOutputForAgent, stopDanglingResponsibilityScope, stopResponsibilityScope } = deps;
20
38
  ctx.on("agent/request", async ({ agent, turn, step, signal }, next) => {
@@ -31,27 +49,40 @@ export function installLifecycleRuntime(deps) {
31
49
  stopResponsibilityScope(agent, "ownership-boundary", { step });
32
50
  scope = undefined;
33
51
  }
34
- if (!childRole && !scope) {
52
+ if (!childRole && (!scope || scope.state === "pending")) {
35
53
  const restoration = pendingResponsibilityScopeRestoration(evidence.events(agent));
36
54
  if (restoration && sameRequestModelRoute(proposed, restoration.temporaryRoute)) {
37
55
  const { reasoningEffort: _temporaryEffort, maxTokens: _temporaryMaxTokens, ...withoutTemporaryRoute } = proposed;
38
56
  proposed = Object.freeze({ ...withoutTemporaryRoute, ...restoration.baseRoute });
39
- appendEvent(agent, "odai/responsibility-scope-restoration-requested", {
40
- scopeId: restoration.scopeId,
41
- turn,
42
- step,
43
- role: restoration.role,
44
- requestedRoute: restoration.baseRoute,
45
- });
46
- if (agent?.session) {
47
- pendingScopeRestorations.set(agent.session, Object.freeze({
48
- agent,
57
+ if (scope?.state === "pending") {
58
+ appendEvent(agent, "odai/responsibility-scope-restored", {
49
59
  scopeId: restoration.scopeId,
50
60
  turn,
51
61
  step,
52
62
  role: restoration.role,
53
- expectedRoute: restoration.baseRoute,
54
- }));
63
+ status: "chained",
64
+ baseRoute: restoration.baseRoute,
65
+ nextScopeId: scope.id,
66
+ });
67
+ }
68
+ else {
69
+ appendEvent(agent, "odai/responsibility-scope-restoration-requested", {
70
+ scopeId: restoration.scopeId,
71
+ turn,
72
+ step,
73
+ role: restoration.role,
74
+ requestedRoute: restoration.baseRoute,
75
+ });
76
+ if (agent?.session) {
77
+ pendingScopeRestorations.set(agent.session, Object.freeze({
78
+ agent,
79
+ scopeId: restoration.scopeId,
80
+ turn,
81
+ step,
82
+ role: restoration.role,
83
+ expectedRoute: restoration.baseRoute,
84
+ }));
85
+ }
55
86
  }
56
87
  }
57
88
  }
@@ -297,6 +328,22 @@ export function installLifecycleRuntime(deps) {
297
328
  scopeId: activeScope.id,
298
329
  ...(Number.isSafeInteger(event.data?.step) ? { step: event.data.step } : {}),
299
330
  });
331
+ if (scopeStopReason === "terminal-response"
332
+ && ["researcher", "planner", "reviewer"].includes(activeScope.role)) {
333
+ appendEvent(owner, "odai/responsibility-return-missing", {
334
+ scopeId: activeScope.id,
335
+ turn: activeScope.turn,
336
+ step: event.data?.step ?? activeScope.startStep,
337
+ responsibility: activeScope.role,
338
+ target: "controller",
339
+ status: typeof owner.inject === "function" ? "recovery-injected" : "recovery-unavailable",
340
+ });
341
+ owner.inject?.(pluginMessage([
342
+ `The same-turn ${activeScope.role} responsibility emitted a terminal response without odai_responsibility_return.`,
343
+ "Its text is an unverified read-only draft, not final delivery or independent acceptance.",
344
+ "The runtime restored the controller route. Verify the decisive claims, continue the authorized task, and keep controller ownership of final delivery.",
345
+ ].join("\n"), `${activeScope.role} handback recovery`));
346
+ }
300
347
  }
301
348
  if (event?.type === "assistant/chunk" && event.data?.chunk?.type === "usage") {
302
349
  outputUsageBySession.set(session, {
@@ -645,6 +692,7 @@ export function installLifecycleRuntime(deps) {
645
692
  const taskText = extractRoutingText(downstream.messages, agent?.session?.events).slice(0, config.routing.maxInputChars);
646
693
  let routedDownstream = downstream;
647
694
  let researchPacketText = "";
695
+ let sameTurnResearchDecision;
648
696
  const researchDecision = decideResearchPrefetch({ text: taskText, proposal: responsibilityGap });
649
697
  if (researchDecision.action === "delegate") {
650
698
  appendEvent(agent, "odai/research-decided", {
@@ -678,6 +726,15 @@ export function installLifecycleRuntime(deps) {
678
726
  ...(researchState.error ? { error: researchState.detail } : {}),
679
727
  });
680
728
  }
729
+ else if (effectiveRoleDispatch("researcher", researchState.dispatch, config.routing.mode) === "same-turn") {
730
+ sameTurnResearchDecision = Object.freeze({
731
+ ...researchDecision,
732
+ role: "controller",
733
+ mode: "upgrade",
734
+ action: "upgrade",
735
+ targetRole: "researcher",
736
+ });
737
+ }
681
738
  else {
682
739
  const researchBundle = sharedSkillSelection(agent, turn)?.bundle ?? bundled;
683
740
  const researchContract = dshRoleContract("researcher", researchBundle.roleContracts.researcher, researchBundle.referenceContracts);
@@ -739,7 +796,7 @@ export function installLifecycleRuntime(deps) {
739
796
  }
740
797
  }
741
798
  const frozenCard = responsibilityContinuation?.routeCard ?? activeRouteCard(evidence.events(agent));
742
- let decision = decideRoute({
799
+ let decision = sameTurnResearchDecision ?? decideRoute({
743
800
  text: taskText,
744
801
  routeCard: frozenCard,
745
802
  proposal: responsibilityGap,
@@ -750,10 +807,14 @@ export function installLifecycleRuntime(deps) {
750
807
  let roleContext = decision.action === "direct"
751
808
  ? undefined
752
809
  : buildRoleContextPacket(agent, routeRole, roleTaskText);
810
+ const priorReviewerEvidenceDigest = responsibilityGap?.responsibility === "reviewer"
811
+ ? latestReviewerDeferral(evidence.events(agent), responsibilityGap.stateDigest)
812
+ : undefined;
753
813
  let localReviewerCoverage;
754
814
  if (config.routing.mode === "auto"
755
815
  && routeRole === "reviewer"
756
816
  && decision.action === "delegate"
817
+ && effectiveRoleDispatch("reviewer", configuredRole(agent, "reviewer", turn).dispatch, config.routing.mode) === "child"
757
818
  && roleContext
758
819
  && !roleContext.sufficient) {
759
820
  localReviewerCoverage = roleContext.coverage;
@@ -767,6 +828,13 @@ export function installLifecycleRuntime(deps) {
767
828
  });
768
829
  routeRole = "reviewer";
769
830
  }
831
+ const reviewerCanAwaitEvidence = config.routing.mode === "auto"
832
+ || (config.routing.mode === "execute"
833
+ && Boolean(routeRole === "reviewer" ? configuredRole(agent, routeRole, turn).route : undefined));
834
+ const reviewerEvidenceIncomplete = routeRole === "reviewer" && roleContext !== undefined
835
+ && !roleContext.sufficient && reviewerCanAwaitEvidence;
836
+ const reviewerEvidenceUnchanged = reviewerEvidenceIncomplete
837
+ && priorReviewerEvidenceDigest === roleContext?.evidenceDigest;
770
838
  appendEvent(agent, "odai/route-decided", {
771
839
  turn,
772
840
  step,
@@ -784,7 +852,7 @@ export function installLifecycleRuntime(deps) {
784
852
  } : {}),
785
853
  ...(decision.considerations ? { considerations: decision.considerations } : {}),
786
854
  });
787
- if (responsibilityGap) {
855
+ if (responsibilityGap && !reviewerEvidenceIncomplete) {
788
856
  appendEvent(agent, "odai/responsibility-gap-consumed", {
789
857
  turn,
790
858
  step,
@@ -799,17 +867,21 @@ export function installLifecycleRuntime(deps) {
799
867
  return routedDownstream;
800
868
  if (!roleContext)
801
869
  throw new Error("reviewer fallback is missing its context packet");
870
+ if (reviewerEvidenceUnchanged)
871
+ return routedDownstream;
802
872
  appendEvent(agent, "odai/route-context", {
803
873
  turn,
804
874
  step,
805
875
  role: "reviewer",
806
876
  mode: "controller-local",
807
877
  digest: roleContext.digest,
878
+ evidenceDigest: roleContext.evidenceDigest,
808
879
  evidenceCount: roleContext.evidenceCount,
809
880
  toolEvidenceCount: roleContext.toolEvidenceCount,
810
881
  acceptanceCount: localReviewerCoverage.acceptanceCount,
811
882
  diffCount: localReviewerCoverage.diffCount,
812
883
  testCount: localReviewerCoverage.testCount,
884
+ diagnostics: roleContext.diagnostics,
813
885
  truncated: roleContext.truncated,
814
886
  sufficient: false,
815
887
  });
@@ -822,14 +894,28 @@ export function installLifecycleRuntime(deps) {
822
894
  stopReason: "evidence-packet-missing",
823
895
  independent: false,
824
896
  });
897
+ if (responsibilityGap?.responsibility === "reviewer") {
898
+ appendEvent(agent, "odai/responsibility-gap-deferred", {
899
+ turn,
900
+ step,
901
+ responsibility: "reviewer",
902
+ stateDigest: responsibilityGap.stateDigest,
903
+ contextDigest: roleContext.digest,
904
+ evidenceDigest: roleContext.evidenceDigest,
905
+ reasonCode: "REVIEWER_EVIDENCE_PACKET_PENDING",
906
+ });
907
+ }
825
908
  return {
826
909
  kind: "enter",
827
910
  messages: [
828
911
  ...routedDownstream.messages,
829
912
  pluginMessage([
830
913
  `An independent reviewer was not started because the bounded packet is incomplete (${JSON.stringify(localReviewerCoverage)}).`,
831
- "Remain on the current controller route and continue the authorized task. Gather project-available requirements, acceptance conditions, diff, tests, and matching tool evidence before resubmitting a changed reviewer gap.",
832
- "A controller-local read-only check may guide the work, but it is not independent acceptance. Do not stop solely to ask the user for review artifacts the project can produce, and do not claim the reviewer approved release.",
914
+ `Evidence diagnostics: ${JSON.stringify(roleContext.diagnostics)}.`,
915
+ responsibilityGap?.responsibility === "reviewer"
916
+ ? "The recorded reviewer gap remains pending and will be reassessed once new acceptance, write, diff, test, failure, or host-evidence diagnostics change the evidence state; do not resubmit it unchanged."
917
+ : "Gather project-available acceptance, diff, tests, and matching native tool evidence before submitting a reviewer gap.",
918
+ "Remain on the current controller route only to gather or fix that evidence. A controller-local read-only check is not independent acceptance; do not claim reviewer approval or release on its basis.",
833
919
  ].join("\n"), "odai reviewer evidence is incomplete; controller continues locally"),
834
920
  ],
835
921
  };
@@ -911,8 +997,8 @@ export function installLifecycleRuntime(deps) {
911
997
  rolePreflightVerified = health.status === "verified";
912
998
  }
913
999
  roleContext ??= buildRoleContextPacket(agent, routeRole, taskText);
914
- const inPlaceUpgrade = decision.action === "upgrade"
915
- && (config.routing.mode === "auto" || ["executor", "frontend"].includes(routeRole));
1000
+ const roleDispatch = effectiveRoleDispatch(routeRole, roleState.dispatch, config.routing.mode);
1001
+ const inPlaceUpgrade = roleDispatch === "same-turn";
916
1002
  const contextMode = inPlaceUpgrade ? "same-turn" : "bounded-packet";
917
1003
  appendEvent(agent, "odai/route-context", {
918
1004
  turn,
@@ -920,15 +1006,19 @@ export function installLifecycleRuntime(deps) {
920
1006
  role: routeRole,
921
1007
  mode: contextMode,
922
1008
  digest: roleContext.digest,
1009
+ evidenceDigest: roleContext.evidenceDigest,
923
1010
  evidenceCount: roleContext.evidenceCount,
924
1011
  toolEvidenceCount: roleContext.toolEvidenceCount,
925
1012
  acceptanceCount: roleContext.coverage.acceptanceCount,
926
1013
  diffCount: roleContext.coverage.diffCount,
927
1014
  testCount: roleContext.coverage.testCount,
1015
+ diagnostics: roleContext.diagnostics,
928
1016
  truncated: roleContext.truncated,
929
1017
  sufficient: roleContext.sufficient,
930
1018
  });
931
- if (routeRole === "reviewer" && decision.action === "delegate" && !roleContext.sufficient) {
1019
+ if (routeRole === "reviewer" && roleDispatch === "child" && decision.action === "delegate" && !roleContext.sufficient) {
1020
+ if (reviewerEvidenceUnchanged)
1021
+ return routedDownstream;
932
1022
  appendEvent(agent, "odai/route-result", {
933
1023
  turn,
934
1024
  step,
@@ -938,11 +1028,29 @@ export function installLifecycleRuntime(deps) {
938
1028
  stopReason: "evidence-packet-missing",
939
1029
  contextDigest: roleContext.digest,
940
1030
  });
1031
+ if (responsibilityGap?.responsibility === "reviewer") {
1032
+ appendEvent(agent, "odai/responsibility-gap-deferred", {
1033
+ turn,
1034
+ step,
1035
+ responsibility: "reviewer",
1036
+ stateDigest: responsibilityGap.stateDigest,
1037
+ contextDigest: roleContext.digest,
1038
+ evidenceDigest: roleContext.evidenceDigest,
1039
+ reasonCode: "REVIEWER_EVIDENCE_PACKET_PENDING",
1040
+ });
1041
+ }
941
1042
  return {
942
1043
  kind: "enter",
943
1044
  messages: [
944
1045
  ...routedDownstream.messages,
945
- pluginMessage(`odai reviewer child was not started because the bounded packet is incomplete (${JSON.stringify(roleContext.coverage)}). Gather requirements, acceptance conditions, actual diff, tests, and matching tool evidence first; do not claim independent acceptance.`, "odai reviewer evidence packet is incomplete"),
1046
+ pluginMessage([
1047
+ `odai reviewer child was not started because the bounded packet is incomplete (${JSON.stringify(roleContext.coverage)}).`,
1048
+ `Evidence diagnostics: ${JSON.stringify(roleContext.diagnostics)}.`,
1049
+ responsibilityGap?.responsibility === "reviewer"
1050
+ ? "The recorded reviewer gap remains pending for reassessment after the evidence state changes; do not resubmit it unchanged."
1051
+ : "Gather acceptance, an actual patch diff, successful tests, and matching native tool evidence before submitting a reviewer gap.",
1052
+ "Do not claim independent acceptance.",
1053
+ ].join("\n"), "odai reviewer evidence packet is incomplete"),
946
1054
  ],
947
1055
  };
948
1056
  }
@@ -965,7 +1073,7 @@ export function installLifecycleRuntime(deps) {
965
1073
  if (agent?.session)
966
1074
  responsibilityScopeOwners.set(agent.session, agent);
967
1075
  appendEvent(agent, "odai/responsibility-scope-started", responsibilityScopeStartedEvent(responsibilityScope));
968
- if (["planner", "reviewer"].includes(routeRole)) {
1076
+ if (["researcher", "planner", "reviewer"].includes(routeRole)) {
969
1077
  protectController(agent, turn, step, decision, `responsibility-scope-${routeRole}`, undefined, responsibilityScope.id);
970
1078
  }
971
1079
  if (routeRole === "executor" && frozenCard) {
@@ -1000,7 +1108,7 @@ export function installLifecycleRuntime(deps) {
1000
1108
  messages: [
1001
1109
  ...routedDownstream.messages,
1002
1110
  pluginMessage([
1003
- renderRouteNotice(decision, config.routing.mode, roleRoute),
1111
+ renderRouteNotice(decision, config.routing.mode, roleRoute, roleDispatch),
1004
1112
  "",
1005
1113
  `Context digest: sha256:${roleContext.digest}`,
1006
1114
  contextBoundary,