create-principles-disciple 1.140.0 → 1.141.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 (110) hide show
  1. package/codex-adapter/dist/codec/input-decoder.js +4 -2
  2. package/codex-adapter/dist/pd-hook.js +46 -1
  3. package/codex-adapter/package.json +1 -1
  4. package/console/dist/server/config/pd-config-store.js +1 -1
  5. package/core/dist/host/host-adapter.d.ts +20 -0
  6. package/core/dist/host/host-adapter.d.ts.map +1 -1
  7. package/core/dist/host/host-adapter.js.map +1 -1
  8. package/core/dist/host/index.d.ts +1 -1
  9. package/core/dist/host/index.d.ts.map +1 -1
  10. package/core/dist/host/index.js.map +1 -1
  11. package/core/dist/index.d.ts +1 -1
  12. package/core/dist/index.d.ts.map +1 -1
  13. package/core/dist/runtime-v2/__tests__/append-event-log-line.test.d.ts +2 -0
  14. package/core/dist/runtime-v2/__tests__/append-event-log-line.test.d.ts.map +1 -0
  15. package/core/dist/runtime-v2/__tests__/append-event-log-line.test.js +47 -0
  16. package/core/dist/runtime-v2/__tests__/append-event-log-line.test.js.map +1 -0
  17. package/core/dist/runtime-v2/__tests__/event-types-runid.test.d.ts +2 -0
  18. package/core/dist/runtime-v2/__tests__/event-types-runid.test.d.ts.map +1 -0
  19. package/core/dist/runtime-v2/__tests__/event-types-runid.test.js +28 -0
  20. package/core/dist/runtime-v2/__tests__/event-types-runid.test.js.map +1 -0
  21. package/core/dist/runtime-v2/__tests__/pain-to-principle-service.test.js +0 -1
  22. package/core/dist/runtime-v2/__tests__/pain-to-principle-service.test.js.map +1 -1
  23. package/core/dist/runtime-v2/config/__tests__/pd-config-context-injection.test.js +31 -133
  24. package/core/dist/runtime-v2/config/__tests__/pd-config-context-injection.test.js.map +1 -1
  25. package/core/dist/runtime-v2/config/index.d.ts +1 -1
  26. package/core/dist/runtime-v2/config/index.d.ts.map +1 -1
  27. package/core/dist/runtime-v2/config/index.js.map +1 -1
  28. package/core/dist/runtime-v2/config/pd-config-defaults.d.ts.map +1 -1
  29. package/core/dist/runtime-v2/config/pd-config-defaults.js +0 -5
  30. package/core/dist/runtime-v2/config/pd-config-defaults.js.map +1 -1
  31. package/core/dist/runtime-v2/config/pd-config-effective.d.ts.map +1 -1
  32. package/core/dist/runtime-v2/config/pd-config-effective.js +0 -5
  33. package/core/dist/runtime-v2/config/pd-config-effective.js.map +1 -1
  34. package/core/dist/runtime-v2/config/pd-config-types.d.ts +2 -11
  35. package/core/dist/runtime-v2/config/pd-config-types.d.ts.map +1 -1
  36. package/core/dist/runtime-v2/config/pd-config-types.js.map +1 -1
  37. package/core/dist/runtime-v2/config/pd-config-validate.d.ts.map +1 -1
  38. package/core/dist/runtime-v2/config/pd-config-validate.js +16 -46
  39. package/core/dist/runtime-v2/config/pd-config-validate.js.map +1 -1
  40. package/core/dist/runtime-v2/feature-flags/__tests__/feature-flag-lifecycle.test.js +338 -1
  41. package/core/dist/runtime-v2/feature-flags/__tests__/feature-flag-lifecycle.test.js.map +1 -1
  42. package/core/dist/runtime-v2/feature-flags/feature-flag-lifecycle.d.ts +1 -1
  43. package/core/dist/runtime-v2/feature-flags/feature-flag-lifecycle.d.ts.map +1 -1
  44. package/core/dist/runtime-v2/feature-flags/feature-flag-lifecycle.js +7 -2
  45. package/core/dist/runtime-v2/feature-flags/feature-flag-lifecycle.js.map +1 -1
  46. package/core/dist/runtime-v2/index.d.ts +1 -1
  47. package/core/dist/runtime-v2/index.d.ts.map +1 -1
  48. package/core/dist/runtime-v2/index.js +1 -1
  49. package/core/dist/runtime-v2/index.js.map +1 -1
  50. package/core/dist/runtime-v2/internalization/__tests__/artificer-output-retry-flag.test.js +0 -2
  51. package/core/dist/runtime-v2/internalization/__tests__/artificer-output-retry-flag.test.js.map +1 -1
  52. package/core/dist/runtime-v2/internalization/__tests__/diag-chain-e2e.test.js +0 -3
  53. package/core/dist/runtime-v2/internalization/__tests__/diag-chain-e2e.test.js.map +1 -1
  54. package/core/dist/runtime-v2/internalization/__tests__/diag-rootcause-intent-tension.test.js +0 -1
  55. package/core/dist/runtime-v2/internalization/__tests__/diag-rootcause-intent-tension.test.js.map +1 -1
  56. package/core/dist/runtime-v2/internalization/__tests__/evaluator-approved-replay-failed-repair.test.d.ts +2 -0
  57. package/core/dist/runtime-v2/internalization/__tests__/evaluator-approved-replay-failed-repair.test.d.ts.map +1 -0
  58. package/core/dist/runtime-v2/internalization/__tests__/evaluator-approved-replay-failed-repair.test.js +247 -0
  59. package/core/dist/runtime-v2/internalization/__tests__/evaluator-approved-replay-failed-repair.test.js.map +1 -0
  60. package/core/dist/runtime-v2/internalization/__tests__/evaluator-artificer-repair-replay.test.js +0 -1
  61. package/core/dist/runtime-v2/internalization/__tests__/evaluator-artificer-repair-replay.test.js.map +1 -1
  62. package/core/dist/runtime-v2/internalization/__tests__/evaluator-chinese-feedback-contract.test.js +0 -1
  63. package/core/dist/runtime-v2/internalization/__tests__/evaluator-chinese-feedback-contract.test.js.map +1 -1
  64. package/core/dist/runtime-v2/internalization/__tests__/evaluator-out-of-scope-governance.test.js +5 -5
  65. package/core/dist/runtime-v2/internalization/__tests__/evaluator-out-of-scope-governance.test.js.map +1 -1
  66. package/core/dist/runtime-v2/internalization/__tests__/shared-information-plane-runner.test.js +0 -1
  67. package/core/dist/runtime-v2/internalization/__tests__/shared-information-plane-runner.test.js.map +1 -1
  68. package/core/dist/runtime-v2/internalization/evaluator-runner.d.ts.map +1 -1
  69. package/core/dist/runtime-v2/internalization/evaluator-runner.js +57 -1
  70. package/core/dist/runtime-v2/internalization/evaluator-runner.js.map +1 -1
  71. package/core/dist/runtime-v2/internalization/internalization-orchestrator.d.ts +7 -0
  72. package/core/dist/runtime-v2/internalization/internalization-orchestrator.d.ts.map +1 -1
  73. package/core/dist/runtime-v2/internalization/internalization-orchestrator.js +43 -1
  74. package/core/dist/runtime-v2/internalization/internalization-orchestrator.js.map +1 -1
  75. package/core/dist/runtime-v2/internalization/internalization-transition-decision.d.ts +9 -1
  76. package/core/dist/runtime-v2/internalization/internalization-transition-decision.d.ts.map +1 -1
  77. package/core/dist/runtime-v2/internalization/internalization-transition-decision.js +7 -2
  78. package/core/dist/runtime-v2/internalization/internalization-transition-decision.js.map +1 -1
  79. package/core/dist/runtime-v2/internalization/pitask-metadata.d.ts +8 -0
  80. package/core/dist/runtime-v2/internalization/pitask-metadata.d.ts.map +1 -1
  81. package/core/dist/runtime-v2/internalization/pitask-metadata.js.map +1 -1
  82. package/core/dist/runtime-v2/pain-signal-observability.d.ts +13 -0
  83. package/core/dist/runtime-v2/pain-signal-observability.d.ts.map +1 -1
  84. package/core/dist/runtime-v2/pain-signal-observability.js +17 -0
  85. package/core/dist/runtime-v2/pain-signal-observability.js.map +1 -1
  86. package/core/dist/runtime-v2/runner/__tests__/base-peer-runner-rate-limit-degradation.test.js +0 -1
  87. package/core/dist/runtime-v2/runner/__tests__/base-peer-runner-rate-limit-degradation.test.js.map +1 -1
  88. package/core/dist/runtime-v2/types/event-types.d.ts +9 -0
  89. package/core/dist/runtime-v2/types/event-types.d.ts.map +1 -1
  90. package/core/dist/runtime-v2/types/event-types.js +3 -0
  91. package/core/dist/runtime-v2/types/event-types.js.map +1 -1
  92. package/core/package.json +1 -1
  93. package/host-runtime/dist/index.d.ts +10 -1
  94. package/host-runtime/dist/index.js +39 -2
  95. package/host-runtime/dist/internalization-consumer-cycle.js +30 -2
  96. package/host-runtime/dist/pd-config.js +1 -1
  97. package/host-runtime/dist/production-pain-evidence.d.ts +2 -1
  98. package/host-runtime/dist/production-pain-evidence.js +34 -7
  99. package/host-runtime/package.json +1 -1
  100. package/package.json +2 -2
  101. package/pd-cli/dist/services/pd-config-loader.d.ts.map +1 -1
  102. package/pd-cli/dist/services/pd-config-loader.js +1 -0
  103. package/pd-cli/dist/services/pd-config-loader.js.map +1 -1
  104. package/plugin/dist/bundle.js +593 -580
  105. package/plugin/dist/governance-audit.js +116 -116
  106. package/plugin/dist/rulehost-evidence.js +133 -133
  107. package/plugin/dist/types.d.ts +1 -1
  108. package/plugin/openclaw.plugin.json +1 -1
  109. package/plugin/package.json +2 -2
  110. package/release-manager/package.json +2 -2
