odai-dsh-agent 0.2.7 → 0.2.9

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 (59) hide show
  1. package/README.md +6 -4
  2. package/build/src/installer.d.mts.map +1 -1
  3. package/build/src/installer.mjs +3 -26
  4. package/build/src/installer.mjs.map +1 -1
  5. package/package.json +2 -2
  6. package/preset/odai/runtime/context-activation.d.mts +2 -1
  7. package/preset/odai/runtime/context-activation.d.mts.map +1 -1
  8. package/preset/odai/runtime/context-activation.mjs +4 -1
  9. package/preset/odai/runtime/context-activation.mjs.map +1 -1
  10. package/preset/odai/runtime/governance.d.mts +1 -1
  11. package/preset/odai/runtime/governance.d.mts.map +1 -1
  12. package/preset/odai/runtime/governance.mjs +1 -0
  13. package/preset/odai/runtime/governance.mjs.map +1 -1
  14. package/preset/odai/runtime/index.d.mts.map +1 -1
  15. package/preset/odai/runtime/index.mjs +3 -1
  16. package/preset/odai/runtime/index.mjs.map +1 -1
  17. package/preset/odai/runtime/lifecycle-runtime.d.mts +3 -1
  18. package/preset/odai/runtime/lifecycle-runtime.d.mts.map +1 -1
  19. package/preset/odai/runtime/lifecycle-runtime.mjs +90 -25
  20. package/preset/odai/runtime/lifecycle-runtime.mjs.map +1 -1
  21. package/preset/odai/runtime/prompt-runtime.d.mts +1 -0
  22. package/preset/odai/runtime/prompt-runtime.d.mts.map +1 -1
  23. package/preset/odai/runtime/prompt-runtime.mjs +32 -6
  24. package/preset/odai/runtime/prompt-runtime.mjs.map +1 -1
  25. package/preset/odai/runtime/responsibility-return.d.mts +21 -0
  26. package/preset/odai/runtime/responsibility-return.d.mts.map +1 -0
  27. package/preset/odai/runtime/responsibility-return.mjs +96 -0
  28. package/preset/odai/runtime/responsibility-return.mjs.map +1 -0
  29. package/preset/odai/runtime/responsibility-scope.d.mts +1 -1
  30. package/preset/odai/runtime/responsibility-scope.d.mts.map +1 -1
  31. package/preset/odai/runtime/responsibility-scope.mjs +3 -3
  32. package/preset/odai/runtime/responsibility-scope.mjs.map +1 -1
  33. package/preset/odai/runtime/role-overlays.mjs +4 -4
  34. package/preset/odai/runtime/role-overlays.mjs.map +1 -1
  35. package/preset/odai/runtime/router.d.mts +1 -1
  36. package/preset/odai/runtime/router.d.mts.map +1 -1
  37. package/preset/odai/runtime/router.mjs +6 -3
  38. package/preset/odai/runtime/router.mjs.map +1 -1
  39. package/preset/odai/runtime/routing-config.d.mts +15 -5
  40. package/preset/odai/runtime/routing-config.d.mts.map +1 -1
  41. package/preset/odai/runtime/routing-config.mjs +113 -44
  42. package/preset/odai/runtime/routing-config.mjs.map +1 -1
  43. package/preset/odai/runtime/routing-context.d.mts +4 -0
  44. package/preset/odai/runtime/routing-context.d.mts.map +1 -1
  45. package/preset/odai/runtime/routing-context.mjs +97 -19
  46. package/preset/odai/runtime/routing-context.mjs.map +1 -1
  47. package/preset/odai/runtime/runtime-config.d.mts.map +1 -1
  48. package/preset/odai/runtime/runtime-config.mjs +10 -1
  49. package/preset/odai/runtime/runtime-config.mjs.map +1 -1
  50. package/preset/odai/runtime/runtime-support.d.mts +3 -1
  51. package/preset/odai/runtime/runtime-support.d.mts.map +1 -1
  52. package/preset/odai/runtime/runtime-support.mjs +5 -1
  53. package/preset/odai/runtime/runtime-support.mjs.map +1 -1
  54. package/preset/odai/runtime/runtime-types.d.mts +3 -0
  55. package/preset/odai/runtime/runtime-types.d.mts.map +1 -1
  56. package/preset/odai/runtime/tool-runtime.d.mts +4 -0
  57. package/preset/odai/runtime/tool-runtime.d.mts.map +1 -1
  58. package/preset/odai/runtime/tool-runtime.mjs +49 -4
  59. package/preset/odai/runtime/tool-runtime.mjs.map +1 -1
