@principles/core 1.241.0 → 1.243.0

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 (84) hide show
  1. package/dist/runtime-v2/feature-flags/__tests__/context-manifest-budget-flag.test.d.ts +12 -0
  2. package/dist/runtime-v2/feature-flags/__tests__/context-manifest-budget-flag.test.d.ts.map +1 -0
  3. package/dist/runtime-v2/feature-flags/__tests__/context-manifest-budget-flag.test.js +114 -0
  4. package/dist/runtime-v2/feature-flags/__tests__/context-manifest-budget-flag.test.js.map +1 -0
  5. package/dist/runtime-v2/feature-flags/__tests__/progressive-evaluator-flag.test.d.ts +8 -0
  6. package/dist/runtime-v2/feature-flags/__tests__/progressive-evaluator-flag.test.d.ts.map +1 -0
  7. package/dist/runtime-v2/feature-flags/__tests__/progressive-evaluator-flag.test.js +56 -0
  8. package/dist/runtime-v2/feature-flags/__tests__/progressive-evaluator-flag.test.js.map +1 -0
  9. package/dist/runtime-v2/feature-flags/feature-flag-contract.d.ts.map +1 -1
  10. package/dist/runtime-v2/feature-flags/feature-flag-contract.js +14 -0
  11. package/dist/runtime-v2/feature-flags/feature-flag-contract.js.map +1 -1
  12. package/dist/runtime-v2/internalization/__tests__/candidate-lineage.property.test.d.ts +15 -0
  13. package/dist/runtime-v2/internalization/__tests__/candidate-lineage.property.test.d.ts.map +1 -0
  14. package/dist/runtime-v2/internalization/__tests__/candidate-lineage.property.test.js +301 -0
  15. package/dist/runtime-v2/internalization/__tests__/candidate-lineage.property.test.js.map +1 -0
  16. package/dist/runtime-v2/internalization/__tests__/context-manifest.property.test.d.ts +12 -0
  17. package/dist/runtime-v2/internalization/__tests__/context-manifest.property.test.d.ts.map +1 -0
  18. package/dist/runtime-v2/internalization/__tests__/context-manifest.property.test.js +176 -0
  19. package/dist/runtime-v2/internalization/__tests__/context-manifest.property.test.js.map +1 -0
  20. package/dist/runtime-v2/internalization/__tests__/progressive-evaluator.property.test.d.ts +11 -0
  21. package/dist/runtime-v2/internalization/__tests__/progressive-evaluator.property.test.d.ts.map +1 -0
  22. package/dist/runtime-v2/internalization/__tests__/progressive-evaluator.property.test.js +154 -0
  23. package/dist/runtime-v2/internalization/__tests__/progressive-evaluator.property.test.js.map +1 -0
  24. package/dist/runtime-v2/internalization/__tests__/prompt-budget-manager.property.test.d.ts +12 -0
  25. package/dist/runtime-v2/internalization/__tests__/prompt-budget-manager.property.test.d.ts.map +1 -0
  26. package/dist/runtime-v2/internalization/__tests__/prompt-budget-manager.property.test.js +254 -0
  27. package/dist/runtime-v2/internalization/__tests__/prompt-budget-manager.property.test.js.map +1 -0
  28. package/dist/runtime-v2/internalization/__tests__/resolve-injection.property.test.d.ts +15 -0
  29. package/dist/runtime-v2/internalization/__tests__/resolve-injection.property.test.d.ts.map +1 -0
  30. package/dist/runtime-v2/internalization/__tests__/resolve-injection.property.test.js +150 -0
  31. package/dist/runtime-v2/internalization/__tests__/resolve-injection.property.test.js.map +1 -0
  32. package/dist/runtime-v2/internalization/artificer-runner.d.ts.map +1 -1
  33. package/dist/runtime-v2/internalization/artificer-runner.js +12 -0
  34. package/dist/runtime-v2/internalization/artificer-runner.js.map +1 -1
  35. package/dist/runtime-v2/internalization/candidate-lineage.d.ts +136 -0
  36. package/dist/runtime-v2/internalization/candidate-lineage.d.ts.map +1 -0
  37. package/dist/runtime-v2/internalization/candidate-lineage.js +230 -0
  38. package/dist/runtime-v2/internalization/candidate-lineage.js.map +1 -0
  39. package/dist/runtime-v2/internalization/context-manifest.d.ts +117 -0
  40. package/dist/runtime-v2/internalization/context-manifest.d.ts.map +1 -0
  41. package/dist/runtime-v2/internalization/context-manifest.js +156 -0
  42. package/dist/runtime-v2/internalization/context-manifest.js.map +1 -0
  43. package/dist/runtime-v2/internalization/context-manifests.d.ts +74 -0
  44. package/dist/runtime-v2/internalization/context-manifests.d.ts.map +1 -0
  45. package/dist/runtime-v2/internalization/context-manifests.js +192 -0
  46. package/dist/runtime-v2/internalization/context-manifests.js.map +1 -0
  47. package/dist/runtime-v2/internalization/dimension-coverage-policy.d.ts +54 -0
  48. package/dist/runtime-v2/internalization/dimension-coverage-policy.d.ts.map +1 -0
  49. package/dist/runtime-v2/internalization/dimension-coverage-policy.js +70 -0
  50. package/dist/runtime-v2/internalization/dimension-coverage-policy.js.map +1 -0
  51. package/dist/runtime-v2/internalization/dreamer-runner.d.ts.map +1 -1
  52. package/dist/runtime-v2/internalization/dreamer-runner.js +13 -1
  53. package/dist/runtime-v2/internalization/dreamer-runner.js.map +1 -1
  54. package/dist/runtime-v2/internalization/evaluator-output.d.ts +26 -0
  55. package/dist/runtime-v2/internalization/evaluator-output.d.ts.map +1 -1
  56. package/dist/runtime-v2/internalization/evaluator-output.js +7 -1
  57. package/dist/runtime-v2/internalization/evaluator-output.js.map +1 -1
  58. package/dist/runtime-v2/internalization/evaluator-runner.d.ts.map +1 -1
  59. package/dist/runtime-v2/internalization/evaluator-runner.js +13 -0
  60. package/dist/runtime-v2/internalization/evaluator-runner.js.map +1 -1
  61. package/dist/runtime-v2/internalization/progressive-evaluator.d.ts +115 -0
  62. package/dist/runtime-v2/internalization/progressive-evaluator.d.ts.map +1 -0
  63. package/dist/runtime-v2/internalization/progressive-evaluator.js +248 -0
  64. package/dist/runtime-v2/internalization/progressive-evaluator.js.map +1 -0
  65. package/dist/runtime-v2/internalization/prompt-budget-manager.d.ts +90 -0
  66. package/dist/runtime-v2/internalization/prompt-budget-manager.d.ts.map +1 -0
  67. package/dist/runtime-v2/internalization/prompt-budget-manager.js +149 -0
  68. package/dist/runtime-v2/internalization/prompt-budget-manager.js.map +1 -0
  69. package/dist/runtime-v2/internalization/resolve-injection.d.ts +62 -0
  70. package/dist/runtime-v2/internalization/resolve-injection.d.ts.map +1 -0
  71. package/dist/runtime-v2/internalization/resolve-injection.js +78 -0
  72. package/dist/runtime-v2/internalization/resolve-injection.js.map +1 -0
  73. package/dist/runtime-v2/internalization/scribe-runner.d.ts.map +1 -1
  74. package/dist/runtime-v2/internalization/scribe-runner.js +10 -0
  75. package/dist/runtime-v2/internalization/scribe-runner.js.map +1 -1
  76. package/dist/runtime-v2/internalization/summary-field-reader.d.ts +38 -0
  77. package/dist/runtime-v2/internalization/summary-field-reader.d.ts.map +1 -0
  78. package/dist/runtime-v2/internalization/summary-field-reader.js +108 -0
  79. package/dist/runtime-v2/internalization/summary-field-reader.js.map +1 -0
  80. package/dist/runtime-v2/runner/base-peer-runner.d.ts +36 -0
  81. package/dist/runtime-v2/runner/base-peer-runner.d.ts.map +1 -1
  82. package/dist/runtime-v2/runner/base-peer-runner.js +71 -0
  83. package/dist/runtime-v2/runner/base-peer-runner.js.map +1 -1
  84. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"candidate-lineage.property.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/internalization/__tests__/candidate-lineage.property.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Property tests for ContextManifest well-formedness + ranking