@@ -1,4 +1,4 @@
1
- import { type HostEvent, type HostEventResult } from '@principles/core/host';
1
+ import { type HostEvent, type HostEventResult, type HostEventEmitter } from '@principles/core/host';
2
2
  import { buildActivePrinciplePromptContext } from './active-principle-prompt.js';
3
3
  import { type RuleContextProvider, type RuleInputEnrichmentProvider } from './production-rulehost-gate.js';
4
4
  import type { RuleImplementationRuntime } from './rule-implementation-runtime.js';
@@ -67,4 +67,13 @@ export declare function createProductionHostRuntime(options?: Partial<Pick<HostR
67
67
  hostKind?: GovernanceHostKind;
68
68
  /** PRI-634-F: host-declared tool semantics supplied by the constructing host adapter. */
69
69
  toolSemantics?: ToolSemanticRegistry;
70
+ /**
71
+ * PRI-750: optional event emission port. When present, the shared-path
72
+ * handlers record injection/tool events carrying the host's natural
73
+ * turn/tool ids (turnId/toolCallId) in the same events_*.jsonl format as
74
+ * the OpenClaw path (whose events additionally bind to
75
+ * assistant_turns.run_id). Only the Codex host adapter wires this; the
76
+ * OpenClaw plugin path owns its own emission.
77
+ */
78
+ events?: HostEventEmitter;
70
79
  }): HostRuntime;
