create-principles-disciple 1.112.3 → 1.113.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 (199) hide show
  1. package/console/dist/server/routes/update.js +43 -0
  2. package/core/dist/runtime-v2/__tests__/activation-compatibility-read-model.test.d.ts +2 -0
  3. package/core/dist/runtime-v2/__tests__/activation-compatibility-read-model.test.d.ts.map +1 -0
  4. package/core/dist/runtime-v2/__tests__/activation-compatibility-read-model.test.js +148 -0
  5. package/core/dist/runtime-v2/__tests__/activation-compatibility-read-model.test.js.map +1 -0
  6. package/core/dist/runtime-v2/__tests__/architecture-regression.test.js +6 -5
  7. package/core/dist/runtime-v2/__tests__/architecture-regression.test.js.map +1 -1
  8. package/core/dist/runtime-v2/__tests__/golden-trace.test.js +2 -2
  9. package/core/dist/runtime-v2/__tests__/golden-trace.test.js.map +1 -1
  10. package/core/dist/runtime-v2/__tests__/internalization-contracts.test.js +4 -6
  11. package/core/dist/runtime-v2/__tests__/internalization-contracts.test.js.map +1 -1
  12. package/core/dist/runtime-v2/__tests__/rule-host-evaluator.test.js +4 -4
  13. package/core/dist/runtime-v2/__tests__/rule-host-evaluator.test.js.map +1 -1
  14. package/core/dist/runtime-v2/__tests__/story-a-demo.test.js +8 -8
  15. package/core/dist/runtime-v2/__tests__/story-a-demo.test.js.map +1 -1
  16. package/core/dist/runtime-v2/activation/writers/__tests__/rule-host-writer.test.js +31 -0
  17. package/core/dist/runtime-v2/activation/writers/__tests__/rule-host-writer.test.js.map +1 -1
  18. package/core/dist/runtime-v2/activation-compatibility-read-model.d.ts +24 -0
  19. package/core/dist/runtime-v2/activation-compatibility-read-model.d.ts.map +1 -0
  20. package/core/dist/runtime-v2/activation-compatibility-read-model.js +132 -0
  21. package/core/dist/runtime-v2/activation-compatibility-read-model.js.map +1 -0
  22. package/core/dist/runtime-v2/config/__tests__/pd-validate-profile-legacy-keys.test.d.ts +13 -0
  23. package/core/dist/runtime-v2/config/__tests__/pd-validate-profile-legacy-keys.test.d.ts.map +1 -0
  24. package/core/dist/runtime-v2/config/__tests__/pd-validate-profile-legacy-keys.test.js +73 -0
  25. package/core/dist/runtime-v2/config/__tests__/pd-validate-profile-legacy-keys.test.js.map +1 -0
  26. package/core/dist/runtime-v2/config/pd-config-types.d.ts +0 -23
  27. package/core/dist/runtime-v2/config/pd-config-types.d.ts.map +1 -1
  28. package/core/dist/runtime-v2/config/pd-config-types.js.map +1 -1
  29. package/core/dist/runtime-v2/config/pd-profile-constants.d.ts +11 -5
  30. package/core/dist/runtime-v2/config/pd-profile-constants.d.ts.map +1 -1
  31. package/core/dist/runtime-v2/config/pd-profile-constants.js +10 -45
  32. package/core/dist/runtime-v2/config/pd-profile-constants.js.map +1 -1
  33. package/core/dist/runtime-v2/config/pd-validate-profile.d.ts.map +1 -1
  34. package/core/dist/runtime-v2/config/pd-validate-profile.js +27 -135
  35. package/core/dist/runtime-v2/config/pd-validate-profile.js.map +1 -1
  36. package/core/dist/runtime-v2/core-principles/core-principle-registry.d.ts +4 -4
  37. package/core/dist/runtime-v2/core-principles/core-principle-registry.d.ts.map +1 -1
  38. package/core/dist/runtime-v2/core-principles/core-principle-registry.js +2 -2
  39. package/core/dist/runtime-v2/golden-trace-replay-validator.d.ts.map +1 -1
  40. package/core/dist/runtime-v2/golden-trace-replay-validator.js +0 -2
  41. package/core/dist/runtime-v2/golden-trace-replay-validator.js.map +1 -1
  42. package/core/dist/runtime-v2/golden-trace.d.ts.map +1 -1
  43. package/core/dist/runtime-v2/golden-trace.js +0 -3
  44. package/core/dist/runtime-v2/golden-trace.js.map +1 -1
  45. package/core/dist/runtime-v2/index.d.ts +7 -5
  46. package/core/dist/runtime-v2/index.d.ts.map +1 -1
  47. package/core/dist/runtime-v2/index.js +6 -5
  48. package/core/dist/runtime-v2/index.js.map +1 -1
  49. package/core/dist/runtime-v2/internalization/__tests__/external-review-p0-regressions.test.js +2 -2
  50. package/core/dist/runtime-v2/internalization/__tests__/external-review-p0-regressions.test.js.map +1 -1
  51. package/core/dist/runtime-v2/internalization/__tests__/internalization-transition-decision.test.js.map +1 -1
  52. package/core/dist/runtime-v2/internalization/__tests__/legacy-rule-contract-scanner.test.d.ts +2 -0
  53. package/core/dist/runtime-v2/internalization/__tests__/legacy-rule-contract-scanner.test.d.ts.map +1 -0
  54. package/core/dist/runtime-v2/internalization/__tests__/legacy-rule-contract-scanner.test.js +101 -0
  55. package/core/dist/runtime-v2/internalization/__tests__/legacy-rule-contract-scanner.test.js.map +1 -0
  56. package/core/dist/runtime-v2/internalization/__tests__/mvp-core-loop-journeys.test.js +28 -28
  57. package/core/dist/runtime-v2/internalization/__tests__/mvp-core-loop-journeys.test.js.map +1 -1
  58. package/core/dist/runtime-v2/internalization/index.d.ts +2 -0
  59. package/core/dist/runtime-v2/internalization/index.d.ts.map +1 -1
  60. package/core/dist/runtime-v2/internalization/index.js +1 -0
  61. package/core/dist/runtime-v2/internalization/index.js.map +1 -1
  62. package/core/dist/runtime-v2/internalization/legacy-rule-contract-scanner.d.ts +51 -0
  63. package/core/dist/runtime-v2/internalization/legacy-rule-contract-scanner.d.ts.map +1 -0
  64. package/core/dist/runtime-v2/internalization/legacy-rule-contract-scanner.js +81 -0
  65. package/core/dist/runtime-v2/internalization/legacy-rule-contract-scanner.js.map +1 -0
  66. package/core/dist/runtime-v2/internalization/refiner-sandbox-wrapper.d.ts.map +1 -1
  67. package/core/dist/runtime-v2/internalization/refiner-sandbox-wrapper.js +0 -2
  68. package/core/dist/runtime-v2/internalization/refiner-sandbox-wrapper.js.map +1 -1
  69. package/core/dist/runtime-v2/internalization/rule-host-contracts.d.ts +0 -3
  70. package/core/dist/runtime-v2/internalization/rule-host-contracts.d.ts.map +1 -1
  71. package/core/dist/runtime-v2/internalization/rule-host-helpers.d.ts +4 -2
  72. package/core/dist/runtime-v2/internalization/rule-host-helpers.d.ts.map +1 -1
  73. package/core/dist/runtime-v2/internalization/rule-host-helpers.js +4 -2
  74. package/core/dist/runtime-v2/internalization/rule-host-helpers.js.map +1 -1
  75. package/core/dist/runtime-v2/pain-signal-observability.js +3 -3
  76. package/core/dist/runtime-v2/pain-signal-observability.js.map +1 -1
  77. package/core/dist/runtime-v2/story-a-demo.d.ts.map +1 -1
  78. package/core/dist/runtime-v2/story-a-demo.js +2 -0
  79. package/core/dist/runtime-v2/story-a-demo.js.map +1 -1
  80. package/core/dist/runtime-v2/tools/artificer-l2-tool-contract.d.ts.map +1 -1
  81. package/core/dist/runtime-v2/tools/artificer-l2-tool-contract.js +0 -4
  82. package/core/dist/runtime-v2/tools/artificer-l2-tool-contract.js.map +1 -1
  83. package/core/dist/runtime-v2/types/event-payload.d.ts +1 -20
  84. package/core/dist/runtime-v2/types/event-payload.d.ts.map +1 -1
  85. package/core/dist/runtime-v2/types/event-payload.js +0 -12
  86. package/core/dist/runtime-v2/types/event-payload.js.map +1 -1
  87. package/core/dist/runtime-v2/types/event-types.d.ts +3 -18
  88. package/core/dist/runtime-v2/types/event-types.d.ts.map +1 -1
  89. package/core/dist/runtime-v2/types/event-types.js +0 -8
  90. package/core/dist/runtime-v2/types/event-types.js.map +1 -1
  91. package/core/dist/runtime-v2/types/index.d.ts +3 -3
  92. package/core/dist/runtime-v2/types/index.d.ts.map +1 -1
  93. package/core/dist/runtime-v2/types/index.js +2 -2
  94. package/core/dist/runtime-v2/types/index.js.map +1 -1
  95. package/dist/installer.d.ts +49 -0
  96. package/dist/installer.d.ts.map +1 -1
  97. package/dist/installer.js +215 -3
  98. package/dist/installer.js.map +1 -1
  99. package/host-runtime/dist/legacy-rule-contract-symbols.d.ts +20 -0
  100. package/host-runtime/dist/legacy-rule-contract-symbols.js +37 -0
  101. package/host-runtime/dist/production-rulehost-gate.d.ts +0 -1
  102. package/host-runtime/dist/production-rulehost-gate.js +29 -5
  103. package/host-runtime/dist/rule-implementation-runtime.js +0 -2
  104. package/package.json +2 -2
  105. package/pd-cli/dist/commands/demo-story-a.d.ts +2 -0
  106. package/pd-cli/dist/commands/demo-story-a.d.ts.map +1 -1
  107. package/pd-cli/dist/commands/demo-story-a.js +41 -0
  108. package/pd-cli/dist/commands/demo-story-a.js.map +1 -1
  109. package/pd-cli/dist/commands/runtime-compatibility-scan.d.ts +32 -0
  110. package/pd-cli/dist/commands/runtime-compatibility-scan.d.ts.map +1 -0
  111. package/pd-cli/dist/commands/runtime-compatibility-scan.js +94 -0
  112. package/pd-cli/dist/commands/runtime-compatibility-scan.js.map +1 -0
  113. package/pd-cli/dist/index.js +4 -0
  114. package/pd-cli/dist/index.js.map +1 -1
  115. package/plugin/dist/bundle.js +537 -758
  116. package/plugin/dist/core/event-log.d.ts +1 -2
  117. package/plugin/dist/core/paths.d.ts +0 -2
  118. package/plugin/dist/core/profile.d.ts +0 -19
  119. package/plugin/dist/core/rule-host.d.ts +19 -0
  120. package/plugin/dist/core/session-tracker.d.ts +0 -13
  121. package/plugin/dist/core/thinking-os-parser.d.ts +0 -5
  122. package/plugin/dist/core/trajectory-types.d.ts +0 -1
  123. package/plugin/dist/core/trajectory.d.ts +0 -12
  124. package/plugin/dist/hooks/gate.d.ts +0 -1
  125. package/plugin/dist/templates/langs/en/skills/pd-mentor/SKILL.md +3 -4
  126. package/plugin/dist/templates/langs/zh/skills/pd-mentor/SKILL.md +3 -4
  127. package/plugin/dist/templates/workspace/.principles/PROFILE.json +0 -29
  128. package/plugin/dist/templates/workspace/.principles/PROFILE.schema.json +16 -25
  129. package/plugin/dist/templates/workspace/okr/CURRENT_FOCUS.md +0 -1
  130. package/plugin/dist/types/event-types.d.ts +1 -1
  131. package/plugin/openclaw.plugin.json +1 -1
  132. package/plugin/package.json +1 -1
  133. package/plugin/templates/langs/en/skills/pd-mentor/SKILL.md +3 -4
  134. package/plugin/templates/langs/zh/skills/pd-mentor/SKILL.md +3 -4
  135. package/plugin/templates/workspace/.principles/PROFILE.json +0 -29
  136. package/plugin/templates/workspace/.principles/PROFILE.schema.json +16 -25
  137. package/plugin/templates/workspace/okr/CURRENT_FOCUS.md +0 -1
  138. package/templates/workspace/okr/CURRENT_FOCUS.md +0 -1
  139. package/core/dist/runtime-v2/thinking-models/__tests__/thinking-models-policy.test.d.ts +0 -2
  140. package/core/dist/runtime-v2/thinking-models/__tests__/thinking-models-policy.test.d.ts.map +0 -1
  141. package/core/dist/runtime-v2/thinking-models/__tests__/thinking-models-policy.test.js +0 -149
  142. package/core/dist/runtime-v2/thinking-models/__tests__/thinking-models-policy.test.js.map +0 -1
  143. package/core/dist/runtime-v2/thinking-models/index.d.ts +0 -3
  144. package/core/dist/runtime-v2/thinking-models/index.d.ts.map +0 -1
  145. package/core/dist/runtime-v2/thinking-models/index.js +0 -3
  146. package/core/dist/runtime-v2/thinking-models/index.js.map +0 -1
  147. package/core/dist/runtime-v2/thinking-models/thinking-models-policy.d.ts +0 -73
  148. package/core/dist/runtime-v2/thinking-models/thinking-models-policy.d.ts.map +0 -1
  149. package/core/dist/runtime-v2/thinking-models/thinking-models-policy.js +0 -227
  150. package/core/dist/runtime-v2/thinking-models/thinking-models-policy.js.map +0 -1
  151. package/plugin/dist/commands/thinking-os.d.ts +0 -2
  152. package/plugin/dist/core/control-ui-db.d.ts +0 -117
  153. package/plugin/dist/core/thinking-models.d.ts +0 -25
  154. package/plugin/dist/templates/workspace/.principles/THINKING_OS_CANDIDATES.md +0 -9
  155. package/plugin/templates/workspace/.principles/THINKING_OS_CANDIDATES.md +0 -9
  156. package/templates/langs/en/skills/admin/SKILL.md +0 -39
  157. package/templates/langs/en/skills/bootstrap-tools/SKILL.md +0 -53
  158. package/templates/langs/en/skills/deductive-audit/SKILL.md +0 -36
  159. package/templates/langs/en/skills/evolution-framework-update/SKILL.md +0 -31
  160. package/templates/langs/en/skills/evolve-system/SKILL.md +0 -46
  161. package/templates/langs/en/skills/evolve-task/SKILL.md +0 -83
  162. package/templates/langs/en/skills/feedback/SKILL.md +0 -51
  163. package/templates/langs/en/skills/init-strategy/SKILL.md +0 -54
  164. package/templates/langs/en/skills/inject-rule/SKILL.md +0 -19
  165. package/templates/langs/en/skills/manage-okr/SKILL.md +0 -96
  166. package/templates/langs/en/skills/pain/SKILL.md +0 -19
  167. package/templates/langs/en/skills/pd-mentor/SKILL.md +0 -211
  168. package/templates/langs/en/skills/profile/SKILL.md +0 -24
  169. package/templates/langs/en/skills/reflection/SKILL.md +0 -40
  170. package/templates/langs/en/skills/reflection-log/SKILL.md +0 -37
  171. package/templates/langs/en/skills/report/SKILL.md +0 -13
  172. package/templates/langs/en/skills/root-cause/SKILL.md +0 -33
  173. package/templates/langs/en/skills/triage/SKILL.md +0 -29
  174. package/templates/langs/en/skills/watch-evolution/SKILL.md +0 -33
  175. package/templates/langs/zh/skills/admin/SKILL.md +0 -41
  176. package/templates/langs/zh/skills/bootstrap-tools/SKILL.md +0 -52
  177. package/templates/langs/zh/skills/deductive-audit/SKILL.md +0 -36
  178. package/templates/langs/zh/skills/evolution-framework-update/SKILL.md +0 -31
  179. package/templates/langs/zh/skills/evolve-system/SKILL.md +0 -46
  180. package/templates/langs/zh/skills/evolve-task/SKILL.md +0 -83
  181. package/templates/langs/zh/skills/feedback/SKILL.md +0 -53
  182. package/templates/langs/zh/skills/init-strategy/SKILL.md +0 -54
  183. package/templates/langs/zh/skills/inject-rule/SKILL.md +0 -19
  184. package/templates/langs/zh/skills/manage-okr/SKILL.md +0 -109
  185. package/templates/langs/zh/skills/pain/SKILL.md +0 -30
  186. package/templates/langs/zh/skills/pd-auditor/SKILL.md +0 -61
  187. package/templates/langs/zh/skills/pd-explorer/SKILL.md +0 -65
  188. package/templates/langs/zh/skills/pd-implementer/SKILL.md +0 -68
  189. package/templates/langs/zh/skills/pd-mentor/SKILL.md +0 -211
  190. package/templates/langs/zh/skills/pd-planner/SKILL.md +0 -65
  191. package/templates/langs/zh/skills/pd-reporter/SKILL.md +0 -78
  192. package/templates/langs/zh/skills/pd-reviewer/SKILL.md +0 -66
  193. package/templates/langs/zh/skills/profile/SKILL.md +0 -24
  194. package/templates/langs/zh/skills/reflection/SKILL.md +0 -40
  195. package/templates/langs/zh/skills/reflection-log/SKILL.md +0 -37
  196. package/templates/langs/zh/skills/report/SKILL.md +0 -13
  197. package/templates/langs/zh/skills/root-cause/SKILL.md +0 -33
  198. package/templates/langs/zh/skills/triage/SKILL.md +0 -29
  199. package/templates/langs/zh/skills/watch-evolution/SKILL.md +0 -33