3
+ * (design §6.2, §6.6.1, tasks 5.3–5.4).
4
+ *
5
+ * CP-12: manifest well-formedness (built-in manifests + synthetic generators)
6
+ * CP-13: unlisted fields sort last via rankOf
7
+ *
8
+ * @see .kiro/specs/internalization-progressive-disclosure/design.md §6.2, §6.6.1
9
+ * @see .kiro/specs/internalization-progressive-disclosure/requirements.md Requirement 4
10
+ */
11
+ export {};
12
+ //# sourceMappingURL=context-manifest.property.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-manifest.property.test.d.ts","sourceRoot":"","sources":["../../../../src/runtime-v2/internalization/__tests__/context-manifest.property.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
@@ -0,0 +1,176 @@
1
+ /**
2
+ * Property tests for ContextManifest well-formedness + ranking
3
+ * (design §6.2, §6.6.1, tasks 5.3–5.4).
4
+ *
5
+ * CP-12: manifest well-formedness (built-in manifests + synthetic generators)
6
+ * CP-13: unlisted fields sort last via rankOf
7
+ *
8
+ * @see .kiro/specs/internalization-progressive-disclosure/design.md §6.2, §6.6.1
9
+ * @see .kiro/specs/internalization-progressive-disclosure/requirements.md Requirement 4
10
+ */
11
+ import { describe, it, expect } from 'vitest';
12
+ import fc from 'fast-check';
13
+ import { CONTEXT_MANIFEST_SCHEMA_VERSION, validateManifest, rankOf, declaredFields, checkManifestCriterionAlignment, } from '../context-manifest.js';
14
+ import { BUILTIN_MANIFESTS, DREAMER_MANIFEST, SCRIBE_MANIFEST, ARTIFICER_MANIFEST, EVALUATOR_STAGE1_MANIFEST, EVALUATOR_STAGE2_MANIFEST, MANIFEST_RUNNER_KINDS, } from '../context-manifests.js';
15
+ import { DIMENSION_COVERAGE_POLICY, REQUIRED_FIDELITY_DIMENSIONS, ALL_DREAMER_DIMENSIONS, } from '../dimension-coverage-policy.js';
16
+ // ── CP-12: manifest well-formedness ──────────────────────────────────────────
17
+ describe('CP-12 — manifest well-formedness', () => {
18
+ it('BUILTIN_MANIFESTS has exactly 4 distinct runnerKinds (no diagnostic stage)', () => {
19
+ // dreamer, scribe, artificer, evaluator — never diag_rootcause/distiller/router
20
+ expect(MANIFEST_RUNNER_KINDS).toHaveLength(4);
21
+ expect(new Set(MANIFEST_RUNNER_KINDS)).toEqual(new Set(['dreamer', 'scribe', 'artificer', 'evaluator']));
22
+ for (const kind of MANIFEST_RUNNER_KINDS) {
23
+ expect(kind).not.toMatch(/^diag_/);
24
+ }
25
+ });
26
+ it('every built-in manifest is well-formed (non-adjudicator path)', () => {
27
+ for (const m of BUILTIN_MANIFESTS) {
28
+ // Pass isAdjudicator only for evaluator manifests.
29
+ const isAdj = m.runnerKind === 'evaluator';
30
+ const result = validateManifest(m, { isAdjudicator: isAdj });
31
+ expect(result.ok, `manifest ${m.manifestId}: ${result.ok ? '' : JSON.stringify(result.error)}`).toBe(true);
32
+ }
33
+ });
34
+ it('every built-in manifest has schemaVersion, positive budget, all-string tiers/priority', () => {
35
+ for (const m of BUILTIN_MANIFESTS) {
36
+ expect(m.schemaVersion).toBe(CONTEXT_MANIFEST_SCHEMA_VERSION);
37
+ expect(m.budgetTokens).toBeGreaterThan(0);
38
+ for (const arr of [m.tier0, m.tier1, m.tier2, m.priority]) {
39
+ for (const el of arr) {
40
+ expect(typeof el).toBe('string');
41
+ }
42
+ }
43
+ }
44
+ });
45
+ it('priority covers every declared field in every built-in manifest', () => {
46
+ // design §6.2: priority must cover tier0 ∪ tier1 ∪ tier2. The built-in
47
+ // manifests list every field explicitly.
48
+ for (const m of BUILTIN_MANIFESTS) {
49
+ const declared = new Set(declaredFields(m));
50
+ const priority = new Set(m.priority);
51
+ for (const path of declared) {
52
+ expect(priority.has(path), `${m.manifestId}: priority missing ${path}`).toBe(true);
53
+ }
54
+ }
55
+ });
56
+ it('budgetTokens not positive → validation fails', () => {
57
+ const bad = { ...DREAMER_MANIFEST, budgetTokens: 0 };
58
+ const result = validateManifest(bad);
59
+ expect(result.ok).toBe(false);
60
+ if (!result.ok)
61
+ expect(result.error.kind).toBe('budget_not_positive');
62
+ });
63
+ it('non-string element in a tier → validation fails (rc-4)', () => {
64
+ const bad = { ...DREAMER_MANIFEST, tier1: [...DREAMER_MANIFEST.tier1, 123] };
65
+ const result = validateManifest(bad);
66
+ expect(result.ok).toBe(false);
67
+ if (!result.ok)
68
+ expect(result.error.kind).toBe('non_string_element');
69
+ });
70
+ it('synthetic manifests with injected non-string elements are always rejected', () => {
71
+ const validBase = DREAMER_MANIFEST;
72
+ fc.assert(fc.property(fc.constantFrom('tier0', 'tier1', 'tier2', 'priority'), fc.oneof(fc.integer(), fc.boolean(), fc.constant(null), fc.constant(undefined)), (arrayName, badElement) => {
73
+ const arr = validBase[arrayName];
74
+ const corrupted = [...arr, badElement];
75
+ const manifest = { ...validBase, [arrayName]: corrupted };
76
+ const result = validateManifest(manifest);
77
+ expect(result.ok).toBe(false);
78
+ if (!result.ok)
79
+ expect(result.error.kind).toBe('non_string_element');
80
+ }), { numRuns: 60 });
81
+ });
82
+ });
83
+ // ── INV-MANIFEST-CRITERION (§6.6.1) ───────────────────────────────────────────
84
+ describe('INV-MANIFEST-CRITERION — adjudicator manifests inject all non-excluded dims', () => {
85
+ it('both evaluator stage manifests inject all 4 non-excluded dreamer dimensions', () => {
86
+ // strategicPerspective is excluded; the other 4 must be injectable.
87
+ for (const m of [EVALUATOR_STAGE1_MANIFEST, EVALUATOR_STAGE2_MANIFEST]) {
88
+ const allPaths = new Set([...m.tier0, ...m.tier1, ...m.tier2]);
89
+ for (const dim of ALL_DREAMER_DIMENSIONS) {
90
+ const path = `dreamer.summary.${dim}`;
91
+ if (DIMENSION_COVERAGE_POLICY[dim] === 'excluded') {
92
+ // excluded dims must NOT be injected (design §6.6.1).
93
+ expect(allPaths.has(path), `${m.manifestId} must not inject excluded ${path}`).toBe(false);
94
+ }
95
+ else {
96
+ expect(allPaths.has(path), `${m.manifestId} must inject ${path}`).toBe(true);
97
+ }
98
+ }
99
+ }
100
+ });
101
+ it('promoting an excluded dim to required without adding its path fails alignment', () => {
102
+ // Simulate the regression: take STAGE1 (valid), drop dreamer.summary.riskLevel,
103
+ // and check alignment catches it.
104
+ const tampered = {
105
+ ...EVALUATOR_STAGE1_MANIFEST,
106
+ tier1: EVALUATOR_STAGE1_MANIFEST.tier1.filter((p) => p !== 'dreamer.summary.riskLevel'),
107
+ };
108
+ const err = checkManifestCriterionAlignment(tampered, true);
109
+ expect(err).not.toBeNull();
110
+ expect(err?.kind).toBe('manifest_criterion_misaligned');
111
+ if (err && err.kind === 'manifest_criterion_misaligned') {
112
+ expect(err.detail).toContain('riskLevel');
113
+ }
114
+ });
115
+ it('non-evaluator manifests skip the alignment check (not adjudicators)', () => {
116
+ for (const m of [DREAMER_MANIFEST, SCRIBE_MANIFEST, ARTIFICER_MANIFEST]) {
117
+ expect(checkManifestCriterionAlignment(m, true)).toBeNull();
118
+ }
119
+ });
120
+ it('validateManifest flags misaligned adjudicator when isAdjudicator=true', () => {
121
+ const tampered = {
122
+ ...EVALUATOR_STAGE1_MANIFEST,
123
+ tier1: EVALUATOR_STAGE1_MANIFEST.tier1.filter((p) => p !== 'dreamer.summary.betterDecision'),
124
+ };
125
+ const result = validateManifest(tampered, { isAdjudicator: true });
126
+ expect(result.ok).toBe(false);
127
+ if (!result.ok)
128
+ expect(result.error.kind).toBe('manifest_criterion_misaligned');
129
+ });
130
+ });
131
+ // ── CP-13: unlisted fields sort last ─────────────────────────────────────────
132
+ describe('CP-13 — unlisted fields sort last via rankOf', () => {
133
+ it('rankOf(listed field) === its index in priority', () => {
134
+ for (const m of BUILTIN_MANIFESTS) {
135
+ m.priority.forEach((path, idx) => {
136
+ expect(rankOf(path, m)).toBe(idx);
137
+ });
138
+ }
139
+ });
140
+ it('rankOf(unlisted declared field) is strictly greater than every listed field rank', () => {
141
+ fc.assert(fc.property(fc.constantFrom(...BUILTIN_MANIFESTS), fc.string({ minLength: 1, maxLength: 12 }).map((s) => `extra.${s}`), (m, extraPath) => {
142
+ fc.pre(!m.priority.includes(extraPath));
143
+ // Add extraPath to tier1 so it's "declared" but unlisted.
144
+ const tier1WithExtra = [...m.tier1, extraPath];
145
+ const manifest = { ...m, tier1: tier1WithExtra };
146
+ const extraRank = rankOf(extraPath, manifest);
147
+ for (const listed of m.priority) {
148
+ expect(extraRank).toBeGreaterThan(rankOf(listed, manifest));
149
+ }
150
+ }), { numRuns: 80 });
151
+ });
152
+ it('rankOf is deterministic: same input → same rank', () => {
153
+ for (const m of BUILTIN_MANIFESTS) {
154
+ for (const path of declaredFields(m)) {
155
+ expect(rankOf(path, m)).toBe(rankOf(path, m));
156
+ }
157
+ }
158
+ });
159
+ });
160
+ // ── dimension coverage policy sanity ─────────────────────────────────────────
161
+ describe('DIMENSION_COVERAGE_POLICY — single source of truth', () => {
162
+ it('covers all 5 dreamer dimensions', () => {
163
+ for (const dim of ALL_DREAMER_DIMENSIONS) {
164
+ expect(Object.hasOwn(DIMENSION_COVERAGE_POLICY, dim)).toBe(true);
165
+ }
166
+ expect(Object.keys(DIMENSION_COVERAGE_POLICY)).toHaveLength(5);
167
+ });
168
+ it('REQUIRED_FIDELITY_DIMENSIONS = exactly the required ones', () => {
169
+ expect(REQUIRED_FIDELITY_DIMENSIONS).toEqual(['betterDecision', 'rationale', 'riskLevel']);
170
+ });
171
+ it('strategicPerspective is the only excluded dimension', () => {
172
+ const excluded = ALL_DREAMER_DIMENSIONS.filter((d) => DIMENSION_COVERAGE_POLICY[d] === 'excluded');
173
+ expect(excluded).toEqual(['strategicPerspective']);
174
+ });
175
+ });
176
+ //# sourceMappingURL=context-manifest.property.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-manifest.property.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/internalization/__tests__/context-manifest.property.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Property tests for the progressive evaluator (design §6.5, tasks 9.2–9.3).
3
+ *
4
+ * CP-21: flagged criteria equivalence (flagged ⟺ reasons non-empty; missing
5
+ * fields → undetermined; required-only filter on missingDimensions)
6
+ * CP-22: deterministic forced sampling (fnv1a32, no Math.random)
7
+ *
8
+ * @see .kiro/specs/internalization-progressive-disclosure/design.md §6.5
9
+ */
10
+ export {};
11
+ //# sourceMappingURL=progressive-evaluator.property.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progressive-evaluator.property.test.d.ts","sourceRoot":"","sources":["../../../../src/runtime-v2/internalization/__tests__/progressive-evaluator.property.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
@@ -0,0 +1,154 @@
1
+ /**
2
+ * Property tests for the progressive evaluator (design §6.5, tasks 9.2–9.3).
3
+ *
4
+ * CP-21: flagged criteria equivalence (flagged ⟺ reasons non-empty; missing
5
+ * fields → undetermined; required-only filter on missingDimensions)
6
+ * CP-22: deterministic forced sampling (fnv1a32, no Math.random)
7
+ *
8
+ * @see .kiro/specs/internalization-progressive-disclosure/design.md §6.5
9
+ */
10
+ import { describe, it, expect } from 'vitest';
11
+ import fc from 'fast-check';
12
+ import { evaluateFlaggedCriteria, isForcedStage2, fnv1a32, IMPLEMENTATION_FIDELITY_THRESHOLD, } from '../progressive-evaluator.js';
13
+ // ── CP-21: flagged criteria equivalence ──────────────────────────────────────
14
+ describe('CP-21 — flagged criteria equivalence', () => {
15
+ it('flagged === true iff reasons is non-empty', () => {
16
+ // A clearly flagged output: required dim missing.
17
+ const flagged = evaluateFlaggedCriteria({
18
+ compressionFidelity: { missingDimensions: ['riskLevel'], optionalUncovered: [], explanation: '' },
19
+ painCoverage: { fullyCovered: true, uncoveredAspects: [], explanation: '' },
20
+ implementationFidelity: { score: 0.9 },
21
+ });
22
+ expect(flagged.flagged).toBe(true);
23
+ expect(flagged.reasons).toHaveLength(1);
24
+ expect(flagged.reasons).toContain('missing_dimensions');
25
+ // A clean output: all pass.
26
+ const clean = evaluateFlaggedCriteria({
27
+ compressionFidelity: { missingDimensions: [], optionalUncovered: [], explanation: '' },
28
+ painCoverage: { fullyCovered: true, uncoveredAspects: [], explanation: '' },
29
+ implementationFidelity: { score: 0.9 },
30
+ });
31
+ expect(clean.flagged).toBe(false);
32
+ expect(clean.reasons).toHaveLength(0);
33
+ });
34
+ it('optional/excluded dims in missingDimensions do NOT trigger flag (required-only)', () => {
35
+ const result = evaluateFlaggedCriteria({
36
+ compressionFidelity: { missingDimensions: ['badDecision', 'strategicPerspective', 'unknownDim'], optionalUncovered: ['badDecision'], explanation: '' },
37
+ painCoverage: { fullyCovered: true, uncoveredAspects: [], explanation: '' },
38
+ implementationFidelity: { score: 0.9 },
39
+ });
40
+ expect(result.flagged).toBe(false);
41
+ expect(result.reasons).not.toContain('missing_dimensions');
42
+ });
43
+ it('painCoverage.fullyCovered === false triggers flag', () => {
44
+ const result = evaluateFlaggedCriteria({
45
+ compressionFidelity: { missingDimensions: [], optionalUncovered: [], explanation: '' },
46
+ painCoverage: { fullyCovered: false, uncoveredAspects: ['x'], explanation: '' },
47
+ implementationFidelity: { score: 0.9 },
48
+ });
49
+ expect(result.flagged).toBe(true);
50
+ expect(result.reasons).toContain('pain_not_fully_covered');
51
+ });
52
+ it('implementationFidelity.score < threshold triggers flag', () => {
53
+ const result = evaluateFlaggedCriteria({
54
+ compressionFidelity: { missingDimensions: [], optionalUncovered: [], explanation: '' },
55
+ painCoverage: { fullyCovered: true, uncoveredAspects: [], explanation: '' },
56
+ implementationFidelity: { score: IMPLEMENTATION_FIDELITY_THRESHOLD - 0.01 },
57
+ });
58
+ expect(result.flagged).toBe(true);
59
+ expect(result.reasons).toContain('implementation_fidelity_below_threshold');
60
+ });
61
+ it('score exactly at threshold does NOT trigger flag (boundary)', () => {
62
+ const result = evaluateFlaggedCriteria({
63
+ compressionFidelity: { missingDimensions: [], optionalUncovered: [], explanation: '' },
64
+ painCoverage: { fullyCovered: true, uncoveredAspects: [], explanation: '' },
65
+ implementationFidelity: { score: IMPLEMENTATION_FIDELITY_THRESHOLD },
66
+ });
67
+ expect(result.flagged).toBe(false);
68
+ });
69
+ it('missing fields → undetermined (never silent pass, rc-3)', () => {
70
+ const result = evaluateFlaggedCriteria({});
71
+ expect(result.flagged).toBe(false);
72
+ expect(result.undetermined.length).toBeGreaterThan(0);
73
+ expect(result.undetermined).toContain('compressionFidelity');
74
+ expect(result.undetermined).toContain('painCoverage');
75
+ expect(result.undetermined).toContain('implementationFidelity');
76
+ });
77
+ it('non-object input → all undetermined', () => {
78
+ const result = evaluateFlaggedCriteria(null);
79
+ expect(result.flagged).toBe(false);
80
+ expect(result.undetermined).toContain('output_not_object');
81
+ });
82
+ it('property: flagged ⟺ reasons non-empty across random inputs', () => {
83
+ const scoreGen = fc.float({ min: 0, max: 1, noNaN: true });
84
+ const fullyCoveredGen = fc.boolean();
85
+ const missingDimsGen = fc.array(fc.constantFrom('betterDecision', 'rationale', 'riskLevel', 'badDecision', 'strategicPerspective', 'unknownX'));
86
+ fc.assert(fc.property(scoreGen, fullyCoveredGen, missingDimsGen, (score, fullyCovered, missingDims) => {
87
+ const result = evaluateFlaggedCriteria({
88
+ compressionFidelity: { missingDimensions: missingDims, optionalUncovered: [], explanation: '' },
89
+ painCoverage: { fullyCovered, uncoveredAspects: [], explanation: '' },
90
+ implementationFidelity: { score },
91
+ });
92
+ // flagged MUST equal reasons.length > 0.
93
+ expect(result.flagged).toBe(result.reasons.length > 0);
94
+ }), { numRuns: 200 });
95
+ });
96
+ it('property: adversarial unknown input never throws, always returns a Result', () => {
97
+ const adversarial = fc.oneof(fc.constant(null), fc.constant(undefined), fc.string(), fc.integer(), fc.constant({}), fc.array(fc.anything()), fc.constant({ __proto__: { polluted: true } }));
98
+ fc.assert(fc.property(adversarial, (input) => {
99
+ const result = evaluateFlaggedCriteria(input);
100
+ expect(typeof result.flagged).toBe('boolean');
101
+ expect(Array.isArray(result.reasons)).toBe(true);
102
+ expect(Array.isArray(result.undetermined)).toBe(true);
103
+ }), { numRuns: 100 });
104
+ });
105
+ });
106
+ // ── CP-22: deterministic forced sampling ─────────────────────────────────────
107
+ describe('CP-22 — deterministic forced sampling', () => {
108
+ it('fnv1a32 is deterministic: same input → same output', () => {
109
+ fc.assert(fc.property(fc.string(), (s) => {
110
+ expect(fnv1a32(s)).toBe(fnv1a32(s));
111
+ }), { numRuns: 100 });
112
+ });
113
+ it('isForcedStage2 is deterministic: same taskId → same result', () => {
114
+ fc.assert(fc.property(fc.string(), (taskId) => {
115
+ expect(isForcedStage2(taskId)).toBe(isForcedStage2(taskId));
116
+ }), { numRuns: 100 });
117
+ });
118
+ it('Math.random is NOT used (replacing it with a throwing impl does not affect isForcedStage2)', () => {
119
+ const original = Math.random;
120
+ Math.random = () => { throw new Error('Math.random should not be called'); };
121
+ try {
122
+ for (const taskId of ['', 'a', 'test-123', '🎨', 'x'.repeat(1000)]) {
123
+ expect(() => isForcedStage2(taskId)).not.toThrow();
124
+ }
125
+ }
126
+ finally {
127
+ Math.random = original;
128
+ }
129
+ });
130
+ it('modulus=1 forces every task; modulus<=0 forces none', () => {
131
+ expect(isForcedStage2('any-task', 1)).toBe(true);
132
+ expect(isForcedStage2('any-task', 0)).toBe(false);
133
+ expect(isForcedStage2('any-task', -1)).toBe(false);
134
+ });
135
+ it('~5% hit rate with default modulus (statistical sanity)', () => {
136
+ let hits = 0;
137
+ const total = 1000;
138
+ for (let i = 0; i < total; i++) {
139
+ if (isForcedStage2(`task-${i}`))
140
+ hits++;
141
+ }
142
+ // ~5% ± 3% tolerance for randomness-free deterministic distribution.
143
+ expect(hits).toBeGreaterThan(20);
144
+ expect(hits).toBeLessThan(80);
145
+ });
146
+ it('empty string / Unicode / super-long all produce finite results', () => {
147
+ for (const s of ['', '🎨', 'x'.repeat(10000)]) {
148
+ const hash = fnv1a32(s);
149
+ expect(Number.isFinite(hash)).toBe(true);
150
+ expect(hash).toBeGreaterThanOrEqual(0);
151
+ }
152
+ });
153
+ });
154
+ //# sourceMappingURL=progressive-evaluator.property.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progressive-evaluator.property.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/internalization/__tests__/progressive-evaluator.property.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAM,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EACL,uBAAuB,EACvB,cAAc,EACd,OAAO,EACP,iCAAiC,GAElC,MAAM,6BAA6B,CAAC;AAErC,gFAAgF;AAEhF,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;IACpD,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,kDAAkD;QAClD,MAAM,OAAO,GAAG,uBAAuB,CAAC;YACtC,mBAAmB,EAAE,EAAE,iBAAiB,EAAE,CAAC,WAAW,CAAC,EAAE,iBAAiB,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;YACjG,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;YAC3E,sBAAsB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;SACvC,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QAExD,4BAA4B;QAC5B,MAAM,KAAK,GAAG,uBAAuB,CAAC;YACpC,mBAAmB,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;YACtF,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;YAC3E,sBAAsB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;SACvC,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iFAAiF,EAAE,GAAG,EAAE;QACzF,MAAM,MAAM,GAAG,uBAAuB,CAAC;YACrC,mBAAmB,EAAE,EAAE,iBAAiB,EAAE,CAAC,aAAa,EAAE,sBAAsB,EAAE,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC,aAAa,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE;YACtJ,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;YAC3E,sBAAsB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;SACvC,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,MAAM,GAAG,uBAAuB,CAAC;YACrC,mBAAmB,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;YACtF,YAAY,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE;YAC/E,sBAAsB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;SACvC,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,MAAM,GAAG,uBAAuB,CAAC;YACrC,mBAAmB,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;YACtF,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;YAC3E,sBAAsB,EAAE,EAAE,KAAK,EAAE,iCAAiC,GAAG,IAAI,EAAE;SAC5E,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,yCAAyC,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,MAAM,GAAG,uBAAuB,CAAC;YACrC,mBAAmB,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;YACtF,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;YAC3E,sBAAsB,EAAE,EAAE,KAAK,EAAE,iCAAiC,EAAE;SACrE,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,MAAM,GAAG,uBAAuB,CAAC,EAAE,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;QAC7D,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,MAAM,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,QAAQ,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,MAAM,eAAe,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;QACrC,MAAM,cAAc,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,gBAAgB,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,sBAAsB,EAAE,UAAU,CAAC,CAAC,CAAC;QAEhJ,EAAE,CAAC,MAAM,CACP,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE;YAC1F,MAAM,MAAM,GAAG,uBAAuB,CAAC;gBACrC,mBAAmB,EAAE,EAAE,iBAAiB,EAAE,WAAW,EAAE,iBAAiB,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;gBAC/F,YAAY,EAAE,EAAE,YAAY,EAAE,gBAAgB,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;gBACrE,sBAAsB,EAAE,EAAE,KAAK,EAAE;aAClC,CAAC,CAAC;YACH,yCAAyC;YACzC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzD,CAAC,CAAC,EACF,EAAE,OAAO,EAAE,GAAG,EAAE,CACjB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2EAA2E,EAAE,GAAG,EAAE;QACnF,MAAM,WAAW,GAAG,EAAE,CAAC,KAAK,CAC1B,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EACjB,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,EACtB,EAAE,CAAC,MAAM,EAAE,EACX,EAAE,CAAC,OAAO,EAAE,EACZ,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EACf,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,EACvB,EAAE,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,CAC/C,CAAC;QACF,EAAE,CAAC,MAAM,CACP,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;YACjC,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;YAC9C,MAAM,CAAC,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,CAAC,CAAC,EACF,EAAE,OAAO,EAAE,GAAG,EAAE,CACjB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,gFAAgF;AAEhF,QAAQ,CAAC,uCAAuC,EAAE,GAAG,EAAE;IACrD,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,EAAE,CAAC,MAAM,CACP,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE;YAC7B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC,CAAC,EACF,EAAE,OAAO,EAAE,GAAG,EAAE,CACjB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,EAAE,CAAC,MAAM,CACP,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE;YAClC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9D,CAAC,CAAC,EACF,EAAE,OAAO,EAAE,GAAG,EAAE,CACjB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4FAA4F,EAAE,GAAG,EAAE;QACpG,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,IAAI,CAAC;YACH,KAAK,MAAM,MAAM,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBACnE,MAAM,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACrD,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACzB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,MAAM,KAAK,GAAG,IAAI,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,IAAI,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAAE,IAAI,EAAE,CAAC;QAC1C,CAAC;QACD,qEAAqE;QACrE,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACxE,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Property tests for PromptBudgetManager (design §6.3, tasks 5.6–5.8).
3
+ *
4
+ * CP-14: allocation determinism + total order
5
+ * CP-15: field conservation + budget accounting
6
+ * CP-16: bounded-safe preview serialization
7
+ *
8
+ * @see .kiro/specs/internalization-progressive-disclosure/design.md §6.3
9
+ * @see .kiro/specs/internalization-progressive-disclosure/requirements.md Requirement 5
10
+ */
11
+ export {};
12
+ //# sourceMappingURL=prompt-budget-manager.property.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-budget-manager.property.test.d.ts","sourceRoot":"","sources":["../../../../src/runtime-v2/internalization/__tests__/prompt-budget-manager.property.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}