@@ -1,4 +1,5 @@
1
1
  import { isHostEvent, isHostEventResult, } from '@principles/core/host';
2
+ import { RUNTIME_V2_PRINCIPLE_BUDGET } from '@principles/core/runtime-v2';
2
3
  import { buildActivePrinciplePromptContext } from './active-principle-prompt.js';
3
4
  import { createProductionRuleHostGate } from './production-rulehost-gate.js';
4
5
  import { createProductionPainEvidenceHandler } from './production-pain-evidence.js';
@@ -171,6 +172,7 @@ export function createProductionHostRuntime(options = {}) {
171
172
  ...(options.painEnrichmentProvider ? { painEnrichmentProvider: options.painEnrichmentProvider } : {}),
172
173
  ...(options.painDatabaseFactory ? { painDatabaseFactory: options.painDatabaseFactory } : {}),
173
174
  ...(options.hostKind ? { hostKind: options.hostKind } : {}),
175
+ ...(options.events ? { events: options.events } : {}),
174
176
  }),
175
177
  beforeToolCall: options.beforeToolCall ?? productionGate,
176
178
  async beforePromptBuild(event) {
@@ -178,12 +180,47 @@ export function createProductionHostRuntime(options = {}) {
178
180
  workspaceDir: event.context.workspaceDir,
179
181
  excludePrincipleIds: options.promptExcludePrincipleIds?.(event),
180
182
  });
