@dsh-enhanced/assistant-skills 0.1.31 → 0.1.34

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 (66) hide show
  1. package/README.md +56 -9
  2. package/lib/definition.d.ts +53 -2
  3. package/lib/definition.d.ts.map +1 -1
  4. package/lib/definition.js +96 -0
  5. package/lib/definition.js.map +1 -1
  6. package/lib/delegated-arm.d.ts +47 -0
  7. package/lib/delegated-arm.d.ts.map +1 -0
  8. package/lib/delegated-arm.js +26 -0
  9. package/lib/delegated-arm.js.map +1 -0
  10. package/lib/external-holdout.js +1 -1
  11. package/lib/external-holdout.js.map +1 -1
  12. package/lib/holdout-authority.d.ts +1 -122
  13. package/lib/holdout-authority.d.ts.map +1 -1
  14. package/lib/holdout-authority.js +5 -262
  15. package/lib/holdout-authority.js.map +1 -1
  16. package/lib/holdout-cli.d.ts.map +1 -1
  17. package/lib/holdout-cli.js +2 -0
  18. package/lib/holdout-cli.js.map +1 -1
  19. package/lib/holdout-qualification.d.ts +11 -3
  20. package/lib/holdout-qualification.d.ts.map +1 -1
  21. package/lib/holdout-qualification.js +19 -9
  22. package/lib/holdout-qualification.js.map +1 -1
  23. package/lib/index.d.ts +10 -1
  24. package/lib/index.d.ts.map +1 -1
  25. package/lib/index.js +4 -0
  26. package/lib/index.js.map +1 -1
  27. package/lib/prospective-holdout.d.ts +1 -34
  28. package/lib/prospective-holdout.d.ts.map +1 -1
  29. package/lib/prospective-holdout.js +4 -253
  30. package/lib/prospective-holdout.js.map +1 -1
  31. package/lib/repair-agent.d.ts +11 -2
  32. package/lib/repair-agent.d.ts.map +1 -1
  33. package/lib/repair-agent.js +178 -17
  34. package/lib/repair-agent.js.map +1 -1
  35. package/lib/repair-process.d.ts +20 -0
  36. package/lib/repair-process.d.ts.map +1 -0
  37. package/lib/repair-process.js +92 -0
  38. package/lib/repair-process.js.map +1 -0
  39. package/lib/repair-profile.d.ts +6 -2
  40. package/lib/repair-profile.d.ts.map +1 -1
  41. package/lib/repair-profile.js +10 -4
  42. package/lib/repair-profile.js.map +1 -1
  43. package/lib/repair-runtime.d.ts +2 -0
  44. package/lib/repair-runtime.d.ts.map +1 -1
  45. package/lib/repair-runtime.js +7 -1
  46. package/lib/repair-runtime.js.map +1 -1
  47. package/lib/repair-workspace-path.d.ts +17 -0
  48. package/lib/repair-workspace-path.d.ts.map +1 -0
  49. package/lib/repair-workspace-path.js +84 -0
  50. package/lib/repair-workspace-path.js.map +1 -0
  51. package/lib/replay.d.ts.map +1 -1
  52. package/lib/replay.js +17 -2
  53. package/lib/replay.js.map +1 -1
  54. package/lib/service.d.ts +271 -2
  55. package/lib/service.d.ts.map +1 -1
  56. package/lib/service.js +473 -35
  57. package/lib/service.js.map +1 -1
  58. package/lib/store.d.ts +47 -0
  59. package/lib/store.d.ts.map +1 -1
  60. package/lib/store.js +262 -6
  61. package/lib/store.js.map +1 -1
  62. package/lib/version.d.ts +1 -1
  63. package/lib/version.js +1 -1
  64. package/lib/watch-proof.js +2 -2
  65. package/lib/watch-proof.js.map +1 -1
  66. package/package.json +8 -8
@@ -1,6 +1,6 @@
1
1
  import type { GoalScope } from '@dsh-enhanced/assistant-goals';
2
2
  import type { SkillDefinition } from './definition.js';
