@principles/core 1.242.0 → 1.244.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/index.d.ts +2 -0
  13. package/dist/runtime-v2/index.d.ts.map +1 -1
  14. package/dist/runtime-v2/index.js +2 -0
  15. package/dist/runtime-v2/index.js.map +1 -1
  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/context-manifest.d.ts +117 -0
  36. package/dist/runtime-v2/internalization/context-manifest.d.ts.map +1 -0
  37. package/dist/runtime-v2/internalization/context-manifest.js +156 -0
  38. package/dist/runtime-v2/internalization/context-manifest.js.map +1 -0
  39. package/dist/runtime-v2/internalization/context-manifests.d.ts +74 -0
  40. package/dist/runtime-v2/internalization/context-manifests.d.ts.map +1 -0
  41. package/dist/runtime-v2/internalization/context-manifests.js +192 -0
  42. package/dist/runtime-v2/internalization/context-manifests.js.map +1 -0
  43. package/dist/runtime-v2/internalization/dimension-coverage-policy.d.ts +54 -0
  44. package/dist/runtime-v2/internalization/dimension-coverage-policy.d.ts.map +1 -0
  45. package/dist/runtime-v2/internalization/dimension-coverage-policy.js +70 -0
  46. package/dist/runtime-v2/internalization/dimension-coverage-policy.js.map +1 -0
  47. package/dist/runtime-v2/internalization/dreamer-runner.d.ts.map +1 -1
  48. package/dist/runtime-v2/internalization/dreamer-runner.js +13 -1
  49. package/dist/runtime-v2/internalization/dreamer-runner.js.map +1 -1
  50. package/dist/runtime-v2/internalization/evaluator-output.d.ts +26 -0
  51. package/dist/runtime-v2/internalization/evaluator-output.d.ts.map +1 -1
  52. package/dist/runtime-v2/internalization/evaluator-output.js +7 -1
  53. package/dist/runtime-v2/internalization/evaluator-output.js.map +1 -1
  54. package/dist/runtime-v2/internalization/evaluator-runner.d.ts.map +1 -1
  55. package/dist/runtime-v2/internalization/evaluator-runner.js +13 -0
  56. package/dist/runtime-v2/internalization/evaluator-runner.js.map +1 -1
  57. package/dist/runtime-v2/internalization/index.d.ts +2 -0
  58. package/dist/runtime-v2/internalization/index.d.ts.map +1 -1
  59. package/dist/runtime-v2/internalization/index.js +2 -0
  60. package/dist/runtime-v2/internalization/index.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,62 @@