181
- if (options.beforePromptBuild)
182
- return options.beforePromptBuild(event, prompt);
183
+ // PRI-750: record the injection event on the shared path with the host
184
+ // turn id (Codex turn_id → runId) so receipt events carry a turn-level
185
+ // anchor in the same events_*.jsonl format as the OpenClaw path. The
186
+ // OpenClaw plugin additionally persists these to assistant_turns.run_id;
187
+ // the Codex DB-side anchor is a follow-up. Optional port — absent means
188
+ // no-op (the OpenClaw plugin path emits this event itself). Emission
189
+ // failure must not block the prompt result — it degrades to an
190
+ // observable warning (rc-9).
191
+ const emissionWarnings = [];
192
+ try {
193
+ options.events?.recordRuntimeV2ActivationsInjected({
194
+ sessionId: event.context.sessionId,
195
+ workspaceDir: event.context.workspaceDir,
196
+ principleIds: prompt.principleIds,
197
+ activationIds: prompt.activationIds,
198
+ artifactIds: prompt.artifactIds,
199
+ injectedCount: prompt.principleIds.length,
200
+ skippedWarnings: prompt.warnings,
201
+ injectedCharCount: prompt.additionalContext.length,
202
+ budget: RUNTIME_V2_PRINCIPLE_BUDGET,
203
+ ...(prompt.truncated !== undefined ? { v2Truncated: prompt.truncated } : {}),
204
+ ...(event.context.turnId !== undefined ? { runId: event.context.turnId } : {}),
205
+ });
206
+ }
207
+ catch (err) {
208
+ emissionWarnings.push(`receipt_event_write_failed:${err instanceof Error ? err.message.slice(0, 200) : String(err).slice(0, 200)}`);
209
+ }
210
+ // PRI-750 review: a custom beforePromptBuild must not swallow the
211
+ // receipt-emission warnings captured above (rc-9) — merge them into the
212
+ // handler result instead of replacing the result wholesale.
213
+ if (options.beforePromptBuild) {
214
+ const custom = await options.beforePromptBuild(event, prompt);
215
+ if (emissionWarnings.length === 0)
216
+ return custom;
217
+ return { ...custom, warnings: [...(custom.warnings ?? []), ...emissionWarnings] };
218
+ }
183
219
  return {
184
220
  decision: prompt.additionalContext.length > 0 ? 'modify' : 'allow',
185
221
  source: event.source,
186
222
  ...(prompt.additionalContext.length > 0 ? { additionalContext: prompt.additionalContext } : {}),
223
+ ...(emissionWarnings.length > 0 ? { warnings: emissionWarnings } : {}),
187
224
  };
188
225
  },
189
226
  });
@@ -21,7 +21,7 @@
21
21
  * env getter. Everything else is the existing production path.
22
22
  */
23
23
  import { createHash } from 'node:crypto';
