instar 1.3.830 → 1.3.832
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/dist/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +83 -12
- package/dist/commands/server.js.map +1 -1
- package/dist/core/AutonomousRealCheckAnnotator.d.ts +105 -0
- package/dist/core/AutonomousRealCheckAnnotator.d.ts.map +1 -0
- package/dist/core/AutonomousRealCheckAnnotator.js +122 -0
- package/dist/core/AutonomousRealCheckAnnotator.js.map +1 -0
- package/dist/core/AutonomousRunStore.d.ts +29 -0
- package/dist/core/AutonomousRunStore.d.ts.map +1 -1
- package/dist/core/AutonomousRunStore.js +38 -0
- package/dist/core/AutonomousRunStore.js.map +1 -1
- package/dist/core/BackupManager.d.ts.map +1 -1
- package/dist/core/BackupManager.js +47 -1
- package/dist/core/BackupManager.js.map +1 -1
- package/dist/core/CircuitBreakingIntelligenceProvider.d.ts +12 -0
- package/dist/core/CircuitBreakingIntelligenceProvider.d.ts.map +1 -1
- package/dist/core/CircuitBreakingIntelligenceProvider.js +56 -4
- package/dist/core/CircuitBreakingIntelligenceProvider.js.map +1 -1
- package/dist/core/CompletionEvaluator.d.ts +62 -2
- package/dist/core/CompletionEvaluator.d.ts.map +1 -1
- package/dist/core/CompletionEvaluator.js +124 -6
- package/dist/core/CompletionEvaluator.js.map +1 -1
- package/dist/core/DecisionQualityRecorderImpl.d.ts +192 -0
- package/dist/core/DecisionQualityRecorderImpl.d.ts.map +1 -0
- package/dist/core/DecisionQualityRecorderImpl.js +363 -0
- package/dist/core/DecisionQualityRecorderImpl.js.map +1 -0
- package/dist/core/IntelligenceRouter.d.ts +33 -0
- package/dist/core/IntelligenceRouter.d.ts.map +1 -1
- package/dist/core/IntelligenceRouter.js +240 -54
- package/dist/core/IntelligenceRouter.js.map +1 -1
- package/dist/core/JudgmentProvenanceLog.d.ts +102 -2
- package/dist/core/JudgmentProvenanceLog.d.ts.map +1 -1
- package/dist/core/JudgmentProvenanceLog.js +239 -11
- package/dist/core/JudgmentProvenanceLog.js.map +1 -1
- package/dist/core/MessagingToneGate.d.ts +30 -0
- package/dist/core/MessagingToneGate.d.ts.map +1 -1
- package/dist/core/MessagingToneGate.js +63 -0
- package/dist/core/MessagingToneGate.js.map +1 -1
- package/dist/core/PostUpdateMigrator.d.ts +11 -0
- package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +32 -0
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/core/WriteDomainRegistry.d.ts.map +1 -1
- package/dist/core/WriteDomainRegistry.js +24 -0
- package/dist/core/WriteDomainRegistry.js.map +1 -1
- package/dist/core/decisionGradingPass.d.ts +89 -0
- package/dist/core/decisionGradingPass.d.ts.map +1 -0
- package/dist/core/decisionGradingPass.js +188 -0
- package/dist/core/decisionGradingPass.js.map +1 -0
- package/dist/core/decisionQualityTypes.d.ts +170 -0
- package/dist/core/decisionQualityTypes.d.ts.map +1 -0
- package/dist/core/decisionQualityTypes.js +85 -0
- package/dist/core/decisionQualityTypes.js.map +1 -0
- package/dist/core/devGatedFeatures.d.ts.map +1 -1
- package/dist/core/devGatedFeatures.js +6 -0
- package/dist/core/devGatedFeatures.js.map +1 -1
- package/dist/core/machineCoherenceManifest.d.ts.map +1 -1
- package/dist/core/machineCoherenceManifest.js +4 -0
- package/dist/core/machineCoherenceManifest.js.map +1 -1
- package/dist/core/types.d.ts +69 -4
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/data/provenanceCoverage.d.ts +156 -0
- package/dist/data/provenanceCoverage.d.ts.map +1 -0
- package/dist/data/provenanceCoverage.js +674 -0
- package/dist/data/provenanceCoverage.js.map +1 -0
- package/dist/monitoring/ExternalHogDecisionStore.d.ts +256 -0
- package/dist/monitoring/ExternalHogDecisionStore.d.ts.map +1 -0
- package/dist/monitoring/ExternalHogDecisionStore.js +481 -0
- package/dist/monitoring/ExternalHogDecisionStore.js.map +1 -0
- package/dist/monitoring/ExternalHogRealAdapters.d.ts +6 -2
- package/dist/monitoring/ExternalHogRealAdapters.d.ts.map +1 -1
- package/dist/monitoring/ExternalHogRealAdapters.js +2 -2
- package/dist/monitoring/ExternalHogRealAdapters.js.map +1 -1
- package/dist/monitoring/ExternalHogScanTick.d.ts +95 -3
- package/dist/monitoring/ExternalHogScanTick.d.ts.map +1 -1
- package/dist/monitoring/ExternalHogScanTick.js +102 -9
- package/dist/monitoring/ExternalHogScanTick.js.map +1 -1
- package/dist/monitoring/ExternalHogSentinel.d.ts +71 -3
- package/dist/monitoring/ExternalHogSentinel.d.ts.map +1 -1
- package/dist/monitoring/ExternalHogSentinel.js +126 -2
- package/dist/monitoring/ExternalHogSentinel.js.map +1 -1
- package/dist/monitoring/ExternalHogServerPrimitives.d.ts +10 -2
- package/dist/monitoring/ExternalHogServerPrimitives.d.ts.map +1 -1
- package/dist/monitoring/ExternalHogServerPrimitives.js +1 -1
- package/dist/monitoring/ExternalHogServerPrimitives.js.map +1 -1
- package/dist/monitoring/FeatureMetricsLedger.d.ts +304 -0
- package/dist/monitoring/FeatureMetricsLedger.d.ts.map +1 -1
- package/dist/monitoring/FeatureMetricsLedger.js +731 -0
- package/dist/monitoring/FeatureMetricsLedger.js.map +1 -1
- package/dist/scaffold/templates.d.ts.map +1 -1
- package/dist/scaffold/templates.js +2 -1
- package/dist/scaffold/templates.js.map +1 -1
- package/dist/server/AgentServer.d.ts.map +1 -1
- package/dist/server/AgentServer.js +55 -1
- package/dist/server/AgentServer.js.map +1 -1
- package/dist/server/CapabilityIndex.d.ts.map +1 -1
- package/dist/server/CapabilityIndex.js +15 -1
- package/dist/server/CapabilityIndex.js.map +1 -1
- package/dist/server/fileRoutes.d.ts.map +1 -1
- package/dist/server/fileRoutes.js +9 -0
- package/dist/server/fileRoutes.js.map +1 -1
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +334 -5
- package/dist/server/routes.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +65 -65
- package/src/data/provenanceCoverage.ts +850 -0
- package/src/scaffold/templates/jobs/instar/llm-decision-grading.md +32 -0
- package/src/scaffold/templates.ts +2 -1
- package/upgrades/1.3.831.md +30 -0
- package/upgrades/1.3.832.md +22 -0
- package/upgrades/side-effects/llm-decision-quality-meter.md +95 -0
- package/upgrades/side-effects/messaging-tone-gate-provenance-enrollment.md +68 -0
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
* to heuristics, at zero subprocess cost.
|
|
25
25
|
*/
|
|
26
26
|
import { LlmCircuitOpenError, RateLimitError, getLlmCircuitBreaker, classifyRateLimit, } from './LlmCircuitBreaker.js';
|
|
27
|
+
import { DECISION_CORRELATION_ID, DECISION_MINT_MARKER, mintBreakerCorrelationId, bumpProvenanceStrippedAtBreaker, bumpInboundCorrelationIdDiscarded, } from './decisionQualityTypes.js';
|
|
27
28
|
// Module-level recorder — set once by AgentServer at startup. Every wrapped
|
|
28
29
|
// provider reads it, so a single injection point instruments ALL LLM features
|
|
29
30
|
// (the same single-funnel pattern the breaker itself uses). Null = no recording
|
|
@@ -111,9 +112,40 @@ export class CircuitBreakingIntelligenceProvider {
|
|
|
111
112
|
/* never break the LLM path on a metrics write */
|
|
112
113
|
}
|
|
113
114
|
}
|
|
115
|
+
/**
|
|
116
|
+
* Decision-quality correlation floor (llm-decision-quality-meter §5.1.2,
|
|
117
|
+
* FD1/FD8). An INBOUND correlation id is honored ONLY when it carries the
|
|
118
|
+
* router's per-call mint marker, which is CONSUMED single-use on acceptance —
|
|
119
|
+
* a reused options object cannot replay a stale marked id into a later
|
|
120
|
+
* decision's chain (the second use is discarded and re-minted locally). Any
|
|
121
|
+
* unmarked / marker-less inbound id is discarded (+counted); router-bypassing
|
|
122
|
+
* callers get a local `b-<machineId8>-<uuid>` mint. The accepted-or-minted id
|
|
123
|
+
* lands on EVERY `kind:'llm'` metric row's `verdict_id` — always-on, ungated
|
|
124
|
+
* (§5.1.3): provenance-of-mint is derivable from the id prefix alone.
|
|
125
|
+
*/
|
|
126
|
+
acceptOrMintCorrelationId(options) {
|
|
127
|
+
const bag = options;
|
|
128
|
+
const inbound = bag?.[DECISION_CORRELATION_ID];
|
|
129
|
+
if (typeof inbound === 'string' && inbound.length > 0) {
|
|
130
|
+
if (bag && bag[DECISION_MINT_MARKER] === true) {
|
|
131
|
+
try {
|
|
132
|
+
delete bag[DECISION_MINT_MARKER]; // consume single-use on acceptance
|
|
133
|
+
return inbound;
|
|
134
|
+
}
|
|
135
|
+
catch {
|
|
136
|
+
/* frozen/exotic options — the marker cannot be consumed, so refuse the
|
|
137
|
+
inbound id (fail toward a local mint, never toward replayability) */
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
bumpInboundCorrelationIdDiscarded();
|
|
141
|
+
}
|
|
142
|
+
return mintBreakerCorrelationId();
|
|
143
|
+
}
|
|
114
144
|
async evaluate(prompt, options) {
|
|
115
145
|
const feature = options?.attribution?.component ?? 'unlabeled';
|
|
116
146
|
const startedAt = Date.now();
|
|
147
|
+
// Accepted at entry so even 'shed' rows (no call ran) carry the decision's id.
|
|
148
|
+
const correlationId = this.acceptOrMintCorrelationId(options);
|
|
117
149
|
let waited = false;
|
|
118
150
|
let gate = this.breaker.acquire();
|
|
119
151
|
if (!gate.allow) {
|
|
@@ -131,7 +163,9 @@ export class CircuitBreakingIntelligenceProvider {
|
|
|
131
163
|
// window). Recorded as 'shed' (NOT 'noop'): no round-trip happened, so it
|
|
132
164
|
// must not count toward real calls. `waited` marks whether a bounded wait
|
|
133
165
|
// was engaged.
|
|
134
|
-
this.recordMetric(feature, 'shed', Date.now() - startedAt, waited, options?.rateLimitWaitMs
|
|
166
|
+
this.recordMetric(feature, 'shed', Date.now() - startedAt, waited, options?.rateLimitWaitMs, {
|
|
167
|
+
verdictId: correlationId,
|
|
168
|
+
});
|
|
135
169
|
throw new LlmCircuitOpenError(gate.retryAfterMs);
|
|
136
170
|
}
|
|
137
171
|
}
|
|
@@ -158,19 +192,36 @@ export class CircuitBreakingIntelligenceProvider {
|
|
|
158
192
|
callerOnModel?.(info);
|
|
159
193
|
},
|
|
160
194
|
};
|
|
195
|
+
// Strip the provenance block + correlation plumbing before the inner
|
|
196
|
+
// adapter sees the options (llm-decision-quality-meter §5.1.6 — the
|
|
197
|
+
// cannot-leak claim holds at BOTH layers, not just the router's): a
|
|
198
|
+
// router-BYPASSED call that carries `options.provenance` gets it
|
|
199
|
+
// stripped-and-counted here, and the marker/id can never escape below the
|
|
200
|
+
// funnel into an adapter that might store-and-replay its options.
|
|
201
|
+
if (innerOptions.provenance !== undefined) {
|
|
202
|
+
bumpProvenanceStrippedAtBreaker();
|
|
203
|
+
delete innerOptions.provenance;
|
|
204
|
+
}
|
|
205
|
+
delete innerOptions[DECISION_CORRELATION_ID];
|
|
206
|
+
delete innerOptions[DECISION_MINT_MARKER];
|
|
161
207
|
const result = await this.inner.evaluate(prompt, innerOptions);
|
|
162
208
|
this.breaker.onResolved();
|
|
163
209
|
// Observable Intelligence: let the caller classify whether the system ACTED
|
|
164
210
|
// on this call (fired) vs took no action (noop). Pure side-channel — a
|
|
165
211
|
// throw here must never change what evaluate() returns.
|
|
212
|
+
// NOTE (llm-decision-quality-meter FD8): a caller-supplied
|
|
213
|
+
// `classifyVerdict.verdictId` NO LONGER lands in the metric row —
|
|
214
|
+
// `verdict_id` on kind:'llm' rows is single-writer for the correlation id
|
|
215
|
+
// (the router's settlement seam relocates the caller's value to
|
|
216
|
+
// `callerRef` inside the provenance context when a provenance row is
|
|
217
|
+
// written; it is dropped for llm rows otherwise). Event-kind rows keep
|
|
218
|
+
// their existing semantic verdictId use untouched.
|
|
166
219
|
let outcome = 'noop';
|
|
167
|
-
let verdictId;
|
|
168
220
|
if (options?.classifyVerdict) {
|
|
169
221
|
try {
|
|
170
222
|
const v = options.classifyVerdict(result);
|
|
171
223
|
if (v?.acted)
|
|
172
224
|
outcome = 'fired';
|
|
173
|
-
verdictId = v?.verdictId;
|
|
174
225
|
}
|
|
175
226
|
catch {
|
|
176
227
|
/* @silent-fallback-ok: a verdict-classification throw falls back to 'noop'; never break the observed path */
|
|
@@ -182,7 +233,7 @@ export class CircuitBreakingIntelligenceProvider {
|
|
|
182
233
|
tokensCached: usage?.cachedTokens,
|
|
183
234
|
model: resolved?.model,
|
|
184
235
|
framework: resolved?.framework,
|
|
185
|
-
verdictId,
|
|
236
|
+
verdictId: correlationId,
|
|
186
237
|
});
|
|
187
238
|
return result;
|
|
188
239
|
}
|
|
@@ -200,6 +251,7 @@ export class CircuitBreakingIntelligenceProvider {
|
|
|
200
251
|
tokensCached: usage?.cachedTokens,
|
|
201
252
|
model: resolved?.model,
|
|
202
253
|
framework: resolved?.framework,
|
|
254
|
+
verdictId: correlationId,
|
|
203
255
|
});
|
|
204
256
|
if (err instanceof RateLimitError || parsed.isLimit) {
|
|
205
257
|
// Pass the parsed retry-after hint through so the breaker can shorten
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CircuitBreakingIntelligenceProvider.js","sourceRoot":"","sources":["../../src/core/CircuitBreakingIntelligenceProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAGH,OAAO,EAEL,mBAAmB,EACnB,cAAc,EACd,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"CircuitBreakingIntelligenceProvider.js","sourceRoot":"","sources":["../../src/core/CircuitBreakingIntelligenceProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -70,6 +70,14 @@ export interface CompletionVerdict {
|
|
|
70
70
|
met: boolean;
|
|
71
71
|
/** One-line reason — fed back as next-turn guidance when not met. */
|
|
72
72
|
reason: string;
|
|
73
|
+
/**
|
|
74
|
+
* The router-minted decision correlation id for THIS judgment (LLM-Decision
|
|
75
|
+
* Quality Meter §5.1/§5.3) — present when the enrollment seam fired
|
|
76
|
+
* `onCorrelationId` (router-routed call), absent on a router-bypassed path.
|
|
77
|
+
* ADDITIVE: existing callers ignore it; the autonomous route persists it into
|
|
78
|
+
* the run-state record so the realcheck path can annotate ground truth later.
|
|
79
|
+
*/
|
|
80
|
+
correlationId?: string;
|
|
73
81
|
}
|
|
74
82
|
/**
|
|
75
83
|
* Verdict for the P13 "The Stop Reason Is the Work" guard. SECONDARY to the
|
|
@@ -90,15 +98,43 @@ export interface StopRationaleVerdict {
|
|
|
90
98
|
* to need → keep working). Absent for non-hard-blocker requests.
|
|
91
99
|
*/
|
|
92
100
|
classifiedBlocker?: 'external' | 'buildable';
|
|
101
|
+
/** Same contract as CompletionVerdict.correlationId (additive, §5.1/§5.3). */
|
|
102
|
+
correlationId?: string;
|
|
103
|
+
}
|
|
104
|
+
/** The (topicId, runId) identity of the registered autonomous run a judgment
|
|
105
|
+
* belongs to — supplied by the route that resolved the armed record (§5.3). */
|
|
106
|
+
export interface AutonomousRunRef {
|
|
107
|
+
topicId: string;
|
|
108
|
+
runId: string;
|
|
109
|
+
}
|
|
110
|
+
/** Which of the two enrolled decision points a correlation id belongs to. */
|
|
111
|
+
export type CompletionDecisionKind = 'completion' | 'stop-rationale';
|
|
112
|
+
/**
|
|
113
|
+
* The durable run-state writer the evaluator persists correlation ids through
|
|
114
|
+
* (LLM-Decision Quality Meter §5.3: "the correlation id is persisted in the
|
|
115
|
+
* autonomous run-state file"). `AutonomousRunStore.recordDecisionCorrelation`
|
|
116
|
+
* satisfies this structurally — the indirection avoids coupling the evaluator
|
|
117
|
+
* to the store module.
|
|
118
|
+
*/
|
|
119
|
+
export interface CompletionCorrelationSink {
|
|
120
|
+
recordDecisionCorrelation(topicId: string, runId: string, kind: CompletionDecisionKind, correlationId: string): void;
|
|
93
121
|
}
|
|
94
122
|
export interface CompletionEvaluatorDeps {
|
|
95
123
|
intelligence: IntelligenceProvider;
|
|
96
124
|
/** Override model tier (default 'fast' — matches /goal's small-fast evaluator). */
|
|
97
125
|
modelTier?: 'fast' | 'balanced' | 'capable';
|
|
126
|
+
/**
|
|
127
|
+
* Optional durable sink for decision correlation ids (§5.3). When both this
|
|
128
|
+
* AND a per-call `runRef` are present, the router-minted correlation id is
|
|
129
|
+
* persisted into the run-state record at mint time (including calls that
|
|
130
|
+
* subsequently throw) so the realcheck path can annotate the decision later.
|
|
131
|
+
*/
|
|
132
|
+
runCorrelationSink?: CompletionCorrelationSink;
|
|
98
133
|
}
|
|
99
134
|
export declare class CompletionEvaluator {
|
|
100
135
|
private readonly intelligence;
|
|
101
136
|
private readonly modelTier;
|
|
137
|
+
private readonly runCorrelationSink?;
|
|
102
138
|
constructor(deps: CompletionEvaluatorDeps);
|
|
103
139
|
/**
|
|
104
140
|
* Judge whether `condition` is met given the recent transcript text.
|
|
@@ -109,8 +145,29 @@ export declare class CompletionEvaluator {
|
|
|
109
145
|
* `signals` (optional) folds the milestone/buildable-work scrutiny into the
|
|
110
146
|
* completion prompt so the condition path runs a SINGLE critical-path LLM
|
|
111
147
|
* call (spec §2b.2). Absent → identical to the pre-change behavior.
|
|
148
|
+
*
|
|
149
|
+
* `runRef` (optional) identifies the registered autonomous run this judgment
|
|
150
|
+
* belongs to (§5.3): with a sink configured, the decision correlation id is
|
|
151
|
+
* persisted into the run-state record at mint time.
|
|
152
|
+
*/
|
|
153
|
+
evaluate(condition: string, transcriptTail: string, signals?: StopSignals, runRef?: AutonomousRunRef): Promise<CompletionVerdict>;
|
|
154
|
+
/**
|
|
155
|
+
* Persist the router-minted correlation id into the durable run-state (§5.3)
|
|
156
|
+
* — fired at MINT (before the model answers), so even a judgment that later
|
|
157
|
+
* throws stays annotatable. Failures are contained: correlation persistence
|
|
158
|
+
* must never break the judgment path it observes.
|
|
112
159
|
*/
|
|
113
|
-
|
|
160
|
+
private persistCorrelation;
|
|
161
|
+
/**
|
|
162
|
+
* The §5.2 content-bearing decision-context envelope for both judges:
|
|
163
|
+
* transcript-slice IDENTITY (hash + bounds) + the code-derived StopSignals
|
|
164
|
+
* corroboration block — NEVER transcript/condition text (the provenance
|
|
165
|
+
* store must not become a second transcript archive). Scope-accretion facts
|
|
166
|
+
* are reduced to counts (identity + features discipline; the path LISTS stay
|
|
167
|
+
* out of the row). TODO(P3-handoff): swap to the code-provided content-class
|
|
168
|
+
* envelope builder once the §5.2 builders module lands — one-line follow-up.
|
|
169
|
+
*/
|
|
170
|
+
private buildDecisionContext;
|
|
114
171
|
private buildPrompt;
|
|
115
172
|
/** Parse the model output into a verdict. Conservative: defaults to not-met. */
|
|
116
173
|
private parse;
|
|
@@ -137,8 +194,11 @@ export declare class CompletionEvaluator {
|
|
|
137
194
|
* Fails OPEN (stopAllowed:true) on error or ambiguity: this is a SECONDARY guard
|
|
138
195
|
* on top of the completion check, so an evaluator hiccup must never TRAP a
|
|
139
196
|
* genuine completion — the primary completion authority still governs.
|
|
197
|
+
*
|
|
198
|
+
* `runRef` (optional): same §5.3 correlation-id persistence as `evaluate()`,
|
|
199
|
+
* recorded under the distinct `stop-rationale` kind.
|
|
140
200
|
*/
|
|
141
|
-
evaluateStopRationale(transcriptTail: string, signals?: StopSignals): Promise<StopRationaleVerdict>;
|
|
201
|
+
evaluateStopRationale(transcriptTail: string, signals?: StopSignals, runRef?: AutonomousRunRef): Promise<StopRationaleVerdict>;
|
|
142
202
|
private buildStopRationalePrompt;
|
|
143
203
|
/** The fenced, instruction-inert transcript wrapper (anti-injection §3 item 2). */
|
|
144
204
|
private fence;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CompletionEvaluator.d.ts","sourceRoot":"","sources":["../../src/core/CompletionEvaluator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;
|
|
1
|
+
{"version":3,"file":"CompletionEvaluator.d.ts","sourceRoot":"","sources":["../../src/core/CompletionEvaluator.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,8 @@
|
|
|
17
17
|
* - docs/specs/goal-completion-evaluator.md (base)
|
|
18
18
|
* - docs/specs/AUTONOMOUS-COMPLETION-DISCIPLINE.md (signal extension §2b.4)
|
|
19
19
|
*/
|
|
20
|
+
import { createHash } from 'node:crypto';
|
|
21
|
+
import { DP_COMPLETION_EVALUATE, DP_COMPLETION_STOP_RATIONALE } from '../data/provenanceCoverage.js';
|
|
20
22
|
/**
|
|
21
23
|
* Protocol version stamped on EVERY P13 response (allow / block / error). A
|
|
22
24
|
* newer hook reads this to tell a NEW server (which knows the milestone /
|
|
@@ -33,8 +35,18 @@ export const P13_PROTOCOL_VERSION = 2;
|
|
|
33
35
|
// v3: the scope-accretion CONTEXT block (spec autonomous-scope-accretion-
|
|
34
36
|
// completion.md §2.8 step 3) — gated on field presence, so a payload without
|
|
35
37
|
// the new fields renders a byte-identical v2 prompt (rollback byte-identity).
|
|
38
|
+
//
|
|
39
|
+
// These constants ALSO serve as the provenance `promptId` for the two enrolled
|
|
40
|
+
// decision points (llm-decision-quality-meter §5.2/§5.3) — a stable, clamp-safe
|
|
41
|
+
// (^[a-zA-Z0-9_-]{1,64}$) version tag. BUMP ON ANY PROMPT CHANGE: grade-by-
|
|
42
|
+
// promptId aggregates must never silently mix prompt semantics.
|
|
36
43
|
const PROMPT_VERSION = 'completion-eval-v3';
|
|
37
44
|
const STOP_RATIONALE_PROMPT_VERSION = 'stop-rationale-v2';
|
|
45
|
+
// The bounded verdict spaces the two judges actually emit (parse()/
|
|
46
|
+
// parseStopRationale() first-line tokens) — declared as `optionsPresented` on
|
|
47
|
+
// the provenance enrollment (§5.2: static, code-authored, enum-like labels).
|
|
48
|
+
const COMPLETION_OPTIONS_PRESENTED = ['MET', 'NOT_MET'];
|
|
49
|
+
const STOP_RATIONALE_OPTIONS_PRESENTED = ['STOP_OK', 'STOP_BLOCKED'];
|
|
38
50
|
// Instruction-inert data fence for the agent-authored transcript (anti-injection,
|
|
39
51
|
// spec §3 item 2). The judge is told everything between the fences is DATA.
|
|
40
52
|
const FENCE_OPEN = '<<<AGENT_TRANSCRIPT_DATA>>>';
|
|
@@ -42,9 +54,11 @@ const FENCE_CLOSE = '<<<END_AGENT_TRANSCRIPT_DATA>>>';
|
|
|
42
54
|
export class CompletionEvaluator {
|
|
43
55
|
intelligence;
|
|
44
56
|
modelTier;
|
|
57
|
+
runCorrelationSink;
|
|
45
58
|
constructor(deps) {
|
|
46
59
|
this.intelligence = deps.intelligence;
|
|
47
60
|
this.modelTier = deps.modelTier ?? 'fast';
|
|
61
|
+
this.runCorrelationSink = deps.runCorrelationSink;
|
|
48
62
|
}
|
|
49
63
|
/**
|
|
50
64
|
* Judge whether `condition` is met given the recent transcript text.
|
|
@@ -55,9 +69,14 @@ export class CompletionEvaluator {
|
|
|
55
69
|
* `signals` (optional) folds the milestone/buildable-work scrutiny into the
|
|
56
70
|
* completion prompt so the condition path runs a SINGLE critical-path LLM
|
|
57
71
|
* call (spec §2b.2). Absent → identical to the pre-change behavior.
|
|
72
|
+
*
|
|
73
|
+
* `runRef` (optional) identifies the registered autonomous run this judgment
|
|
74
|
+
* belongs to (§5.3): with a sink configured, the decision correlation id is
|
|
75
|
+
* persisted into the run-state record at mint time.
|
|
58
76
|
*/
|
|
59
|
-
async evaluate(condition, transcriptTail, signals) {
|
|
77
|
+
async evaluate(condition, transcriptTail, signals, runRef) {
|
|
60
78
|
const prompt = this.buildPrompt(condition, transcriptTail, signals);
|
|
79
|
+
let correlationId;
|
|
61
80
|
let raw;
|
|
62
81
|
try {
|
|
63
82
|
raw = await this.intelligence.evaluate(prompt, {
|
|
@@ -66,12 +85,91 @@ export class CompletionEvaluator {
|
|
|
66
85
|
maxTokens: 200,
|
|
67
86
|
timeoutMs: 30_000,
|
|
68
87
|
attribution: { component: 'CompletionEvaluator' },
|
|
88
|
+
// LLM-Decision Quality Meter §5.1.4/§5.3 Layer-B enrollment (decision
|
|
89
|
+
// point `completion-evaluate`, volumeClass full, content-bearing —
|
|
90
|
+
// transcript-slice IDENTITY only, never transcript text).
|
|
91
|
+
provenance: {
|
|
92
|
+
decisionPoint: DP_COMPLETION_EVALUATE,
|
|
93
|
+
context: this.buildDecisionContext(condition, transcriptTail, signals),
|
|
94
|
+
optionsPresented: [...COMPLETION_OPTIONS_PRESENTED],
|
|
95
|
+
promptId: PROMPT_VERSION,
|
|
96
|
+
onCorrelationId: (id) => {
|
|
97
|
+
correlationId = id;
|
|
98
|
+
this.persistCorrelation('completion', id, runRef);
|
|
99
|
+
},
|
|
100
|
+
},
|
|
69
101
|
});
|
|
70
102
|
}
|
|
71
103
|
catch (err) {
|
|
72
|
-
return {
|
|
104
|
+
return {
|
|
105
|
+
met: false,
|
|
106
|
+
reason: `evaluator error (keep working): ${err instanceof Error ? err.message : String(err)}`,
|
|
107
|
+
...(correlationId ? { correlationId } : {}),
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
const verdict = this.parse(raw);
|
|
111
|
+
if (correlationId)
|
|
112
|
+
verdict.correlationId = correlationId;
|
|
113
|
+
return verdict;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Persist the router-minted correlation id into the durable run-state (§5.3)
|
|
117
|
+
* — fired at MINT (before the model answers), so even a judgment that later
|
|
118
|
+
* throws stays annotatable. Failures are contained: correlation persistence
|
|
119
|
+
* must never break the judgment path it observes.
|
|
120
|
+
*/
|
|
121
|
+
persistCorrelation(kind, id, runRef) {
|
|
122
|
+
if (!runRef || !this.runCorrelationSink)
|
|
123
|
+
return;
|
|
124
|
+
try {
|
|
125
|
+
this.runCorrelationSink.recordDecisionCorrelation(runRef.topicId, runRef.runId, kind, id);
|
|
126
|
+
}
|
|
127
|
+
catch {
|
|
128
|
+
/* @silent-fallback-ok — a sink write failure degrades later outcome
|
|
129
|
+
annotation to age-out-unknown (honest); the verdict path is untouched. */
|
|
73
130
|
}
|
|
74
|
-
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* The §5.2 content-bearing decision-context envelope for both judges:
|
|
134
|
+
* transcript-slice IDENTITY (hash + bounds) + the code-derived StopSignals
|
|
135
|
+
* corroboration block — NEVER transcript/condition text (the provenance
|
|
136
|
+
* store must not become a second transcript archive). Scope-accretion facts
|
|
137
|
+
* are reduced to counts (identity + features discipline; the path LISTS stay
|
|
138
|
+
* out of the row). TODO(P3-handoff): swap to the code-provided content-class
|
|
139
|
+
* envelope builder once the §5.2 builders module lands — one-line follow-up.
|
|
140
|
+
*/
|
|
141
|
+
buildDecisionContext(condition, transcriptTail, signals) {
|
|
142
|
+
const sha256 = (s) => createHash('sha256').update(s, 'utf8').digest('hex');
|
|
143
|
+
const ctx = {
|
|
144
|
+
transcriptSlice: {
|
|
145
|
+
sha256: sha256(transcriptTail),
|
|
146
|
+
bytes: Buffer.byteLength(transcriptTail, 'utf8'),
|
|
147
|
+
chars: transcriptTail.length,
|
|
148
|
+
},
|
|
149
|
+
};
|
|
150
|
+
if (condition !== null) {
|
|
151
|
+
ctx.condition = { sha256: sha256(condition), bytes: Buffer.byteLength(condition, 'utf8') };
|
|
152
|
+
}
|
|
153
|
+
if (signals) {
|
|
154
|
+
ctx.signals = {
|
|
155
|
+
completionConditionMet: signals.completionConditionMet ?? null,
|
|
156
|
+
uncheckedTaskCount: signals.uncheckedTaskCount ?? null,
|
|
157
|
+
taskStructure: signals.taskStructure ?? null,
|
|
158
|
+
milestoneRationalizationDetected: signals.milestoneRationalizationDetected ?? null,
|
|
159
|
+
injectionSuspected: signals.injectionSuspected ?? null,
|
|
160
|
+
stopKind: signals.stopKind ?? null,
|
|
161
|
+
scopeAccretionSuspected: signals.scopeAccretionSuspected ?? null,
|
|
162
|
+
scopeAccretion: signals.scopeAccretion
|
|
163
|
+
? {
|
|
164
|
+
unbuiltCount: signals.scopeAccretion.unbuilt.length,
|
|
165
|
+
deletedCount: signals.scopeAccretion.deleted.length,
|
|
166
|
+
ratifiedCount: signals.scopeAccretion.ratifiedCount,
|
|
167
|
+
corroborationDegraded: signals.scopeAccretion.corroborationDegraded,
|
|
168
|
+
}
|
|
169
|
+
: null,
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
return ctx;
|
|
75
173
|
}
|
|
76
174
|
buildPrompt(condition, transcriptTail, signals) {
|
|
77
175
|
const lines = [
|
|
@@ -137,10 +235,14 @@ export class CompletionEvaluator {
|
|
|
137
235
|
* Fails OPEN (stopAllowed:true) on error or ambiguity: this is a SECONDARY guard
|
|
138
236
|
* on top of the completion check, so an evaluator hiccup must never TRAP a
|
|
139
237
|
* genuine completion — the primary completion authority still governs.
|
|
238
|
+
*
|
|
239
|
+
* `runRef` (optional): same §5.3 correlation-id persistence as `evaluate()`,
|
|
240
|
+
* recorded under the distinct `stop-rationale` kind.
|
|
140
241
|
*/
|
|
141
|
-
async evaluateStopRationale(transcriptTail, signals) {
|
|
242
|
+
async evaluateStopRationale(transcriptTail, signals, runRef) {
|
|
142
243
|
const prompt = this.buildStopRationalePrompt(transcriptTail, signals);
|
|
143
244
|
const isHardBlocker = signals?.stopKind === 'hard-blocker';
|
|
245
|
+
let correlationId;
|
|
144
246
|
let raw;
|
|
145
247
|
try {
|
|
146
248
|
raw = await this.intelligence.evaluate(prompt, {
|
|
@@ -149,6 +251,19 @@ export class CompletionEvaluator {
|
|
|
149
251
|
maxTokens: 200,
|
|
150
252
|
timeoutMs: 30_000,
|
|
151
253
|
attribution: { component: 'CompletionEvaluator/P13' },
|
|
254
|
+
// LLM-Decision Quality Meter §5.1.4/§5.3 Layer-B enrollment (decision
|
|
255
|
+
// point `completion-stop-rationale` — the P13 judge's OWN point, distinct
|
|
256
|
+
// from completion-evaluate; same transcript-slice-identity envelope).
|
|
257
|
+
provenance: {
|
|
258
|
+
decisionPoint: DP_COMPLETION_STOP_RATIONALE,
|
|
259
|
+
context: this.buildDecisionContext(null, transcriptTail, signals),
|
|
260
|
+
optionsPresented: [...STOP_RATIONALE_OPTIONS_PRESENTED],
|
|
261
|
+
promptId: STOP_RATIONALE_PROMPT_VERSION,
|
|
262
|
+
onCorrelationId: (id) => {
|
|
263
|
+
correlationId = id;
|
|
264
|
+
this.persistCorrelation('stop-rationale', id, runRef);
|
|
265
|
+
},
|
|
266
|
+
},
|
|
152
267
|
});
|
|
153
268
|
}
|
|
154
269
|
catch {
|
|
@@ -156,9 +271,12 @@ export class CompletionEvaluator {
|
|
|
156
271
|
// On the hard-blocker path the hook treats the absence of an explicit
|
|
157
272
|
// `external` classification as NOT-a-clean-allow, so a fail-open here does
|
|
158
273
|
// NOT auto-pass an `(a)` exit (the hook's three-case detection owns that).
|
|
159
|
-
return { stopAllowed: true, guidance: '' };
|
|
274
|
+
return { stopAllowed: true, guidance: '', ...(correlationId ? { correlationId } : {}) };
|
|
160
275
|
}
|
|
161
|
-
|
|
276
|
+
const verdict = this.parseStopRationale(raw, isHardBlocker);
|
|
277
|
+
if (correlationId)
|
|
278
|
+
verdict.correlationId = correlationId;
|
|
279
|
+
return verdict;
|
|
162
280
|
}
|
|
163
281
|
buildStopRationalePrompt(transcriptTail, signals) {
|
|
164
282
|
const lines = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CompletionEvaluator.js","sourceRoot":"","sources":["../../src/core/CompletionEvaluator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CompletionEvaluator.js","sourceRoot":"","sources":["../../src/core/CompletionEvaluator.ts"],"names":[],"mappings":"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"}
|