1
+ /**
2
+ * Layer 1 — information-floor fallback wrapper (design §6.2.2).
3
+ *
4
+ * Pure logic only (Core vs Plugin boundary).
5
+ *
6
+ * Layer 1's semantics are "focus + budget control WITHOUT going below the
7
+ * information level of the flag-off baseline" (INV-FLOOR). Today dreamer
8
+ * already receives the predecessor's FULL contentJson (F13). Switching to a
9
+ * manifest-selected subset could make the prompt thinner — the opposite of the
10
+ * goal. So `resolveInjection` runs `allocateContext` first, then decides
11
+ * whether the resolved context is too sparse to use; if so it falls back to
12
+ * the legacy full-predecessor injection (NOT a thinner prompt) and emits a
13
+ * structured `manifest_resolution_insufficient` event (rc-9).
14
+ *
15
+ * The fallback decision lives HERE (the caller), not inside `allocateContext`
16
+ * — `allocateContext` stays a pure allocation function. The `absent` array
17
+ * `allocateContext` returns doubles as the fallback-judgement input.
18
+ */
19
+ import type { ContextManifest } from './context-manifest.js';
20
+ import { type AllocatedContext, type ContextTruncatedEvent } from './prompt-budget-manager.js';
21
+ /** Initial value; dogfood-tunable (design §6.2.2). */
22
+ export declare const MANIFEST_ABSENT_RATIO_THRESHOLD = 0.5;
23
+ export interface ManifestResolutionInsufficientEvent {
24
+ readonly type: 'manifest_resolution_insufficient';
25
+ readonly runnerKind: ContextManifest['runnerKind'];
26
+ readonly manifestId: string;
27
+ readonly absentCount: number;
28
+ readonly declaredCount: number;
29
+ readonly absentRatio: number;
30
+ readonly fallback: 'full_predecessor_injection';
31
+ }
32
+ export type ResolveInjectionEmit = ContextTruncatedEvent | ManifestResolutionInsufficientEvent;
33
+ export type ResolveInjectionResult = {
34
+ readonly kind: 'focused';
35
+ readonly allocated: AllocatedContext;
36
+ readonly fellBack: false;
37
+ } | {
38
+ readonly kind: 'fallback';
39
+ readonly allocated: AllocatedContext;
40
+ readonly fellBack: true;
41
+ readonly reason: 'empty_allocation' | 'tier1_all_absent' | 'absent_ratio_exceeded';
42
+ readonly absentRatio: number;
43
+ };
44
+ /**
45
+ * Resolve the injection for a runner: allocate per the manifest, then decide
46
+ * whether to fall back to the legacy full-predecessor injection (design §6.2.2).
47
+ *
48
+ * The caller is responsible for:
49
+ * - providing the `available` map (built from the loaded predecessor's
50
+ * summary/predecessorSummary — Layer 0)
51
+ * - acting on `result.kind`: 'focused' → use `allocated.fields`;
52
+ * 'fallback' → use the legacy `predecessorOutput` (F13) instead
53
+ * - passing through ALL events (both `context_truncated` from the allocation
54
+ * attempt AND `manifest_resolution_insufficient` when fallback fires)
55
+ *
56
+ * When the fallback fires, the `allocated` is still returned (with its
57
+ * `context_truncated` events already emitted) so Layer 3 can surface "what
58
+ * would have been truncated if we'd used the manifest" alongside the
59
+ * `manifest_resolution_insufficient` degradation.
60
+ */
61
+ export declare function resolveInjection(manifest: ContextManifest, available: ReadonlyMap<string, unknown>, emit: (event: ResolveInjectionEmit) => void): ResolveInjectionResult;
62
+ //# sourceMappingURL=resolve-injection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-injection.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/resolve-injection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC3B,MAAM,4BAA4B,CAAC;AAEpC,sDAAsD;AACtD,eAAO,MAAM,+BAA+B,MAAM,CAAC;AAEnD,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,IAAI,EAAE,kCAAkC,CAAC;IAClD,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;IACnD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,4BAA4B,CAAC;CACjD;AAED,MAAM,MAAM,oBAAoB,GAC5B,qBAAqB,GACrB,mCAAmC,CAAC;AAExC,MAAM,MAAM,sBAAsB,GAC9B;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC;CAC1B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,kBAAkB,GAAG,kBAAkB,GAAG,uBAAuB,CAAC;IACnF,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEN;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,IAAI,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,GAC1C,sBAAsB,CA0CxB"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Layer 1 — information-floor fallback wrapper (design §6.2.2).
3
+ *
4
+ * Pure logic only (Core vs Plugin boundary).
5
+ *
6
+ * Layer 1's semantics are "focus + budget control WITHOUT going below the
7
+ * information level of the flag-off baseline" (INV-FLOOR). Today dreamer
8
+ * already receives the predecessor's FULL contentJson (F13). Switching to a
9
+ * manifest-selected subset could make the prompt thinner — the opposite of the
10
+ * goal. So `resolveInjection` runs `allocateContext` first, then decides
11
+ * whether the resolved context is too sparse to use; if so it falls back to
12
+ * the legacy full-predecessor injection (NOT a thinner prompt) and emits a
13
+ * structured `manifest_resolution_insufficient` event (rc-9).
14
+ *
15
+ * The fallback decision lives HERE (the caller), not inside `allocateContext`
16
+ * — `allocateContext` stays a pure allocation function. The `absent` array
17
+ * `allocateContext` returns doubles as the fallback-judgement input.
18
+ */
19
+ import { declaredFields } from './context-manifest.js';
20
+ import { allocateContext, } from './prompt-budget-manager.js';
21
+ /** Initial value; dogfood-tunable (design §6.2.2). */
22
+ export const MANIFEST_ABSENT_RATIO_THRESHOLD = 0.5;
23
+ /**
24
+ * Resolve the injection for a runner: allocate per the manifest, then decide
25
+ * whether to fall back to the legacy full-predecessor injection (design §6.2.2).
26
+ *
27
+ * The caller is responsible for:
28
+ * - providing the `available` map (built from the loaded predecessor's
29
+ * summary/predecessorSummary — Layer 0)
30
+ * - acting on `result.kind`: 'focused' → use `allocated.fields`;
31
+ * 'fallback' → use the legacy `predecessorOutput` (F13) instead
32
+ * - passing through ALL events (both `context_truncated` from the allocation
33
+ * attempt AND `manifest_resolution_insufficient` when fallback fires)
34
+ *
35
+ * When the fallback fires, the `allocated` is still returned (with its
36
+ * `context_truncated` events already emitted) so Layer 3 can surface "what
37
+ * would have been truncated if we'd used the manifest" alongside the
38
+ * `manifest_resolution_insufficient` degradation.
39
+ */
40
+ export function resolveInjection(manifest, available, emit) {
41
+ const allocated = allocateContext(manifest, available, (e) => emit(e));
42
+ const declared = declaredFields(manifest);
43
+ const declaredCount = declared.length;
44
+ const absentCount = allocated.absent.length;
45
+ // Guard against divide-by-zero: a manifest with no declared fields is itself
46
+ // malformed (validateManifest requires budget>0 but not non-empty tiers); we
47
+ // treat an empty declaration as an empty-allocation fallback.
48
+ const absentRatio = declaredCount > 0 ? absentCount / declaredCount : 1;
49
+ const fallbackEvent = () => ({
50
+ type: 'manifest_resolution_insufficient',
51
+ runnerKind: manifest.runnerKind,
52
+ manifestId: manifest.manifestId,
53
+ absentCount,
54
+ declaredCount,
55
+ absentRatio,
56
+ fallback: 'full_predecessor_injection',
57
+ });
58
+ // Fallback trigger 1: nothing was allocated (empty allocation).
59
+ if (Object.keys(allocated.fields).length === 0) {
60
+ emit(fallbackEvent());
61
+ return { kind: 'fallback', allocated, fellBack: true, reason: 'empty_allocation', absentRatio };
62
+ }
63
+ // Fallback trigger 2: all tier1-declared fields are absent. tier1 holds the
64
+ // bulk of the structured context; if none of it resolved, the focused
65
+ // context is too thin to beat the legacy full-predecessor injection.
66
+ const tier1AllAbsent = manifest.tier1.length > 0 && manifest.tier1.every((p) => allocated.absent.includes(p));
67
+ if (tier1AllAbsent) {
68
+ emit(fallbackEvent());
69
+ return { kind: 'fallback', allocated, fellBack: true, reason: 'tier1_all_absent', absentRatio };
70
+ }
71
+ // Fallback trigger 3: absent ratio exceeds the threshold.
72
+ if (absentRatio > MANIFEST_ABSENT_RATIO_THRESHOLD) {
73
+ emit(fallbackEvent());
74
+ return { kind: 'fallback', allocated, fellBack: true, reason: 'absent_ratio_exceeded', absentRatio };
75
+ }
76
+ return { kind: 'focused', allocated, fellBack: false };
77
+ }
78
+ //# sourceMappingURL=resolve-injection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-injection.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/resolve-injection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EACL,eAAe,GAGhB,MAAM,4BAA4B,CAAC;AAEpC,sDAAsD;AACtD,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,CAAC;AA8BnD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAAyB,EACzB,SAAuC,EACvC,IAA2C;IAE3C,MAAM,SAAS,GAAG,eAAe,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvE,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC;IACtC,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5C,6EAA6E;IAC7E,6EAA6E;IAC7E,8DAA8D;IAC9D,MAAM,WAAW,GAAG,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAExE,MAAM,aAAa,GAAG,GAAwC,EAAE,CAAC,CAAC;QAChE,IAAI,EAAE,kCAAkC;QACxC,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,WAAW;QACX,aAAa;QACb,WAAW;QACX,QAAQ,EAAE,4BAA4B;KACvC,CAAC,CAAC;IAEH,gEAAgE;IAChE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/C,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QACtB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,WAAW,EAAE,CAAC;IAClG,CAAC;IACD,4EAA4E;IAC5E,sEAAsE;IACtE,qEAAqE;IACrE,MAAM,cAAc,GAClB,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,IAAI,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QACtB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,WAAW,EAAE,CAAC;IAClG,CAAC;IACD,0DAA0D;IAC1D,IAAI,WAAW,GAAG,+BAA+B,EAAE,CAAC;QAClD,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QACtB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,uBAAuB,EAAE,WAAW,EAAE,CAAC;IACvG,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACzD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"scribe-runner.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/scribe-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scribe-runner.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/scribe-runner.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { PDRuntimeError, isPDErrorCategory } from '../error-categories.js';
2
2
  import { hydratePITaskRecord } from './pitask-metadata.js';