24
- import { createRuntimeStateHandle, InternalizationOrchestrator, DreamerRunner, PhilosopherRunner, ScribeRunner, ArtificerRunner, buildArtificerHostSemanticContext, EvaluatorRunner, RolloutReviewerRunner, DefaultDreamerValidator, DefaultPhilosopherValidator, DefaultScribeValidator, DefaultArtificerValidator, DefaultEvaluatorValidator, DefaultRolloutReviewerValidator, PiAiRuntimeAdapter, L2AgentLoopAdapter, buildL2PrincipleReaderFromLedger, OpenClawCliRuntimeAdapter, storeEmitter, createProductionGateDeps, resolveRuntimeConfigFromPdConfig, resolveRuntimeConfigForAgent, AGENT_NAME_FOR_TASK_KIND, isRuntimeConfigError, computeConsumerDecision, FULL_CHAIN_CONSUMER_RUNNER_KINDS, DEFAULT_CONSUMER_RUNNER_KINDS, InternalizationQueueReadModel, MVP_CORE_TASK_KINDS, SqliteConnection, SqliteReconciliationCursorStore, SUCCEEDED_TRANSITIONS_SCOPE,
24
+ import { createRuntimeStateHandle, InternalizationOrchestrator, DreamerRunner, PhilosopherRunner, ScribeRunner, ArtificerRunner, buildArtificerHostSemanticContext, EvaluatorRunner, RolloutReviewerRunner, DefaultDreamerValidator, DefaultPhilosopherValidator, DefaultScribeValidator, DefaultArtificerValidator, DefaultEvaluatorValidator, DefaultRolloutReviewerValidator, PiAiRuntimeAdapter, L2AgentLoopAdapter, ArtificerL2Adapter, buildL2PrincipleReaderFromLedger, OpenClawCliRuntimeAdapter, storeEmitter, createProductionGateDeps, resolveRuntimeConfigFromPdConfig, resolveRuntimeConfigForAgent, AGENT_NAME_FOR_TASK_KIND, isRuntimeConfigError, computeConsumerDecision, FULL_CHAIN_CONSUMER_RUNNER_KINDS, DEFAULT_CONSUMER_RUNNER_KINDS, InternalizationQueueReadModel, MVP_CORE_TASK_KINDS, SqliteConnection, SqliteReconciliationCursorStore, SUCCEEDED_TRANSITIONS_SCOPE,
25
25
  // PRI-714: resolve outputLanguage from the same effective config the
26
26
  // runners already receive (EP-07: canonical resolved value, not raw input).
27
27
  resolveOutputLanguage, } from '@principles/core/runtime-v2';
@@ -316,7 +316,35 @@ export async function runInternalizationConsumerCycle(workspaceDir, ports) {
316
316
  // PRI-419: when l2_dreamer flag is on AND this is a dreamer task, route
317
317
  // through the L2 multi-turn agent loop. Non-dreamer runners always use PiAi.
318
318
  const l2Flag = loadFeatureFlagFromConfig(workspaceDir, 'l2_dreamer');
319
- if (l2Flag.enabled && wakeResult.taskKind === 'dreamer') {
319
+ // PRI-758: code_rule Artificer tasks on code_tool_hook channel route
320
+ // through the L2 multi-turn agent loop (write→validate→replay→submit_rulecode)
321
+ // so the model can self-iterate before submitting. Honors the
322
+ // code_rule_capability emergency-disable flag (PR #1661 CodeRabbit P1).
323
+ const codeRuleFlag = loadFeatureFlagFromConfig(workspaceDir, 'code_rule_capability');
324
+ if (wakeResult.taskKind === 'artificer'
325
+ && taskRuntimeKind === 'pi-ai'
326
+ && codeRuleFlag.enabled) {
327
+ adapter = new ArtificerL2Adapter({
328
+ // Profile readiness check guarantees these are non-undefined for
329
+ // pi-ai runtime kind (validatePdLocalProfile enforces provider/model/apiKeyEnv).
330
+ provider: taskRuntimeConfig.provider ?? '',
331
+ model: taskRuntimeConfig.model ?? '',
332
+ apiKeyEnv: taskRuntimeConfig.apiKeyEnv ?? '',
333
+ baseUrl: taskRuntimeConfig.baseUrl,
334
+ // PRI-758 CodeRabbit P1: pass toolSemantics + projectDir so the L2
335
+ // replay uses production-identical gate context (not baseline).
336
+ gateDeps: createProductionGateDeps({
337
+ toolSemantics: ports.toolSemantics,
338
+ projectDir: workspaceDir,
339
+ }),
340
+ validator: new DefaultArtificerValidator(),
341
+ totalBudgetMs: taskRuntimeConfig.timeoutMs,
342
+ // PRI-758 CodeRabbit P2: forward maxTokens + systemPrompt from profile.
343
+ ...(taskRuntimeConfig.maxTokens !== undefined ? { maxTokens: taskRuntimeConfig.maxTokens } : {}),
344
+ ...(taskRuntimeConfig.systemPrompt ? { systemPrompt: taskRuntimeConfig.systemPrompt } : {}),
345
+ });
346
+ }
347
+ else if (l2Flag.enabled && wakeResult.taskKind === 'dreamer') {
320
348
  const stateDir = `${workspaceDir}/.state`;
321
349
  const principleReader = buildL2PrincipleReaderFromLedger(loadLedger(stateDir), {
322
350
  logger: { warn: (msg) => logger.warn(msg) },
@@ -86,7 +86,7 @@ export function loadPdConfigForPlugin(workspaceDir) {
86
86
  };
87
87
  }
88
88
  const effective = computeEffectivePdConfig(validation.value);
89
- return { ok: true, effective, source: 'user_config', configPath, warnings: effective.warnings, errors: [] };
89
+ return { ok: true, effective, source: 'user_config', configPath, warnings: [...effective.warnings, ...validation.warnings], errors: [] };
90
90
  }
91
91
  export function loadFeatureFlagFromConfig(workspaceDir, flagId, logger) {
92
92
  const result = loadPdConfigForPlugin(workspaceDir);
@@ -1,6 +1,6 @@
1
1
  import Database from 'better-sqlite3';
2
2
  import type { GovernanceHostKind } from '@principles/core/runtime-v2';
3
- import type { HostEvent, HostEventResult } from '@principles/core/host';
3
+ import type { HostEvent, HostEventEmitter, HostEventResult } from '@principles/core/host';
4
4
  /** Shared with the governance admission path so both gate tool failures identically. */
5
5
  export declare const PRODUCTION_WRITE_TOOLS: ReadonlySet<string>;
6
6
  export interface PainEvidenceEntry {
@@ -85,6 +85,7 @@ export declare function createProductionPainEvidenceHandler(options?: {
85
85
  painEnrichmentProvider?: PainEnrichmentProvider;
86
86
  painDatabaseFactory?: PainDatabaseFactory;
87
87
  hostKind?: GovernanceHostKind;
88
+ events?: HostEventEmitter;
88
89
  }): (event: HostEvent) => Promise<HostEventResult>;
89
90
  export declare function resetProductionPainCooldownForTest(): void;
90
91
  export declare function productionPainCooldownEntryCountForTest(): number;
@@ -234,9 +234,31 @@ function hasCanonicalSchema(db) {
234
234
  */
235
235
  export function createProductionPainEvidenceHandler(options = {}) {
236
236
  return async (event) => {
237
+ // PRI-750: shared-path tool event with the host's natural turn/tool ids
238
+ // (Codex turn_id → runId, tool_use_id → toolCallId) so receipt events
239
+ // carry a turn-level anchor in the same events_*.jsonl format as the
240
+ // OpenClaw path. Emitted BEFORE the trajectory-db availability gate so
241
+ // the receipt chain stays observable even when the trajectory store is
242
+ // unavailable. Emission failure must not block the tool result — it
243
+ // degrades to an observable warning (rc-9). Optional port: absent means
244
+ // no-op (the OpenClaw plugin path emits its own tool events).
245
+ let emissionWarning;
246
+ try {
247
+ const earlyOutcome = normalizeOutcome(event);
248
+ options.events?.recordToolCall(event.context.sessionId, {
249
+ toolName: event.context.toolName ?? '',
250
+ ...(earlyOutcome.error ? { error: earlyOutcome.error } : {}),
251
+ ...(earlyOutcome.exitCode !== 0 ? { exitCode: earlyOutcome.exitCode } : {}),
252
+ ...(event.context.turnId !== undefined ? { runId: event.context.turnId } : {}),
253
+ ...(event.context.toolCallId !== undefined ? { toolCallId: event.context.toolCallId } : {}),
254
+ });
255
+ }
256
+ catch (err) {
257
+ emissionWarning = `receipt_event_write_failed:${err instanceof Error ? err.message.slice(0, 200) : String(err).slice(0, 200)}`;
258
+ }
237
259
  const dbPath = path.join(event.context.workspaceDir, '.state', 'trajectory.db');
238
260
  if (!fs.existsSync(dbPath)) {
239
- return { decision: 'observe', source: event.source, warnings: ['trajectory_db_not_found'], metadata: { outcome: 'unavailable', admitted: false, duplicate: false, nextAction: 'initialize the selected PD workspace before retrying the hook' } };
261
+ return { decision: 'observe', source: event.source, warnings: [...(emissionWarning ? [emissionWarning] : []), 'trajectory_db_not_found'], metadata: { outcome: 'unavailable', admitted: false, duplicate: false, nextAction: 'initialize the selected PD workspace before retrying the hook' } };
240
262
  }
241
263
  let db;
242
264
  try {
@@ -245,7 +267,7 @@ export function createProductionPainEvidenceHandler(options = {}) {
245
267
  if (!hasCanonicalSchema(db)) {
246
268
  db.close();
247
269
  db = undefined;
248
- return { decision: 'observe', source: event.source, warnings: ['trajectory_schema_invalid'], metadata: { outcome: 'unavailable', admitted: false, duplicate: false, nextAction: 'run the supported PD workspace migration' } };
270
+ return { decision: 'observe', source: event.source, warnings: [...(emissionWarning ? [emissionWarning] : []), 'trajectory_schema_invalid'], metadata: { outcome: 'unavailable', admitted: false, duplicate: false, nextAction: 'run the supported PD workspace migration' } };
249
271
  }
250
272
  }
251
273
  catch (error) {
@@ -253,7 +275,7 @@ export function createProductionPainEvidenceHandler(options = {}) {
253
275
  db?.close();
254
276
  }
255
277
  catch { /* best-effort cleanup of an unusable handle */ }
256
- return { decision: 'observe', source: event.source, warnings: [`trajectory_database_unavailable:${error instanceof Error ? error.message.slice(0, 200) : String(error).slice(0, 200)}`], metadata: { outcome: 'unavailable', admitted: false, duplicate: false, nextAction: 'inspect or repair the selected PD trajectory database' } };
278
+ return { decision: 'observe', source: event.source, warnings: [...(emissionWarning ? [emissionWarning] : []), `trajectory_database_unavailable:${error instanceof Error ? error.message.slice(0, 200) : String(error).slice(0, 200)}`], metadata: { outcome: 'unavailable', admitted: false, duplicate: false, nextAction: 'inspect or repair the selected PD trajectory database' } };
257
279
  }
258
280
  const warnings = [];
259
281
  let enrichment;
@@ -269,7 +291,7 @@ export function createProductionPainEvidenceHandler(options = {}) {
269
291
  db.close();
270
292
  }
271
293
  catch { /* no business write occurred */ }
272
- return { decision: 'observe', source: event.source, warnings: warnings.length > 0 ? warnings : ['pain_enrichment_invalid'], metadata: { outcome: 'unavailable', admitted: false, duplicate: false, nextAction: 'inspect host pain enrichment input' } };
294
+ return { decision: 'observe', source: event.source, warnings: [...(emissionWarning ? [emissionWarning] : []), ...(warnings.length > 0 ? warnings : ['pain_enrichment_invalid'])], metadata: { outcome: 'unavailable', admitted: false, duplicate: false, nextAction: 'inspect host pain enrichment input' } };
273
295
  }
274
296
  const outcome = normalizeOutcome(event);
275
297
  const sanitizedParams = sanitizeToolParams(outcome.params, event.context.workspaceDir);
@@ -342,7 +364,7 @@ export function createProductionPainEvidenceHandler(options = {}) {
342
364
  }
343
365
  }
344
366
  catch (error) {
345
- return { decision: 'observe', source: event.source, warnings: [`trajectory_write_failed:${error instanceof Error ? error.message.slice(0, 200) : String(error).slice(0, 200)}`], metadata: { outcome: outcome.failure ? 'failure' : 'success', admitted: false, duplicate: false, nextAction: 'inspect the workspace trajectory database and retry' } };
367
+ return { decision: 'observe', source: event.source, warnings: [...(emissionWarning ? [emissionWarning] : []), `trajectory_write_failed:${error instanceof Error ? error.message.slice(0, 200) : String(error).slice(0, 200)}`], metadata: { outcome: outcome.failure ? 'failure' : 'success', admitted: false, duplicate: false, nextAction: 'inspect the workspace trajectory database and retry' } };
346
368
  }
347
369
  finally {
348
370
  try {
@@ -351,12 +373,17 @@ export function createProductionPainEvidenceHandler(options = {}) {
351
373
  catch { /* write result already determined; cleanup is best-effort */ }
352
374
  }
353
375
  const effectiveAdmitted = admitted || duplicateAdmitted;
354
- return { decision: 'observe', source: event.source, metadata: {
376
+ return {
377
+ decision: 'observe',
378
+ source: event.source,
379
+ ...(emissionWarning ? { warnings: [emissionWarning] } : {}),
380
+ metadata: {
355
381
  eventId, painId: effectiveAdmitted ? painId : null, outcome: outcome.failure ? 'failure' : 'success', admitted: effectiveAdmitted, duplicate,
356
382
  sourceKind, failureSource: sourceObservation.failureSource ?? null, triggerOutcome: trigger.outcome,
357
383
  triggerReason: trigger.reason, painScore, isRisky, relativePath, agentId: enrichment.agentId ?? null,
358
384
  evidence: enrichment.evidence ?? [],
359
- } };
385
+ }
386
+ };
360
387
  };
361
388
  }
362
389
  export function resetProductionPainCooldownForTest() {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@principles/host-runtime",
3
- "version": "0.5.0",
3
+ "version": "0.7.0",
4
4
  "description": "Shared host-neutral orchestration for Principles Disciple MVP-Core hook paths.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-principles-disciple",
3
- "version": "1.140.0",
3
+ "version": "1.141.0",
4
4
  "description": "Interactive CLI installer for Principles Disciple OpenClaw plugin",
5
5
  "type": "module",
6
6
  "bin": {
@@ -74,6 +74,6 @@
74
74
  "directory": "packages/create-principles-disciple"
75
75
  },
76
76
  "pd": {
77
- "bundledPluginVersion": "1.239.0"
77
+ "bundledPluginVersion": "1.240.0"
78
78
  }
79
79
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pd-config-loader.d.ts","sourceRoot":"","sources":["../../src/services/pd-config-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAaH,OAAO,KAAK,EACV,iBAAiB,EAEjB,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,6BAA6B,CAAC;AAIrC,eAAO,MAAM,aAAa,QAAQ,CAAC;AACnC,eAAO,MAAM,kBAAkB,gBAAgB,CAAC;AAIhD,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,aAAa,GAAG,WAAW,CAAC;AAEpE,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,IAAI,CAAC;IACT,SAAS,EAAE,iBAAiB,CAAC;IAC7B,MAAM,EAAE,YAAY,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,oCAAoC;IACpC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,+EAA+E;IAC/E,qBAAqB,EAAE,MAAM,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,KAAK,CAAC;IACV,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/D,4CAA4C;IAC5C,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,sCAAsC;IACtC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,+EAA+E;IAC/E,qBAAqB,EAAE,MAAM,EAAE,CAAC;CACjC;AAED,MAAM,MAAM,kBAAkB,GAAG,oBAAoB,GAAG,qBAAqB,CAAC;AAI9E,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAE5D;AA2BD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,kBAAkB,CAoGrE;AAID;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,kBAAkB,GAAG,kBAAkB,CAGzF;AAID;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,kBAAkB,GAAG,uBAAuB,CAGpF;AAID,+DAA+D;AAC/D,MAAM,WAAW,wBAAwB;IACvC,4CAA4C;IAC5C,gBAAgB,EAAE,MAAM,CAAC;IACzB,+DAA+D;IAC/D,UAAU,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,MAAM,EAAE,SAAS,GAAG,kBAAkB,GAAG,wBAAwB,CAAC;CACnE;AAsGD;;;;;GAKG;AACH,wBAAgB,wBAAwB,IAAI,wBAAwB,GAAG,IAAI,CAyC1E"}
1
+ {"version":3,"file":"pd-config-loader.d.ts","sourceRoot":"","sources":["../../src/services/pd-config-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAaH,OAAO,KAAK,EACV,iBAAiB,EAEjB,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,6BAA6B,CAAC;AAIrC,eAAO,MAAM,aAAa,QAAQ,CAAC;AACnC,eAAO,MAAM,kBAAkB,gBAAgB,CAAC;AAIhD,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,aAAa,GAAG,WAAW,CAAC;AAEpE,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,IAAI,CAAC;IACT,SAAS,EAAE,iBAAiB,CAAC;IAC7B,MAAM,EAAE,YAAY,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,oCAAoC;IACpC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,+EAA+E;IAC/E,qBAAqB,EAAE,MAAM,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,KAAK,CAAC;IACV,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/D,4CAA4C;IAC5C,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,sCAAsC;IACtC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,+EAA+E;IAC/E,qBAAqB,EAAE,MAAM,EAAE,CAAC;CACjC;AAED,MAAM,MAAM,kBAAkB,GAAG,oBAAoB,GAAG,qBAAqB,CAAC;AAI9E,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAE5D;AA2BD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,kBAAkB,CAqGrE;AAID;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,kBAAkB,GAAG,kBAAkB,CAGzF;AAID;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,kBAAkB,GAAG,uBAAuB,CAGpF;AAID,+DAA+D;AAC/D,MAAM,WAAW,wBAAwB;IACvC,4CAA4C;IAC5C,gBAAgB,EAAE,MAAM,CAAC;IACzB,+DAA+D;IAC/D,UAAU,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,MAAM,EAAE,SAAS,GAAG,kBAAkB,GAAG,wBAAwB,CAAC;CACnE;AAsGD;;;;;GAKG;AACH,wBAAgB,wBAAwB,IAAI,wBAAwB,GAAG,IAAI,CAyC1E"}
@@ -141,6 +141,7 @@ export function loadPdConfig(workspaceDir) {
141
141
  configPath,
142
142
  warnings: [
143
143
  ...effective.warnings,
144
+ ...validationResult.warnings,
144
145
  ...(legacyFilesDetected.length > 0
145
146
  ? [`Legacy config files detected (${legacyFilesDetected.length}): ${legacyFilesDetected.join(', ')}. PD now uses .pd/config.yaml.`]
146
147
  : []),
@@ -1 +1 @@
1
- {"version":3,"file":"pd-config-loader.js","sourceRoot":"","sources":["../../src/services/pd-config-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pd-config-loader.js","sourceRoot":"","sources":["../../src/services/pd-config-loader.ts"],"names":[],"mappings":"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"}