@dsh-enhanced/plugin-control-plane 0.1.67 → 0.1.68
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/README.md +54 -20
- package/lib/cli.d.ts.map +1 -1
- package/lib/cli.js +66 -11
- package/lib/cli.js.map +1 -1
- package/lib/creation-capability-feedback.d.ts +16 -1
- package/lib/creation-capability-feedback.d.ts.map +1 -1
- package/lib/creation-capability-feedback.js +82 -5
- package/lib/creation-capability-feedback.js.map +1 -1
- package/lib/creation-capability-journal.d.ts.map +1 -1
- package/lib/creation-capability-journal.js +2 -0
- package/lib/creation-capability-journal.js.map +1 -1
- package/lib/creation-capability-runtime.d.ts.map +1 -1
- package/lib/creation-capability-runtime.js +2 -0
- package/lib/creation-capability-runtime.js.map +1 -1
- package/lib/creation-capability-types.d.ts +1 -0
- package/lib/creation-capability-types.d.ts.map +1 -1
- package/lib/linux-source-build.d.ts +13 -2
- package/lib/linux-source-build.d.ts.map +1 -1
- package/lib/linux-source-build.js.map +1 -1
- package/lib/live-qualification-authority.js +2 -2
- package/lib/live-qualification-authority.js.map +1 -1
- package/lib/owner-instruction-drain.d.ts +60 -0
- package/lib/owner-instruction-drain.d.ts.map +1 -0
- package/lib/owner-instruction-drain.js +101 -0
- package/lib/owner-instruction-drain.js.map +1 -0
- package/lib/revision-capability-feedback.d.ts +165 -0
- package/lib/revision-capability-feedback.d.ts.map +1 -0
- package/lib/revision-capability-feedback.js +316 -0
- package/lib/revision-capability-feedback.js.map +1 -0
- package/lib/revision-capability-journal.d.ts +23 -0
- package/lib/revision-capability-journal.d.ts.map +1 -1
- package/lib/revision-capability-journal.js +124 -15
- package/lib/revision-capability-journal.js.map +1 -1
- package/lib/revision-capability-runtime.d.ts +19 -1
- package/lib/revision-capability-runtime.d.ts.map +1 -1
- package/lib/revision-capability-runtime.js +80 -7
- package/lib/revision-capability-runtime.js.map +1 -1
- package/lib/revision-capability-types.d.ts +50 -4
- package/lib/revision-capability-types.d.ts.map +1 -1
- package/lib/service.d.ts +174 -3
- package/lib/service.d.ts.map +1 -1
- package/lib/service.js +732 -68
- package/lib/service.js.map +1 -1
- package/lib/source-adoption-authority.js +2 -2
- package/lib/source-adoption-authority.js.map +1 -1
- package/lib/source-approval-authority.js +3 -3
- package/lib/source-approval-authority.js.map +1 -1
- package/lib/source-build.d.ts +33 -53
- package/lib/source-build.d.ts.map +1 -1
- package/lib/source-build.js +28 -408
- package/lib/source-build.js.map +1 -1
- package/lib/source-job-types.d.ts +111 -4
- package/lib/source-job-types.d.ts.map +1 -1
- package/lib/source-jobs.d.ts +68 -4
- package/lib/source-jobs.d.ts.map +1 -1
- package/lib/source-jobs.js +296 -46
- package/lib/source-jobs.js.map +1 -1
- package/lib/source-release-authority.js +2 -2
- package/lib/source-release-authority.js.map +1 -1
- package/lib/source-revision.d.ts +29 -3
- package/lib/source-revision.d.ts.map +1 -1
- package/lib/source-revision.js +40 -9
- package/lib/source-revision.js.map +1 -1
- package/lib/source-workspace.d.ts +11 -4
- package/lib/source-workspace.d.ts.map +1 -1
- package/lib/source-workspace.js +51 -17
- package/lib/source-workspace.js.map +1 -1
- package/lib/sqlite.d.ts +6 -7
- package/lib/sqlite.d.ts.map +1 -1
- package/lib/sqlite.js +255 -17
- package/lib/sqlite.js.map +1 -1
- package/lib/store.d.ts +142 -3
- package/lib/store.d.ts.map +1 -1
- package/lib/store.js +732 -63
- package/lib/store.js.map +1 -1
- package/lib/systemd-host-authority.js +4 -4
- package/lib/systemd-host-authority.js.map +1 -1
- package/lib/task-observation-authority.js +2 -2
- package/lib/task-observation-authority.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/work-item-creation-contract.d.ts +3 -1
- package/lib/work-item-creation-contract.d.ts.map +1 -1
- package/lib/work-item-creation-contract.js +10 -1
- package/lib/work-item-creation-contract.js.map +1 -1
- package/package.json +11 -8
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"owner-instruction-drain.js","sourceRoot":"","sources":["../src/owner-instruction-drain.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* P1-4 revision benefit evidence. Windows are built only from the revision
|
|
3
|
+
* journal's foreground-attributed entry calls and the Host-certified task
|
|
4
|
+
* heads they belong to; the creation-capability association ledger is never
|
|
5
|
+
* consulted. Parent and candidate windows are paired before/after the revision
|
|
6
|
+
* adoption: equal-length, adjacent at the candidate adoption instant.
|
|
7
|
+
*/
|
|
8
|
+
import type { AssistantDeliveryService } from '@dsh-enhanced/assistant-delivery';
|
|
9
|
+
import type { AssistantEvaluationService } from '@dsh-enhanced/assistant-evaluation';
|
|
10
|
+
import { type RevisionBenefitContract, type RevisionBenefitEvaluation, type RevisionBenefitWindowStats } from '@dsh-enhanced/assistant-growth-contract';
|
|
11
|
+
import type { CreationCapabilityOwner } from './creation-capability-types.js';
|
|
12
|
+
import type { RevisionCapabilityBenefitSample, RevisionCapabilityRollbackRecord } from './revision-capability-types.js';
|
|
13
|
+
type Evaluation = Pick<AssistantEvaluationService, 'canonicalHostScope' | 'getTrustedForegroundLearningProjection' | 'withTrustedCanonicalTaskWriterFence'> & Partial<Pick<AssistantEvaluationService, 'inspectTrustedOutcomeMetrics'>>;
|
|
14
|
+
type Delivery = Pick<AssistantDeliveryService, 'inspectOwnerForegroundLearningTask' | 'inspectOwnerForegroundTaskSource'>;
|
|
15
|
+
/** Evidence windows are bounded to at most one day, as in the creation ledger. */
|
|
16
|
+
export declare const REVISION_BENEFIT_MAX_WINDOW_MS = 86400000;
|
|
17
|
+
export interface RevisionBenefitWindowRange {
|
|
18
|
+
start: number;
|
|
19
|
+
end: number;
|
|
20
|
+
}
|
|
21
|
+
export interface RevisionBenefitPairedWindows {
|
|
22
|
+
candidate: RevisionBenefitWindowRange;
|
|
23
|
+
parent: RevisionBenefitWindowRange;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Equal-length adjacent windows around the candidate adoption:
|
|
27
|
+
* parent [adoptedAt - W, adoptedAt], candidate [adoptedAt, adoptedAt + W].
|
|
28
|
+
* W is bounded by the candidate signed lifetime, the candidate serving time
|
|
29
|
+
* observed so far, the parent history before adoption and one day.
|
|
30
|
+
*/
|
|
31
|
+
export declare function revisionBenefitPairedWindows(input: {
|
|
32
|
+
candidate: RevisionCapabilityBenefitSample;
|
|
33
|
+
parent: Readonly<{
|
|
34
|
+
adoptedAt: number;
|
|
35
|
+
expiresAt: number;
|
|
36
|
+
}>;
|
|
37
|
+
now: number;
|
|
38
|
+
}): RevisionBenefitPairedWindows | undefined;
|
|
39
|
+
/**
|
|
40
|
+
* Observation deadline used by the terminal rollback: the end of the paired
|
|
41
|
+
* candidate window, so the keep/rollback decision uses the same W as the
|
|
42
|
+
* evaluator instead of a lifetime-only cap.
|
|
43
|
+
*/
|
|
44
|
+
export declare function revisionBenefitObservationDeadline(input: {
|
|
45
|
+
candidate: RevisionCapabilityBenefitSample;
|
|
46
|
+
parent: Readonly<{
|
|
47
|
+
adoptedAt: number;
|
|
48
|
+
expiresAt: number;
|
|
49
|
+
}>;
|
|
50
|
+
now: number;
|
|
51
|
+
}): number | undefined;
|
|
52
|
+
/** True only for equal-length, adjacent parent-then-candidate windows. */
|
|
53
|
+
export declare function revisionBenefitWindowsArePaired(parent: RevisionBenefitWindowRange, candidate: RevisionBenefitWindowRange): boolean;
|
|
54
|
+
/** Sums two disjoint evidence sources over the exact same window. */
|
|
55
|
+
export declare function mergeRevisionBenefitWindows(left: RevisionBenefitWindowStats, right: RevisionBenefitWindowStats): RevisionBenefitWindowStats | undefined;
|
|
56
|
+
export interface RevisionBenefitFeedbackInput {
|
|
57
|
+
sample: RevisionCapabilityBenefitSample;
|
|
58
|
+
windowStart: number;
|
|
59
|
+
windowEnd: number;
|
|
60
|
+
owner: CreationCapabilityOwner;
|
|
61
|
+
evaluation: Evaluation;
|
|
62
|
+
delivery: Delivery;
|
|
63
|
+
now?: number;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* One revision-benefit window over foreground-attributed entry calls. Rows the
|
|
67
|
+
* owner corrected are excluded from the aggregates and counted separately;
|
|
68
|
+
* withdrawn rows are absent; unmeasured cost/latency stay zero so the evaluator
|
|
69
|
+
* can only return insufficient.
|
|
70
|
+
*/
|
|
71
|
+
export declare function inspectRevisionCapabilityBenefitWindow(input: RevisionBenefitFeedbackInput): RevisionBenefitWindowStats | undefined;
|
|
72
|
+
export interface RevisionBenefitEvidenceEvaluation {
|
|
73
|
+
evaluation: RevisionBenefitEvaluation;
|
|
74
|
+
contractDigest: string;
|
|
75
|
+
candidate: RevisionBenefitWindowStats;
|
|
76
|
+
parent: RevisionBenefitWindowStats;
|
|
77
|
+
windows: RevisionBenefitPairedWindows;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Host-only evaluation over equal, adjacent parent/candidate windows. The
|
|
81
|
+
* evaluator refuses any unpaired window data instead of comparing arbitrary
|
|
82
|
+
* ranges.
|
|
83
|
+
*/
|
|
84
|
+
export declare function evaluateRevisionBenefitEvidence(input: {
|
|
85
|
+
contract: RevisionBenefitContract;
|
|
86
|
+
candidate: RevisionCapabilityBenefitSample;
|
|
87
|
+
parent: RevisionBenefitWindowStats;
|
|
88
|
+
windows: RevisionBenefitPairedWindows;
|
|
89
|
+
owner: CreationCapabilityOwner;
|
|
90
|
+
evaluation: Evaluation;
|
|
91
|
+
delivery: Delivery;
|
|
92
|
+
now: number;
|
|
93
|
+
}): RevisionBenefitEvidenceEvaluation | undefined;
|
|
94
|
+
export interface RevisionBenefitRollbackRuntime {
|
|
95
|
+
listEntries(): readonly {
|
|
96
|
+
entryId: string;
|
|
97
|
+
currentPlanId: string;
|
|
98
|
+
}[];
|
|
99
|
+
inspectEntry(entryId: string): {
|
|
100
|
+
currentPlanId: string;
|
|
101
|
+
} | undefined;
|
|
102
|
+
rollback(input: {
|
|
103
|
+
entryId: string;
|
|
104
|
+
expectedCurrentPlanId: string;
|
|
105
|
+
signal?: AbortSignal;
|
|
106
|
+
}): Promise<unknown>;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* The bounded negative-benefit decision: only a pinned, post-window `inferior`
|
|
110
|
+
* outcome for the entry's exact current plan rolls back to the parent CAS.
|
|
111
|
+
* Everything else leaves the adoption untouched.
|
|
112
|
+
*/
|
|
113
|
+
export declare function autoRollbackInferiorRevision(input: {
|
|
114
|
+
runtime: RevisionBenefitRollbackRuntime | undefined;
|
|
115
|
+
planId: string;
|
|
116
|
+
benefitConfigured: boolean;
|
|
117
|
+
pinnedContractDigest: string | undefined;
|
|
118
|
+
growthRunCreatedAt: number | undefined;
|
|
119
|
+
observeWindowMs: number;
|
|
120
|
+
outcome: {
|
|
121
|
+
contractDigest: string;
|
|
122
|
+
status: 'insufficient' | 'inferior' | 'non-inferior';
|
|
123
|
+
reason: string;
|
|
124
|
+
} | undefined;
|
|
125
|
+
now: number;
|
|
126
|
+
/** When set and elapsed, a missing/insufficient result is itself a terminal rollback. */
|
|
127
|
+
observationDeadline?: number;
|
|
128
|
+
rollback?: (runtime: RevisionBenefitRollbackRuntime, input: {
|
|
129
|
+
entryId: string;
|
|
130
|
+
expectedCurrentPlanId: string;
|
|
131
|
+
}) => Promise<unknown>;
|
|
132
|
+
}): Promise<{
|
|
133
|
+
rolledBack: boolean;
|
|
134
|
+
reason: string;
|
|
135
|
+
record?: unknown;
|
|
136
|
+
}>;
|
|
137
|
+
/** Host-only terminal read combining the benefit ledger with the revision journal. */
|
|
138
|
+
export declare function inspectRevisionBenefitTerminal(input: {
|
|
139
|
+
planId: string;
|
|
140
|
+
outcome: {
|
|
141
|
+
contractDigest: string;
|
|
142
|
+
status: 'insufficient' | 'inferior' | 'non-inferior';
|
|
143
|
+
reason: string;
|
|
144
|
+
recordedAt: number;
|
|
145
|
+
} | undefined;
|
|
146
|
+
runtime: {
|
|
147
|
+
inspectBenefitEvidence(planId: string): RevisionCapabilityBenefitSample | undefined;
|
|
148
|
+
listEntries(): readonly {
|
|
149
|
+
entryId: string;
|
|
150
|
+
currentPlanId: string;
|
|
151
|
+
}[];
|
|
152
|
+
inspectLatestRollback(entryId: string): RevisionCapabilityRollbackRecord | undefined;
|
|
153
|
+
};
|
|
154
|
+
}): {
|
|
155
|
+
protocol: 'plugin-control-plane/revision-benefit-terminal/v1';
|
|
156
|
+
planId: string;
|
|
157
|
+
outcome: (NonNullable<typeof input.outcome>) | null;
|
|
158
|
+
entry: {
|
|
159
|
+
entryId: string;
|
|
160
|
+
currentPlanId: string;
|
|
161
|
+
} | null;
|
|
162
|
+
rollback: RevisionCapabilityRollbackRecord | null;
|
|
163
|
+
};
|
|
164
|
+
export {};
|
|
165
|
+
//# sourceMappingURL=revision-capability-feedback.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"revision-capability-feedback.d.ts","sourceRoot":"","sources":["../src/revision-capability-feedback.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
import { evaluateRevisionBenefit, revisionBenefitContractDigest, validateRevisionBenefitWindowStats } from '@dsh-enhanced/assistant-growth-contract';
|
|
2
|
+
import { controlPlaneDigest } from './store.js';
|
|
3
|
+
/** Evidence windows are bounded to at most one day, as in the creation ledger. */
|
|
4
|
+
export const REVISION_BENEFIT_MAX_WINDOW_MS = 86_400_000;
|
|
5
|
+
/**
|
|
6
|
+
* Equal-length adjacent windows around the candidate adoption:
|
|
7
|
+
* parent [adoptedAt - W, adoptedAt], candidate [adoptedAt, adoptedAt + W].
|
|
8
|
+
* W is bounded by the candidate signed lifetime, the candidate serving time
|
|
9
|
+
* observed so far, the parent history before adoption and one day.
|
|
10
|
+
*/
|
|
11
|
+
export function revisionBenefitPairedWindows(input) {
|
|
12
|
+
const { candidate, parent, now } = input;
|
|
13
|
+
const adoption = candidate.version.adoptedAt;
|
|
14
|
+
if (!Number.isSafeInteger(now) || !Number.isSafeInteger(adoption) || adoption > now)
|
|
15
|
+
return undefined;
|
|
16
|
+
if (candidate.version.role !== 'revision')
|
|
17
|
+
return undefined;
|
|
18
|
+
if (!Number.isSafeInteger(parent.adoptedAt) || !Number.isSafeInteger(parent.expiresAt) || parent.adoptedAt >= adoption)
|
|
19
|
+
return undefined;
|
|
20
|
+
const lifetime = Math.min(REVISION_BENEFIT_MAX_WINDOW_MS, candidate.version.expiresAt - adoption, now - adoption);
|
|
21
|
+
const history = Math.min(REVISION_BENEFIT_MAX_WINDOW_MS, adoption - parent.adoptedAt);
|
|
22
|
+
const length = Math.min(lifetime, history);
|
|
23
|
+
if (!Number.isSafeInteger(length) || length < 1)
|
|
24
|
+
return undefined;
|
|
25
|
+
const candidateRange = Object.freeze({ start: adoption, end: adoption + length });
|
|
26
|
+
const parentRange = Object.freeze({ start: adoption - length, end: adoption });
|
|
27
|
+
if (candidateRange.end > candidate.version.expiresAt || parentRange.end > parent.expiresAt)
|
|
28
|
+
return undefined;
|
|
29
|
+
return Object.freeze({ candidate: candidateRange, parent: parentRange });
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Observation deadline used by the terminal rollback: the end of the paired
|
|
33
|
+
* candidate window, so the keep/rollback decision uses the same W as the
|
|
34
|
+
* evaluator instead of a lifetime-only cap.
|
|
35
|
+
*/
|
|
36
|
+
export function revisionBenefitObservationDeadline(input) {
|
|
37
|
+
return revisionBenefitPairedWindows(input)?.candidate.end;
|
|
38
|
+
}
|
|
39
|
+
/** True only for equal-length, adjacent parent-then-candidate windows. */
|
|
40
|
+
export function revisionBenefitWindowsArePaired(parent, candidate) {
|
|
41
|
+
return Number.isSafeInteger(parent.start) && Number.isSafeInteger(parent.end) && Number.isSafeInteger(candidate.start)
|
|
42
|
+
&& Number.isSafeInteger(candidate.end) && parent.end === candidate.start
|
|
43
|
+
&& candidate.end - candidate.start === parent.end - parent.start && parent.end > parent.start;
|
|
44
|
+
}
|
|
45
|
+
/** Sums two disjoint evidence sources over the exact same window. */
|
|
46
|
+
export function mergeRevisionBenefitWindows(left, right) {
|
|
47
|
+
if (left.windowStart !== right.windowStart || left.windowEnd !== right.windowEnd)
|
|
48
|
+
return undefined;
|
|
49
|
+
const merged = { ...left,
|
|
50
|
+
taskRevisions: left.taskRevisions + right.taskRevisions,
|
|
51
|
+
correctedOrWithdrawn: left.correctedOrWithdrawn + right.correctedOrWithdrawn,
|
|
52
|
+
failed: left.failed + right.failed, reworked: left.reworked + right.reworked,
|
|
53
|
+
latencyMsTotal: left.latencyMsTotal + right.latencyMsTotal,
|
|
54
|
+
tokensTotal: left.tokensTotal + right.tokensTotal,
|
|
55
|
+
inputTokensTotal: left.inputTokensTotal + right.inputTokensTotal,
|
|
56
|
+
outputTokensTotal: left.outputTokensTotal + right.outputTokensTotal };
|
|
57
|
+
try {
|
|
58
|
+
validateRevisionBenefitWindowStats(merged);
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
return undefined;
|
|
62
|
+
}
|
|
63
|
+
return merged;
|
|
64
|
+
}
|
|
65
|
+
const same = (left, right) => controlPlaneDigest(left) === controlPlaneDigest(right);
|
|
66
|
+
const taskLatencyMs = (execution) => execution?.quiescent && Number.isSafeInteger(execution.completedAt) && Number.isSafeInteger(execution.dispatchedAt)
|
|
67
|
+
&& execution.completedAt >= execution.dispatchedAt ? execution.completedAt - execution.dispatchedAt : undefined;
|
|
68
|
+
/** Exact foreground calls of one version inside the window, grouped per Inbox. */
|
|
69
|
+
function eligibleCalls(input) {
|
|
70
|
+
const { sample, owner } = input, version = sample.version;
|
|
71
|
+
const grouped = new Map();
|
|
72
|
+
for (const call of sample.calls) {
|
|
73
|
+
const foreground = call.foreground;
|
|
74
|
+
if (call.status !== 'completed' || call.attribution !== 'foreground' || foreground === undefined)
|
|
75
|
+
continue;
|
|
76
|
+
if (call.versionPlanId !== version.planId || call.role !== version.role
|
|
77
|
+
|| call.receiptDigest !== version.receiptDigest || call.artifactSha256 !== version.artifactSha256
|
|
78
|
+
|| call.schemaDigest !== version.schemaDigest
|
|
79
|
+
|| !version.tools.some(tool => tool.name === call.toolAlias))
|
|
80
|
+
continue;
|
|
81
|
+
const task = foreground.task;
|
|
82
|
+
if (task.scope.workspace !== owner.workspace || task.scope.preset !== owner.agentPreset
|
|
83
|
+
|| task.owner.principalRecordId !== owner.principalRecordId
|
|
84
|
+
|| task.owner.principalVersion !== owner.principalVersion)
|
|
85
|
+
continue;
|
|
86
|
+
if (!Number.isSafeInteger(call.claimedAt) || call.claimedAt < input.windowStart
|
|
87
|
+
|| call.claimedAt > input.windowEnd || call.claimedAt < version.adoptedAt
|
|
88
|
+
|| call.claimedAt >= version.expiresAt || task.dispatchedAt > call.claimedAt)
|
|
89
|
+
continue;
|
|
90
|
+
if (call.settledAt !== undefined && (!Number.isSafeInteger(call.settledAt)
|
|
91
|
+
|| call.settledAt < call.claimedAt || call.settledAt > input.windowEnd || call.settledAt >= version.expiresAt))
|
|
92
|
+
continue;
|
|
93
|
+
const prior = grouped.get(task.inboxId);
|
|
94
|
+
if (prior !== undefined && prior.sessionId !== task.sessionId)
|
|
95
|
+
return undefined;
|
|
96
|
+
if (prior !== undefined)
|
|
97
|
+
prior.calls.push(call);
|
|
98
|
+
else
|
|
99
|
+
grouped.set(task.inboxId, { sessionId: task.sessionId, calls: [call] });
|
|
100
|
+
}
|
|
101
|
+
return grouped;
|
|
102
|
+
}
|
|
103
|
+
function certifiedTask(input, canonical, inboxId, call) {
|
|
104
|
+
const { owner, delivery } = input;
|
|
105
|
+
const task = call.foreground.task;
|
|
106
|
+
if (!canonical || canonical.projection.subjectKind !== 'foreground-turn'
|
|
107
|
+
|| canonical.projection.subjectRef !== inboxId || canonical.projection.disposition !== 'upsert')
|
|
108
|
+
return undefined;
|
|
109
|
+
const source = delivery.inspectOwnerForegroundLearningTask({ authorityId: owner.authorityId,
|
|
110
|
+
principalId: owner.principalId, workspace: owner.workspace, agentPreset: owner.agentPreset,
|
|
111
|
+
outcomeId: canonical.triggerOutcomeId });
|
|
112
|
+
if (!source || source.protocol !== 'assistant-delivery/owner-foreground-learning/v1' || !same(source.canonical, canonical)
|
|
113
|
+
|| source.source.inboxId !== inboxId || source.source.truncated || !source.source.quiescent
|
|
114
|
+
|| source.source.sessionId !== task.sessionId
|
|
115
|
+
|| source.owner.authorityId !== owner.authorityId || source.owner.authorityHash !== owner.authorityHash
|
|
116
|
+
|| source.owner.principalId !== owner.principalId
|
|
117
|
+
|| source.owner.principalRecordId !== owner.principalRecordId
|
|
118
|
+
|| source.owner.principalVersion !== owner.principalVersion || source.owner.workspace !== owner.workspace
|
|
119
|
+
|| source.owner.agentPreset !== owner.agentPreset
|
|
120
|
+
|| source.owner.bindingVersion !== task.binding.version || source.owner.generation !== task.binding.generation
|
|
121
|
+
|| source.ownerRevision?.action === 'withdraw'
|
|
122
|
+
|| !['owner-feedback', 'independent-verifier'].includes(source.judgement)
|
|
123
|
+
|| !['achieved', 'not-achieved'].includes(source.canonical.objective?.status ?? ''))
|
|
124
|
+
return undefined;
|
|
125
|
+
return source;
|
|
126
|
+
}
|
|
127
|
+
/** Exact Delivery source and execution of one certified foreground task. */
|
|
128
|
+
function originalTaskSource(input, source, inboxId, call) {
|
|
129
|
+
const { owner, delivery } = input, task = call.foreground.task;
|
|
130
|
+
const original = delivery.inspectOwnerForegroundTaskSource({ authorityId: owner.authorityId,
|
|
131
|
+
principalId: owner.principalId, workspace: owner.workspace, agentPreset: owner.agentPreset,
|
|
132
|
+
expectedOwner: { authorityHash: owner.authorityHash, principalRecordId: owner.principalRecordId,
|
|
133
|
+
principalVersion: owner.principalVersion }, inboxId });
|
|
134
|
+
if (!original || source.source.sessionId !== original.binding.sessionId
|
|
135
|
+
|| source.owner.bindingVersion !== original.binding.version || source.owner.generation !== original.binding.generation
|
|
136
|
+
|| original.binding.version !== task.binding.version || original.binding.generation !== task.binding.generation
|
|
137
|
+
|| original.authorityId !== owner.authorityId || original.authorityHash !== owner.authorityHash
|
|
138
|
+
|| original.principalId !== owner.principalId
|
|
139
|
+
|| original.owner.principalRecordId !== owner.principalRecordId
|
|
140
|
+
|| original.owner.principalVersion !== owner.principalVersion)
|
|
141
|
+
return undefined;
|
|
142
|
+
return original;
|
|
143
|
+
}
|
|
144
|
+
function readRows(input, grouped) {
|
|
145
|
+
const { evaluation, owner } = input;
|
|
146
|
+
const scope = evaluation.canonicalHostScope({ workspace: owner.workspace, preset: owner.agentPreset });
|
|
147
|
+
const evidence = [];
|
|
148
|
+
const rows = [];
|
|
149
|
+
let watermark = 0;
|
|
150
|
+
for (const [inboxId, group] of grouped) {
|
|
151
|
+
const canonical = evaluation.getTrustedForegroundLearningProjection({ scope, inboxId });
|
|
152
|
+
const source = certifiedTask(input, canonical, inboxId, group.calls[0]);
|
|
153
|
+
if (!source)
|
|
154
|
+
throw new Error('revision benefit task source is not current');
|
|
155
|
+
const original = originalTaskSource(input, source, inboxId, group.calls[0]);
|
|
156
|
+
if (!original)
|
|
157
|
+
throw new Error('revision benefit task binding changed');
|
|
158
|
+
evidence.push(source.canonical.projection);
|
|
159
|
+
watermark = Math.max(watermark, source.canonical.scopeWatermark);
|
|
160
|
+
const metrics = evaluation.inspectTrustedOutcomeMetrics?.({
|
|
161
|
+
scope, outcomeId: source.canonical.objective?.outcomeId ?? source.canonical.triggerOutcomeId
|
|
162
|
+
});
|
|
163
|
+
const tokens = metrics === undefined || typeof metrics.inputTokens !== 'number' || typeof metrics.outputTokens !== 'number'
|
|
164
|
+
? undefined : { input: metrics.inputTokens, output: metrics.outputTokens };
|
|
165
|
+
const latencyMs = taskLatencyMs(original.execution);
|
|
166
|
+
rows.push({ inboxId, sessionId: group.sessionId,
|
|
167
|
+
callKeys: group.calls.map(call => call.key).sort(),
|
|
168
|
+
status: source.canonical.objective.status,
|
|
169
|
+
ownerRevisionAction: (source.ownerRevision?.action ?? 'initial'),
|
|
170
|
+
...(latencyMs === undefined ? {} : { latencyMs }),
|
|
171
|
+
...(tokens === undefined ? {} : { tokens }) });
|
|
172
|
+
}
|
|
173
|
+
return { rows, evidence, watermark };
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* One revision-benefit window over foreground-attributed entry calls. Rows the
|
|
177
|
+
* owner corrected are excluded from the aggregates and counted separately;
|
|
178
|
+
* withdrawn rows are absent; unmeasured cost/latency stay zero so the evaluator
|
|
179
|
+
* can only return insufficient.
|
|
180
|
+
*/
|
|
181
|
+
export function inspectRevisionCapabilityBenefitWindow(input) {
|
|
182
|
+
if (!Number.isSafeInteger(input.windowStart) || !Number.isSafeInteger(input.windowEnd)
|
|
183
|
+
|| input.windowEnd <= input.windowStart || input.windowEnd < 1)
|
|
184
|
+
return undefined;
|
|
185
|
+
const grouped = eligibleCalls(input);
|
|
186
|
+
if (grouped === undefined)
|
|
187
|
+
return undefined;
|
|
188
|
+
let read;
|
|
189
|
+
if (grouped.size === 0)
|
|
190
|
+
read = { rows: [], evidence: [], watermark: 0 };
|
|
191
|
+
else {
|
|
192
|
+
try {
|
|
193
|
+
const before = readRows(input, grouped);
|
|
194
|
+
const scope = input.evaluation.canonicalHostScope({ workspace: input.owner.workspace, preset: input.owner.agentPreset });
|
|
195
|
+
const fenced = input.evaluation.withTrustedCanonicalTaskWriterFence({ scope,
|
|
196
|
+
scopeWatermark: before.watermark, evidence: before.evidence }, () => {
|
|
197
|
+
const during = readRows(input, grouped);
|
|
198
|
+
if (!same(during, before))
|
|
199
|
+
throw new Error('revision benefit task source changed');
|
|
200
|
+
return during.rows;
|
|
201
|
+
});
|
|
202
|
+
if (!fenced.matched)
|
|
203
|
+
return undefined;
|
|
204
|
+
read = { ...before, rows: fenced.value };
|
|
205
|
+
}
|
|
206
|
+
catch {
|
|
207
|
+
return undefined;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
let correctedOrWithdrawn = 0, failed = 0, reworked = 0;
|
|
211
|
+
let latencyMsTotal = 0, tokensTotal = 0, inputTokensTotal = 0, outputTokensTotal = 0;
|
|
212
|
+
for (const row of read.rows) {
|
|
213
|
+
if (row.ownerRevisionAction !== 'initial') {
|
|
214
|
+
correctedOrWithdrawn += 1;
|
|
215
|
+
continue;
|
|
216
|
+
}
|
|
217
|
+
if (row.status === 'not-achieved')
|
|
218
|
+
failed += 1;
|
|
219
|
+
if (row.callKeys.length > 1)
|
|
220
|
+
reworked += 1;
|
|
221
|
+
latencyMsTotal += row.latencyMs ?? 0;
|
|
222
|
+
if (row.tokens !== undefined) {
|
|
223
|
+
tokensTotal += row.tokens.input + row.tokens.output;
|
|
224
|
+
inputTokensTotal += row.tokens.input;
|
|
225
|
+
outputTokensTotal += row.tokens.output;
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
const stats = {
|
|
229
|
+
protocol: 'assistant-growth/revision-benefit-window/v1', artifactSha256: input.sample.version.artifactSha256,
|
|
230
|
+
windowStart: input.windowStart, windowEnd: input.windowEnd, taskRevisions: read.rows.length,
|
|
231
|
+
correctedOrWithdrawn, failed, reworked, latencyMsTotal, tokensTotal, inputTokensTotal, outputTokensTotal,
|
|
232
|
+
};
|
|
233
|
+
try {
|
|
234
|
+
validateRevisionBenefitWindowStats(stats);
|
|
235
|
+
}
|
|
236
|
+
catch {
|
|
237
|
+
return undefined;
|
|
238
|
+
}
|
|
239
|
+
return stats;
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Host-only evaluation over equal, adjacent parent/candidate windows. The
|
|
243
|
+
* evaluator refuses any unpaired window data instead of comparing arbitrary
|
|
244
|
+
* ranges.
|
|
245
|
+
*/
|
|
246
|
+
export function evaluateRevisionBenefitEvidence(input) {
|
|
247
|
+
try {
|
|
248
|
+
const windows = input.windows;
|
|
249
|
+
if (!revisionBenefitWindowsArePaired(windows.parent, windows.candidate))
|
|
250
|
+
return undefined;
|
|
251
|
+
if (input.parent.windowStart !== windows.parent.start || input.parent.windowEnd !== windows.parent.end)
|
|
252
|
+
return undefined;
|
|
253
|
+
const candidate = inspectRevisionCapabilityBenefitWindow({ sample: input.candidate, windowStart: windows.candidate.start,
|
|
254
|
+
windowEnd: windows.candidate.end, owner: input.owner, evaluation: input.evaluation, delivery: input.delivery, now: input.now });
|
|
255
|
+
if (candidate === undefined || candidate.windowStart !== windows.candidate.start || candidate.windowEnd !== windows.candidate.end) {
|
|
256
|
+
return undefined;
|
|
257
|
+
}
|
|
258
|
+
const evaluation = evaluateRevisionBenefit(input.contract, input.parent, candidate, input.now);
|
|
259
|
+
return Object.freeze({ evaluation, contractDigest: revisionBenefitContractDigest(input.contract),
|
|
260
|
+
candidate, parent: input.parent, windows });
|
|
261
|
+
}
|
|
262
|
+
catch {
|
|
263
|
+
return undefined;
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* The bounded negative-benefit decision: only a pinned, post-window `inferior`
|
|
268
|
+
* outcome for the entry's exact current plan rolls back to the parent CAS.
|
|
269
|
+
* Everything else leaves the adoption untouched.
|
|
270
|
+
*/
|
|
271
|
+
export async function autoRollbackInferiorRevision(input) {
|
|
272
|
+
const runtime = input.runtime;
|
|
273
|
+
if (!runtime || !input.benefitConfigured)
|
|
274
|
+
return { rolledBack: false, reason: 'benefit-not-configured' };
|
|
275
|
+
const entry = runtime.listEntries().find(item => item.currentPlanId === input.planId);
|
|
276
|
+
if (entry === undefined)
|
|
277
|
+
return { rolledBack: false, reason: 'entry-not-found' };
|
|
278
|
+
const current = runtime.inspectEntry(entry.entryId);
|
|
279
|
+
if (!current || current.currentPlanId !== input.planId)
|
|
280
|
+
return { rolledBack: false, reason: 'not-current' };
|
|
281
|
+
if (input.pinnedContractDigest === undefined)
|
|
282
|
+
return { rolledBack: false, reason: 'benefit-not-pinned' };
|
|
283
|
+
if (input.observationDeadline !== undefined && input.now >= input.observationDeadline) {
|
|
284
|
+
if (input.outcome !== undefined && input.outcome.contractDigest !== input.pinnedContractDigest) {
|
|
285
|
+
return { rolledBack: false, reason: 'outcome-contract-mismatch' };
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
if (input.observationDeadline !== undefined && input.now >= input.observationDeadline
|
|
289
|
+
&& (input.outcome === undefined || input.outcome.status !== 'non-inferior')) {
|
|
290
|
+
const reason = input.outcome === undefined ? 'observation-expired-unverified' : 'observation-expired-' + input.outcome.status;
|
|
291
|
+
const record = await (input.rollback ?? ((target, value) => target.rollback(value)))(runtime, { entryId: entry.entryId, expectedCurrentPlanId: input.planId });
|
|
292
|
+
return { rolledBack: true, reason, record };
|
|
293
|
+
}
|
|
294
|
+
const windowEnd = input.growthRunCreatedAt === undefined ? undefined
|
|
295
|
+
: input.growthRunCreatedAt + Math.max(1, input.observeWindowMs);
|
|
296
|
+
if (windowEnd === undefined || input.now < windowEnd)
|
|
297
|
+
return { rolledBack: false, reason: 'observation-open' };
|
|
298
|
+
if (input.outcome === undefined || input.outcome.contractDigest !== input.pinnedContractDigest) {
|
|
299
|
+
return { rolledBack: false, reason: 'outcome-missing' };
|
|
300
|
+
}
|
|
301
|
+
if (input.outcome.status !== 'inferior')
|
|
302
|
+
return { rolledBack: false, reason: 'outcome:' + input.outcome.status };
|
|
303
|
+
const record = await (input.rollback ?? ((target, value) => target.rollback(value)))(runtime, { entryId: entry.entryId, expectedCurrentPlanId: input.planId });
|
|
304
|
+
return { rolledBack: true, reason: input.outcome.reason, record };
|
|
305
|
+
}
|
|
306
|
+
/** Host-only terminal read combining the benefit ledger with the revision journal. */
|
|
307
|
+
export function inspectRevisionBenefitTerminal(input) {
|
|
308
|
+
const entryId = input.runtime.inspectBenefitEvidence(input.planId)?.version.entryId;
|
|
309
|
+
const entry = entryId === undefined ? undefined
|
|
310
|
+
: input.runtime.listEntries().find(item => item.entryId === entryId);
|
|
311
|
+
return Object.freeze({ protocol: 'plugin-control-plane/revision-benefit-terminal/v1',
|
|
312
|
+
planId: input.planId, outcome: input.outcome ?? null,
|
|
313
|
+
entry: entry === undefined ? null : { entryId: entry.entryId, currentPlanId: entry.currentPlanId },
|
|
314
|
+
rollback: entryId === undefined ? null : input.runtime.inspectLatestRollback(entryId) ?? null });
|
|
315
|
+
}
|
|
316
|
+
//# sourceMappingURL=revision-capability-feedback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"revision-capability-feedback.js","sourceRoot":"","sources":["../src/revision-capability-feedback.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,17 @@
|
|
|
1
|
+
import type { CreationCapabilityForegroundCallWitness } from './creation-capability-types.js';
|
|
1
2
|
import type { RevisionCapabilityAdoptionReceipt, RevisionCapabilityAdoptionRecord, RevisionCapabilityCall, RevisionCapabilityCallEvidence, RevisionCapabilityConfig, RevisionCapabilityEntry, RevisionCapabilityJournalPort, RevisionCapabilityRollbackRecord, RevisionCapabilityVersion } from './revision-capability-types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Host-only Delivery attestation of the exact foreground owner call that
|
|
5
|
+
* produced one revision entry invocation. Only structure, owner scope, call
|
|
6
|
+
* identity and digests are retained; no task text or arguments.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Host-native tool arguments are normalized by Delivery as JSON.parse then
|
|
10
|
+
* JSON.stringify; mirror that exact normalization so the foreground witness,
|
|
11
|
+
* the journal row and the runtime agree for every key order. Do not substitute
|
|
12
|
+
* a canonicalizing serializer here.
|
|
13
|
+
*/
|
|
14
|
+
export declare function revisionCallArgumentsDigest(value: unknown): string;
|
|
2
15
|
/** Read-only preflight; it never creates a signing key or ledger. */
|
|
3
16
|
export declare function validateRevisionCapabilityConfig(value: unknown): asserts value is RevisionCapabilityConfig;
|
|
4
17
|
/** Stable public identity for preflight separation from acceptance and creation adoption keys. */
|
|
@@ -78,13 +91,17 @@ export declare class RevisionCapabilityJournal implements RevisionCapabilityJour
|
|
|
78
91
|
created: boolean;
|
|
79
92
|
record: RevisionCapabilityRollbackRecord;
|
|
80
93
|
};
|
|
94
|
+
/** Host-only ordered rollback history of one stable entry. */
|
|
95
|
+
listRollbacks(entryId: string): readonly RevisionCapabilityRollbackRecord[];
|
|
81
96
|
private decodeRollback;
|
|
97
|
+
private decodeForeground;
|
|
82
98
|
claimCall(input: {
|
|
83
99
|
entryId: string;
|
|
84
100
|
key: string;
|
|
85
101
|
argumentsDigest: string;
|
|
86
102
|
toolAlias: string;
|
|
87
103
|
versionPlanId: string;
|
|
104
|
+
foreground?: CreationCapabilityForegroundCallWitness;
|
|
88
105
|
}): {
|
|
89
106
|
created: boolean;
|
|
90
107
|
call: RevisionCapabilityCall;
|
|
@@ -96,7 +113,13 @@ export declare class RevisionCapabilityJournal implements RevisionCapabilityJour
|
|
|
96
113
|
status: 'completed' | 'unknown';
|
|
97
114
|
result?: unknown;
|
|
98
115
|
}): void;
|
|
116
|
+
private callEvidence;
|
|
99
117
|
listCallEvidence(entryId: string): readonly RevisionCapabilityCallEvidence[];
|
|
118
|
+
/**
|
|
119
|
+
* Calls attributed to one exact retained version. This is the only revision
|
|
120
|
+
* benefit evidence source: it never consults the creation ledger.
|
|
121
|
+
*/
|
|
122
|
+
listBenefitCallEvidence(planId: string): readonly RevisionCapabilityCallEvidence[];
|
|
100
123
|
recoverClaims(): void;
|
|
101
124
|
close(): void;
|
|
102
125
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revision-capability-journal.d.ts","sourceRoot":"","sources":["../src/revision-capability-journal.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"revision-capability-journal.d.ts","sourceRoot":"","sources":["../src/revision-capability-journal.ts"],"names":[],"mappings":"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"}
|