package/dist/installer.js CHANGED
@@ -144,6 +144,7 @@ export function validateWorkspacePath(targetPath, workspaceDir) {
144
144
  }
145
145
  const INSTALL_STEPS = [
146
146
  { name: 'Checking built plugin', weight: 3 },
147
+ { name: 'Checking workspace rule compatibility', weight: 1 },
147
148
  { name: 'Backing up existing install', weight: 3 },
148
149
  { name: 'Installing bundled @principles/core', weight: 8 },
149
150
  { name: 'Installing bundled @principles/host-runtime', weight: 3 },
@@ -316,6 +317,185 @@ function buildGatewayRefusalResult(options, detail) {
316
317
  ...(detail.error !== undefined ? { error: detail.error } : {}),
317
318
  };
318
319
  }
320
+ /** Map a scanner refusal status into the preflight refusal contract (P1-3). */
321
+ function refuseForStatus(status, parsedReason, remediation) {
322
+ switch (status) {
323
+ case 'legacy_dependency':
324
+ return {
325
+ ok: false,
326
+ status: 'legacy_dependency',
327
+ reason: parsedReason ?? `legacy_rule_contract_dependency: ${status}`,
328
+ ...(remediation !== undefined ? { remediation } : {}),
329
+ };
330
+ case 'scan_failed':
331
+ return {
332
+ ok: false,
333
+ status: 'scan_failed',
334
+ reason: parsedReason ?? 'compatibility_scan_failed: workspace state could not be scanned',
335
+ ...(remediation !== undefined
336
+ ? { remediation }
337
+ : { remediation: 'Repair the workspace database or its permissions, then retry the upgrade. The current installation has not been replaced.' }),
338
+ };
339
+ case 'scan_unavailable':
340
+ return {
341
+ ok: false,
342
+ status: 'scan_unavailable',
343
+ reason: parsedReason ?? 'compatibility_scan_unavailable',
344
+ ...(remediation !== undefined
345
+ ? { remediation }
346
+ : { remediation: 'Re-download/rebuild the installer before upgrading. The current installation has not been replaced.' }),
347
+ };
348
+ }
349
+ }
350
+ /** Fail closed with the strict protocol-violation reason (P2, 2026-08-20). */
351
+ function protocolInvalid(detail) {
352
+ return {
353
+ ok: false,
354
+ status: 'scan_failed',
355
+ reason: `compatibility_scan_protocol_invalid: ${detail}`,
356
+ remediation: 'The compatibility scanner returned an unexpected result. Re-download/rebuild the installer before upgrading. The current installation has not been replaced.',
357
+ };
358
+ }
359
+ /**
360
+ * Strict (ok, status) protocol parse (P2, 2026-08-20).
361
+ *
362
+ * Boolean `ok` alone is NOT authoritative — the (ok, status) pair is the
363
+ * contract. Only ok=true + (clean|no_state_db) is a successful scan. Every
364
+ * other combination fails closed:
365
+ * - ok=true + refusal/success-impossible status → protocol invalid
366
+ * - ok=false + clean|no_state_db/unknown → protocol invalid
367
+ * - ok=false + legacy_dependency|scan_failed|scan_unavailable → refusal
368
+ * - non-boolean / missing ok → protocol invalid
369
+ * The payload is never trusted to self-describe a pass.
370
+ */
371
+ export function parseCompatibilityScanStdout(stdout) {
372
+ if (typeof stdout !== 'string' || stdout.trim().length === 0) {
373
+ return { ok: false, status: 'scan_failed', reason: 'compatibility_scan_unreadable: empty stdout' };
374
+ }
375
+ let parsed;
376
+ try {
377
+ parsed = JSON.parse(stdout);
378
+ }
379
+ catch {
380
+ return { ok: false, status: 'scan_failed', reason: 'compatibility_scan_unreadable: stdout is not JSON' };
381
+ }
382
+ if (!isRecord(parsed)) {
383
+ return { ok: false, status: 'scan_failed', reason: 'compatibility_scan_unreadable: stdout is not an object' };
384
+ }
385
+ const status = typeof parsed.status === 'string' ? parsed.status : 'unknown';
386
+ const reason = typeof parsed.reason === 'string' ? parsed.reason : undefined;
387
+ const remediation = typeof parsed.remediation === 'string' ? parsed.remediation : undefined;
388
+ if (parsed.ok === true) {
389
+ if (status === 'clean' || status === 'no_state_db') {
390
+ return { ok: true, status };
391
+ }
392
+ return protocolInvalid(`ok=true with status=${status}`);
393
+ }
394
+ if (parsed.ok === false) {
395
+ if (status === 'legacy_dependency' || status === 'scan_failed' || status === 'scan_unavailable') {
396
+ return refuseForStatus(status, reason, remediation);
397
+ }
398
+ return protocolInvalid(`ok=false with status=${status}`);
399
+ }
400
+ return protocolInvalid(`ok is not a boolean`);
401
+ }
402
+ async function defaultLegacyRulePreflightRunner(pdCliEntry, workspaceDir) {
403
+ // The entry path is boundary-checked before it is used as a subprocess
404
+ // target, and the subprocess is invoked with an argv array (no shell).
405
+ const { execFile } = await import('node:child_process');
406
+ const { promisify } = await import('node:util');
407
+ const execFileAsync = promisify(execFile);
408
+ try {
409
+ const result = await execFileAsync(process.execPath, [pdCliEntry, 'runtime', 'compatibility-scan', '--json', '--workspace', workspaceDir], { timeout: 60_000 });
410
+ return parseCompatibilityScanStdout(result.stdout);
411
+ }
412
+ catch (err) {
413
+ // The scan command exits 1 WITH valid JSON for any refusal (legacy
414
+ // dependency, DB failure, ...). Preserve that structured result instead
415
+ // of smearing scan_failed into legacy_dependency (P1-3).
416
+ const { stdout } = err;
417
+ if (typeof stdout === 'string' && stdout.trim().length > 0) {
418
+ const fromStdout = parseCompatibilityScanStdout(stdout);
419
+ if (!fromStdout.ok)
420
+ return fromStdout;
421
+ }
422
+ return {
423
+ ok: false,
424
+ status: 'scan_failed',
425
+ reason: `compatibility_scan_failed: ${err instanceof Error ? err.message : String(err)}`,
426
+ remediation: 'Repair the workspace database or its permissions, then retry the upgrade. The current installation has not been replaced.',
427
+ };
428
+ }
429
+ }
430
+ export async function runLegacyRuleContractPreflight(pluginDir, workspaceDir, runScan = defaultLegacyRulePreflightRunner) {
431
+ const resolvedWorkspace = path.resolve(workspaceDir);
432
+ // Self-contained status decision (P0/P1-2): a workspace with no persisted
433
+ // PD state has nothing a contract change could break, so the scan is
434
+ // skipped cleanly. The function must NOT rely on the caller having
435
+ // pre-checked for state.db — Console/installer callers differ.
436
+ const stateDbPath = path.join(resolvedWorkspace, '.pd', 'state.db');
437
+ if (!existsSync(stateDbPath)) {
438
+ return {
439
+ ok: true,
440
+ status: 'no_state_db',
441
+ reason: 'state.db not found — no persisted activations to scan',
442
+ };
443
+ }
444
+ const pdCliRoot = path.resolve(pluginDir, 'pd-cli');
445
+ const pdCliEntry = path.resolve(pdCliRoot, 'dist', 'index.js');
446
+ if (pdCliEntry !== pdCliRoot && !pdCliEntry.startsWith(pdCliRoot + path.sep)) {
447
+ return {
448
+ ok: false,
449
+ status: 'scan_unavailable',
450
+ reason: `compatibility_scan_unavailable: pd-cli entry escapes package dir (${pdCliEntry})`,
451
+ remediation: 'Re-download/rebuild the installer before upgrading. The current installation has not been replaced.',
452
+ };
453
+ }
454
+ if (!existsSync(pdCliEntry) || !statSync(pdCliEntry).isFile()) {
455
+ // A stateful workspace is about to be upgraded and we cannot prove its
456
+ // active RuleCode is compatible with the new runtime. This is NOT a
457
+ // "fresh layout, skip it" case — fresh workspaces were handled above by
458
+ // the no_state_db early return. Fail closed (P0/P1-2).
459
+ return {
460
+ ok: false,
461
+ status: 'scan_unavailable',
462
+ reason: 'compatibility_scan_unavailable',
463
+ remediation: 'The bundled compatibility scanner is missing. The package may be incomplete or corrupted. ' +
464
+ 'Re-download/rebuild the installer before upgrading. The current installation has not been replaced.',
465
+ };
466
+ }
467
+ try {
468
+ return await runScan(pdCliEntry, resolvedWorkspace);
469
+ }
470
+ catch (err) {
471
+ return {
472
+ ok: false,
473
+ status: 'scan_failed',
474
+ reason: `compatibility_scan_failed: ${err instanceof Error ? err.message : String(err)}`,
475
+ remediation: 'Repair the workspace database or its permissions, then retry the upgrade. The current installation has not been replaced.',
476
+ };
477
+ }
478
+ }
479
+ /**
480
+ * Structured refusal for the legacy-contract preflight: nothing has been
481
+ * mutated yet (the old installation is untouched) and the message names the
482
+ * affected rules via the scan's remediation text.
483
+ */
484
+ function buildCompatibilityRefusalResult(options, outcome) {
485
+ const nextAction = outcome.remediation ?? 'Migrate or deactivate the listed rules, then re-run the installer.';
486
+ return {
487
+ success: false,
488
+ workspaceDir: options.workspaceDir,
489
+ configYamlPath: getConfigYamlPath(options.workspaceDir),
490
+ templatesCount: 0,
491
+ components: { plugin: 'skipped', cli: 'skipped', console: 'skipped' },
492
+ verification: { features: 'skipped', storyA: 'skipped' },
493
+ enabledChannels: options.channels,
494
+ nextAction,
495
+ reason: outcome.reason ?? 'legacy_rule_contract_dependency',
496
+ ...(outcome.remediation !== undefined ? { error: outcome.remediation } : {}),
497
+ };
498
+ }
319
499
  export async function checkBuiltPlugin(pluginDir) {
320
500
  const distDir = path.join(pluginDir, 'plugin', 'dist');
321
501
  const pluginJson = path.join(pluginDir, 'plugin', 'openclaw.plugin.json');
@@ -1209,6 +1389,21 @@ export async function install(options, pluginDir, mode = {}) {
1209
1389
  await checkBuiltPlugin(pluginDir);
1210
1390
  verification.manifestActivation = 'verified';
1211
1391
  stepIndex++;
1392
+ // Legacy rule contract preflight — run BEFORE the backup/rename step so
1393
+ // a refusal leaves the existing installation completely untouched. Only
1394
+ // meaningful when the target workspace already has PD state; fresh
1395
+ // workspaces scan clean (no state.db → nothing persisted to conflict).
1396
+ if (existsSync(path.join(path.resolve(options.workspaceDir), '.pd', 'state.db'))) {
1397
+ if (spinner)
1398
+ updateProgress(spinner, stepIndex, 'Checking workspace rule compatibility...');
1399
+ const compat = await runLegacyRuleContractPreflight(pluginDir, options.workspaceDir);
1400
+ if (!compat.ok) {
1401
+ if (!quiet)
1402
+ logger.error(compat.reason ?? 'legacy_rule_contract_dependency');
1403
+ return buildCompatibilityRefusalResult(options, compat);
1404
+ }
1405
+ }
1406
+ stepIndex++;
1212
1407
  if (spinner)
1213
1408
  updateProgress(spinner, stepIndex, 'Backing up existing install...');
1214
1409
  migrateLegacyPdBackups();
@@ -1330,9 +1525,26 @@ export async function install(options, pluginDir, mode = {}) {
1330
1525
  if (spinner)
1331
1526
  updateProgress(spinner, stepIndex, 'Verifying demo...');
1332
1527
  try {
1333
- const installedPdCliEntry = path.join(getInstalledPdCliDir(), 'dist', 'index.js');
1334
- execFileSync(process.execPath, [installedPdCliEntry, 'demo', 'story-a', '--json', '--workspace', options.workspaceDir], {
1335
- stdio: 'pipe',
1528
+ // Demo isolation (2026-08-19): the install target already holds
1529
+ // initialized PD state at this point (.pd/state.db, .principles/
1530
+ // PROFILE.json), so the CLI's demo guard refuses to write demo data
1531
+ // into it. Run WITHOUT --workspace — pd-cli provisions and cleans up
1532
+ // its own throwaway temp workspace, exercising the same installed
1533
+ // pd-cli + core chain without polluting the user's workspace.
1534
+ // The entry path is boundary-checked before it is used as a
1535
+ // subprocess target (canonical-path containment + existence).
1536
+ const pdCliRoot = path.resolve(getInstalledPdCliDir());
1537
+ const pdCliEntry = path.resolve(pdCliRoot, 'dist', 'index.js');
1538
+ if (pdCliEntry !== pdCliRoot && !pdCliEntry.startsWith(pdCliRoot + path.sep)) {
1539
+ throw new Error(`pd-cli entry escapes install dir: ${pdCliEntry}`);
1540
+ }
1541
+ if (!existsSync(pdCliEntry) || !statSync(pdCliEntry).isFile()) {
1542
+ throw new Error(`pd-cli entry missing: ${pdCliEntry}`);
1543
+ }
1544
+ const { execFile } = await import('node:child_process');
1545
+ const { promisify } = await import('node:util');
1546
+ const execFileAsync = promisify(execFile);
1547
+ await execFileAsync(process.execPath, [pdCliEntry, 'demo', 'story-a', '--json'], {
1336
1548
  timeout: STORY_A_VERIFICATION_TIMEOUT_MS,
1337
1549
  });
1338
1550
  verification.storyA = 'passed';
@@ -1 +1 @@
1
- {"version":3,"file":"installer.js","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"installer.js","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Retired RuleHost contract symbol scan — host-runtime local copy.
3
+ *
4
+ * The shared canonical scanner lives in @principles/core
5
+ * (internalization/legacy-rule-contract-scanner.ts) and is used by the
6
+ * plugin, console, installer, and pd-cli. This module deliberately does NOT
7
+ * import it: the published codex-adapter bundle installs host-runtime
8
+ * against the CURRENTLY PUBLISHED @principles/core from the npm registry,
9
+ * and a new runtime import would break clean installs until the next core
10
+ * release (see tests/published-codex-adapter-bundle.test.ts — it enforces
11
+ * exactly this constraint). Keep the symbol patterns in sync with the core
12
+ * scanner; the host-runtime tests cover the same detection behavior.
13
+ */
14
+ /**
15
+ * Conservative scan of persisted RuleCode source for retired RuleHost
16
+ * contract symbols (field reads and helper calls). A hit means the rule must
17
+ * NOT execute against the current contract — its reads would silently
18
+ * resolve to undefined and change owner-approved behavior.
19
+ */
20
+ export declare function scanRetiredContractSymbols(implementationCode: string): string[];
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Retired RuleHost contract symbol scan — host-runtime local copy.
3
+ *
4
+ * The shared canonical scanner lives in @principles/core
5
+ * (internalization/legacy-rule-contract-scanner.ts) and is used by the
6
+ * plugin, console, installer, and pd-cli. This module deliberately does NOT
7
+ * import it: the published codex-adapter bundle installs host-runtime
8
+ * against the CURRENTLY PUBLISHED @principles/core from the npm registry,
9
+ * and a new runtime import would break clean installs until the next core
10
+ * release (see tests/published-codex-adapter-bundle.test.ts — it enforces
11
+ * exactly this constraint). Keep the symbol patterns in sync with the core
12
+ * scanner; the host-runtime tests cover the same detection behavior.
13
+ */
14
+ // Helper-call form is listed before the bare-word form; the field pattern's
15
+ // negative lookahead prevents one hasPlanFile( call reporting twice.
16
+ const RETIRED_SYMBOL_PATTERNS = [
17
+ { symbol: 'recentThinking', pattern: /\brecentThinking\b/ },
18
+ { symbol: 'planStatus', pattern: /\bplanStatus\b/ },
19
+ { symbol: 'getPlanStatus', pattern: /\bgetPlanStatus\s*\(/ },
20
+ { symbol: 'hasPlanFileHelper', pattern: /\bhasPlanFile\s*\(/ },
21
+ { symbol: 'hasPlanFile', pattern: /\bhasPlanFile\b(?!\s*\()/ },
22
+ ];
23
+ /**
24
+ * Conservative scan of persisted RuleCode source for retired RuleHost
25
+ * contract symbols (field reads and helper calls). A hit means the rule must
26
+ * NOT execute against the current contract — its reads would silently
27
+ * resolve to undefined and change owner-approved behavior.
28
+ */
29
+ export function scanRetiredContractSymbols(implementationCode) {
30
+ const symbols = [];
31
+ for (const { symbol, pattern } of RETIRED_SYMBOL_PATTERNS) {
32
+ if (pattern.test(implementationCode)) {
33
+ symbols.push(symbol);
34
+ }
35
+ }
36
+ return symbols;
37
+ }
@@ -10,7 +10,6 @@ export interface ProductionRuleContextRequest {
10
10
  export type RuleContextProvider = (request: ProductionRuleContextRequest) => unknown | Promise<unknown>;
11
11
  export interface RuleInputEnrichment {
12
12
  currentGfi: number;
13
- recentThinking: boolean;
14
13
  epTier: number;
15
14
  bashRisk: 'safe' | 'normal' | 'dangerous' | 'unknown';
16
15
  }