@alan512/experienceengine 0.2.0 → 0.3.0

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 (182) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.mcp.json +5 -6
  3. package/README.md +65 -54
  4. package/README.zh-CN.md +64 -53
  5. package/dist/adapters/codex/action-registry.d.ts +23 -1
  6. package/dist/adapters/codex/action-registry.js +73 -0
  7. package/dist/adapters/codex/action-registry.js.map +1 -1
  8. package/dist/adapters/codex/behavior-loop.d.ts +80 -0
  9. package/dist/adapters/codex/behavior-loop.js +189 -0
  10. package/dist/adapters/codex/behavior-loop.js.map +1 -0
  11. package/dist/adapters/codex/mcp-server.d.ts +27 -72
  12. package/dist/adapters/codex/mcp-server.js +36 -160
  13. package/dist/adapters/codex/mcp-server.js.map +1 -1
  14. package/dist/cli/commands/claude-hook.d.ts +4 -0
  15. package/dist/cli/commands/claude-hook.js +105 -21
  16. package/dist/cli/commands/claude-hook.js.map +1 -1
  17. package/dist/cli/commands/codex-hook.d.ts +22 -0
  18. package/dist/cli/commands/codex-hook.js +298 -0
  19. package/dist/cli/commands/codex-hook.js.map +1 -0
  20. package/dist/cli/commands/config.js +9 -1
  21. package/dist/cli/commands/config.js.map +1 -1
  22. package/dist/cli/commands/doctor.js +77 -2
  23. package/dist/cli/commands/doctor.js.map +1 -1
  24. package/dist/cli/commands/inspect.d.ts +1 -1
  25. package/dist/cli/commands/inspect.js +329 -4
  26. package/dist/cli/commands/inspect.js.map +1 -1
  27. package/dist/cli/commands/install.js +2 -0
  28. package/dist/cli/commands/install.js.map +1 -1
  29. package/dist/cli/commands/maintenance.js +4 -0
  30. package/dist/cli/commands/maintenance.js.map +1 -1
  31. package/dist/cli/commands/repair.js +33 -3
  32. package/dist/cli/commands/repair.js.map +1 -1
  33. package/dist/cli/commands/status.js +33 -0
  34. package/dist/cli/commands/status.js.map +1 -1
  35. package/dist/cli/dispatch.js +8 -3
  36. package/dist/cli/dispatch.js.map +1 -1
  37. package/dist/cli/index.js +0 -0
  38. package/dist/config/config-schema.d.ts +8 -0
  39. package/dist/config/config-schema.js +6 -0
  40. package/dist/config/config-schema.js.map +1 -1
  41. package/dist/config/default-config.js +1 -0
  42. package/dist/config/default-config.js.map +1 -1
  43. package/dist/config/load-config.js +3 -0
  44. package/dist/config/load-config.js.map +1 -1
  45. package/dist/controller/candidate-retriever.d.ts +5 -1
  46. package/dist/controller/candidate-retriever.js +237 -13
  47. package/dist/controller/candidate-retriever.js.map +1 -1
  48. package/dist/controller/injection-renderer.d.ts +2 -2
  49. package/dist/controller/injection-renderer.js +22 -3
  50. package/dist/controller/injection-renderer.js.map +1 -1
  51. package/dist/controller/injection-scorecard.js +3 -0
  52. package/dist/controller/injection-scorecard.js.map +1 -1
  53. package/dist/controller/intervention-controller.d.ts +2 -2
  54. package/dist/controller/intervention-controller.js +185 -25
  55. package/dist/controller/intervention-controller.js.map +1 -1
  56. package/dist/controller/model-reranker-mode.d.ts +4 -0
  57. package/dist/controller/model-reranker-mode.js +14 -0
  58. package/dist/controller/model-reranker-mode.js.map +1 -0
  59. package/dist/controller/model-reranker.d.ts +0 -1
  60. package/dist/controller/model-reranker.js +1 -13
  61. package/dist/controller/model-reranker.js.map +1 -1
  62. package/dist/controller/policy-enricher.d.ts +2 -1
  63. package/dist/controller/policy-enricher.js +71 -11
  64. package/dist/controller/policy-enricher.js.map +1 -1
  65. package/dist/controller/trigger-evaluator.d.ts +2 -1
  66. package/dist/controller/trigger-evaluator.js +24 -0
  67. package/dist/controller/trigger-evaluator.js.map +1 -1
  68. package/dist/evaluation/openclaw-scenarios.js +12 -5
  69. package/dist/evaluation/openclaw-scenarios.js.map +1 -1
  70. package/dist/experience-management/repo-policy.d.ts +53 -0
  71. package/dist/experience-management/repo-policy.js +175 -0
  72. package/dist/experience-management/repo-policy.js.map +1 -0
  73. package/dist/hybrid/capsule-builder.js +2 -0
  74. package/dist/hybrid/capsule-builder.js.map +1 -1
  75. package/dist/input/scope-resolver.js +16 -4
  76. package/dist/input/scope-resolver.js.map +1 -1
  77. package/dist/install/claude-cli.js +38 -21
  78. package/dist/install/claude-cli.js.map +1 -1
  79. package/dist/install/claude-code-doctor.js +8 -3
  80. package/dist/install/claude-code-doctor.js.map +1 -1
  81. package/dist/install/claude-code-installer.js +5 -2
  82. package/dist/install/claude-code-installer.js.map +1 -1
  83. package/dist/install/claude-runtime-target.d.ts +5 -0
  84. package/dist/install/claude-runtime-target.js +32 -2
  85. package/dist/install/claude-runtime-target.js.map +1 -1
  86. package/dist/install/codex-cli.d.ts +7 -0
  87. package/dist/install/codex-cli.js +43 -20
  88. package/dist/install/codex-cli.js.map +1 -1
  89. package/dist/install/codex-hooks.d.ts +42 -0
  90. package/dist/install/codex-hooks.js +258 -0
  91. package/dist/install/codex-hooks.js.map +1 -0
  92. package/dist/install/codex-installer.d.ts +28 -3
  93. package/dist/install/codex-installer.js +120 -9
  94. package/dist/install/codex-installer.js.map +1 -1
  95. package/dist/install/codex-runtime-target.d.ts +20 -0
  96. package/dist/install/codex-runtime-target.js +85 -17
  97. package/dist/install/codex-runtime-target.js.map +1 -1
  98. package/dist/install/openclaw-cli.d.ts +1 -0
  99. package/dist/install/openclaw-cli.js +52 -3
  100. package/dist/install/openclaw-cli.js.map +1 -1
  101. package/dist/install/openclaw-installer.d.ts +5 -0
  102. package/dist/install/openclaw-installer.js +24 -5
  103. package/dist/install/openclaw-installer.js.map +1 -1
  104. package/dist/interaction/repo-summary.d.ts +17 -0
  105. package/dist/interaction/repo-summary.js +33 -15
  106. package/dist/interaction/repo-summary.js.map +1 -1
  107. package/dist/interaction/retrieval-policy-inspection.d.ts +19 -0
  108. package/dist/interaction/retrieval-policy-inspection.js +33 -0
  109. package/dist/interaction/retrieval-policy-inspection.js.map +1 -0
  110. package/dist/interaction/service.d.ts +24 -1
  111. package/dist/interaction/service.js +186 -23
  112. package/dist/interaction/service.js.map +1 -1
  113. package/dist/maintenance/claude-validate-print.d.ts +8 -1
  114. package/dist/maintenance/claude-validate-print.js +52 -2
  115. package/dist/maintenance/claude-validate-print.js.map +1 -1
  116. package/dist/maintenance/experience-export-drafts.d.ts +56 -0
  117. package/dist/maintenance/experience-export-drafts.js +217 -0
  118. package/dist/maintenance/experience-export-drafts.js.map +1 -0
  119. package/dist/maintenance/experience-hygiene.d.ts +38 -0
  120. package/dist/maintenance/experience-hygiene.js +266 -0
  121. package/dist/maintenance/experience-hygiene.js.map +1 -0
  122. package/dist/maintenance/operator-review-flow.d.ts +81 -0
  123. package/dist/maintenance/operator-review-flow.js +172 -0
  124. package/dist/maintenance/operator-review-flow.js.map +1 -0
  125. package/dist/plugin/openclaw-plugin.d.ts +5 -0
  126. package/dist/plugin/runtime-helpers.js +43 -1
  127. package/dist/plugin/runtime-helpers.js.map +1 -1
  128. package/dist/runtime/prompt-service.d.ts +51 -0
  129. package/dist/runtime/prompt-service.js +209 -0
  130. package/dist/runtime/prompt-service.js.map +1 -0
  131. package/dist/runtime/service.d.ts +8 -2
  132. package/dist/runtime/service.js +234 -44
  133. package/dist/runtime/service.js.map +1 -1
  134. package/dist/store/sqlite/db.js +15 -0
  135. package/dist/store/sqlite/db.js.map +1 -1
  136. package/dist/store/sqlite/repositories/attribution-record-repo.d.ts +15 -0
  137. package/dist/store/sqlite/repositories/attribution-record-repo.js +111 -0
  138. package/dist/store/sqlite/repositories/attribution-record-repo.js.map +1 -0
  139. package/dist/store/sqlite/repositories/episode-repo.d.ts +14 -0
  140. package/dist/store/sqlite/repositories/episode-repo.js +84 -0
  141. package/dist/store/sqlite/repositories/episode-repo.js.map +1 -0
  142. package/dist/store/sqlite/repositories/injection-repo.d.ts +2 -0
  143. package/dist/store/sqlite/repositories/injection-repo.js +32 -5
  144. package/dist/store/sqlite/repositories/injection-repo.js.map +1 -1
  145. package/dist/store/sqlite/repositories/input-record-repo.d.ts +1 -0
  146. package/dist/store/sqlite/repositories/input-record-repo.js +23 -10
  147. package/dist/store/sqlite/repositories/input-record-repo.js.map +1 -1
  148. package/dist/store/sqlite/repositories/node-repo.d.ts +2 -0
  149. package/dist/store/sqlite/repositories/node-repo.js +19 -0
  150. package/dist/store/sqlite/repositories/node-repo.js.map +1 -1
  151. package/dist/store/sqlite/repositories/outcome-record-repo.d.ts +1 -0
  152. package/dist/store/sqlite/repositories/outcome-record-repo.js +11 -2
  153. package/dist/store/sqlite/repositories/outcome-record-repo.js.map +1 -1
  154. package/dist/store/sqlite/repositories/repo-policy-repo.d.ts +11 -0
  155. package/dist/store/sqlite/repositories/repo-policy-repo.js +87 -0
  156. package/dist/store/sqlite/repositories/repo-policy-repo.js.map +1 -0
  157. package/dist/store/sqlite/repositories/review-event-repo.d.ts +1 -0
  158. package/dist/store/sqlite/repositories/review-event-repo.js +11 -2
  159. package/dist/store/sqlite/repositories/review-event-repo.js.map +1 -1
  160. package/dist/store/sqlite/repositories/task-run-repo.d.ts +1 -0
  161. package/dist/store/sqlite/repositories/task-run-repo.js +11 -2
  162. package/dist/store/sqlite/repositories/task-run-repo.js.map +1 -1
  163. package/dist/store/sqlite/schema.sql +43 -0
  164. package/dist/store/vector/api-embedding-provider.js +14 -3
  165. package/dist/store/vector/api-embedding-provider.js.map +1 -1
  166. package/dist/store/vector/embeddings.js +7 -1
  167. package/dist/store/vector/embeddings.js.map +1 -1
  168. package/dist/types/domain.d.ts +105 -3
  169. package/dist/utils/text.js +5 -1
  170. package/dist/utils/text.js.map +1 -1
  171. package/docs/assets/readme/inspect-last-example.svg +37 -0
  172. package/docs/releases/v0.2.1.md +30 -0
  173. package/docs/releases/v0.3.0.md +17 -0
  174. package/docs/user-guide.md +91 -5
  175. package/openclaw.plugin.json +1 -1
  176. package/package.json +16 -14
  177. package/plugins/claude-code-experienceengine/.claude-plugin/plugin.json +1 -1
  178. package/plugins/claude-code-experienceengine/.mcp.json +3 -9
  179. package/plugins/claude-code-experienceengine/scripts/install-deps.sh +1 -1
  180. package/plugins/claude-code-experienceengine/scripts/mcp-server.sh +43 -0
  181. package/scripts/claude-plugin/claude-hook.sh +6 -1
  182. package/scripts/claude-plugin/mcp-server.sh +45 -0