3
- import { type HoldoutReceipt } from './holdout-authority.js';
3
+ import { type BeginResult, type HoldoutReceipt } from './holdout-authority.js';
4
4
  export interface HoldoutExecutionConfig {
5
5
  readonly image: string;
6
6
  readonly dockerPath: string;
@@ -44,7 +44,7 @@ export interface HoldoutQualificationInput {
44
44
  readonly expectedGeneratorDigest?: string;
45
45
  readonly canaryAdmission?: CanaryAdmission;
46
46
  readonly transport: {
47
- request(operation: 'begin' | 'next' | 'record' | 'finish', value?: unknown, signal?: AbortSignal): Promise<unknown>;
47
+ request(operation: 'begin' | 'manifest' | 'next' | 'record' | 'finish', value?: unknown, signal?: AbortSignal): Promise<unknown>;
48
48
  };
49
49
  readonly signal: AbortSignal;
50
50
  readonly authorize: () => void;
@@ -56,7 +56,7 @@ export interface HoldoutQualificationResult {
56
56
  evaluationGain: number | null;
57
57
  evaluationGainObserved: boolean;
58
58
  criticalRegressionsPassed: boolean;
59
- heldoutIndependence: 'unproven';
59
+ heldoutIndependence: 'unproven' | 'attested-after-freeze';
60
60
  };
61
61
  readonly modelCalls: 0;
62
62
  readonly promotionAuthorized: false;
@@ -64,12 +64,20 @@ export interface HoldoutQualificationResult {
64
64
  readonly prospectiveHoldout?: 'authority-attested-after-freeze';
65
65
  readonly admissionDigest?: string;
66
66
  }
67
+ /** Cells actually issued by the authority, keyed by cell id and bound arm digest. */
68
+ export type IssuedHoldoutCells = ReadonlyMap<string, string>;
67
69
  /** Resolve every existing component while preserving a normalized suffix that does not exist yet. */
68
70
  export declare function canonicalHoldoutPath(path: string): string;
69
71
  export declare function holdoutPathsOverlap(left: string, right: string): boolean;
70
72
  export declare function validateHoldoutExecution(value: HoldoutExecutionConfig): void;
71
73
  export declare function validateCanaryAdmission(value: unknown): asserts value is CanaryAdmission;
72
74
  export declare function canaryAdmissionMatches(value: unknown, baseline: SkillDefinition, candidate: SkillDefinition): value is CanaryAdmission;
75
+ /**
76
+ * Verifies the final signed authority receipt against a previously verified
77
+ * begin response and the cells actually issued to the evaluator. The caller
78
+ * supplies the authority public-key pin; the receipt key is never trusted.
79
+ */
80
+ export declare function verifyHoldoutReceipt(value: unknown, begin: BeginResult, seen: IssuedHoldoutCells, pinnedPublicKey: string): value is HoldoutReceipt;
73
81
  export type ProspectiveQualificationContext = Pick<HoldoutQualificationInput, 'scope' | 'baseline' | 'candidate' | 'execution' | 'inputs' | 'files' | 'pinnedPublicKey' | 'canaryAdmission'> & {
74
82
  readonly expectedGeneratorDigest: string;
75
83
  };
@@ -1 +1 @@
1
- {"version":3,"file":"holdout-qualification.d.ts","sourceRoot":"","sources":["../src/holdout-qualification.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAGtD,OAAO,EAA4C,KAAK,cAAc,EAAmB,MAAM,wBAAwB,CAAA;AAGvH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAA;CACxC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,sCAAsC,CAAA;IACzD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAA;IACvC,QAAQ,CAAC,yBAAyB,EAAE,MAAM,CAAA;IAC1C,QAAQ,CAAC,UAAU,EAAE;QACnB,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAA;QACrC,QAAQ,CAAC,cAAc,EAAE;YAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAA;KACpG,CAAA;CACF;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAA;IAClC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAA;IACnC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,sBAAsB,CAAA;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IACnD,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC7D,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAA;IACvC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAA;IACzC,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAA;IAC1C,QAAQ,CAAC,SAAS,EAAE;QAAE,OAAO,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;KAAE,CAAA;IAC3I,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,IAAI,CAAA;CAC/B;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAA;IAChC,QAAQ,CAAC,OAAO,EAAE;QAAE,qBAAqB,EAAE,OAAO,CAAC;QAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,sBAAsB,EAAE,OAAO,CAAC;QAAC,yBAAyB,EAAE,OAAO,CAAC;QAAC,mBAAmB,EAAE,UAAU,CAAA;KAAE,CAAA;IACzL,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAA;IACtB,QAAQ,CAAC,mBAAmB,EAAE,KAAK,CAAA;IACnC,QAAQ,CAAC,SAAS,EAAE,yCAAyC,CAAA;IAC7D,QAAQ,CAAC,kBAAkB,CAAC,EAAE,iCAAiC,CAAA;IAC/D,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAClC;AAaD,qGAAqG;AACrG,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAoBzD;AAKD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAGxE;AAiBD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI,CAQ5E;AACD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,eAAe,CAOxF;AACD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,eAAe,GAAG,KAAK,IAAI,eAAe,CAOtI;AA6DD,MAAM,MAAM,+BAA+B,GAAG,IAAI,CAAC,yBAAyB,EAAE,OAAO,GAAG,UAAU,GAAG,WAAW,GAAG,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,iBAAiB,GAAG,iBAAiB,CAAC,GAAG;IAAE,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAA;CAAE,CAAA;AAO3O;;;GAGG;AACH,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,+BAA+B,GAAG,0BAA0B,GAAG,SAAS,CAmB9I;AAED,kHAAkH;AAClH,wBAAsB,cAAc,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,0BAA0B,CAAC,CA2D1G"}
1
+ {"version":3,"file":"holdout-qualification.d.ts","sourceRoot":"","sources":["../src/holdout-qualification.ts"],"names":[],"mappings":"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"}
@@ -144,12 +144,19 @@ function toolCalls(replay, definition) {
144
144
  return step.outcome === 'executed' ? { name: step.toolName, inputDigest, outputDigest: step.resultDigest } : { name: step.toolName, inputDigest };
145
145
  });
146
146
  }
147
- function validReceipt(value, begin, seen) {
147
+ /**
148
+ * Verifies the final signed authority receipt against a previously verified
149
+ * begin response and the cells actually issued to the evaluator. The caller
150
+ * supplies the authority public-key pin; the receipt key is never trusted.
151
+ */
152
+ export function verifyHoldoutReceipt(value, begin, seen, pinnedPublicKey) {
153
+ if (typeof pinnedPublicKey !== 'string' || pinnedPublicKey.length === 0 || begin.publicKey !== pinnedPublicKey)
154
+ return false;
148
155
  if (!plain(value))
149
156
  return false;
150
157
  const data = value;
151
158
  const hasAdmission = Object.hasOwn(data, 'admissionDigest');
152
- if (!verifyHoldoutSignature(data, begin.publicKey) || data.sessionId !== begin.sessionId || data.planDigest !== begin.planDigest || data.datasetDigest !== begin.datasetDigest || data.publicKey !== begin.publicKey
159
+ if (!verifyHoldoutSignature(data, pinnedPublicKey) || data.sessionId !== begin.sessionId || data.planDigest !== begin.planDigest || data.datasetDigest !== begin.datasetDigest || data.publicKey !== pinnedPublicKey
153
160
  || hasAdmission !== Object.hasOwn(begin, 'admissionDigest') || data.scopeDigest !== begin.scopeDigest || data.baselineDigest !== begin.baselineDigest || data.candidateDigest !== begin.candidateDigest || data.budgetDigest !== begin.budgetDigest || data.admissionDigest !== begin.admissionDigest
154
161
  || data.expiresAt !== begin.expiresAt || data.repeats !== begin.repeats || !same(data.limits, begin.limits) || data.cellCount !== begin.cellCount || typeof data.complete !== 'boolean'
155
162
  || !same(data.prospective ?? null, begin.prospective ?? null)
@@ -173,12 +180,15 @@ function validReceipt(value, begin, seen) {
173
180
  && (item.observationDigest === undefined || hex(item.observationDigest)) && (ids.add(item.cellId), true);
174
181
  }) && ids.size === begin.cellCount && pairs.size * 2 === begin.cellCount && kinds.size === 3 && [...pairs.values()].every(arms => arms.size === 2 && arms.has(begin.baselineDigest) && arms.has(begin.candidateDigest));
175
182
  }
176
- function quality(receipt) {
183
+ function quality(receipt, attested) {
177
184
  const rate = (kind, arm) => { const cells = receipt.cellVerdicts.filter(cell => cell.kind === kind && cell.armDigest === arm); return cells.length ? cells.filter(cell => cell.verdict === 'achieved').length / cells.length : 0; };
178
185
  const complete = receipt.complete && receipt.cellVerdicts.every(cell => cell.verdict !== 'unknown');
179
186
  const evaluationGain = complete ? rate('evaluation', receipt.candidateDigest) - rate('evaluation', receipt.baselineDigest) : null;
180
- return { candidateChecksPassed: complete && receipt.cellVerdicts.filter(cell => cell.armDigest === receipt.candidateDigest).every(cell => cell.verdict === 'achieved'), evaluationGain,
181
- evaluationGainObserved: evaluationGain !== null && evaluationGain > 0, criticalRegressionsPassed: complete && receipt.cellVerdicts.filter(cell => cell.kind === 'regression' && cell.armDigest === receipt.candidateDigest).every(cell => cell.verdict === 'achieved'), heldoutIndependence: 'unproven' };
187
+ const candidateChecksPassed = complete && receipt.cellVerdicts.filter(cell => cell.armDigest === receipt.candidateDigest).every(cell => cell.verdict === 'achieved');
188
+ const criticalRegressionsPassed = complete && receipt.cellVerdicts.filter(cell => cell.kind === 'regression' && cell.armDigest === receipt.candidateDigest).every(cell => cell.verdict === 'achieved');
189
+ return { candidateChecksPassed, evaluationGain,
190
+ evaluationGainObserved: evaluationGain !== null && evaluationGain > 0, criticalRegressionsPassed,
191
+ heldoutIndependence: attested && complete && candidateChecksPassed && evaluationGain !== null && evaluationGain > 0 && criticalRegressionsPassed ? 'attested-after-freeze' : 'unproven' };
182
192
  }
183
193
  function prospectiveBinding(begin, frozen, key, generator) {
184
194
  const { limits: _limits, ...expected } = frozen;
@@ -207,9 +217,9 @@ export function inspectProspectiveQualification(value, input) {
207
217
  return undefined;
208
218
  const saved = receipt;
209
219
  const seen = new Map(saved.cellVerdicts.map(cell => [cell.cellId, cell.armDigest]));
210
- if (!validReceipt(saved, receipt, seen))
220
+ if (!verifyHoldoutReceipt(saved, receipt, seen, input.pinnedPublicKey))
211
221
  return undefined;
212
- return { receipt: clone(saved), quality: quality(saved), modelCalls: 0, promotionAuthorized: false, execution: 'native-file-tools-and-isolated-artifact', prospectiveHoldout: 'authority-attested-after-freeze',
222
+ return { receipt: clone(saved), quality: quality(saved, true), modelCalls: 0, promotionAuthorized: false, execution: 'native-file-tools-and-isolated-artifact', prospectiveHoldout: 'authority-attested-after-freeze',
213
223
  ...(admissionDigest === undefined ? {} : { admissionDigest }) };
214
224
  }
215
225
  catch {
@@ -292,10 +302,10 @@ export async function qualifyHoldout(input) {
292
302
  }
293
303
  revalidate();
294
304
  const receiptValue = await request(input.transport, 'finish', undefined, input.signal, execution.expiresAt, execution.cellDurationMs);
295
- if (!validReceipt(receiptValue, begin, seen))
305
+ if (!verifyHoldoutReceipt(receiptValue, begin, seen, pinnedPublicKey))
296
306
  fail('receipt signature or binding is invalid');
297
307
  const receipt = receiptValue;
298
- return { receipt, quality: quality(receipt), modelCalls: 0, promotionAuthorized: false, execution: 'native-file-tools-and-isolated-artifact',
308
+ return { receipt, quality: quality(receipt, expectedGeneratorDigest !== undefined), modelCalls: 0, promotionAuthorized: false, execution: 'native-file-tools-and-isolated-artifact',
299
309
  ...(expectedGeneratorDigest === undefined ? {} : { prospectiveHoldout: 'authority-attested-after-freeze' }),
300
310
  ...(canaryAdmission === undefined ? {} : { admissionDigest: digest(canaryAdmission) }) };
301
311
  }
@@ -1 +1 @@
1
- {"version":3,"file":"holdout-qualification.js","sourceRoot":"","sources":["../src/holdout-qualification.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"holdout-qualification.js","sourceRoot":"","sources":["../src/holdout-qualification.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -16,7 +16,16 @@ declare const _default: {
16
16
  };
17
17
  export default _default;
18
18
  export type { RepairContinuationProfile } from './repair-profile.js';
19
- export type { RepairExecutionAuthority, RepairExecutionContext, StageFailureCandidateInput } from './service.js';
19
+ export type { RepairExecutionAuthority, RepairExecutionContext, StageFailureCandidateInput, OwnerSuccessCandidateAuthority, StageSuccessCandidateInput } from './service.js';
20
20
  export { validateRepairProfiles } from './repair-profile.js';
21
21
  export { validateExternalHoldoutProfiles } from './external-holdout.js';
22
+ export { openHoldoutProcess } from './external-holdout.js';
23
+ export { verifyProspectiveBenchmarkManifest } from './holdout-authority.js';
24
+ export { verifyProspectiveCertificate } from './prospective-holdout.js';
25
+ export { verifyHoldoutReceipt } from './holdout-qualification.js';
26
+ export type { BeginResult, ProspectiveBenchmarkManifest, ProspectiveBenchmarkManifestCase, ProspectiveBenchmarkManifestCell, QualificationBinding } from './holdout-authority.js';
27
+ export type { ProspectiveHoldoutCertificate } from './prospective-holdout.js';
28
+ export type { IssuedHoldoutCells } from './holdout-qualification.js';
29
+ export type { BenchmarkArmSelection, BenchmarkArmSnapshot, BenchmarkArmCapability, BenchmarkArmMount } from './delegated-arm.js';
30
+ export type { SkillDelegatedArmBinding } from './store.js';
22
31
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,eAAO,MAAM,IAAI,kCAAkC,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,EAAE,CAAA;AAClD,mBAAmB,iBAAiB,CAAA;AACpC,YAAY,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAC7D,YAAY,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAA;AACrE,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AACnE,YAAY,EAAE,eAAe,EAAE,uBAAuB,EAAE,cAAc,EAAE,eAAe,EAAE,QAAQ,EAAE,UAAU,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AACjS,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,GAAE,MAAW,GAAG,IAAI,CAA4C;;;;;;AAC1G,wBAAsC;AAEtC,YAAY,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AACpE,YAAY,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAA;AAEhH,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,EAAE,+BAA+B,EAAE,MAAM,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,eAAO,MAAM,IAAI,kCAAkC,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,EAAE,CAAA;AAClD,mBAAmB,iBAAiB,CAAA;AACpC,YAAY,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAC7D,YAAY,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAA;AACrE,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AACnE,YAAY,EAAE,eAAe,EAAE,uBAAuB,EAAE,cAAc,EAAE,eAAe,EAAE,QAAQ,EAAE,UAAU,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AACjS,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,GAAE,MAAW,GAAG,IAAI,CAA4C;;;;;;AAC1G,wBAAsC;AAEtC,YAAY,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AACpE,YAAY,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,8BAA8B,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAA;AAE5K,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,EAAE,+BAA+B,EAAE,MAAM,uBAAuB,CAAA;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EAAE,kCAAkC,EAAE,MAAM,wBAAwB,CAAA;AAC3E,OAAO,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAA;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACjE,YAAY,EAAE,WAAW,EAAE,4BAA4B,EAAE,gCAAgC,EAAE,gCAAgC,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AACjL,YAAY,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAA;AAC7E,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAEpE,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAChI,YAAY,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA"}
package/lib/index.js CHANGED
@@ -6,4 +6,8 @@ export function apply(ctx, config = {}) { new AssistantSkillsService(ctx, config
6
6
  export default { name, Config, apply };
7
7
  export { validateRepairProfiles } from './repair-profile.js';
8
8
  export { validateExternalHoldoutProfiles } from './external-holdout.js';
9
+ export { openHoldoutProcess } from './external-holdout.js';
10
+ export { verifyProspectiveBenchmarkManifest } from './holdout-authority.js';
11
+ export { verifyProspectiveCertificate } from './prospective-holdout.js';
12
+ export { verifyHoldoutReceipt } from './holdout-qualification.js';
9
13
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,MAAM,CAAC,MAAM,IAAI,GAAG,+BAA+B,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,EAAE,CAAA;AAMlD,MAAM,UAAU,KAAK,CAAC,GAAY,EAAE,SAAiB,EAAE,IAAU,IAAI,sBAAsB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA,CAAC,CAAC;AAC1G,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;AAKtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,EAAE,+BAA+B,EAAE,MAAM,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,MAAM,CAAC,MAAM,IAAI,GAAG,+BAA+B,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,EAAE,CAAA;AAMlD,MAAM,UAAU,KAAK,CAAC,GAAY,EAAE,SAAiB,EAAE,IAAU,IAAI,sBAAsB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA,CAAC,CAAC;AAC1G,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;AAKtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,EAAE,+BAA+B,EAAE,MAAM,uBAAuB,CAAA;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EAAE,kCAAkC,EAAE,MAAM,wBAAwB,CAAA;AAC3E,OAAO,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAA;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA"}
@@ -1,35 +1,2 @@
1
- import { KeyObject } from 'node:crypto';
2
- import type { HoldoutDataset, QualificationBinding } from './holdout-authority.js';
3
- declare const protocol: "assistant-skills/prospective-holdout/v1";
4
- export type ProspectiveGeneratorName = 'order-summary/v1' | 'order-summary/v2' | 'template-render/v1' | 'template-render-jsonl/v1' | 'dependency-topological-order/v1';
5
- export declare const prospectiveGeneratorNames: readonly ProspectiveGeneratorName[];
6
- export declare const generatorDigest: string;
7
- export declare function isProspectiveGeneratorName(value: unknown): value is ProspectiveGeneratorName;
8
- export declare function prospectiveGeneratorDigest(name: ProspectiveGeneratorName): string;
9
- export declare function prospectiveGeneratorProfile(name: ProspectiveGeneratorName): Readonly<{
10
- version: ProspectiveGeneratorName;
11
- digest: string;
12
- }>;
13
- export interface ProspectiveHoldoutCertificate {
14
- readonly protocol: typeof protocol;
15
- readonly freezeId: string;
16
- readonly binding: QualificationBinding;
17
- readonly generatorDigest: string;
18
- /** Added after v1/v2 shipped; omitted only by certificates restored from those legacy versions. */
19
- readonly profileVersion?: ProspectiveGeneratorName;
20
- /** Equal to the digest of the exact profileVersion semantics. */
21
- readonly profileDigest?: string;
22
- readonly datasetDigest: string;
23
- readonly publicKey: string;
24
- readonly frozenSequence: 1;
25
- readonly generatedSequence: 2;
26
- readonly signature: string;
27
- }
28
- export declare function prospectiveDatasetDigest(dataset: HoldoutDataset): string;
29
- /** Creates private random cases after an immutable qualification binding has been frozen. */
30
- export declare function generateProspectiveDataset(name?: ProspectiveGeneratorName): HoldoutDataset;
31
- export declare function createProspectiveCertificate(binding: QualificationBinding, dataset: HoldoutDataset, privateKey: KeyObject | string | Buffer, freezeId: string): ProspectiveHoldoutCertificate;
32
- /** Strictly checks a prospective certificate and its binding to the pinned authority key. */
33
- export declare function verifyProspectiveCertificate(value: unknown, expectedBinding: QualificationBinding, pinnedKey: string, expectedGeneratorDigest: string): value is ProspectiveHoldoutCertificate;
34
- export {};
1
+ export * from '@dsh-enhanced/task-acceptance-contract/prospective-holdout';
35
2
  //# sourceMappingURL=prospective-holdout.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prospective-holdout.d.ts","sourceRoot":"","sources":["../src/prospective-holdout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiD,SAAS,EAAwC,MAAM,aAAa,CAAA;AAC5H,OAAO,KAAK,EAAe,cAAc,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAG/F,QAAA,MAAM,QAAQ,EAAG,yCAAkD,CAAA;AACnE,MAAM,MAAM,wBAAwB,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,oBAAoB,GAAG,0BAA0B,GAAG,iCAAiC,CAAA;AACtK,eAAO,MAAM,yBAAyB,EAAE,SAAS,wBAAwB,EAAiJ,CAAA;AAG1N,eAAO,MAAM,eAAe,QAA2Q,CAAA;AAKvS,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,wBAAwB,CAE5F;AACD,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,wBAAwB,GAAG,MAAM,CAOjF;AACD,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,wBAAwB,GAAG,QAAQ,CAAC;IAAE,OAAO,EAAE,wBAAwB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAE3I;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,QAAQ,EAAE,OAAO,QAAQ,CAAA;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAA;IACtC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,mGAAmG;IACnG,QAAQ,CAAC,cAAc,CAAC,EAAE,wBAAwB,CAAA;IAClD,iEAAiE;IACjE,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAA;IAC1B,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAA;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AAQD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAAyE;AA4HlJ,6FAA6F;AAC7F,wBAAgB,0BAA0B,CAAC,IAAI,GAAE,wBAAwC,GAAG,cAAc,CAmCzG;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,6BAA6B,CAS7L;AAED,6FAA6F;AAC7F,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,EAAE,uBAAuB,EAAE,MAAM,GAAG,KAAK,IAAI,6BAA6B,CAiB9L"}
1
+ {"version":3,"file":"prospective-holdout.d.ts","sourceRoot":"","sources":["../src/prospective-holdout.ts"],"names":[],"mappings":"AAGA,cAAc,4DAA4D,CAAA"}
@@ -1,254 +1,5 @@
1
- import { createHash, createPrivateKey, createPublicKey, KeyObject, randomBytes, randomInt, sign, verify } from 'node:crypto';
2
- const digestPattern = /^[a-f0-9]{64}$/u;
3
- const protocol = 'assistant-skills/prospective-holdout/v1';
4
- export const prospectiveGeneratorNames = Object.freeze(['order-summary/v1', 'order-summary/v2', 'template-render/v1', 'template-render-jsonl/v1', 'dependency-topological-order/v1']);
5
- const generatorName = 'order-summary/v1';
6
- export const generatorDigest = createHash('sha256').update('assistant-skills/prospective-holdout/order-summary/v1: stdin JSON array of orders; cancelled orders excluded; integer cents summed by currency; sorted JSON object plus newline; CSPRNG cases; replay/evaluation/regression').digest('hex');
7
- const generatorV2Digest = createHash('sha256').update('assistant-skills/prospective-holdout/order-summary/v2: stdin JSON array of orders; cancelled orders excluded; integer amountCents summed by currency including negative values; sorted JSON object plus newline; explicit empty case and randomized negative evaluation with cancellation and accumulation; CSPRNG cases; replay/evaluation/regression').digest('hex');
8
- const templateRenderV1Digest = createHash('sha256').update('assistant-skills/prospective-holdout/template-render/v1: stdin JSON object with template string and string values object; replace known {{ascii_key}} placeholders literally in one non-recursive pass; preserve unknown placeholders; append newline; CSPRNG cases; replay/evaluation/regression').digest('hex');
9
- const templateRenderJsonlV1Digest = createHash('sha256').update('assistant-skills/prospective-holdout/template-render-jsonl/v1: stdin NDJSON of one JSON object per physical line with template string and string values object; process each record independently; replace known {{ascii_key}} placeholders literally in one non-recursive pass; preserve unknown placeholders; emit one rendered line per input record; CSPRNG 1/2/3-record replay/evaluation/regression cases with Unicode values and optional final input newline; replay/evaluation/regression').digest('hex');
10
- const dependencyTopologicalOrderV1Digest = createHash('sha256').update('assistant-skills/prospective-holdout/dependency-topological-order/v1: stdin lines; exactly two whitespace-separated labels each matching [a-z][a-z0-9]{1,31} (2 through 32 lowercase ASCII alphanumeric characters, letter first) form a directed edge; malformed and blank lines ignored; duplicate edges deduplicated; nodes are edge endpoints; emit lexicographically smallest topological order one node per line or CYCLE newline; bounded CSPRNG labels, edge order, and irrelevant lines; replay DAG, evaluation dynamic lexical tie, regression cycle').digest('hex');
11
- export function isProspectiveGeneratorName(value) {
12
- return typeof value === 'string' && prospectiveGeneratorNames.includes(value);
13
- }
14
- export function prospectiveGeneratorDigest(name) {
15
- if (name === 'order-summary/v1')
16
- return generatorDigest;
17
- if (name === 'order-summary/v2')
18
- return generatorV2Digest;
19
- if (name === 'template-render/v1')
20
- return templateRenderV1Digest;
21
- if (name === 'template-render-jsonl/v1')
22
- return templateRenderJsonlV1Digest;
23
- if (name === 'dependency-topological-order/v1')
24
- return dependencyTopologicalOrderV1Digest;
25
- throw new Error('prospective-holdout: unsupported generator');
26
- }
27
- export function prospectiveGeneratorProfile(name) {
28
- return Object.freeze({ version: name, digest: prospectiveGeneratorDigest(name) });
29
- }
30
- function canonical(value) {
31
- if (value === null || typeof value !== 'object')
32
- return JSON.stringify(value);
33
- if (Array.isArray(value))
34
- return `[${value.map(canonical).join(',')}]`;
35
- const record = value;
36
- return `{${Object.keys(record).sort().map(key => `${JSON.stringify(key)}:${canonical(record[key])}`).join(',')}}`;
37
- }
38
- export function prospectiveDatasetDigest(dataset) { return createHash('sha256').update(canonical(dataset)).digest('hex'); }
39
- function plain(value) { return value !== null && typeof value === 'object' && !Array.isArray(value) && Object.getPrototypeOf(value) === Object.prototype && Object.getOwnPropertySymbols(value).length === 0 && Object.values(Object.getOwnPropertyDescriptors(value)).every(item => item.enumerable && 'value' in item); }
40
- function exact(value, required) { return plain(value) && required.every(key => Object.hasOwn(value, key)) && Object.keys(value).length === required.length && Object.keys(value).every(key => required.includes(key)); }
41
- function validBinding(value) {
42
- const required = ['scopeDigest', 'baselineDigest', 'candidateDigest', 'budgetDigest', 'expiresAt', 'repeats'];
43
- return (exact(value, required) || exact(value, [...required, 'admissionDigest']))
44
- && [value.scopeDigest, value.baselineDigest, value.candidateDigest, value.budgetDigest].every(item => typeof item === 'string' && digestPattern.test(item))
45
- && (value.admissionDigest === undefined || typeof value.admissionDigest === 'string' && digestPattern.test(value.admissionDigest))
46
- && typeof value.expiresAt === 'number' && Number.isSafeInteger(value.expiresAt) && value.expiresAt > 0
47
- && typeof value.repeats === 'number' && Number.isInteger(value.repeats) && value.repeats >= 2 && value.repeats <= 4;
48
- }
49
- function same(left, right) { return canonical(left) === canonical(right); }
50
- function currency() { return ['AUD', 'CAD', 'EUR', 'GBP', 'JPY', 'USD'][randomInt(6)]; }
51
- function order(index) {
52
- const states = ['paid', 'paid', 'pending', 'cancelled'];
53
- return { id: `o-${index}-${randomBytes(4).toString('hex')}`, currency: currency(), cents: randomInt(0, 250_001), status: states[randomInt(states.length)] };
54
- }
55
- function expected(orders) {
56
- const totals = {};
57
- for (const item of orders)
58
- if (item.status !== 'cancelled')
59
- totals[item.currency] = (totals[item.currency] ?? 0) + item.cents;
60
- return JSON.stringify(Object.fromEntries(Object.entries(totals).sort(([left], [right]) => left < right ? -1 : left > right ? 1 : 0))) + '\n';
61
- }
62
- function v2order(index) {
63
- const states = ['paid', 'paid', 'pending', 'cancelled'];
64
- return { id: `v2-${index}-${randomBytes(4).toString('hex')}`, currency: currency(), amountCents: randomInt(-250_000, 250_001), status: states[randomInt(states.length)] };
65
- }
66
- function v2expected(orders) {
67
- const totals = {};
68
- for (const item of orders)
69
- if (item.status !== 'cancelled')
70
- totals[item.currency] = (totals[item.currency] ?? 0) + item.amountCents;
71
- return JSON.stringify(Object.fromEntries(Object.entries(totals).sort(([left], [right]) => left < right ? -1 : left > right ? 1 : 0))) + '\n';
72
- }
73
- function templateInput(kind) {
74
- const token = randomBytes(8).toString('hex'), secondary = randomBytes(6).toString('hex');
75
- if (kind === 'replay')
76
- return { template: `plain-${token}: no substitutions`, values: { unused: secondary } };
77
- if (kind === 'evaluation')
78
- return {
79
- template: `release={{release}};again={{release}};unknown={{missing}};literal={{literal}}`,
80
- values: { release: `r-${token}`, literal: `{{release}}-${secondary}` },
81
- };
82
- return {
83
- template: `owner={{owner}}\npath=/private/{{path}}/{{owner}}\nunresolved={{later_key}}`,
84
- values: { owner: `team-${token}`, path: `build_${secondary}` },
85
- };
86
- }
87
- function templateExpected(input) {
88
- return input.template.replace(/\{\{([a-z][a-z0-9_]*)\}\}/gu, (placeholder, key) => Object.hasOwn(input.values, key) ? input.values[key] : placeholder) + '\n';
89
- }
90
- function jsonlTemplateInput(index) {
91
- const token = randomBytes(8).toString('hex'), secondary = randomBytes(6).toString('hex');
92
- return {
93
- template: `row=${index};known={{known}};again={{known}};unknown={{missing}};literal={{literal}}`,
94
- values: { known: `café-☃-${token}`, literal: `{{known}}-東京-${secondary}` },
95
- };
96
- }
97
- function templateJsonlDataset() {
98
- const definitions = [['replay', 1, false], ['evaluation', 2, true], ['regression', 3, true]];
99
- const cases = definitions.map(([kind, count, terminalNewline]) => {
100
- const inputs = Array.from({ length: count }, (_, index) => jsonlTemplateInput(index + 1));
101
- return Object.freeze({ id: `${kind}-${randomBytes(8).toString('hex')}`, kind,
102
- stdin: inputs.map(input => JSON.stringify(input)).join('\n') + (terminalNewline ? '\n' : ''),
103
- expectedStdout: inputs.map(templateExpected).join(''), expectedExitCode: 0 });
104
- });
105
- return Object.freeze({ id: `prospective-template-render-jsonl-${randomBytes(12).toString('hex')}`, version: 'template-render-jsonl/v1', cases: Object.freeze(cases) });
106
- }
107
- function shuffled(values) {
108
- const result = [...values];
109
- for (let index = result.length - 1; index > 0; index--) {
110
- const other = randomInt(index + 1);
111
- [result[index], result[other]] = [result[other], result[index]];
112
- }
113
- return result;
114
- }
115
- function topologyLabels(count) {
116
- const labels = new Set();
117
- while (labels.size < count)
118
- labels.add(`n${randomBytes(6).toString('hex')}`);
119
- return [...labels];
120
- }
121
- function topologyInput(edges) {
122
- const duplicate = edges[randomInt(edges.length)];
123
- const acceptedBoundary = `n${randomBytes(16).toString('hex').slice(0, 31)}`;
124
- const digitLeading = `1${randomBytes(6).toString('hex')}`, rejectedBoundary = `n${randomBytes(16).toString('hex')}`;
125
- const irrelevant = ['x y', `${digitLeading} ${duplicate[0]}`, `${rejectedBoundary} ${duplicate[0]}`, `ignored${randomBytes(4).toString('hex')} has extra fields`, ''];
126
- return shuffled([...edges.map(edge => `${edge[0]} ${edge[1]}`), `${duplicate[0]} ${duplicate[1]}`, `${duplicate[1]} ${acceptedBoundary}`, ...irrelevant]).join('\n') + '\n';
127
- }
128
- function topologyExpected(input) {
129
- const edges = new Set(), nodes = new Set();
130
- for (const line of input.split(/\r?\n/u)) {
131
- const fields = line.trim().split(/\s+/u);
132
- if (fields.length !== 2 || !fields.every(field => /^[a-z][a-z0-9]{1,31}$/u.test(field)))
133
- continue;
134
- const [before, after] = fields;
135
- nodes.add(before);
136
- nodes.add(after);
137
- edges.add(`${before}\u0000${after}`);
138
- }
139
- const indegree = new Map([...nodes].map(node => [node, 0])), outgoing = new Map([...nodes].map(node => [node, []]));
140
- for (const edge of edges) {
141
- const [before, after] = edge.split('\u0000');
142
- outgoing.get(before).push(after);
143
- indegree.set(after, indegree.get(after) + 1);
144
- }
145
- const ready = [...nodes].filter(node => indegree.get(node) === 0).sort(), result = [];
146
- while (ready.length) {
147
- const node = ready.shift();
148
- result.push(node);
149
- for (const after of outgoing.get(node).sort()) {
150
- const remaining = indegree.get(after) - 1;
151
- indegree.set(after, remaining);
152
- if (remaining === 0)
153
- ready.push(after);
154
- }
155
- ready.sort();
156
- }
157
- return result.length === nodes.size ? `${result.join('\n')}\n` : 'CYCLE\n';
158
- }
159
- function topologyDataset() {
160
- const replayNodes = topologyLabels(6), replayOrder = shuffled(replayNodes);
161
- const replayEdges = [[replayOrder[0], replayOrder[2]], [replayOrder[1], replayOrder[2]], [replayOrder[2], replayOrder[3]], [replayOrder[1], replayOrder[4]], [replayOrder[4], replayOrder[5]]];
162
- const tie = topologyLabels(5).sort();
163
- // After tie[0] is emitted, tie[2] becomes ready ahead of the older tie[3].
164
- // This distinguishes a lexical priority queue from a one-time root sort.
165
- const tieEdges = [[tie[0], tie[2]], [tie[2], tie[1]], [tie[3], tie[4]], [tie[1], tie[4]]];
166
- const cycle = topologyLabels(6).sort();
167
- const cycleEdges = [[cycle[0], cycle[2]], [cycle[2], cycle[4]], [cycle[4], cycle[0]], [cycle[1], cycle[3]], [cycle[3], cycle[5]]];
168
- const cases = [['replay', replayEdges], ['evaluation', tieEdges], ['regression', cycleEdges]].map(([kind, edges]) => {
169
- const stdin = topologyInput(edges);
170
- return Object.freeze({ id: `${kind}-${randomBytes(8).toString('hex')}`, kind, stdin, expectedStdout: topologyExpected(stdin), expectedExitCode: 0 });
171
- });
172
- return Object.freeze({ id: `prospective-dependency-topological-order-${randomBytes(12).toString('hex')}`, version: 'dependency-topological-order/v1', cases: Object.freeze(cases) });
173
- }
174
- /** Creates private random cases after an immutable qualification binding has been frozen. */
175
- export function generateProspectiveDataset(name = generatorName) {
176
- if (name === 'dependency-topological-order/v1')
177
- return topologyDataset();
178
- if (name === 'template-render-jsonl/v1')
179
- return templateJsonlDataset();
180
- if (name === 'template-render/v1') {
181
- const kinds = ['replay', 'evaluation', 'regression'];
182
- const cases = kinds.map(kind => {
183
- const input = templateInput(kind);
184
- return Object.freeze({ id: `${kind}-${randomBytes(8).toString('hex')}`, kind, stdin: JSON.stringify(input) + '\n', expectedStdout: templateExpected(input), expectedExitCode: 0 });
185
- });
186
- return Object.freeze({ id: `prospective-template-render-${randomBytes(12).toString('hex')}`, version: name, cases: Object.freeze(cases) });
187
- }
188
- if (name === 'order-summary/v2') {
189
- const negativeCurrency = currency(), magnitude = randomInt(2, 250_001);
190
- const evaluationOrders = [
191
- { id: randomBytes(8).toString('hex'), currency: negativeCurrency, amountCents: -magnitude, status: 'paid' },
192
- { id: randomBytes(8).toString('hex'), currency: negativeCurrency, amountCents: randomInt(1, magnitude), status: 'pending' },
193
- { id: randomBytes(8).toString('hex'), currency: negativeCurrency, amountCents: randomInt(1, 250_001), status: 'cancelled' },
194
- { id: randomBytes(8).toString('hex'), currency: currency(), amountCents: -randomInt(1, 250_001), status: 'paid' },
195
- ];
196
- const cases = [
197
- { id: `replay-empty-${randomBytes(8).toString('hex')}`, kind: 'replay', stdin: '[]\n', expectedStdout: '{}\n', expectedExitCode: 0 },
198
- { id: `evaluation-negative-${randomBytes(8).toString('hex')}`, kind: 'evaluation', stdin: JSON.stringify(evaluationOrders) + '\n', expectedStdout: v2expected(evaluationOrders), expectedExitCode: 0 },
199
- (() => { const orders = Array.from({ length: 3 + randomInt(5) }, (_, index) => v2order(index)); return { id: `regression-${randomBytes(8).toString('hex')}`, kind: 'regression', stdin: JSON.stringify(orders) + '\n', expectedStdout: v2expected(orders), expectedExitCode: 0 }; })(),
200
- ];
201
- return Object.freeze({ id: `prospective-order-summary-v2-${randomBytes(12).toString('hex')}`, version: name, cases: Object.freeze(cases) });
202
- }
203
- if (name !== 'order-summary/v1')
204
- throw new Error('prospective-holdout: unsupported generator');
205
- const kinds = ['replay', 'evaluation', 'regression'];
206
- const cases = kinds.map((kind, index) => {
207
- const orders = Array.from({ length: 3 + randomInt(6) }, (_, item) => order(index * 16 + item));
208
- // Every dataset exercises exclusion, zero values, and same-currency accumulation without selecting against an arm.
209
- orders.push({ id: `edge-cancelled-${index}`, currency: 'USD', cents: 99999, status: 'cancelled' }, { id: `edge-zero-${index}`, currency: 'USD', cents: 0, status: 'paid' }, { id: `edge-sum-${index}`, currency: 'USD', cents: randomInt(1, 1000), status: 'paid' });
210
- return Object.freeze({ id: `${kind}-${randomBytes(8).toString('hex')}`, kind, stdin: JSON.stringify(orders) + '\n', expectedStdout: expected(orders), expectedExitCode: 0 });
211
- });
212
- return Object.freeze({ id: `prospective-order-summary-${randomBytes(12).toString('hex')}`, version: generatorName, cases: Object.freeze(cases) });
213
- }
214
- export function createProspectiveCertificate(binding, dataset, privateKey, freezeId) {
215
- if (!validBinding(binding) || typeof freezeId !== 'string' || !/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/iu.test(freezeId))
216
- throw new Error('prospective-holdout: invalid frozen binding');
217
- const key = privateKey instanceof KeyObject ? privateKey : createPrivateKey(privateKey);
218
- if (key.type !== 'private' || key.asymmetricKeyType !== 'ed25519')
219
- throw new Error('prospective-holdout: private key must be Ed25519');
220
- if (!isProspectiveGeneratorName(dataset.version))
221
- throw new Error('prospective-holdout: unsupported dataset generator');
222
- const name = dataset.version;
223
- const profile = prospectiveGeneratorProfile(name);
224
- const unsigned = { protocol, freezeId, binding, generatorDigest: profile.digest, profileVersion: profile.version, profileDigest: profile.digest, datasetDigest: prospectiveDatasetDigest(dataset), publicKey: createPublicKey(key).export({ format: 'pem', type: 'spki' }).toString(), frozenSequence: 1, generatedSequence: 2 };
225
- return Object.freeze({ ...unsigned, signature: sign(null, Buffer.from(canonical(unsigned)), key).toString('base64url') });
226
- }
227
- /** Strictly checks a prospective certificate and its binding to the pinned authority key. */
228
- export function verifyProspectiveCertificate(value, expectedBinding, pinnedKey, expectedGeneratorDigest) {
229
- const legacy = exact(value, ['protocol', 'freezeId', 'binding', 'generatorDigest', 'datasetDigest', 'publicKey', 'frozenSequence', 'generatedSequence', 'signature']);
230
- const profiled = exact(value, ['protocol', 'freezeId', 'binding', 'generatorDigest', 'profileVersion', 'profileDigest', 'datasetDigest', 'publicKey', 'frozenSequence', 'generatedSequence', 'signature']);
231
- if ((!legacy && !profiled) || !validBinding(expectedBinding)
232
- || value.protocol !== protocol || typeof value.freezeId !== 'string' || !/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/iu.test(value.freezeId)
233
- || !validBinding(value.binding) || !same(value.binding, expectedBinding) || typeof value.generatorDigest !== 'string' || value.generatorDigest !== expectedGeneratorDigest
234
- || typeof value.datasetDigest !== 'string' || !digestPattern.test(value.datasetDigest) || value.publicKey !== pinnedKey || value.frozenSequence !== 1 || value.generatedSequence !== 2 || typeof value.signature !== 'string' || value.signature.length < 32 || value.signature.length > 512)
235
- return false;
236
- const certificate = value;
237
- if (profiled) {
238
- if (!isProspectiveGeneratorName(value.profileVersion)
239
- || value.profileDigest !== value.generatorDigest || prospectiveGeneratorDigest(value.profileVersion) !== value.profileDigest)
240
- return false;
241
- }
242
- else if (![generatorDigest, generatorV2Digest].includes(String(certificate.generatorDigest)))
243
- return false;
244
- try {
245
- if (createPublicKey(pinnedKey).asymmetricKeyType !== 'ed25519')
246
- return false;
247
- const { signature: signatureValue, ...unsigned } = value;
248
- return verify(null, Buffer.from(canonical(unsigned)), pinnedKey, Buffer.from(signatureValue, 'base64url'));
249
- }
250
- catch {
251
- return false;
252
- }
253
- }
1
+ // The prospective holdout generator/certificate contract moved to
2
+ // @dsh-enhanced/task-acceptance-contract to break the evaluation <-> skills build cycle. This
3
+ // re-export preserves the stable "@dsh-enhanced/assistant-skills/prospective-holdout" module path.
4
+ export * from '@dsh-enhanced/task-acceptance-contract/prospective-holdout';
254
5
  //# sourceMappingURL=prospective-holdout.js.map