@principles/pd-cli 1.116.0 → 1.118.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.
@@ -1,3 +1,4 @@
1
+ import { RuntimeStateManager } from '@principles/core/runtime-v2';
1
2
  interface CandidateListOptions {
2
3
  taskId: string;
3
4
  workspace?: string;
@@ -23,6 +24,28 @@ interface CandidateRepairOptions {
23
24
  workspace?: string;
24
25
  json?: boolean;
25
26
  }
27
+ /**
28
+ * Resolve `sourcePainId` from the canonical diagnostician task chain.
29
+ *
30
+ * The `CandidateRecord` does not carry `sourcePainId` — it must be resolved by
31
+ * looking up the diagnostician task (`candidate.taskId`) and parsing its
32
+ * `diagnosticJson`, which contains `sourcePainId` as a top-level key (set by
33
+ * `PainSignalBridge.buildDiagnosticJson`).
34
+ *
35
+ * Runtime Contract:
36
+ * - Rule 1: parsed JSON treated as `unknown`
37
+ * - Rule 2: no `as` bypass; type narrowing via `typeof` + `Object.hasOwn`
38
+ * - Rule 5: `Object.hasOwn` for untrusted key checks
39
+ *
40
+ * ERR-004: `sourcePainId` resolved from canonical chain, never invented.
41
+ *
42
+ * @returns The validated `sourcePainId`, or `null` when it cannot be resolved
43
+ * (task missing, JSON malformed, field absent, wrong type, or blank).
44
+ * Callers at the production boundary must fail loud on `null`.
45
+ */
46
+ export declare function resolveSourcePainIdFromDiagnostician(stateManager: RuntimeStateManager, candidate: {
47
+ taskId?: string;
48
+ }): Promise<string | null>;
26
49
  export declare function handleCandidateList(opts: CandidateListOptions): Promise<void>;
27
50
  interface CandidateInternalizeOptions {
28
51
  candidateId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"candidate.d.ts","sourceRoot":"","sources":["../../src/commands/candidate.ts"],"names":[],"mappings":"AAiCA,UAAU,oBAAoB;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,UAAU,oBAAoB;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,UAAU,sBAAsB;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,UAAU,qBAAqB;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,UAAU,sBAAsB;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AA8GD,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsCnF;AAID,UAAU,2BAA2B;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAaD,wBAAsB,0BAA0B,CAAC,IAAI,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAkIjG;AAID,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyCnF;AAID;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0GvF;AAID;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkErF;AAID;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuEvF;AAID,UAAU,wBAAwB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAiFD,wBAAsB,sCAAsC,CAAC,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwO1G;AAID,UAAU,qBAAqB;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+CrF"}
1
+ {"version":3,"file":"candidate.d.ts","sourceRoot":"","sources":["../../src/commands/candidate.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,mBAAmB,EAYpB,MAAM,6BAA6B,CAAC;AAOrC,UAAU,oBAAoB;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,UAAU,oBAAoB;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,UAAU,sBAAsB;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,UAAU,qBAAqB;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,UAAU,sBAAsB;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAgED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,oCAAoC,CACxD,YAAY,EAAE,mBAAmB,EACjC,SAAS,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA0BxB;AAgDD,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsCnF;AAID,UAAU,2BAA2B;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAaD,wBAAsB,0BAA0B,CAAC,IAAI,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAyJjG;AAID,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyCnF;AAID;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0GvF;AAID;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkErF;AAID;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuEvF;AAID,UAAU,wBAAwB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAiFD,wBAAsB,sCAAsC,CAAC,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwP1G;AAID,UAAU,qBAAqB;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+CrF"}
@@ -46,6 +46,53 @@ async function ensureConsumedAt(stateManager, candidateId) {
46
46
  db.getDb().prepare('UPDATE principle_candidates SET consumed_at = ? WHERE candidate_id = ?').run(now, candidateId);
47
47
  return now;
48
48
  }
49
+ /**
50
+ * Resolve `sourcePainId` from the canonical diagnostician task chain.
51
+ *
52
+ * The `CandidateRecord` does not carry `sourcePainId` — it must be resolved by
53
+ * looking up the diagnostician task (`candidate.taskId`) and parsing its
54
+ * `diagnosticJson`, which contains `sourcePainId` as a top-level key (set by
55
+ * `PainSignalBridge.buildDiagnosticJson`).
56
+ *
57
+ * Runtime Contract:
58
+ * - Rule 1: parsed JSON treated as `unknown`
59
+ * - Rule 2: no `as` bypass; type narrowing via `typeof` + `Object.hasOwn`
60
+ * - Rule 5: `Object.hasOwn` for untrusted key checks
61
+ *
62
+ * ERR-004: `sourcePainId` resolved from canonical chain, never invented.
63
+ *
64
+ * @returns The validated `sourcePainId`, or `null` when it cannot be resolved
65
+ * (task missing, JSON malformed, field absent, wrong type, or blank).
66
+ * Callers at the production boundary must fail loud on `null`.
67
+ */
68
+ export async function resolveSourcePainIdFromDiagnostician(stateManager, candidate) {
69
+ const diagTaskId = candidate.taskId?.trim();
70
+ if (!diagTaskId)
71
+ return null;
72
+ const diagTask = await stateManager.getTask(diagTaskId);
73
+ // PRI-435 (CodeRabbit P1): Verify taskKind is 'diagnostician' to prevent
74
+ // cross-task-chain lineage contamination. If candidate.taskId points to a
75
+ // non-diagnostician task, sourcePainId must not be trusted.
76
+ if (!diagTask || diagTask.taskKind !== 'diagnostician')
77
+ return null;
78
+ if (typeof diagTask.diagnosticJson !== 'string')
79
+ return null;
80
+ let parsed;
81
+ try {
82
+ parsed = JSON.parse(diagTask.diagnosticJson);
83
+ }
84
+ catch {
85
+ return null;
86
+ }
87
+ if (parsed === null || typeof parsed !== 'object' || Array.isArray(parsed))
88
+ return null;
89
+ if (!Object.hasOwn(parsed, 'sourcePainId'))
90
+ return null;
91
+ const sourcePainId = Reflect.get(parsed, 'sourcePainId');
92
+ if (typeof sourcePainId !== 'string' || sourcePainId.trim() === '')
93
+ return null;
94
+ return sourcePainId.trim();
95
+ }
49
96
  function resolveCandidateRecommendation(candidate, stateManager, candidateId) {
50
97
  if (candidate.sourceRecommendationJson) {
51
98
  try {
@@ -140,7 +187,30 @@ export async function handleCandidateInternalize(opts) {
140
187
  }
141
188
  const recommendation = resolveCandidateRecommendation(candidate, stateManager, opts.candidateId);
142
189
  const decision = decideInternalizationRoute(recommendation);
143
- const seed = buildDreamerSeedFromCandidate(candidate, { route: decision.route, ready: decision.ready });
190
+ // PRI-435: Resolve sourcePainId from the canonical diagnostician task chain.
191
+ // The CandidateRecord does not carry sourcePainId — it must be looked up
192
+ // from the diagnostician task's diagnosticJson via candidate.taskId.
193
+ // Missing/malformed sourcePainId must fail loud with no side effects.
194
+ const sourcePainId = await resolveSourcePainIdFromDiagnostician(stateManager, candidate);
195
+ if (sourcePainId === null) {
196
+ const result = {
197
+ candidateId: opts.candidateId,
198
+ route: decision.route,
199
+ status: 'no_task_created',
200
+ reason: `Cannot resolve sourcePainId from diagnostician task chain for candidate ${opts.candidateId}`,
201
+ nextAction: 'Verify the diagnostician task diagnosticJson contains a valid top-level sourcePainId; re-run diagnosis if the pain signal is missing',
202
+ };
203
+ if (opts.json) {
204
+ console.log(JSON.stringify(result, null, 2));
205
+ }
206
+ else {
207
+ console.error(`Cannot resolve sourcePainId for candidate ${opts.candidateId}`);
208
+ console.error(`Next: ${result.nextAction}`);
209
+ }
210
+ process.exit(1);
211
+ return;
212
+ }
213
+ const seed = buildDreamerSeedFromCandidate(candidate, { route: decision.route, ready: decision.ready, sourcePainId });
144
214
  if ('decision' in seed) {
145
215
  const decisionResult = seed;
146
216
  const reason = decisionResult.decision === 'already_exists'
@@ -635,7 +705,15 @@ export async function handleCandidateInternalizationBackfill(opts) {
635
705
  }
636
706
  const recommendation = resolveCandidateRecommendation(candidate, stateManager, candidateId);
637
707
  const decision = decideInternalizationRoute(recommendation);
638
- const seed = buildDreamerSeedFromCandidate(candidate, { route: decision.route, ready: decision.ready });
708
+ // PRI-435: Resolve sourcePainId from the canonical diagnostician task chain.
709
+ // Missing/malformed sourcePainId must fail loud per-candidate with no side effects.
710
+ const sourcePainId = await resolveSourcePainIdFromDiagnostician(stateManager, candidate);
711
+ if (sourcePainId === null) {
712
+ output.errors++;
713
+ output.results.push({ candidateId, route: decision.route, status: 'error', reason: `Cannot resolve sourcePainId from diagnostician task chain for candidate ${candidateId}`, statusBefore: 'consumed', statusAfter: 'consumed', intakeDecision: 'not_needed', seedDecision: 'skipped', nextAction: 'Verify the diagnostician task diagnosticJson contains a valid top-level sourcePainId; re-run diagnosis if the pain signal is missing' });
714
+ continue;
715
+ }
716
+ const seed = buildDreamerSeedFromCandidate(candidate, { route: decision.route, ready: decision.ready, sourcePainId });
639
717
  if ('decision' in seed) {
640
718
  output.deferred++;
641
719
  const decisionResult = seed;
@@ -697,7 +775,15 @@ export async function handleCandidateInternalizationBackfill(opts) {
697
775
  }
698
776
  const recommendation = resolveCandidateRecommendation(candidate, stateManager, candidateId);
699
777
  const decision = decideInternalizationRoute(recommendation);
700
- const seed = buildDreamerSeedFromCandidate(candidate, { route: decision.route, ready: decision.ready });
778
+ // PRI-435: Resolve sourcePainId from the canonical diagnostician task chain.
779
+ // Missing/malformed sourcePainId must fail loud per-candidate with no side effects.
780
+ const sourcePainId = await resolveSourcePainIdFromDiagnostician(stateManager, candidate);
781
+ if (sourcePainId === null) {
782
+ output.errors++;
783
+ output.results.push({ candidateId, route: decision.route, status: 'error', reason: `Cannot resolve sourcePainId from diagnostician task chain for candidate ${candidateId}`, statusBefore: 'pending', statusAfter: 'pending', intakeDecision: 'skipped', seedDecision: 'skipped', nextAction: 'Verify the diagnostician task diagnosticJson contains a valid top-level sourcePainId; re-run diagnosis if the pain signal is missing' });
784
+ continue;
785
+ }
786
+ const seed = buildDreamerSeedFromCandidate(candidate, { route: decision.route, ready: decision.ready, sourcePainId });
701
787
  if ('decision' in seed) {
702
788
  output.deferred++;
703
789
  const decisionResult = seed;
@@ -1 +1 @@
1
- {"version":3,"file":"candidate.js","sourceRoot":"","sources":["../../src/commands/candidate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"candidate.js","sourceRoot":"","sources":["../../src/commands/candidate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"demo-rule-compiler.d.ts","sourceRoot":"","sources":["../../src/services/demo-rule-compiler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAsCpE;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,gBAAgB,CA2BnF"}
1
+ {"version":3,"file":"demo-rule-compiler.d.ts","sourceRoot":"","sources":["../../src/services/demo-rule-compiler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAmBpE;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,gBAAgB,CA4BnF"}
@@ -14,7 +14,7 @@
14
14
  * `loadRuleImplementationModule` for production code_tool_hook evaluation.
15
15
  */
16
16
  import * as vm from 'node:vm';
17
- import { safeStringifyPreview, validateCorrectionProposal } from '@principles/core/runtime-v2';
17
+ import { safeStringifyPreview, validateRuleHostResult } from '@principles/core/runtime-v2';
18
18
  function normalizeSource(sourceCode) {
19
19
  const withoutExports = sourceCode
20
20
  .replace(/export\s+const\s+meta\s*=/, 'const meta =')
@@ -25,29 +25,9 @@ globalThis.__pdRuleModule = {
25
25
  evaluate: typeof evaluate === 'undefined' ? undefined : evaluate,
26
26
  };`;
27
27
  }
28
- function isRecord(value) {
29
- return typeof value === 'object' && value !== null && !Array.isArray(value);
30
- }
31
28
  function isRuleEvaluator(value) {
32
29
  return typeof value === 'function';
33
30
  }
34
- function isRuleHostResult(value) {
35
- if (!isRecord(value))
36
- return false;
37
- const decision = Object.hasOwn(value, 'decision') ? value.decision : undefined;
38
- const matched = Object.hasOwn(value, 'matched') ? value.matched : undefined;
39
- const reason = Object.hasOwn(value, 'reason') ? value.reason : undefined;
40
- if (decision !== 'allow' && decision !== 'block' && decision !== 'requireApproval' && decision !== 'auto_correct') {
41
- return false;
42
- }
43
- if (typeof matched !== 'boolean' || typeof reason !== 'string')
44
- return false;
45
- if (decision === 'auto_correct') {
46
- const proposal = Object.hasOwn(value, 'correctionProposal') ? value.correctionProposal : undefined;
47
- return validateCorrectionProposal(proposal).valid;
48
- }
49
- return true;
50
- }
51
31
  /**
52
32
  * Compile rule implementation code and return a typed evaluate function.
53
33
  * Mirrors `createReplayEvaluateFromCode` in openclaw-plugin.
@@ -68,8 +48,9 @@ export function compileDemoRule(code, sourceLabel) {
68
48
  const evaluateFn = moduleExports.evaluate;
69
49
  return (input, helpers) => {
70
50
  const result = evaluateFn(input, helpers);
71
- if (!isRuleHostResult(result)) {
72
- throw new Error(`[${sourceLabel}]: evaluate returned invalid RuleHostResult (got ${typeof result === 'object' && result !== null ? safeStringifyPreview(result) : String(result)})`);
51
+ const validation = validateRuleHostResult(result);
52
+ if (!validation.valid) {
53
+ throw new Error(`[${sourceLabel}]: evaluate returned invalid RuleHostResult — ${validation.errors.join('; ')} (got ${typeof result === 'object' && result !== null ? safeStringifyPreview(result) : String(result)})`);
73
54
  }
74
55
  return result;
75
56
  };
@@ -1 +1 @@
1
- {"version":3,"file":"demo-rule-compiler.js","sourceRoot":"","sources":["../../src/services/demo-rule-compiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"demo-rule-compiler.js","sourceRoot":"","sources":["../../src/services/demo-rule-compiler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAI9B,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAE3F,SAAS,eAAe,CAAC,UAAkB;IACzC,MAAM,cAAc,GAAG,UAAU;SAC9B,OAAO,CAAC,2BAA2B,EAAE,cAAc,CAAC;SACpD,OAAO,CAAC,mCAAmC,EAAE,oBAAoB,CAAC,CAAC;IAEtE,OAAO,GAAG,cAAc;;;;GAIvB,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC;AACrC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,WAAmB;IAC/D,MAAM,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE;QAClD,QAAQ,EAAE,WAAW;KACtB,CAAC,CAAC;IAEH,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAErE,MAAM,aAAa,GAAI,OAAuE,CAAC,cAAc,CAAC;IAC9G,OAAQ,OAAwC,CAAC,cAAc,CAAC;IAEhE,IAAI,CAAC,aAAa,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,KAAK,CAAC,qBAAqB,WAAW,4CAA4C,CAAC,CAAC;IAChG,CAAC;IAED,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC;IAC1C,OAAO,CAAC,KAAoB,EAAE,OAAwB,EAAkB,EAAE;QACxE,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACb,IAAI,WAAW,iDAAiD,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAC1F,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAC9F,GAAG,CACJ,CAAC;QACJ,CAAC;QACD,OAAO,MAAwB,CAAC;IAClC,CAAC,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@principles/pd-cli",
3
- "version": "1.116.0",
3
+ "version": "1.118.0",
4
4
  "description": "PD CLI — Pain recording, sample management, and evolution tasks",
5
5
  "type": "module",
6
6
  "bin": {
@@ -123,6 +123,56 @@ interface ResolvedRecommendation {
123
123
  usedFallback: boolean;
124
124
  }
125
125
 
126
+ /**
127
+ * Resolve `sourcePainId` from the canonical diagnostician task chain.
128
+ *
129
+ * The `CandidateRecord` does not carry `sourcePainId` — it must be resolved by
130
+ * looking up the diagnostician task (`candidate.taskId`) and parsing its
131
+ * `diagnosticJson`, which contains `sourcePainId` as a top-level key (set by
132
+ * `PainSignalBridge.buildDiagnosticJson`).
133
+ *
134
+ * Runtime Contract:
135
+ * - Rule 1: parsed JSON treated as `unknown`
136
+ * - Rule 2: no `as` bypass; type narrowing via `typeof` + `Object.hasOwn`
137
+ * - Rule 5: `Object.hasOwn` for untrusted key checks
138
+ *
139
+ * ERR-004: `sourcePainId` resolved from canonical chain, never invented.
140
+ *
141
+ * @returns The validated `sourcePainId`, or `null` when it cannot be resolved
142
+ * (task missing, JSON malformed, field absent, wrong type, or blank).
143
+ * Callers at the production boundary must fail loud on `null`.
144
+ */
145
+ export async function resolveSourcePainIdFromDiagnostician(
146
+ stateManager: RuntimeStateManager,
147
+ candidate: { taskId?: string },
148
+ ): Promise<string | null> {
149
+ const diagTaskId = candidate.taskId?.trim();
150
+ if (!diagTaskId) return null;
151
+
152
+ const diagTask = await stateManager.getTask(diagTaskId);
153
+ // PRI-435 (CodeRabbit P1): Verify taskKind is 'diagnostician' to prevent
154
+ // cross-task-chain lineage contamination. If candidate.taskId points to a
155
+ // non-diagnostician task, sourcePainId must not be trusted.
156
+ if (!diagTask || diagTask.taskKind !== 'diagnostician') return null;
157
+
158
+ if (typeof diagTask.diagnosticJson !== 'string') return null;
159
+
160
+ let parsed: unknown;
161
+ try {
162
+ parsed = JSON.parse(diagTask.diagnosticJson);
163
+ } catch {
164
+ return null;
165
+ }
166
+
167
+ if (parsed === null || typeof parsed !== 'object' || Array.isArray(parsed)) return null;
168
+ if (!Object.hasOwn(parsed, 'sourcePainId')) return null;
169
+
170
+ const sourcePainId = Reflect.get(parsed, 'sourcePainId');
171
+ if (typeof sourcePainId !== 'string' || sourcePainId.trim() === '') return null;
172
+
173
+ return sourcePainId.trim();
174
+ }
175
+
126
176
  function resolveCandidateRecommendation(
127
177
  candidate: { sourceRecommendationJson?: string; description?: string },
128
178
  stateManager: RuntimeStateManager,
@@ -258,7 +308,30 @@ export async function handleCandidateInternalize(opts: CandidateInternalizeOptio
258
308
 
259
309
  const decision = decideInternalizationRoute(recommendation as Parameters<typeof decideInternalizationRoute>[0]);
260
310
 
261
- const seed = buildDreamerSeedFromCandidate(candidate, { route: decision.route, ready: decision.ready });
311
+ // PRI-435: Resolve sourcePainId from the canonical diagnostician task chain.
312
+ // The CandidateRecord does not carry sourcePainId — it must be looked up
313
+ // from the diagnostician task's diagnosticJson via candidate.taskId.
314
+ // Missing/malformed sourcePainId must fail loud with no side effects.
315
+ const sourcePainId = await resolveSourcePainIdFromDiagnostician(stateManager, candidate);
316
+ if (sourcePainId === null) {
317
+ const result: CandidateInternalizeResult = {
318
+ candidateId: opts.candidateId,
319
+ route: decision.route,
320
+ status: 'no_task_created',
321
+ reason: `Cannot resolve sourcePainId from diagnostician task chain for candidate ${opts.candidateId}`,
322
+ nextAction: 'Verify the diagnostician task diagnosticJson contains a valid top-level sourcePainId; re-run diagnosis if the pain signal is missing',
323
+ };
324
+ if (opts.json) {
325
+ console.log(JSON.stringify(result, null, 2));
326
+ } else {
327
+ console.error(`Cannot resolve sourcePainId for candidate ${opts.candidateId}`);
328
+ console.error(`Next: ${result.nextAction}`);
329
+ }
330
+ process.exit(1);
331
+ return;
332
+ }
333
+
334
+ const seed = buildDreamerSeedFromCandidate(candidate, { route: decision.route, ready: decision.ready, sourcePainId });
262
335
  if ('decision' in seed) {
263
336
  const decisionResult = seed as { decision: string; reason?: string; taskId?: string };
264
337
  const reason = decisionResult.decision === 'already_exists'
@@ -828,7 +901,15 @@ export async function handleCandidateInternalizationBackfill(opts: CandidateBack
828
901
  const recommendation = resolveCandidateRecommendation(candidate, stateManager, candidateId);
829
902
  const decision = decideInternalizationRoute(recommendation as Parameters<typeof decideInternalizationRoute>[0]);
830
903
 
831
- const seed = buildDreamerSeedFromCandidate(candidate, { route: decision.route, ready: decision.ready });
904
+ // PRI-435: Resolve sourcePainId from the canonical diagnostician task chain.
905
+ // Missing/malformed sourcePainId must fail loud per-candidate with no side effects.
906
+ const sourcePainId = await resolveSourcePainIdFromDiagnostician(stateManager, candidate);
907
+ if (sourcePainId === null) {
908
+ output.errors++;
909
+ output.results.push({ candidateId, route: decision.route, status: 'error', reason: `Cannot resolve sourcePainId from diagnostician task chain for candidate ${candidateId}`, statusBefore: 'consumed', statusAfter: 'consumed', intakeDecision: 'not_needed', seedDecision: 'skipped', nextAction: 'Verify the diagnostician task diagnosticJson contains a valid top-level sourcePainId; re-run diagnosis if the pain signal is missing' });
910
+ continue;
911
+ }
912
+ const seed = buildDreamerSeedFromCandidate(candidate, { route: decision.route, ready: decision.ready, sourcePainId });
832
913
  if ('decision' in seed) {
833
914
  output.deferred++;
834
915
  const decisionResult = seed as { decision: string; reason?: string; taskId?: string };
@@ -899,7 +980,15 @@ export async function handleCandidateInternalizationBackfill(opts: CandidateBack
899
980
  const recommendation = resolveCandidateRecommendation(candidate, stateManager, candidateId);
900
981
  const decision = decideInternalizationRoute(recommendation as Parameters<typeof decideInternalizationRoute>[0]);
901
982
 
902
- const seed = buildDreamerSeedFromCandidate(candidate, { route: decision.route, ready: decision.ready });
983
+ // PRI-435: Resolve sourcePainId from the canonical diagnostician task chain.
984
+ // Missing/malformed sourcePainId must fail loud per-candidate with no side effects.
985
+ const sourcePainId = await resolveSourcePainIdFromDiagnostician(stateManager, candidate);
986
+ if (sourcePainId === null) {
987
+ output.errors++;
988
+ output.results.push({ candidateId, route: decision.route, status: 'error', reason: `Cannot resolve sourcePainId from diagnostician task chain for candidate ${candidateId}`, statusBefore: 'pending', statusAfter: 'pending', intakeDecision: 'skipped', seedDecision: 'skipped', nextAction: 'Verify the diagnostician task diagnosticJson contains a valid top-level sourcePainId; re-run diagnosis if the pain signal is missing' });
989
+ continue;
990
+ }
991
+ const seed = buildDreamerSeedFromCandidate(candidate, { route: decision.route, ready: decision.ready, sourcePainId });
903
992
  if ('decision' in seed) {
904
993
  output.deferred++;
905
994
  const decisionResult = seed as { decision: string; reason?: string; taskId?: string };
@@ -18,7 +18,7 @@ import * as vm from 'node:vm';
18
18
  import type { RuleHostInput, RuleHostResult } from '@principles/core/runtime-v2';
19
19
  import type { RuleHostHelpers } from '@principles/core/runtime-v2';
20
20
  import type { ReplayEvaluateFn } from '@principles/core/runtime-v2';
21
- import { safeStringifyPreview, validateCorrectionProposal } from '@principles/core/runtime-v2';
21
+ import { safeStringifyPreview, validateRuleHostResult } from '@principles/core/runtime-v2';
22
22
 
23
23
  function normalizeSource(sourceCode: string): string {
24
24
  const withoutExports = sourceCode
@@ -32,29 +32,10 @@ globalThis.__pdRuleModule = {
32
32
  };`;
33
33
  }
34
34
 
35
- function isRecord(value: unknown): value is Record<string, unknown> {
36
- return typeof value === 'object' && value !== null && !Array.isArray(value);
37
- }
38
-
39
35
  function isRuleEvaluator(value: unknown): value is (input: RuleHostInput, helpers: RuleHostHelpers) => unknown {
40
36
  return typeof value === 'function';
41
37
  }
42
38
 
43
- function isRuleHostResult(value: unknown): value is RuleHostResult {
44
- if (!isRecord(value)) return false;
45
- const decision = Object.hasOwn(value, 'decision') ? value.decision : undefined;
46
- const matched = Object.hasOwn(value, 'matched') ? value.matched : undefined;
47
- const reason = Object.hasOwn(value, 'reason') ? value.reason : undefined;
48
- if (decision !== 'allow' && decision !== 'block' && decision !== 'requireApproval' && decision !== 'auto_correct') {
49
- return false;
50
- }
51
- if (typeof matched !== 'boolean' || typeof reason !== 'string') return false;
52
- if (decision === 'auto_correct') {
53
- const proposal = Object.hasOwn(value, 'correctionProposal') ? value.correctionProposal : undefined;
54
- return validateCorrectionProposal(proposal).valid;
55
- }
56
- return true;
57
- }
58
39
  /**
59
40
  * Compile rule implementation code and return a typed evaluate function.
60
41
  * Mirrors `createReplayEvaluateFromCode` in openclaw-plugin.
@@ -79,13 +60,14 @@ export function compileDemoRule(code: string, sourceLabel: string): ReplayEvalua
79
60
  const evaluateFn = moduleExports.evaluate;
80
61
  return (input: RuleHostInput, helpers: RuleHostHelpers): RuleHostResult => {
81
62
  const result = evaluateFn(input, helpers);
82
- if (!isRuleHostResult(result)) {
63
+ const validation = validateRuleHostResult(result);
64
+ if (!validation.valid) {
83
65
  throw new Error(
84
- `[${sourceLabel}]: evaluate returned invalid RuleHostResult (got ${
66
+ `[${sourceLabel}]: evaluate returned invalid RuleHostResult — ${validation.errors.join('; ')} (got ${
85
67
  typeof result === 'object' && result !== null ? safeStringifyPreview(result) : String(result)
86
68
  })`,
87
69
  );
88
70
  }
89
- return result;
71
+ return result as RuleHostResult;
90
72
  };
91
73
  }