@@ -10,6 +10,7 @@ import { resolveScope } from "../input/scope-resolver.js";
10
10
  import { decideIntervention } from "../controller/intervention-controller.js";
11
11
  import { renderInlineNotice } from "../controller/inline-notice.js";
12
12
  import { applyGovernedNodeFeedback, deriveNodeOriginProfileForNode } from "../experience-management/node-lifecycle-governance.js";
13
+ import { evaluateRepoPolicy } from "../experience-management/repo-policy.js";
13
14
  import { resolveHybridRolloutState } from "../hybrid/rollout.js";
14
15
  import { selectHybridRoute } from "../hybrid/router.js";
15
16
  import { nowIso } from "../utils/clock.js";
@@ -25,6 +26,8 @@ import { ScopeRepository } from "../store/sqlite/repositories/scope-repo.js";
25
26
  import { StatsRepository } from "../store/sqlite/repositories/stats-repo.js";
26
27
  import { TaskRunRepository } from "../store/sqlite/repositories/task-run-repo.js";
27
28
  import { InjectionRepository } from "../store/sqlite/repositories/injection-repo.js";
29
+ import { AttributionRecordRepository } from "../store/sqlite/repositories/attribution-record-repo.js";
30
+ import { RepoPolicyRepository } from "../store/sqlite/repositories/repo-policy-repo.js";
28
31
  import { HybridInvocationTraceRepository } from "../store/sqlite/repositories/hybrid-invocation-trace-repo.js";
