@dsh-enhanced/plugin-control-plane 0.1.67 → 0.1.70

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/README.md +54 -20
  2. package/lib/cli.d.ts.map +1 -1
  3. package/lib/cli.js +66 -11
  4. package/lib/cli.js.map +1 -1
  5. package/lib/creation-capability-feedback.d.ts +16 -1
  6. package/lib/creation-capability-feedback.d.ts.map +1 -1
  7. package/lib/creation-capability-feedback.js +82 -5
  8. package/lib/creation-capability-feedback.js.map +1 -1
  9. package/lib/creation-capability-journal.d.ts.map +1 -1
  10. package/lib/creation-capability-journal.js +2 -0
  11. package/lib/creation-capability-journal.js.map +1 -1
  12. package/lib/creation-capability-runtime.d.ts.map +1 -1
  13. package/lib/creation-capability-runtime.js +2 -0
  14. package/lib/creation-capability-runtime.js.map +1 -1
  15. package/lib/creation-capability-types.d.ts +1 -0
  16. package/lib/creation-capability-types.d.ts.map +1 -1
  17. package/lib/linux-source-build.d.ts +13 -2
  18. package/lib/linux-source-build.d.ts.map +1 -1
  19. package/lib/linux-source-build.js.map +1 -1
  20. package/lib/live-qualification-authority.js +2 -2
  21. package/lib/live-qualification-authority.js.map +1 -1
  22. package/lib/owner-instruction-drain.d.ts +60 -0
  23. package/lib/owner-instruction-drain.d.ts.map +1 -0
  24. package/lib/owner-instruction-drain.js +101 -0
  25. package/lib/owner-instruction-drain.js.map +1 -0
  26. package/lib/revision-capability-feedback.d.ts +165 -0
  27. package/lib/revision-capability-feedback.d.ts.map +1 -0
  28. package/lib/revision-capability-feedback.js +316 -0
  29. package/lib/revision-capability-feedback.js.map +1 -0
  30. package/lib/revision-capability-journal.d.ts +23 -0
  31. package/lib/revision-capability-journal.d.ts.map +1 -1
  32. package/lib/revision-capability-journal.js +124 -15
  33. package/lib/revision-capability-journal.js.map +1 -1
  34. package/lib/revision-capability-runtime.d.ts +19 -1
  35. package/lib/revision-capability-runtime.d.ts.map +1 -1
  36. package/lib/revision-capability-runtime.js +80 -7
  37. package/lib/revision-capability-runtime.js.map +1 -1
  38. package/lib/revision-capability-types.d.ts +50 -4
  39. package/lib/revision-capability-types.d.ts.map +1 -1
  40. package/lib/service.d.ts +174 -3
  41. package/lib/service.d.ts.map +1 -1
  42. package/lib/service.js +732 -68
  43. package/lib/service.js.map +1 -1
  44. package/lib/source-adoption-authority.js +2 -2
  45. package/lib/source-adoption-authority.js.map +1 -1
  46. package/lib/source-approval-authority.js +3 -3
  47. package/lib/source-approval-authority.js.map +1 -1
  48. package/lib/source-build.d.ts +33 -53
  49. package/lib/source-build.d.ts.map +1 -1
  50. package/lib/source-build.js +28 -408
  51. package/lib/source-build.js.map +1 -1
  52. package/lib/source-job-types.d.ts +111 -4
  53. package/lib/source-job-types.d.ts.map +1 -1
  54. package/lib/source-jobs.d.ts +68 -4
  55. package/lib/source-jobs.d.ts.map +1 -1
  56. package/lib/source-jobs.js +296 -46
  57. package/lib/source-jobs.js.map +1 -1
  58. package/lib/source-release-authority.js +2 -2
  59. package/lib/source-release-authority.js.map +1 -1
  60. package/lib/source-revision.d.ts +29 -3
  61. package/lib/source-revision.d.ts.map +1 -1
  62. package/lib/source-revision.js +40 -9
  63. package/lib/source-revision.js.map +1 -1
  64. package/lib/source-workspace.d.ts +11 -4
  65. package/lib/source-workspace.d.ts.map +1 -1
  66. package/lib/source-workspace.js +51 -17
  67. package/lib/source-workspace.js.map +1 -1
  68. package/lib/sqlite.d.ts +6 -7
  69. package/lib/sqlite.d.ts.map +1 -1
  70. package/lib/sqlite.js +255 -17
  71. package/lib/sqlite.js.map +1 -1
  72. package/lib/store.d.ts +142 -3
  73. package/lib/store.d.ts.map +1 -1
  74. package/lib/store.js +732 -63
  75. package/lib/store.js.map +1 -1
  76. package/lib/systemd-host-authority.js +4 -4
  77. package/lib/systemd-host-authority.js.map +1 -1
  78. package/lib/task-observation-authority.js +2 -2
  79. package/lib/task-observation-authority.js.map +1 -1
  80. package/lib/version.d.ts +1 -1
  81. package/lib/version.js +1 -1
  82. package/lib/work-item-creation-contract.d.ts +3 -1
  83. package/lib/work-item-creation-contract.d.ts.map +1 -1
  84. package/lib/work-item-creation-contract.js +10 -1
  85. package/lib/work-item-creation-contract.js.map +1 -1
  86. 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":"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"}
1
+ {"version":3,"file":"revision-capability-journal.d.ts","sourceRoot":"","sources":["../src/revision-capability-journal.ts"],"names":[],"mappings":"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"}