3
3
  import { ScribePromptBuilder } from './scribe-prompt-builder.js';
4
+ import { SCRIBE_MANIFEST } from './context-manifests.js';
4
5
  import { injectRunnerLineageIfAbsent } from './peer-runner-contracts.js';
5
6
  import { BasePeerRunner } from '../runner/base-peer-runner.js';
6
7
  /**
@@ -106,6 +107,15 @@ export class ScribeRunner extends BasePeerRunner {
106
107
  catch {
107
108
  parsedPhilosopherArtifact = context.philosopherArtifact;
108
109
  }
110
+ // Layer 1 (design §6.2/§6.3, task 5.9): resolve the scribe manifest against
111
+ // the loaded philosopher predecessor (carries dreamer 5-dim via its
112
+ // predecessorSummary). Focused → inject only allocated summary fields;
113
+ // fallback → legacy full philosopherArtifact; disabled → unchanged.
114
+ const philosopherPred = toPhilosopherPredecessor(context);
115
+ const resolved = this.resolveContextInjection(taskId, SCRIBE_MANIFEST, philosopherPred.contentJson);
116
+ if (resolved.mode === 'focused') {
117
+ parsedPhilosopherArtifact = resolved.fields;
118
+ }
109
119
  const builder = new ScribePromptBuilder({ coreGrounding, outputLanguage: this.resolvedOptions.outputLanguage });
110
120
  const { message } = builder.buildPrompt({
111
121
  taskId,
@@ -1 +1 @@
1
- {"version":3,"file":"scribe-runner.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/scribe-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scribe-runner.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/scribe-runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Layer 1 — summary field reader (design §6.6 read-side convention).
3
+ *
4
+ * Pure logic only (Core vs Plugin boundary). Builds the `available` map that
5
+ * `allocateContext` / `resolveInjection` consume, from a runner's loaded
6
+ * predecessor contentJson (which carries the Layer 0 `summary` /
7
+ * `predecessorSummary` envelope).
8
+ *
9
+ * Path convention (design §6.6):
10
+ * `<stage>.summary.headline` → contentJson.summary.headline
11
+ * `<stage>.summary.<key>` → contentJson.summary.fields[key]
12
+ * `<stage>.predecessorSummary.headline` → contentJson.predecessorSummary.summary.headline
13
+ * `<stage>.predecessorSummary.<key>` → contentJson.predecessorSummary.summary.fields[key]
14
+ *
15
+ * The leading `<stage>.` segment is a logical namespace (pain / dreamer /
16
+ * philosopher / scribe / artificer / diagnosis); the reader does NOT look up
17
+ * the stage by name — it resolves `summary.*` / `predecessorSummary.*` against
18
+ * whatever predecessor contentJson the caller loaded. This is correct because
19
+ * each runner's manifest only references paths whose stage maps to that
20
+ * runner's actual loaded predecessor (e.g. dreamer's manifest references
21
+ * pain.summary.* / diagnosis.summary.* which arrive via the diag_router
22
+ * predecessor's summary + its forwarded predecessorSummary).
23
+ *
24
+ * rc-1 / rc-5: contentJson is `unknown`; all reads use `Object.hasOwn` and
25
+ * typeof guards, never `as` casts.
26
+ */
27
+ /** Read a value nested under `summary` or `predecessorSummary` from contentJson. */
28
+ export declare function readSummaryField(fieldPath: string, predecessorContentJson: unknown): unknown | undefined;
29
+ /**
30
+ * Build the `available` map for allocateContext/resolveInjection from the
31
+ * manifest's declared paths and a single loaded predecessor contentJson.
32
+ *
33
+ * Paths not resolvable from this predecessor (including tier2 `raw.*` and
34
+ * stages not represented in the loaded object) are simply omitted from the
35
+ * map — allocateContext then records them in `absent`.
36
+ */
37
+ export declare function buildAvailableMap(manifestPaths: readonly string[], predecessorContentJson: unknown): ReadonlyMap<string, unknown>;
38
+ //# sourceMappingURL=summary-field-reader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"summary-field-reader.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/summary-field-reader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAuCH,oFAAoF;AACpF,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,sBAAsB,EAAE,OAAO,GAC9B,OAAO,GAAG,SAAS,CA0BrB;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,aAAa,EAAE,SAAS,MAAM,EAAE,EAChC,sBAAsB,EAAE,OAAO,GAC9B,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAS9B"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * Layer 1 — summary field reader (design §6.6 read-side convention).
3
+ *
4
+ * Pure logic only (Core vs Plugin boundary). Builds the `available` map that
5
+ * `allocateContext` / `resolveInjection` consume, from a runner's loaded
6
+ * predecessor contentJson (which carries the Layer 0 `summary` /
7
+ * `predecessorSummary` envelope).
8
+ *
9
+ * Path convention (design §6.6):
10
+ * `<stage>.summary.headline` → contentJson.summary.headline
11
+ * `<stage>.summary.<key>` → contentJson.summary.fields[key]
12
+ * `<stage>.predecessorSummary.headline` → contentJson.predecessorSummary.summary.headline
13
+ * `<stage>.predecessorSummary.<key>` → contentJson.predecessorSummary.summary.fields[key]
14
+ *
15
+ * The leading `<stage>.` segment is a logical namespace (pain / dreamer /
16
+ * philosopher / scribe / artificer / diagnosis); the reader does NOT look up
17
+ * the stage by name — it resolves `summary.*` / `predecessorSummary.*` against
18
+ * whatever predecessor contentJson the caller loaded. This is correct because
19
+ * each runner's manifest only references paths whose stage maps to that
20
+ * runner's actual loaded predecessor (e.g. dreamer's manifest references
21
+ * pain.summary.* / diagnosis.summary.* which arrive via the diag_router
22
+ * predecessor's summary + its forwarded predecessorSummary).
23
+ *
24
+ * rc-1 / rc-5: contentJson is `unknown`; all reads use `Object.hasOwn` and
25
+ * typeof guards, never `as` casts.
26
+ */
27
+ function isRecord(value) {
28
+ return value !== null && typeof value === 'object' && !Array.isArray(value);
29
+ }
30
+ /** Read `headline` or `<key>` from contentJson.summary. */
31
+ function readFromSummary(contentJson, subPath) {
32
+ if (!isRecord(contentJson) || !Object.hasOwn(contentJson, 'summary'))
33
+ return undefined;
34
+ const { summary } = contentJson;
35
+ if (!isRecord(summary))
36
+ return undefined;
37
+ // subPath is a bare field key (e.g. 'riskLevel') or 'headline'. The summary
38
+ // envelope (Layer 0 ArtifactSummary) stores structured fields on `summary.fields`
39
+ // and headline on `summary.headline`. Manifest paths use `<stage>.summary.<key>`
40
+ // WITHOUT a `fields.` prefix (design §6.6), so read `fields.<subPath>` first,
41
+ // then fall back to `summary.<subPath>` (covers headline + any flat values).
42
+ if (subPath === 'headline') {
43
+ return Object.hasOwn(summary, 'headline') ? summary.headline : undefined;
44
+ }
45
+ const fields = Object.hasOwn(summary, 'fields') ? summary.fields : undefined;
46
+ if (isRecord(fields) && Object.hasOwn(fields, subPath)) {
47
+ return fields[subPath];
48
+ }
49
+ if (Object.hasOwn(summary, subPath)) {
50
+ return summary[subPath];
51
+ }
52
+ return undefined;
53
+ }
54
+ /** Read `headline` or `<key>` from contentJson.predecessorSummary.summary. */
55
+ function readFromPredecessorSummary(contentJson, subPath) {
56
+ if (!isRecord(contentJson) || !Object.hasOwn(contentJson, 'predecessorSummary'))
57
+ return undefined;
58
+ const { predecessorSummary: pred } = contentJson;
59
+ if (!isRecord(pred) || !Object.hasOwn(pred, 'summary'))
60
+ return undefined;
61
+ // Delegate to readFromSummary on the predecessorSummary's own summary.
62
+ return readFromSummary(pred, subPath);
63
+ }
64
+ /** Read a value nested under `summary` or `predecessorSummary` from contentJson. */
65
+ export function readSummaryField(fieldPath, predecessorContentJson) {
66
+ // Strip the leading `<stage>.` namespace segment(s). A path like
67
+ // `pain.summary.rootSymptom` becomes `summary.rootSymptom`; a path like
68
+ // `philosopher.predecessorSummary.betterDecision` becomes
69
+ // `predecessorSummary.betterDecision`. The namespace can be multi-segment
70
+ // (e.g. `dreamer.raw.candidates`), so strip everything up to and including
71
+ // the first occurrence of `summary.` or `predecessorSummary.` or `raw.`.
72
+ const summaryIdx = fieldPath.indexOf('summary.');
73
+ const predIdx = fieldPath.indexOf('predecessorSummary.');
74
+ const rawIdx = fieldPath.indexOf('raw.');
75
+ // tier2 raw.* paths are NOT resolvable at Layer 1 (they need Layer 2
76
+ // CandidateLineage). Return undefined → the path enters `absent`.
77
+ if (rawIdx >= 0 && (summaryIdx < 0 || rawIdx < summaryIdx) && (predIdx < 0 || rawIdx < predIdx)) {
78
+ return undefined;
79
+ }
80
+ if (predIdx >= 0 && (summaryIdx < 0 || predIdx < summaryIdx)) {
81
+ const subPath = fieldPath.slice(predIdx + 'predecessorSummary.'.length);
82
+ return readFromPredecessorSummary(predecessorContentJson, subPath);
83
+ }
84
+ if (summaryIdx >= 0) {
85
+ const subPath = fieldPath.slice(summaryIdx + 'summary.'.length);
86
+ return readFromSummary(predecessorContentJson, subPath);
87
+ }
88
+ return undefined;
89
+ }
90
+ /**
91
+ * Build the `available` map for allocateContext/resolveInjection from the
92
+ * manifest's declared paths and a single loaded predecessor contentJson.
93
+ *
94
+ * Paths not resolvable from this predecessor (including tier2 `raw.*` and
95
+ * stages not represented in the loaded object) are simply omitted from the
96
+ * map — allocateContext then records them in `absent`.
97
+ */
98
+ export function buildAvailableMap(manifestPaths, predecessorContentJson) {
99
+ const map = new Map();
100
+ for (const path of manifestPaths) {
101
+ const value = readSummaryField(path, predecessorContentJson);
102
+ if (value !== undefined) {
103
+ map.set(path, value);
104
+ }
105
+ }
106
+ return map;
107
+ }
108
+ //# sourceMappingURL=summary-field-reader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"summary-field-reader.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/summary-field-reader.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,7 @@ import { RunnerPhase } from './runner-phase.js';
28
28
  import type { PeerRunnerOptions, ResolvedPeerRunnerOptions, PeerRunnerDeps, PeerRunnerConfig, PeerRunnerResult, PeerRunnerValidationResult, FailureContext } from './peer-runner-types.js';