29
32
  import { RuntimeCaptureWriter } from "../plugin/runtime-capture.js";
30
33
  import { normalizeToolResult } from "../plugin/hooks/tool-result-persist.js";
@@ -38,8 +41,9 @@ const loadHybridPostmortemProviderClient = async () => import("../hybrid/postmor
38
41
  const toEvidence = (input) => input.tool_events.map((event) => [event.tool_name, event.status, event.error_signature ?? event.output_summary]
39
42
  .filter(Boolean)
40
43
  .join(": "));
41
- const toInputRecord = (input, sessionId) => ({
44
+ const toInputRecord = (input, sessionId, episodeId) => ({
42
45
  record_id: createId("input"),
46
+ episode_id: episodeId,
43
47
  scope_id: input.scope_id,
44
48
  session_id: sessionId,
45
49
  task_type: input.task_type,
@@ -50,11 +54,12 @@ const toInputRecord = (input, sessionId) => ({
50
54
  injected_node_ids: input.injected_node_ids,
51
55
  created_at: nowIso()
52
56
  });
53
- const toTaskRun = (input, sessionId, context) => {
57
+ const toTaskRun = (input, sessionId, context, episodeId) => {
54
58
  const timestamp = nowIso();
55
59
  const signals = buildCandidateSignals(input);
56
60
  return {
57
61
  id: stableId("taskrun", `${sessionId}:${input.task_summary}:${timestamp}`),
62
+ episode_id: episodeId,
58
63
  host: context.host ?? "openclaw",
59
64
  scope_id: input.scope_id,
60
65
  session_id: sessionId,
@@ -72,8 +77,9 @@ const toTaskRun = (input, sessionId, context) => {
72
77
  updated_at: timestamp
73
78
  };
74
79
  };
75
- const toOutcomeRecord = (taskRun, input) => ({
80
+ const toOutcomeRecord = (taskRun, input, episodeId) => ({
76
81
  id: createId("outcome"),
82
+ episode_id: episodeId,
77
83
  task_run_id: taskRun.id,
78
84
  outcome_signal: input.outcome_signal,
79
85
  failure_signature: taskRun.failure_signature,
@@ -96,6 +102,10 @@ const buildCandidateSourceSignal = (input) => {
96
102
  tool_event_summary: signals.tool_event_summary
97
103
  };
98
104
  };
105
+ const resolveEpisodeId = (session, sessionId, input) => {
106
+ session.episodeId ??= stableId("episode", `${sessionId}:${input.scope_id}:${input.task_summary}`);
107
+ return session.episodeId;
108
+ };
99
109
  const mergeDirectionalCorrectionIntoSourceSignal = (sourceSignal, draft) => {
100
110
  const directionalCorrection = sourceSignal.directional_correction;
101
111
  if (!directionalCorrection) {
@@ -249,6 +259,31 @@ const resolveDeliveryMode = (evaluationMode, holdoutRate, sessionId, taskSummary
249
259
  delivered: true
250
260
  };
251
261
  };
262
+ const buildRecordOnlyDiagnosticScorecard = (input, sessionId, diagnostics) => ({
263
+ sessionId,
264
+ scopeId: input.scope_id,
265
+ taskType: input.task_type === "unknown" ? "general" : input.task_type,
266
+ taskSummary: input.task_summary,
267
+ mode: "skip",
268
+ interventionStrength: "diagnostic_hint",
269
+ riskLevel: "high",
270
+ recommendation: "Record-only diagnostic candidate matched; keep it out of prompt text until the live gate clears.",
271
+ reasons: ["A same-scope shadow candidate matched this task but was not delivered."],
272
+ topCandidates: diagnostics.topCandidates,
273
+ topCandidateScore: diagnostics.topCandidateScore,
274
+ scoreMargin: diagnostics.scoreMargin,
275
+ fastPathApplied: diagnostics.fastPathApplied,
276
+ queryRewriteApplied: diagnostics.queryRewriteApplied,
277
+ gateReason: diagnostics.gateReason,
278
+ decisionReason: diagnostics.decisionReason,
279
+ confidence: diagnostics.confidence,
280
+ budgetClass: diagnostics.budgetClass,
281
+ selectedCandidateIds: [],
282
+ recordOnlyDiagnosticCandidateIds: diagnostics.recordOnlyDiagnosticCandidateIds,
283
+ rejectedCandidates: diagnostics.rejectedCandidates,
284
+ nodes: [],
285
+ createdAt: nowIso()
286
+ });
252
287
  const HYBRID_LIGHTWEIGHT_PATTERN = /\b(wording-only|wording only|copy-only|copy only|copy pass|inline notice wording|expression-layer refinement)\b/i;
253
288
  const isLightweightHybridExcludedTask = (input) => HYBRID_LIGHTWEIGHT_PATTERN.test(`${input.task_summary} ${input.context_summary ?? ""}`);
254
289
  export const decidePosttaskHybridRoute = (config, input, signals, rolloutKey = input.task_summary) => {
@@ -282,6 +317,8 @@ export class ExperienceRuntimeService {
282
317
  reviewEventRepo;
283
318
  statsRepo;
284
319
  injectionRepo;
320
+ attributionRecordRepo;
321
+ repoPolicyRepo;
285
322
  hybridReviewArtifactRepo;
286
323
  hybridTraceRepo;
287
324
  runtimeOptions;
@@ -310,6 +347,8 @@ export class ExperienceRuntimeService {
310
347
  this.reviewEventRepo = new ReviewEventRepository(this.db);
311
348
  this.statsRepo = new StatsRepository(this.db);
312
349
  this.injectionRepo = new InjectionRepository(this.db);
350
+ this.attributionRecordRepo = new AttributionRecordRepository(this.db);
351
+ this.repoPolicyRepo = new RepoPolicyRepository(this.db);
313
352
  this.hybridReviewArtifactRepo = new HybridReviewArtifactRepository(this.db);
314
353
  this.hybridTraceRepo = new HybridInvocationTraceRepository(this.db);
315
354
  this.captureWriter = new RuntimeCaptureWriter(config, this.logger);
@@ -340,6 +379,12 @@ export class ExperienceRuntimeService {
340
379
  resolveExactScopeInjectableNodes(scopeId) {
341
380
  return this.nodeRepo.listLiveInjectableByExactScope(scopeId);
342
381
  }
382
+ resolveConservativeCrossScopeCandidates(scopeId) {
383
+ return this.nodeRepo.listConservativeCrossScopeCandidates(scopeId);
384
+ }
385
+ resolveDiagnosticCandidates(scopeId) {
386
+ return this.nodeRepo.listDiagnosticCandidatesByExactScope(scopeId);
387
+ }
343
388
  recoverToolEvents(sessionId, payload) {
344
389
  for (const toolResult of extractToolResultsFromPayload(payload)) {
345
390
  const recoveredEvent = toolResult.toolCallId
@@ -361,14 +406,14 @@ export class ExperienceRuntimeService {
361
406
  }, session.toolEvents);
362
407
  return input;
363
408
  }
364
- persistFinalizedInput(input, sessionId, session) {
365
- const resolvedScope = resolveScope(session.context?.cwd);
409
+ persistFinalizedInput(input, sessionId, session, episodeId, cwd) {
410
+ const resolvedScope = resolveScope(cwd ?? session.context?.cwd);
366
411
  const existingScope = this.scopeRepo.getById(resolvedScope.scope_id);
367
412
  this.scopeRepo.upsert({
368
413
  ...resolvedScope,
369
414
  is_disabled: existingScope?.is_disabled ?? resolvedScope.is_disabled
370
415
  });
371
- const record = toInputRecord(input, sessionId);
416
+ const record = toInputRecord(input, sessionId, episodeId);
372
417
  this.inputRepo.upsert(record);
373
418
  if (input.task_type !== "unknown") {
374
419
  const currentStats = this.statsRepo.get(input.scope_id, input.task_type) ?? createEmptyStats(input.scope_id, input.task_type);
@@ -499,6 +544,7 @@ export class ExperienceRuntimeService {
499
544
  if (feedbackEventType) {
500
545
  this.reviewEventRepo.upsert({
501
546
  id: createId("review"),
547
+ episode_id: input.taskRun.episode_id,
502
548
  node_id: review.node_id,
503
549
  task_run_id: input.taskRun.id,
504
550
  event_type: feedbackEventType,
@@ -509,6 +555,7 @@ export class ExperienceRuntimeService {
509
555
  if (current.delivery_state !== "quarantined" && nodeAfterDelivery.delivery_state === "quarantined") {
510
556
  this.reviewEventRepo.upsert({
511
557
  id: createId("review"),
558
+ episode_id: input.taskRun.episode_id,
512
559
  node_id: review.node_id,
513
560
  task_run_id: input.taskRun.id,
514
561
  event_type: "quarantine",
@@ -681,10 +728,13 @@ export class ExperienceRuntimeService {
681
728
  });
682
729
  }
683
730
  }
684
- updateInjectedNodes(input, attributionRecordId, taskRunId) {
731
+ updateInjectedNodes(input, attributionRecordId, taskRunId, injectionEvent, episodeId) {
685
732
  if (!input.injected_node_ids.length) {
686
733
  return;
687
734
  }
735
+ if (injectionEvent?.scorecard?.interventionStrength === "diagnostic_hint" && !injectionEvent.delivered) {
736
+ return;
737
+ }
688
738
  const touched = input.injected_node_ids
689
739
  .map((id) => this.nodeRepo.getById(id))
690
740
  .filter((node) => Boolean(node));
@@ -708,12 +758,40 @@ export class ExperienceRuntimeService {
708
758
  const originProfilesByNodeId = Object.fromEntries(touched.map((node) => {
709
759
  return [node.id, deriveNodeOriginProfileForNode(this.inputRepo, node)];
710
760
  }));
761
+ const isDiagnosticHint = injectionEvent?.scorecard?.interventionStrength === "diagnostic_hint";
762
+ const highMatchPromotionIds = new Set(isDiagnosticHint
763
+ ? []
764
+ : injectionEvent?.scorecard?.topCandidates
765
+ ?.filter((candidate) => candidate.matchScorecard?.scopeMatch === "same" &&
766
+ candidate.matchScorecard.overallMatchBand === "high" &&
767
+ candidate.matchScorecard.negativeEvidence.length === 0)
768
+ .map((candidate) => candidate.id) ?? []);
769
+ const promotedNodeIds = [];
711
770
  for (const node of applyFeedback(input, touched, attributionRecordId, { originProfilesByNodeId })) {
712
- this.nodeRepo.upsert(node);
771
+ const shouldPromoteSameScopeHighMatch = input.outcome_signal === "success" &&
772
+ input.scope_id === node.scope_id &&
773
+ highMatchPromotionIds.has(node.id) &&
774
+ node.state === "priority_candidate" &&
775
+ node.delivery_state === "conservative_only" &&
776
+ node.harmed_count === 0;
777
+ const nextNode = shouldPromoteSameScopeHighMatch
778
+ ? {
779
+ ...node,
780
+ state: "active",
781
+ delivery_state: "eligible",
782
+ validation_state: node.validation_state ?? "validated_by_reuse",
783
+ promotion_reason: node.promotion_reason ?? "same_scope_high_match_success"
784
+ }
785
+ : node;
786
+ if (shouldPromoteSameScopeHighMatch) {
787
+ promotedNodeIds.push(node.id);
788
+ }
789
+ this.nodeRepo.upsert(nextNode);
713
790
  }
714
791
  for (const event of automaticEvents) {
715
792
  this.reviewEventRepo.upsert({
716
793
  id: createId("review"),
794
+ episode_id: episodeId,
717
795
  node_id: event.nodeId,
718
796
  task_run_id: taskRunId,
719
797
  event_type: event.eventType,
@@ -721,6 +799,90 @@ export class ExperienceRuntimeService {
721
799
  created_at: nowIso()
722
800
  });
723
801
  }
802
+ for (const nodeId of promotedNodeIds) {
803
+ this.reviewEventRepo.upsert({
804
+ id: createId("review"),
805
+ episode_id: episodeId,
806
+ node_id: nodeId,
807
+ task_run_id: taskRunId,
808
+ event_type: "promote_eligible",
809
+ source: "automatic",
810
+ created_at: nowIso()
811
+ });
812
+ }
813
+ }
814
+ deriveAttributionVerdict(input, node, delivered) {
815
+ if (!delivered) {
816
+ return { verdict: "unknown", confidence: "low" };
817
+ }
818
+ if (input.outcome_signal === "success") {
819
+ return { verdict: "weak_helped", confidence: "medium" };
820
+ }
821
+ if (input.outcome_signal === "failure") {
822
+ if (detectHarm(input, node)) {
823
+ return { verdict: "strong_harmed", confidence: "high" };
824
+ }
825
+ const reason = classifyFailureAttributionReason(input, node);
826
+ if (reason === "relevant_failure") {
827
+ return { verdict: "weak_harmed", confidence: "medium" };
828
+ }
829
+ return { verdict: "neutral", confidence: "low" };
830
+ }
831
+ return { verdict: "unknown", confidence: "low" };
832
+ }
833
+ writeAttributionRecords(input) {
834
+ const event = input.resolvedInjectionEvent;
835
+ const evidenceRefs = [input.inputRecordId, input.taskRunId, event.injection_id];
836
+ const selectedNodeIds = new Set(event.injected_node_ids);
837
+ for (const nodeId of selectedNodeIds) {
838
+ const node = this.nodeRepo.getById(nodeId);
839
+ if (!node) {
840
+ continue;
841
+ }
842
+ const attribution = this.deriveAttributionVerdict(input.experienceInput, node, event.delivered);
843
+ this.attributionRecordRepo.insert({
844
+ id: stableId("attr", `${event.injection_id}:${nodeId}:automatic`),
845
+ injection_id: event.injection_id,
846
+ node_id: nodeId,
847
+ episode_id: input.episodeId,
848
+ intervention_strength: event.scorecard?.interventionStrength,
849
+ injection_mode: event.mode,
850
+ delivery_mode: event.delivery_mode,
851
+ delivered: event.delivered,
852
+ outcome: input.experienceInput.outcome_signal,
853
+ attribution_verdict: attribution.verdict,
854
+ confidence: attribution.confidence,
855
+ evidence_refs: evidenceRefs,
856
+ source: "automatic",
857
+ attribution_reason: event.attribution_reason,
858
+ created_at: nowIso(),
859
+ resolved_at: event.resolved_at
860
+ });
861
+ }
862
+ const diagnosticNodeIds = event.scorecard?.recordOnlyDiagnosticCandidateIds ?? [];
863
+ for (const nodeId of diagnosticNodeIds) {
864
+ if (selectedNodeIds.has(nodeId)) {
865
+ continue;
866
+ }
867
+ this.attributionRecordRepo.insert({
868
+ id: stableId("attr", `${event.injection_id}:${nodeId}:diagnostic_record`),
869
+ injection_id: event.injection_id,
870
+ node_id: nodeId,
871
+ episode_id: input.episodeId,
872
+ intervention_strength: "diagnostic_hint",
873
+ injection_mode: event.mode,
874
+ delivery_mode: event.delivery_mode,
875
+ delivered: false,
876
+ outcome: input.experienceInput.outcome_signal,
877
+ attribution_verdict: "unknown",
878
+ confidence: "low",
879
+ evidence_refs: evidenceRefs,
880
+ source: "diagnostic_record",
881
+ attribution_reason: "diagnostic_record",
882
+ created_at: nowIso(),
883
+ resolved_at: event.resolved_at
884
+ });
885
+ }
724
886
  }
725
887
  async beforePromptBuild(context) {
726
888
  const sessionId = context.sessionId ?? "global";
@@ -754,8 +916,26 @@ export class ExperienceRuntimeService {
754
916
  };
755
917
  }
756
918
  const stats = input.task_type !== "unknown" ? this.statsRepo.get(input.scope_id, input.task_type) : undefined;
757
- const nodes = input.task_type !== "unknown" ? this.resolveExactScopeInjectableNodes(input.scope_id) : [];
758
- const decision = await decideIntervention(input, nodes, stats, this.config.triggerThreshold, this.config.maxHints, this.config, retrievalContext);
919
+ const nodes = input.task_type !== "unknown"
920
+ ? [
921
+ ...this.resolveExactScopeInjectableNodes(input.scope_id),
922
+ ...this.resolveConservativeCrossScopeCandidates(input.scope_id),
923
+ ...this.resolveDiagnosticCandidates(input.scope_id)
924
+ ]
925
+ : [];
926
+ const existingRepoPolicy = this.repoPolicyRepo.getOrCreate(input.scope_id, this.config.repoExperienceMode);
927
+ const repoPolicyEvaluation = evaluateRepoPolicy(existingRepoPolicy, this.attributionRecordRepo.listRecentEligibleByScope(input.scope_id), this.injectionRepo.listRecentResolvedByScope(input.scope_id));
928
+ if (repoPolicyEvaluation.changed) {
929
+ this.repoPolicyRepo.upsert(repoPolicyEvaluation.policy);
930
+ this.logger.warn?.("experienceengine.repo_policy_circuit_tripped", {
931
+ scopeId: input.scope_id,
932
+ configuredMode: repoPolicyEvaluation.policy.configured_mode,
933
+ effectiveMode: repoPolicyEvaluation.policy.effective_mode,
934
+ reason: repoPolicyEvaluation.policy.circuit_reason
935
+ });
936
+ }
937
+ const decision = await decideIntervention(input, nodes, stats, this.config.triggerThreshold, this.config.maxHints, this.config, retrievalContext, repoPolicyEvaluation.policy);
938
+ const episodeId = resolveEpisodeId(session, sessionId, input);
759
939
  const selectedNodeIds = decision.selected.map((node) => node.id);
760
940
  const delivery = resolveDeliveryMode(this.config.evaluationMode, this.config.holdoutRate, sessionId, input.task_summary, decision.mode !== "skip" && selectedNodeIds.length > 0);
761
941
  session.injectedNodeIds = delivery.delivered ? selectedNodeIds : [];
@@ -763,30 +943,30 @@ export class ExperienceRuntimeService {
763
943
  ...session.context,
764
944
  injectedNodeIds: session.injectedNodeIds
765
945
  };
766
- if (decision.mode !== "skip") {
767
- const scorecard = buildInjectionScorecard(input, decision.mode, decision.selected, sessionId, decision.diagnostics);
768
- const injectionEvent = {
769
- injection_id: createId("inject"),
770
- session_id: sessionId,
771
- scope_id: input.scope_id,
772
- task_type: input.task_type === "unknown" ? "general" : input.task_type,
773
- task_summary: input.task_summary,
774
- mode: decision.mode,
775
- delivery_mode: delivery.deliveryMode,
776
- delivered: delivery.delivered,
777
- injected_node_ids: selectedNodeIds,
778
- injection_count: selectedNodeIds.length,
779
- scorecard,
780
- was_successful: null,
781
- harm_observed: null,
782
- created_at: nowIso()
783
- };
784
- this.injectionRepo.upsert(injectionEvent);
785
- session.lastInjectionEvent = injectionEvent;
786
- }
787
- else {
788
- session.lastInjectionEvent = undefined;
789
- }
946
+ const scorecard = decision.mode !== "skip"
947
+ ? buildInjectionScorecard(input, decision.mode, decision.selected, sessionId, decision.diagnostics)
948
+ : decision.diagnostics?.recordOnlyDiagnosticCandidateIds?.length
949
+ ? buildRecordOnlyDiagnosticScorecard(input, sessionId, decision.diagnostics)
950
+ : undefined;
951
+ const injectionEvent = {
952
+ injection_id: createId(decision.mode === "skip" ? "decision" : "inject"),
953
+ episode_id: episodeId,
954
+ session_id: sessionId,
955
+ scope_id: input.scope_id,
956
+ task_type: input.task_type === "unknown" ? "general" : input.task_type,
957
+ task_summary: input.task_summary,
958
+ mode: decision.mode,
959
+ delivery_mode: delivery.deliveryMode,
960
+ delivered: delivery.delivered,
961
+ injected_node_ids: selectedNodeIds,
962
+ injection_count: selectedNodeIds.length,
963
+ scorecard,
964
+ was_successful: null,
965
+ harm_observed: null,
966
+ created_at: nowIso()
967
+ };
968
+ this.injectionRepo.upsert(injectionEvent);
969
+ session.lastInjectionEvent = injectionEvent;
790
970
  this.logger.debug?.("experienceengine.before_prompt_build", {
791
971
  sessionId,
792
972
  mode: decision.mode,
@@ -799,7 +979,7 @@ export class ExperienceRuntimeService {
799
979
  mode: deliveredMode,
800
980
  text: deliveredMode === "skip" ? undefined : decision.text,
801
981
  notice: deliveredMode !== "skip" && this.config.noticesInline ? renderInlineNotice(decision.selected) : undefined,
802
- scorecard: decision.mode !== "skip" ? session.lastInjectionEvent?.scorecard : undefined,
982
+ scorecard: session.lastInjectionEvent?.scorecard,
803
983
  deliveryMode: decision.mode !== "skip" ? delivery.deliveryMode : undefined,
804
984
  delivered: decision.mode !== "skip" ? delivery.delivered : undefined,
805
985
  retrievalContext,
@@ -832,17 +1012,19 @@ export class ExperienceRuntimeService {
832
1012
  const input = this.buildFinalizedInput(context, session);
833
1013
  let learningTaskContext;
834
1014
  withTransaction(this.db, () => {
835
- const record = this.persistFinalizedInput(input, sessionId, session);
836
- const taskRun = toTaskRun(input, sessionId, context);
1015
+ const episodeId = resolveEpisodeId(session, sessionId, input);
1016
+ const record = this.persistFinalizedInput(input, sessionId, session, episodeId, context.cwd);
1017
+ const taskRun = toTaskRun(input, sessionId, context, episodeId);
837
1018
  this.taskRunRepo.upsert(taskRun);
838
- this.outcomeRepo.upsert(toOutcomeRecord(taskRun, input));
839
- this.updateInjectedNodes(input, record.record_id, taskRun.id);
840
- if (session.lastInjectionEvent) {
841
- const touchedNodes = session.lastInjectionEvent.injected_node_ids
1019
+ this.outcomeRepo.upsert(toOutcomeRecord(taskRun, input, episodeId));
1020
+ const injectionEvent = session.lastInjectionEvent ?? this.injectionRepo.getLatestBySessionId(sessionId);
1021
+ this.updateInjectedNodes(input, record.record_id, taskRun.id, injectionEvent, episodeId);
1022
+ if (injectionEvent) {
1023
+ const touchedNodes = injectionEvent.injected_node_ids
842
1024
  .map((id) => this.nodeRepo.getById(id))
843
1025
  .filter((node) => Boolean(node));
844
1026
  const harmObserved = touchedNodes.some((node) => detectHarm(input, node));
845
- const attributionReason = !session.lastInjectionEvent.delivered
1027
+ const attributionReason = !injectionEvent.delivered
846
1028
  ? "suppressed_delivery"
847
1029
  : input.outcome_signal === "success"
848
1030
  ? "success_outcome"
@@ -852,12 +1034,20 @@ export class ExperienceRuntimeService {
852
1034
  .find((reason) => reason === "relevant_failure")
853
1035
  ?? classifyFailureAttributionReason(input)
854
1036
  : "unknown_outcome";
855
- this.injectionRepo.upsert({
856
- ...session.lastInjectionEvent,
1037
+ const resolvedInjectionEvent = {
1038
+ ...injectionEvent,
857
1039
  was_successful: input.outcome_signal === "success",
858
1040
  harm_observed: harmObserved,
859
1041
  attribution_reason: attributionReason,
860
1042
  resolved_at: nowIso()
1043
+ };
1044
+ this.injectionRepo.upsert(resolvedInjectionEvent);
1045
+ this.writeAttributionRecords({
1046
+ experienceInput: input,
1047
+ inputRecordId: record.record_id,
1048
+ taskRunId: taskRun.id,
1049
+ episodeId,
1050
+ resolvedInjectionEvent
861
1051
  });
862
1052
  }
863
1053
  learningTaskContext = {
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/runtime/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/runtime/service.ts"],"names":[],"mappings":"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"}