@@ -9,8 +9,17 @@ 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";
@@ -40,27 +49,40 @@ export function installLifecycleRuntime(deps) {
40
49
  stopResponsibilityScope(agent, "ownership-boundary", { step });
41
50
  scope = undefined;
42
51
  }
43
- if (!childRole && !scope) {
52
+ if (!childRole && (!scope || scope.state === "pending")) {
44
53
  const restoration = pendingResponsibilityScopeRestoration(evidence.events(agent));
45
54
  if (restoration && sameRequestModelRoute(proposed, restoration.temporaryRoute)) {
46
55
  const { reasoningEffort: _temporaryEffort, maxTokens: _temporaryMaxTokens, ...withoutTemporaryRoute } = proposed;
47
56
  proposed = Object.freeze({ ...withoutTemporaryRoute, ...restoration.baseRoute });
48
- appendEvent(agent, "odai/responsibility-scope-restoration-requested", {
49
- scopeId: restoration.scopeId,
50
- turn,
51
- step,
52
- role: restoration.role,
53
- requestedRoute: restoration.baseRoute,
54
- });
55
- if (agent?.session) {
56
- pendingScopeRestorations.set(agent.session, Object.freeze({
57
- agent,
57
+ if (scope?.state === "pending") {
58
+ appendEvent(agent, "odai/responsibility-scope-restored", {
59
+ scopeId: restoration.scopeId,
60
+ turn,
61
+ step,
62
+ role: restoration.role,
63
+ status: "chained",
64
+ baseRoute: restoration.baseRoute,
65
+ nextScopeId: scope.id,
66
+ });
67
+ }
68
+ else {
69
+ appendEvent(agent, "odai/responsibility-scope-restoration-requested", {
58
70
  scopeId: restoration.scopeId,
59
71
  turn,
60
72
  step,
61
73
  role: restoration.role,
62
- expectedRoute: restoration.baseRoute,
63
- }));
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
+ }
64
86
  }
65
87
  }
66
88
  }
@@ -306,6 +328,22 @@ export function installLifecycleRuntime(deps) {
306
328
  scopeId: activeScope.id,
307
329
  ...(Number.isSafeInteger(event.data?.step) ? { step: event.data.step } : {}),
308
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
+ }
309
347
  }
310
348
  if (event?.type === "assistant/chunk" && event.data?.chunk?.type === "usage") {
311
349
  outputUsageBySession.set(session, {
@@ -654,6 +692,7 @@ export function installLifecycleRuntime(deps) {
654
692
  const taskText = extractRoutingText(downstream.messages, agent?.session?.events).slice(0, config.routing.maxInputChars);
655
693
  let routedDownstream = downstream;
656
694
  let researchPacketText = "";
695
+ let sameTurnResearchDecision;
657
696
  const researchDecision = decideResearchPrefetch({ text: taskText, proposal: responsibilityGap });
658
697
  if (researchDecision.action === "delegate") {
659
698
  appendEvent(agent, "odai/research-decided", {
@@ -687,6 +726,15 @@ export function installLifecycleRuntime(deps) {
687
726
  ...(researchState.error ? { error: researchState.detail } : {}),
688
727
  });
689
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
+ }
690
738
  else {
691
739
  const researchBundle = sharedSkillSelection(agent, turn)?.bundle ?? bundled;
692
740
  const researchContract = dshRoleContract("researcher", researchBundle.roleContracts.researcher, researchBundle.referenceContracts);
@@ -748,14 +796,28 @@ export function installLifecycleRuntime(deps) {
748
796
  }
749
797
  }
750
798
  const frozenCard = responsibilityContinuation?.routeCard ?? activeRouteCard(evidence.events(agent));
751
- let decision = decideRoute({
799
+ let decision = sameTurnResearchDecision ?? decideRoute({
752
800
  text: taskText,
753
801
  routeCard: frozenCard,
754
802
  proposal: responsibilityGap,
755
803
  interruption: responsibilityContinuation,
756
804
  });
757
805
  let routeRole = decision.targetRole ?? decision.role;
758
- const roleTaskText = researchPacketText ? `${taskText}\n\n${researchPacketText}` : taskText;
806
+ const responsibilityTaskText = responsibilityGap?.responsibility === routeRole
807
+ ? [
808
+ "# Evidence-grounded responsibility gap",
809
+ JSON.stringify({
810
+ responsibility: responsibilityGap.responsibility,
811
+ gap: responsibilityGap.gap,
812
+ expectedChange: responsibilityGap.expectedChange,
813
+ evidenceRefs: responsibilityGap.evidenceRefs,
814
+ }, undefined, 2),
815
+ "",
816
+ "# Direct user task",
817
+ taskText,
818
+ ].join("\n")
819
+ : taskText;
820
+ const roleTaskText = researchPacketText ? `${responsibilityTaskText}\n\n${researchPacketText}` : responsibilityTaskText;
759
821
  let roleContext = decision.action === "direct"
760
822
  ? undefined
761
823
  : buildRoleContextPacket(agent, routeRole, roleTaskText);
@@ -766,6 +828,7 @@ export function installLifecycleRuntime(deps) {
766
828
  if (config.routing.mode === "auto"
767
829
  && routeRole === "reviewer"
768
830
  && decision.action === "delegate"
831
+ && effectiveRoleDispatch("reviewer", configuredRole(agent, "reviewer", turn).dispatch, config.routing.mode) === "child"
769
832
  && roleContext
770
833
  && !roleContext.sufficient) {
771
834
  localReviewerCoverage = roleContext.coverage;
@@ -832,6 +895,7 @@ export function installLifecycleRuntime(deps) {
832
895
  acceptanceCount: localReviewerCoverage.acceptanceCount,
833
896
  diffCount: localReviewerCoverage.diffCount,
834
897
  testCount: localReviewerCoverage.testCount,
898
+ checkCount: localReviewerCoverage.checkCount,
835
899
  diagnostics: roleContext.diagnostics,
836
900
  truncated: roleContext.truncated,
837
901
  sufficient: false,
@@ -864,8 +928,8 @@ export function installLifecycleRuntime(deps) {
864
928
  `An independent reviewer was not started because the bounded packet is incomplete (${JSON.stringify(localReviewerCoverage)}).`,
865
929
  `Evidence diagnostics: ${JSON.stringify(roleContext.diagnostics)}.`,
866
930
  responsibilityGap?.responsibility === "reviewer"
867
- ? "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."
868
- : "Gather project-available acceptance, diff, tests, and matching native tool evidence before submitting a reviewer gap.",
931
+ ? "The recorded reviewer gap remains pending and will be reassessed once new acceptance, write, diff, test, check, failure, or host-evidence diagnostics change the evidence state; do not resubmit it unchanged."
932
+ : "Gather project-available acceptance, diff, tests or read-only checks, and matching native tool evidence before submitting a reviewer gap.",
869
933
  "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.",
870
934
  ].join("\n"), "odai reviewer evidence is incomplete; controller continues locally"),
871
935
  ],
@@ -947,9 +1011,9 @@ export function installLifecycleRuntime(deps) {
947
1011
  }
948
1012
  rolePreflightVerified = health.status === "verified";
949
1013
  }
950
- roleContext ??= buildRoleContextPacket(agent, routeRole, taskText);
951
- const inPlaceUpgrade = decision.action === "upgrade"
952
- && (config.routing.mode === "auto" || ["executor", "frontend"].includes(routeRole));
1014
+ roleContext ??= buildRoleContextPacket(agent, routeRole, roleTaskText);
1015
+ const roleDispatch = effectiveRoleDispatch(routeRole, roleState.dispatch, config.routing.mode);
1016
+ const inPlaceUpgrade = roleDispatch === "same-turn";
953
1017
  const contextMode = inPlaceUpgrade ? "same-turn" : "bounded-packet";
954
1018
  appendEvent(agent, "odai/route-context", {
955
1019
  turn,
@@ -963,11 +1027,12 @@ export function installLifecycleRuntime(deps) {
963
1027
  acceptanceCount: roleContext.coverage.acceptanceCount,
964
1028
  diffCount: roleContext.coverage.diffCount,
965
1029
  testCount: roleContext.coverage.testCount,
1030
+ checkCount: roleContext.coverage.checkCount,
966
1031
  diagnostics: roleContext.diagnostics,
967
1032
  truncated: roleContext.truncated,
968
1033
  sufficient: roleContext.sufficient,
969
1034
  });
970
- if (routeRole === "reviewer" && decision.action === "delegate" && !roleContext.sufficient) {
1035
+ if (routeRole === "reviewer" && roleDispatch === "child" && decision.action === "delegate" && !roleContext.sufficient) {
971
1036
  if (reviewerEvidenceUnchanged)
972
1037
  return routedDownstream;
973
1038
  appendEvent(agent, "odai/route-result", {
@@ -999,7 +1064,7 @@ export function installLifecycleRuntime(deps) {
999
1064
  `Evidence diagnostics: ${JSON.stringify(roleContext.diagnostics)}.`,
1000
1065
  responsibilityGap?.responsibility === "reviewer"
1001
1066
  ? "The recorded reviewer gap remains pending for reassessment after the evidence state changes; do not resubmit it unchanged."
1002
- : "Gather acceptance, an actual patch diff, successful tests, and matching native tool evidence before submitting a reviewer gap.",
1067
+ : "Gather acceptance, an actual patch diff, successful tests or read-only checks, and matching native tool evidence before submitting a reviewer gap.",
1003
1068
  "Do not claim independent acceptance.",
1004
1069
  ].join("\n"), "odai reviewer evidence packet is incomplete"),
1005
1070
  ],
@@ -1024,7 +1089,7 @@ export function installLifecycleRuntime(deps) {
1024
1089
  if (agent?.session)
1025
1090
  responsibilityScopeOwners.set(agent.session, agent);
1026
1091
  appendEvent(agent, "odai/responsibility-scope-started", responsibilityScopeStartedEvent(responsibilityScope));
1027
- if (["planner", "reviewer"].includes(routeRole)) {
1092
+ if (["researcher", "planner", "reviewer"].includes(routeRole)) {
1028
1093
  protectController(agent, turn, step, decision, `responsibility-scope-${routeRole}`, undefined, responsibilityScope.id);
1029
1094
  }
1030
1095
  if (routeRole === "executor" && frozenCard) {
@@ -1059,7 +1124,7 @@ export function installLifecycleRuntime(deps) {
1059
1124
  messages: [
1060
1125
  ...routedDownstream.messages,
1061
1126
  pluginMessage([
1062
- renderRouteNotice(decision, config.routing.mode, roleRoute),
1127
+ renderRouteNotice(decision, config.routing.mode, roleRoute, roleDispatch),
1063
1128
  "",
1064
1129
  `Context digest: sha256:${roleContext.digest}`,
1065
1130
  contextBoundary,
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle-runtime.mjs","sourceRoot":"","sources":["../src/lifecycle-runtime.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lifecycle-runtime.mjs","sourceRoot":"","sources":["../src/lifecycle-runtime.mts"],"names":[],"mappings":"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"}
@@ -35,6 +35,7 @@ interface PromptInstallDependencies {
35
35
  turn?: number;
36
36
  step: number;
37
37
  routeCard: boolean;
38
+ responsibilityReturn: boolean;
38
39
  }): readonly string[];
39
40
  }
40
41
  export declare function createPromptRuntime(deps: PromptDependencies): {
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-runtime.d.mts","sourceRoot":"","sources":["../src/prompt-runtime.mts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAIxD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAE1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAwBlE,OAAO,KAAK,EACV,oBAAoB,EACpB,cAAc,EACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,QAAQ,EACR,QAAQ,EACR,iBAAiB,EAEjB,aAAa,EACb,gBAAgB,EAChB,aAAa,EAEd,MAAM,qBAAqB,CAAC;AAE7B,UAAU,aAAa;IACrB,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,UAAU,eAAe;IACvB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,kBAAkB;IAC1B,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/D,MAAM,EAAE,aAAa,CAAC;IACtB,GAAG,EAAE,iBAAiB,CAAC;IACvB,QAAQ,EAAE;QAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAA;KAAE,CAAC;IAClD,eAAe,CACb,KAAK,EAAE,QAAQ,EACf,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,OAAO,GAC7C,OAAO,CAAC;IACX,8BAA8B,EAAE,MAAM,CAAC;IACvC,MAAM,EAAE,aAAa,CAAC;CACvB;AAMD,UAAU,yBAAyB;IACjC,wBAAwB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,yBAAyB,GAAG,SAAS,CAAC;IACzH,gBAAgB,CACd,KAAK,EAAE,QAAQ,EACf,UAAU,EAAE,iBAAiB,EAC7B,OAAO,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,GAC3D,SAAS,MAAM,EAAE,CAAC;CACtB;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,kBAAkB;;;kCA4IrB,QAAQ,QAAQ,MAAM,gCAAmC,iBAAiB;;;8DAsB9C,yBAAyB,KAAG,IAAI;+BAnC/D,QAAQ,gCAAmC,cAAc;gCAkBxD,QAAQ,gCAAmC,oBAAoB;4BApC7D,QAAQ,WAAW,aAAa,KAAG,OAAO,CAAC,cAAc,CAAC;gCAI9D,eAAe;oCA3BH,QAAQ,WAAW,aAAa,KAAG,OAAO,CAAC,cAAc,CAAC;;EA8LxG"}
1
+ {"version":3,"file":"prompt-runtime.d.mts","sourceRoot":"","sources":["../src/prompt-runtime.mts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAIxD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAE1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAwBlE,OAAO,KAAK,EACV,oBAAoB,EACpB,cAAc,EACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,QAAQ,EACR,QAAQ,EACR,iBAAiB,EAEjB,aAAa,EACb,gBAAgB,EAChB,aAAa,EAEd,MAAM,qBAAqB,CAAC;AAE7B,UAAU,aAAa;IACrB,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,UAAU,eAAe;IACvB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,kBAAkB;IAC1B,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/D,MAAM,EAAE,aAAa,CAAC;IACtB,GAAG,EAAE,iBAAiB,CAAC;IACvB,QAAQ,EAAE;QAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAA;KAAE,CAAC;IAClD,eAAe,CACb,KAAK,EAAE,QAAQ,EACf,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,OAAO,GAC7C,OAAO,CAAC;IACX,8BAA8B,EAAE,MAAM,CAAC;IACvC,MAAM,EAAE,aAAa,CAAC;CACvB;AAMD,UAAU,yBAAyB;IACjC,wBAAwB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,yBAAyB,GAAG,SAAS,CAAC;IACzH,gBAAgB,CACd,KAAK,EAAE,QAAQ,EACf,UAAU,EAAE,iBAAiB,EAC7B,OAAO,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAC;QAAC,oBAAoB,EAAE,OAAO,CAAA;KAAE,GAC1F,SAAS,MAAM,EAAE,CAAC;CACtB;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,kBAAkB;;;kCAiJrB,QAAQ,QAAQ,MAAM,gCAAmC,iBAAiB;;;8DAsB9C,yBAAyB,KAAG,IAAI;+BAnC/D,QAAQ,gCAAmC,cAAc;gCAkBxD,QAAQ,gCAAmC,oBAAoB;4BApC7D,QAAQ,WAAW,aAAa,KAAG,OAAO,CAAC,cAAc,CAAC;gCAI9D,eAAe;oCA3BH,QAAQ,WAAW,aAAa,KAAG,OAAO,CAAC,cAAc,CAAC;;EAoNxG"}
@@ -1,4 +1,4 @@
1
- import { extractLatestUserText } from "./router.mjs";
1
+ import { classifyImplementationAuthorization, decideRoute, extractLatestUserText } from "./router.mjs";
2
2
  import { ROUTING_CONFIG_PROMPT, effectiveRoutingSnapshot } from "./routing-config.mjs";
3
3
  import { DEFAULT_OUTPUT_POLICY, effectiveOutputPolicy, renderOutputPolicyPrompt } from "./output-config.mjs";
4
4
  import { selectSharedOutputPolicyForTurn } from "./output-policy-state.mjs";
@@ -6,7 +6,7 @@ import { COMPACTION_CONFIG_PROMPT } from "./compaction-config.mjs";
6
6
  import { RESPONSIBILITY_GAP_PROMPT } from "./responsibility-gap.mjs";
7
7
  import { classifyContextActivation } from "./context-activation.mjs";
8
8
  import { activateRequestedCapabilities, requestedContextCapabilities } from "./context-capability.mjs";
9
- import { pendingResponsibilityInterruption } from "./responsibility-scope.mjs";
9
+ import { latestDanglingResponsibilityScope, pendingResponsibilityInterruption } from "./responsibility-scope.mjs";
10
10
  import { HUMAN_SAFETY_CONTINUITY_PROMPT, renderHumanSafetyContinuitySection, } from "./human-safety-continuity.mjs";
11
11
  import { readHumanSafetyContinuityStore } from "./human-safety-continuity-store.mjs";
12
12
  import { ROUTE_CARD_PROMPT, activeRouteCard } from "./route-card.mjs";
@@ -47,6 +47,11 @@ export function createPromptRuntime(deps) {
47
47
  order: -20,
48
48
  text: canonicalPrompt(baseSelection),
49
49
  });
50
+ ctx.systemPrompt.section({
51
+ name: "odai:canonical-craft",
52
+ order: -19.5,
53
+ text: "",
54
+ });
50
55
  ctx.systemPrompt.section({
51
56
  name: "odai:routing-configuration",
52
57
  order: -19,
@@ -169,7 +174,7 @@ export function createPromptRuntime(deps) {
169
174
  let state;
170
175
  try {
171
176
  state = Object.freeze({
172
- snapshot: effectiveRoutingSnapshot(config.routing.configPath, config.routing.roles),
177
+ snapshot: effectiveRoutingSnapshot(config.routing.configPath, config.routing.roles, config.routing.dispatch),
173
178
  });
174
179
  }
175
180
  catch (error) {
@@ -189,14 +194,27 @@ export function createPromptRuntime(deps) {
189
194
  const turn = currentAgentTurn(agent);
190
195
  const childSession = isSubagentSession(agent);
191
196
  const directMessage = latestDirectUserMessage(agent);
192
- const activation = contextActivationFor(agent, directMessage ? extractLatestUserText([directMessage]) : "", turn);
197
+ const directText = directMessage ? extractLatestUserText([directMessage]) : "";
198
+ const activation = contextActivationFor(agent, directText, turn);
193
199
  const proposedStep = (currentAgentStep(agent) ?? 0) + 1;
194
200
  const exposureEvents = evidence.events(agent);
201
+ const pendingGap = pendingResponsibilityGap(agent, turn, proposedStep);
202
+ const routeCandidate = decideRoute({ text: directText, proposal: pendingGap });
203
+ const danglingScope = latestDanglingResponsibilityScope(exposureEvents);
204
+ const pendingReadOnlyRole = pendingGap?.responsibility
205
+ ?? (routeCandidate.action === "upgrade" ? routeCandidate.targetRole : undefined);
206
+ const responsibilityReturnNeeded = !childSession && (["researcher", "planner", "reviewer"].includes(pendingReadOnlyRole ?? "")
207
+ || ["researcher", "planner", "reviewer"].includes(danglingScope?.role ?? ""));
195
208
  const routeCardNeeded = !childSession && (Boolean(activeRouteCard(exposureEvents))
196
- || ["planner", "executor"].includes(pendingResponsibilityGap(agent, turn, proposedStep)?.responsibility ?? "")
209
+ || ["planner", "executor"].includes(pendingGap?.responsibility ?? "")
197
210
  || pendingResponsibilityInterruption(exposureEvents)?.responsibility === "executor");
198
211
  // DSH builds assembly.tools before this middleware runs. Filter that snapshot and the execution registry together.
199
- const activeToolNames = syncToolExposure(agent, activation, { turn, step: proposedStep, routeCard: routeCardNeeded });
212
+ const activeToolNames = syncToolExposure(agent, activation, {
213
+ turn,
214
+ step: proposedStep,
215
+ routeCard: routeCardNeeded,
216
+ responsibilityReturn: responsibilityReturnNeeded,
217
+ });
200
218
  const executableSchemas = typeof ctx.tools.schemas === "function" ? ctx.tools.schemas(agent) : [];
201
219
  const visibleAssembly = reconcileAdaptiveToolSchemas(assembly, activeToolNames, executableSchemas);
202
220
  if (visibleAssembly !== assembly)
@@ -235,6 +253,12 @@ export function createPromptRuntime(deps) {
235
253
  logger.warn(`Odai skill source ${selection.mode} fell back to bundled governance (${selection.reasonCode})`);
236
254
  }
237
255
  const outputPrompt = renderOutputPolicyPrompt(outputSelection.policy);
256
+ const canonicalCraft = selection.bundle.referenceContracts.craft;
257
+ const craftPrompt = !childSession
258
+ && classifyImplementationAuthorization(directText).status === "authorized"
259
+ && typeof canonicalCraft === "string"
260
+ ? `# Canonical craft reference\n\n${canonicalCraft.trim()}`
261
+ : "";
238
262
  const routingPrompt = !activation.routingConfig
239
263
  ? ""
240
264
  : childSession
@@ -264,6 +288,8 @@ export function createPromptRuntime(deps) {
264
288
  sections: reconciledDownstream.sections.map((section) => {
265
289
  if (section.name === "odai:canonical-governance")
266
290
  return { ...section, text: canonicalPrompt(selection) };
291
+ if (section.name === "odai:canonical-craft")
292
+ return { ...section, text: craftPrompt };
267
293
  if (section.name === "odai:routing-configuration")
268
294
  return { ...section, text: routingPrompt };
269
295
  if (section.name === "odai:human-safety-continuity")