29
29
  import type { SummaryRunnerKind } from '../internalization/artifact-summary.js';
30
30
  import { type LoadedPredecessorArtifact } from '../internalization/attach-summary-envelope.js';
31
+ import type { ContextManifest } from '../internalization/context-manifest.js';
31
32
  /**
32
33
  * Abstract base class for peer runners.
33
34
  *
@@ -166,6 +167,41 @@ export declare abstract class BasePeerRunner<TContext extends {
166
167
  * already loaded — this method performs zero artifact-store reads (F3).
167
168
  */
168
169
  protected buildArtifactContentJson(taskId: string, runnerKind: SummaryRunnerKind, output: unknown, loadedPredecessor: LoadedPredecessorArtifact | null): string;
170
+ /**
171
+ * Whether the Layer 1 `context_manifest_budget` flag is on. Returns false
172
+ * when effectiveConfig is absent (legacy: existing buildContext assembly).
173
+ */
174
+ protected isContextManifestBudgetEnabled(): boolean;
175
+ /**
176
+ * Resolve the cross-level context injection for a runner via the Layer 1
177
+ * manifest + budget path (design §6.2/§6.3/§6.2.2).
178
+ *
179
+ * Single wiring point shared by the 4 peer runners (task 5.9). Returns:
180
+ * - `{ mode: 'focused', fields }` — use the manifest-allocated fields as
181
+ * the focused context (a `Record<string,string>` of path → preview text)
182
+ * - `{ mode: 'fallback' }` — resolution was too sparse; the caller MUST
183
+ * fall back to the legacy full-predecessor injection (F13). The fallback
184
+ * emits exactly one `manifest_resolution_insufficient` event (rc-9).
185
+ * - `{ mode: 'disabled' }` — flag off; caller uses the existing assembly.
186
+ *
187
+ * `predecessorContentJson` is the loaded predecessor artifact's contentJson
188
+ * (the same object buildContext already holds — zero extra store reads, F3).
189
+ * It carries the Layer 0 `summary` / `predecessorSummary` envelope; the
190
+ * summary-field-reader extracts the manifest-declared paths from it.
191
+ *
192
+ * budgetTokens scope (design §6.2.1): covers ONLY manifest-declared fields.
193
+ *
194
+ * `taskId` is used for telemetry event attribution (runnerKind comes from
195
+ * the manifest itself via event.runnerKind).
196
+ */
197
+ protected resolveContextInjection(taskId: string, manifest: ContextManifest, predecessorContentJson: unknown): {
198
+ mode: 'focused';
199
+ fields: Readonly<Record<string, string>>;
200
+ } | {
201
+ mode: 'fallback';
202
+ } | {
203
+ mode: 'disabled';
204
+ };
169
205
  /**
170
206
  * Task 12: Construct an AgentDraftPayload from the permanent-failure
171
207
  * context and write it to pending_agent_drafts via the injected
@@ -1 +1 @@
1
- {"version":3,"file":"base-peer-runner.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/runner/base-peer-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-peer-runner.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/runner/base-peer-runner.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,9 @@ import { RunnerPhase } from './runner-phase.js';
23
23
  import { computeFeatureFlagsFromConfig, isFeatureEnabled } from '../config/pd-config-feature-flags.js';
24
24
  import { redactAbsolutePaths, redactTokenLikeValues, redactEnvLikeValues, } from '../feedback/redact-sensitive.js';
25
25
  import { attachSummaryEnvelope, } from '../internalization/attach-summary-envelope.js';
26
+ import { declaredFields } from '../internalization/context-manifest.js';
27
+ import { resolveInjection } from '../internalization/resolve-injection.js';
28
+ import { buildAvailableMap } from '../internalization/summary-field-reader.js';
26
29
  // ── Defaults ─────────────────────────────────────────────────────────────────
27
30
  const DEFAULT_PEER_RUNNER_OPTIONS = {
28
31
  pollIntervalMs: 5_000,
@@ -783,6 +786,74 @@ export class BasePeerRunner {
783
786
  return JSON.stringify(output);
784
787
  }
785
788
  }
789
+ // ── Layer 1: manifest + budget injection (design §6.2/§6.3, PR 2 task 5.9) ──
790
+ /**
791
+ * Whether the Layer 1 `context_manifest_budget` flag is on. Returns false
792
+ * when effectiveConfig is absent (legacy: existing buildContext assembly).
793
+ */
794
+ isContextManifestBudgetEnabled() {
795
+ const { effectiveConfig } = this.config;
796
+ if (!effectiveConfig)
797
+ return false;
798
+ const flags = computeFeatureFlagsFromConfig(effectiveConfig);
799
+ return isFeatureEnabled(flags, 'context_manifest_budget');
800
+ }
801
+ /**
802
+ * Resolve the cross-level context injection for a runner via the Layer 1
803
+ * manifest + budget path (design §6.2/§6.3/§6.2.2).
804
+ *
805
+ * Single wiring point shared by the 4 peer runners (task 5.9). Returns:
806
+ * - `{ mode: 'focused', fields }` — use the manifest-allocated fields as
807
+ * the focused context (a `Record<string,string>` of path → preview text)
808
+ * - `{ mode: 'fallback' }` — resolution was too sparse; the caller MUST
809
+ * fall back to the legacy full-predecessor injection (F13). The fallback
810
+ * emits exactly one `manifest_resolution_insufficient` event (rc-9).
811
+ * - `{ mode: 'disabled' }` — flag off; caller uses the existing assembly.
812
+ *
813
+ * `predecessorContentJson` is the loaded predecessor artifact's contentJson
814
+ * (the same object buildContext already holds — zero extra store reads, F3).
815
+ * It carries the Layer 0 `summary` / `predecessorSummary` envelope; the
816
+ * summary-field-reader extracts the manifest-declared paths from it.
817
+ *
818
+ * budgetTokens scope (design §6.2.1): covers ONLY manifest-declared fields.
819
+ *
820
+ * `taskId` is used for telemetry event attribution (runnerKind comes from
821
+ * the manifest itself via event.runnerKind).
822
+ */
823
+ resolveContextInjection(taskId, manifest, predecessorContentJson) {
824
+ if (!this.isContextManifestBudgetEnabled()) {
825
+ return { mode: 'disabled' };
826
+ }
827
+ const paths = declaredFields(manifest);
828
+ const available = buildAvailableMap(paths, predecessorContentJson);
829
+ const emit = (event) => {
830
+ if (event.type === 'manifest_resolution_insufficient') {
831
+ this.emitEvent('manifest_resolution_insufficient', taskId, {
832
+ runnerKind: event.runnerKind,
833
+ manifestId: event.manifestId,
834
+ absentCount: event.absentCount,
835
+ declaredCount: event.declaredCount,
836
+ absentRatio: event.absentRatio,
837
+ fallback: event.fallback,
838
+ });
839
+ }
840
+ else {
841
+ // context_truncated — surface as telemetry so Layer 3 can show it.
842
+ this.emitEvent('context_truncated', taskId, {
843
+ runnerKind: event.runnerKind,
844
+ manifestId: event.manifestId,
845
+ fieldPath: event.fieldPath,
846
+ reason: event.reason,
847
+ remainingBudgetTokens: event.remainingBudgetTokens,
848
+ });
849
+ }
850
+ };
851
+ const result = resolveInjection(manifest, available, emit);
852
+ if (result.kind === 'focused') {
853
+ return { mode: 'focused', fields: result.allocated.fields };
854
+ }
855
+ return { mode: 'fallback' };
856
+ }
786
857
  // ── Agent draft injection (Task 12) ────────────────────────────────────────
787
858
  /**
788
859
  * Task 12: Construct an AgentDraftPayload from the permanent-failure