@alan512/experienceengine 0.2.1 → 0.3.1
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.
- package/.claude-plugin/plugin.json +1 -1
- package/.mcp.json +5 -6
- package/README.md +24 -10
- package/README.zh-CN.md +22 -8
- package/dist/adapters/codex/action-registry.d.ts +23 -1
- package/dist/adapters/codex/action-registry.js +73 -0
- package/dist/adapters/codex/action-registry.js.map +1 -1
- package/dist/adapters/codex/behavior-loop.d.ts +80 -0
- package/dist/adapters/codex/behavior-loop.js +189 -0
- package/dist/adapters/codex/behavior-loop.js.map +1 -0
- package/dist/adapters/codex/mcp-server.d.ts +27 -72
- package/dist/adapters/codex/mcp-server.js +36 -160
- package/dist/adapters/codex/mcp-server.js.map +1 -1
- package/dist/cli/commands/claude-hook.d.ts +4 -0
- package/dist/cli/commands/claude-hook.js +105 -21
- package/dist/cli/commands/claude-hook.js.map +1 -1
- package/dist/cli/commands/codex-hook.d.ts +22 -0
- package/dist/cli/commands/codex-hook.js +298 -0
- package/dist/cli/commands/codex-hook.js.map +1 -0
- package/dist/cli/commands/config.js +9 -1
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/doctor.js +63 -1
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/inspect.d.ts +1 -1
- package/dist/cli/commands/inspect.js +325 -1
- package/dist/cli/commands/inspect.js.map +1 -1
- package/dist/cli/commands/install.js +4 -1
- package/dist/cli/commands/install.js.map +1 -1
- package/dist/cli/commands/maintenance.js +4 -0
- package/dist/cli/commands/maintenance.js.map +1 -1
- package/dist/cli/commands/repair.js +35 -3
- package/dist/cli/commands/repair.js.map +1 -1
- package/dist/cli/commands/status.js +27 -0
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/upgrade.js +2 -0
- package/dist/cli/commands/upgrade.js.map +1 -1
- package/dist/cli/dispatch.js +8 -3
- package/dist/cli/dispatch.js.map +1 -1
- package/dist/config/config-schema.d.ts +8 -0
- package/dist/config/config-schema.js +6 -0
- package/dist/config/config-schema.js.map +1 -1
- package/dist/config/default-config.js +1 -0
- package/dist/config/default-config.js.map +1 -1
- package/dist/config/load-config.js +3 -0
- package/dist/config/load-config.js.map +1 -1
- package/dist/controller/candidate-retriever.d.ts +4 -1
- package/dist/controller/candidate-retriever.js +129 -13
- package/dist/controller/candidate-retriever.js.map +1 -1
- package/dist/controller/injection-renderer.d.ts +2 -2
- package/dist/controller/injection-renderer.js +22 -3
- package/dist/controller/injection-renderer.js.map +1 -1
- package/dist/controller/injection-scorecard.js +3 -0
- package/dist/controller/injection-scorecard.js.map +1 -1
- package/dist/controller/intervention-controller.d.ts +2 -2
- package/dist/controller/intervention-controller.js +183 -25
- package/dist/controller/intervention-controller.js.map +1 -1
- package/dist/controller/model-reranker-mode.d.ts +4 -0
- package/dist/controller/model-reranker-mode.js +14 -0
- package/dist/controller/model-reranker-mode.js.map +1 -0
- package/dist/controller/model-reranker.d.ts +0 -1
- package/dist/controller/model-reranker.js +1 -13
- package/dist/controller/model-reranker.js.map +1 -1
- package/dist/controller/policy-enricher.d.ts +2 -1
- package/dist/controller/policy-enricher.js +71 -11
- package/dist/controller/policy-enricher.js.map +1 -1
- package/dist/evaluation/openclaw-scenarios.js +12 -5
- package/dist/evaluation/openclaw-scenarios.js.map +1 -1
- package/dist/experience-management/repo-policy.d.ts +53 -0
- package/dist/experience-management/repo-policy.js +175 -0
- package/dist/experience-management/repo-policy.js.map +1 -0
- package/dist/hybrid/capsule-builder.js +2 -0
- package/dist/hybrid/capsule-builder.js.map +1 -1
- package/dist/input/scope-resolver.js +16 -4
- package/dist/input/scope-resolver.js.map +1 -1
- package/dist/install/claude-cli.js +38 -21
- package/dist/install/claude-cli.js.map +1 -1
- package/dist/install/claude-code-doctor.js +8 -3
- package/dist/install/claude-code-doctor.js.map +1 -1
- package/dist/install/claude-code-installer.js +5 -2
- package/dist/install/claude-code-installer.js.map +1 -1
- package/dist/install/claude-runtime-target.d.ts +5 -0
- package/dist/install/claude-runtime-target.js +32 -2
- package/dist/install/claude-runtime-target.js.map +1 -1
- package/dist/install/codex-cli.d.ts +7 -0
- package/dist/install/codex-cli.js +43 -20
- package/dist/install/codex-cli.js.map +1 -1
- package/dist/install/codex-hooks.d.ts +42 -0
- package/dist/install/codex-hooks.js +280 -0
- package/dist/install/codex-hooks.js.map +1 -0
- package/dist/install/codex-installer.d.ts +21 -3
- package/dist/install/codex-installer.js +98 -9
- package/dist/install/codex-installer.js.map +1 -1
- package/dist/install/codex-runtime-target.d.ts +20 -0
- package/dist/install/codex-runtime-target.js +85 -17
- package/dist/install/codex-runtime-target.js.map +1 -1
- package/dist/install/openclaw-cli.d.ts +1 -0
- package/dist/install/openclaw-cli.js +52 -3
- package/dist/install/openclaw-cli.js.map +1 -1
- package/dist/install/openclaw-installer.d.ts +5 -0
- package/dist/install/openclaw-installer.js +24 -5
- package/dist/install/openclaw-installer.js.map +1 -1
- package/dist/install/public-install.d.ts +1 -0
- package/dist/install/public-install.js +5 -0
- package/dist/install/public-install.js.map +1 -1
- package/dist/interaction/repo-summary.d.ts +17 -0
- package/dist/interaction/repo-summary.js +33 -15
- package/dist/interaction/repo-summary.js.map +1 -1
- package/dist/interaction/retrieval-policy-inspection.d.ts +19 -0
- package/dist/interaction/retrieval-policy-inspection.js +33 -0
- package/dist/interaction/retrieval-policy-inspection.js.map +1 -0
- package/dist/interaction/service.d.ts +24 -1
- package/dist/interaction/service.js +171 -12
- package/dist/interaction/service.js.map +1 -1
- package/dist/maintenance/claude-validate-print.d.ts +8 -1
- package/dist/maintenance/claude-validate-print.js +52 -2
- package/dist/maintenance/claude-validate-print.js.map +1 -1
- package/dist/maintenance/experience-export-drafts.d.ts +56 -0
- package/dist/maintenance/experience-export-drafts.js +217 -0
- package/dist/maintenance/experience-export-drafts.js.map +1 -0
- package/dist/maintenance/experience-hygiene.d.ts +38 -0
- package/dist/maintenance/experience-hygiene.js +266 -0
- package/dist/maintenance/experience-hygiene.js.map +1 -0
- package/dist/maintenance/operator-review-flow.d.ts +81 -0
- package/dist/maintenance/operator-review-flow.js +172 -0
- package/dist/maintenance/operator-review-flow.js.map +1 -0
- package/dist/plugin/openclaw-plugin.d.ts +5 -0
- package/dist/plugin/runtime-helpers.js +43 -1
- package/dist/plugin/runtime-helpers.js.map +1 -1
- package/dist/runtime/prompt-service.d.ts +51 -0
- package/dist/runtime/prompt-service.js +209 -0
- package/dist/runtime/prompt-service.js.map +1 -0
- package/dist/runtime/service.d.ts +7 -2
- package/dist/runtime/service.js +176 -25
- package/dist/runtime/service.js.map +1 -1
- package/dist/store/sqlite/db.js +15 -0
- package/dist/store/sqlite/db.js.map +1 -1
- package/dist/store/sqlite/repositories/attribution-record-repo.d.ts +15 -0
- package/dist/store/sqlite/repositories/attribution-record-repo.js +111 -0
- package/dist/store/sqlite/repositories/attribution-record-repo.js.map +1 -0
- package/dist/store/sqlite/repositories/episode-repo.d.ts +14 -0
- package/dist/store/sqlite/repositories/episode-repo.js +84 -0
- package/dist/store/sqlite/repositories/episode-repo.js.map +1 -0
- package/dist/store/sqlite/repositories/injection-repo.d.ts +2 -0
- package/dist/store/sqlite/repositories/injection-repo.js +32 -5
- package/dist/store/sqlite/repositories/injection-repo.js.map +1 -1
- package/dist/store/sqlite/repositories/input-record-repo.d.ts +1 -0
- package/dist/store/sqlite/repositories/input-record-repo.js +23 -10
- package/dist/store/sqlite/repositories/input-record-repo.js.map +1 -1
- package/dist/store/sqlite/repositories/node-repo.d.ts +1 -0
- package/dist/store/sqlite/repositories/node-repo.js +10 -0
- package/dist/store/sqlite/repositories/node-repo.js.map +1 -1
- package/dist/store/sqlite/repositories/outcome-record-repo.d.ts +1 -0
- package/dist/store/sqlite/repositories/outcome-record-repo.js +11 -2
- package/dist/store/sqlite/repositories/outcome-record-repo.js.map +1 -1
- package/dist/store/sqlite/repositories/repo-policy-repo.d.ts +11 -0
- package/dist/store/sqlite/repositories/repo-policy-repo.js +87 -0
- package/dist/store/sqlite/repositories/repo-policy-repo.js.map +1 -0
- package/dist/store/sqlite/repositories/review-event-repo.d.ts +1 -0
- package/dist/store/sqlite/repositories/review-event-repo.js +11 -2
- package/dist/store/sqlite/repositories/review-event-repo.js.map +1 -1
- package/dist/store/sqlite/repositories/task-run-repo.d.ts +1 -0
- package/dist/store/sqlite/repositories/task-run-repo.js +11 -2
- package/dist/store/sqlite/repositories/task-run-repo.js.map +1 -1
- package/dist/store/sqlite/schema.sql +43 -0
- package/dist/store/vector/api-embedding-provider.js +14 -3
- package/dist/store/vector/api-embedding-provider.js.map +1 -1
- package/dist/store/vector/embeddings.js +5 -51
- package/dist/store/vector/embeddings.js.map +1 -1
- package/dist/store/vector/local-provider.js +14 -3
- package/dist/store/vector/local-provider.js.map +1 -1
- package/dist/types/domain.d.ts +89 -1
- package/dist/utils/text.js +5 -1
- package/dist/utils/text.js.map +1 -1
- package/docs/assets/readme/inspect-last-example.svg +37 -0
- package/docs/releases/v0.2.1.md +9 -0
- package/docs/releases/v0.3.0.md +20 -0
- package/docs/releases/v0.3.1.md +23 -0
- package/docs/user-guide.md +92 -7
- package/openclaw.plugin.json +1 -1
- package/package.json +3 -3
- package/plugins/claude-code-experienceengine/.claude-plugin/plugin.json +1 -1
- package/plugins/claude-code-experienceengine/.mcp.json +3 -9
- package/plugins/claude-code-experienceengine/scripts/install-deps.sh +1 -1
- package/plugins/claude-code-experienceengine/scripts/mcp-server.sh +43 -0
- package/scripts/claude-plugin/claude-hook.sh +6 -1
- package/scripts/claude-plugin/mcp-server.sh +45 -0
package/dist/runtime/service.js
CHANGED
|
@@ -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);
|
|
@@ -343,6 +382,9 @@ export class ExperienceRuntimeService {
|
|
|
343
382
|
resolveConservativeCrossScopeCandidates(scopeId) {
|
|
344
383
|
return this.nodeRepo.listConservativeCrossScopeCandidates(scopeId);
|
|
345
384
|
}
|
|
385
|
+
resolveDiagnosticCandidates(scopeId) {
|
|
386
|
+
return this.nodeRepo.listDiagnosticCandidatesByExactScope(scopeId);
|
|
387
|
+
}
|
|
346
388
|
recoverToolEvents(sessionId, payload) {
|
|
347
389
|
for (const toolResult of extractToolResultsFromPayload(payload)) {
|
|
348
390
|
const recoveredEvent = toolResult.toolCallId
|
|
@@ -364,14 +406,14 @@ export class ExperienceRuntimeService {
|
|
|
364
406
|
}, session.toolEvents);
|
|
365
407
|
return input;
|
|
366
408
|
}
|
|
367
|
-
persistFinalizedInput(input, sessionId, session) {
|
|
368
|
-
const resolvedScope = resolveScope(session.context?.cwd);
|
|
409
|
+
persistFinalizedInput(input, sessionId, session, episodeId, cwd) {
|
|
410
|
+
const resolvedScope = resolveScope(cwd ?? session.context?.cwd);
|
|
369
411
|
const existingScope = this.scopeRepo.getById(resolvedScope.scope_id);
|
|
370
412
|
this.scopeRepo.upsert({
|
|
371
413
|
...resolvedScope,
|
|
372
414
|
is_disabled: existingScope?.is_disabled ?? resolvedScope.is_disabled
|
|
373
415
|
});
|
|
374
|
-
const record = toInputRecord(input, sessionId);
|
|
416
|
+
const record = toInputRecord(input, sessionId, episodeId);
|
|
375
417
|
this.inputRepo.upsert(record);
|
|
376
418
|
if (input.task_type !== "unknown") {
|
|
377
419
|
const currentStats = this.statsRepo.get(input.scope_id, input.task_type) ?? createEmptyStats(input.scope_id, input.task_type);
|
|
@@ -502,6 +544,7 @@ export class ExperienceRuntimeService {
|
|
|
502
544
|
if (feedbackEventType) {
|
|
503
545
|
this.reviewEventRepo.upsert({
|
|
504
546
|
id: createId("review"),
|
|
547
|
+
episode_id: input.taskRun.episode_id,
|
|
505
548
|
node_id: review.node_id,
|
|
506
549
|
task_run_id: input.taskRun.id,
|
|
507
550
|
event_type: feedbackEventType,
|
|
@@ -512,6 +555,7 @@ export class ExperienceRuntimeService {
|
|
|
512
555
|
if (current.delivery_state !== "quarantined" && nodeAfterDelivery.delivery_state === "quarantined") {
|
|
513
556
|
this.reviewEventRepo.upsert({
|
|
514
557
|
id: createId("review"),
|
|
558
|
+
episode_id: input.taskRun.episode_id,
|
|
515
559
|
node_id: review.node_id,
|
|
516
560
|
task_run_id: input.taskRun.id,
|
|
517
561
|
event_type: "quarantine",
|
|
@@ -684,10 +728,13 @@ export class ExperienceRuntimeService {
|
|
|
684
728
|
});
|
|
685
729
|
}
|
|
686
730
|
}
|
|
687
|
-
updateInjectedNodes(input, attributionRecordId, taskRunId, injectionEvent) {
|
|
731
|
+
updateInjectedNodes(input, attributionRecordId, taskRunId, injectionEvent, episodeId) {
|
|
688
732
|
if (!input.injected_node_ids.length) {
|
|
689
733
|
return;
|
|
690
734
|
}
|
|
735
|
+
if (injectionEvent?.scorecard?.interventionStrength === "diagnostic_hint" && !injectionEvent.delivered) {
|
|
736
|
+
return;
|
|
737
|
+
}
|
|
691
738
|
const touched = input.injected_node_ids
|
|
692
739
|
.map((id) => this.nodeRepo.getById(id))
|
|
693
740
|
.filter((node) => Boolean(node));
|
|
@@ -711,11 +758,14 @@ export class ExperienceRuntimeService {
|
|
|
711
758
|
const originProfilesByNodeId = Object.fromEntries(touched.map((node) => {
|
|
712
759
|
return [node.id, deriveNodeOriginProfileForNode(this.inputRepo, node)];
|
|
713
760
|
}));
|
|
714
|
-
const
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
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) ?? []);
|
|
719
769
|
const promotedNodeIds = [];
|
|
720
770
|
for (const node of applyFeedback(input, touched, attributionRecordId, { originProfilesByNodeId })) {
|
|
721
771
|
const shouldPromoteSameScopeHighMatch = input.outcome_signal === "success" &&
|
|
@@ -741,6 +791,7 @@ export class ExperienceRuntimeService {
|
|
|
741
791
|
for (const event of automaticEvents) {
|
|
742
792
|
this.reviewEventRepo.upsert({
|
|
743
793
|
id: createId("review"),
|
|
794
|
+
episode_id: episodeId,
|
|
744
795
|
node_id: event.nodeId,
|
|
745
796
|
task_run_id: taskRunId,
|
|
746
797
|
event_type: event.eventType,
|
|
@@ -751,6 +802,7 @@ export class ExperienceRuntimeService {
|
|
|
751
802
|
for (const nodeId of promotedNodeIds) {
|
|
752
803
|
this.reviewEventRepo.upsert({
|
|
753
804
|
id: createId("review"),
|
|
805
|
+
episode_id: episodeId,
|
|
754
806
|
node_id: nodeId,
|
|
755
807
|
task_run_id: taskRunId,
|
|
756
808
|
event_type: "promote_eligible",
|
|
@@ -759,6 +811,79 @@ export class ExperienceRuntimeService {
|
|
|
759
811
|
});
|
|
760
812
|
}
|
|
761
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
|
+
}
|
|
886
|
+
}
|
|
762
887
|
async beforePromptBuild(context) {
|
|
763
888
|
const sessionId = context.sessionId ?? "global";
|
|
764
889
|
const session = this.getSession(sessionId);
|
|
@@ -794,10 +919,23 @@ export class ExperienceRuntimeService {
|
|
|
794
919
|
const nodes = input.task_type !== "unknown"
|
|
795
920
|
? [
|
|
796
921
|
...this.resolveExactScopeInjectableNodes(input.scope_id),
|
|
797
|
-
...this.resolveConservativeCrossScopeCandidates(input.scope_id)
|
|
922
|
+
...this.resolveConservativeCrossScopeCandidates(input.scope_id),
|
|
923
|
+
...this.resolveDiagnosticCandidates(input.scope_id)
|
|
798
924
|
]
|
|
799
925
|
: [];
|
|
800
|
-
const
|
|
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);
|
|
801
939
|
const selectedNodeIds = decision.selected.map((node) => node.id);
|
|
802
940
|
const delivery = resolveDeliveryMode(this.config.evaluationMode, this.config.holdoutRate, sessionId, input.task_summary, decision.mode !== "skip" && selectedNodeIds.length > 0);
|
|
803
941
|
session.injectedNodeIds = delivery.delivered ? selectedNodeIds : [];
|
|
@@ -807,9 +945,12 @@ export class ExperienceRuntimeService {
|
|
|
807
945
|
};
|
|
808
946
|
const scorecard = decision.mode !== "skip"
|
|
809
947
|
? buildInjectionScorecard(input, decision.mode, decision.selected, sessionId, decision.diagnostics)
|
|
810
|
-
:
|
|
948
|
+
: decision.diagnostics?.recordOnlyDiagnosticCandidateIds?.length
|
|
949
|
+
? buildRecordOnlyDiagnosticScorecard(input, sessionId, decision.diagnostics)
|
|
950
|
+
: undefined;
|
|
811
951
|
const injectionEvent = {
|
|
812
952
|
injection_id: createId(decision.mode === "skip" ? "decision" : "inject"),
|
|
953
|
+
episode_id: episodeId,
|
|
813
954
|
session_id: sessionId,
|
|
814
955
|
scope_id: input.scope_id,
|
|
815
956
|
task_type: input.task_type === "unknown" ? "general" : input.task_type,
|
|
@@ -838,7 +979,7 @@ export class ExperienceRuntimeService {
|
|
|
838
979
|
mode: deliveredMode,
|
|
839
980
|
text: deliveredMode === "skip" ? undefined : decision.text,
|
|
840
981
|
notice: deliveredMode !== "skip" && this.config.noticesInline ? renderInlineNotice(decision.selected) : undefined,
|
|
841
|
-
scorecard:
|
|
982
|
+
scorecard: session.lastInjectionEvent?.scorecard,
|
|
842
983
|
deliveryMode: decision.mode !== "skip" ? delivery.deliveryMode : undefined,
|
|
843
984
|
delivered: decision.mode !== "skip" ? delivery.delivered : undefined,
|
|
844
985
|
retrievalContext,
|
|
@@ -871,17 +1012,19 @@ export class ExperienceRuntimeService {
|
|
|
871
1012
|
const input = this.buildFinalizedInput(context, session);
|
|
872
1013
|
let learningTaskContext;
|
|
873
1014
|
withTransaction(this.db, () => {
|
|
874
|
-
const
|
|
875
|
-
const
|
|
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);
|
|
876
1018
|
this.taskRunRepo.upsert(taskRun);
|
|
877
|
-
this.outcomeRepo.upsert(toOutcomeRecord(taskRun, input));
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
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
|
|
881
1024
|
.map((id) => this.nodeRepo.getById(id))
|
|
882
1025
|
.filter((node) => Boolean(node));
|
|
883
1026
|
const harmObserved = touchedNodes.some((node) => detectHarm(input, node));
|
|
884
|
-
const attributionReason = !
|
|
1027
|
+
const attributionReason = !injectionEvent.delivered
|
|
885
1028
|
? "suppressed_delivery"
|
|
886
1029
|
: input.outcome_signal === "success"
|
|
887
1030
|
? "success_outcome"
|
|
@@ -891,12 +1034,20 @@ export class ExperienceRuntimeService {
|
|
|
891
1034
|
.find((reason) => reason === "relevant_failure")
|
|
892
1035
|
?? classifyFailureAttributionReason(input)
|
|
893
1036
|
: "unknown_outcome";
|
|
894
|
-
|
|
895
|
-
...
|
|
1037
|
+
const resolvedInjectionEvent = {
|
|
1038
|
+
...injectionEvent,
|
|
896
1039
|
was_successful: input.outcome_signal === "success",
|
|
897
1040
|
harm_observed: harmObserved,
|
|
898
1041
|
attribution_reason: attributionReason,
|
|
899
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
|
|
900
1051
|
});
|
|
901
1052
|
}
|
|
902
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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"}
|
package/dist/store/sqlite/db.js
CHANGED
|
@@ -34,6 +34,9 @@ const ensureColumn = (db, table, column, definition) => {
|
|
|
34
34
|
}
|
|
35
35
|
return false;
|
|
36
36
|
};
|
|
37
|
+
const ensureIndex = (db, indexName, table, column) => {
|
|
38
|
+
db.exec(`CREATE INDEX IF NOT EXISTS ${indexName} ON ${table}(${column})`);
|
|
39
|
+
};
|
|
37
40
|
const backfillExperienceNodeDeliveryState = (db, forceAllRows = false) => {
|
|
38
41
|
db.exec(`UPDATE experience_nodes
|
|
39
42
|
SET delivery_state = CASE state
|
|
@@ -119,6 +122,18 @@ export const bootstrapDatabase = (db) => {
|
|
|
119
122
|
ensureColumn(db, "injection_events", "delivered", "INTEGER NOT NULL DEFAULT 1");
|
|
120
123
|
ensureColumn(db, "injection_events", "scorecard_json", "TEXT");
|
|
121
124
|
ensureColumn(db, "injection_events", "attribution_reason", "TEXT");
|
|
125
|
+
ensureColumn(db, "experience_input_records", "episode_id", "TEXT");
|
|
126
|
+
ensureColumn(db, "task_runs", "episode_id", "TEXT");
|
|
127
|
+
ensureColumn(db, "outcome_records", "episode_id", "TEXT");
|
|
128
|
+
ensureColumn(db, "injection_events", "episode_id", "TEXT");
|
|
129
|
+
ensureColumn(db, "attribution_records", "episode_id", "TEXT");
|
|
130
|
+
ensureColumn(db, "review_events", "episode_id", "TEXT");
|
|
131
|
+
ensureIndex(db, "idx_experience_input_records_episode_id", "experience_input_records", "episode_id");
|
|
132
|
+
ensureIndex(db, "idx_task_runs_episode_id", "task_runs", "episode_id");
|
|
133
|
+
ensureIndex(db, "idx_outcome_records_episode_id", "outcome_records", "episode_id");
|
|
134
|
+
ensureIndex(db, "idx_injection_events_episode_id", "injection_events", "episode_id");
|
|
135
|
+
ensureIndex(db, "idx_attribution_records_episode_id", "attribution_records", "episode_id");
|
|
136
|
+
ensureIndex(db, "idx_review_events_episode_id", "review_events", "episode_id");
|
|
122
137
|
ensureColumn(db, "task_runs", "learning_status", "TEXT");
|
|
123
138
|
ensureColumn(db, "task_runs", "learning_reason", "TEXT");
|
|
124
139
|
ensureColumn(db, "hybrid_review_artifacts", "schema_version", "TEXT NOT NULL DEFAULT 'hybrid-capsule-v1'");
|