create-principles-disciple 1.99.0 → 1.101.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/README.md +2 -2
  2. package/core/dist/runtime-v2/__tests__/admission-gate.test.js +63 -1
  3. package/core/dist/runtime-v2/__tests__/admission-gate.test.js.map +1 -1
  4. package/core/dist/runtime-v2/__tests__/architecture-regression.test.js +74 -23
  5. package/core/dist/runtime-v2/__tests__/architecture-regression.test.js.map +1 -1
  6. package/core/dist/runtime-v2/__tests__/chain-integrity-attack.test.js +17 -0
  7. package/core/dist/runtime-v2/__tests__/chain-integrity-attack.test.js.map +1 -1
  8. package/core/dist/runtime-v2/__tests__/chain-integrity-real-path.test.js +12 -0
  9. package/core/dist/runtime-v2/__tests__/chain-integrity-real-path.test.js.map +1 -1
  10. package/core/dist/runtime-v2/__tests__/internalization-chain-integrity-read-model.test.js +168 -1
  11. package/core/dist/runtime-v2/__tests__/internalization-chain-integrity-read-model.test.js.map +1 -1
  12. package/core/dist/runtime-v2/activation/__tests__/activation-dispatcher.test.js +53 -0
  13. package/core/dist/runtime-v2/activation/__tests__/activation-dispatcher.test.js.map +1 -1
  14. package/core/dist/runtime-v2/activation/__tests__/helpers.d.ts +21 -0
  15. package/core/dist/runtime-v2/activation/__tests__/helpers.d.ts.map +1 -0
  16. package/core/dist/runtime-v2/activation/__tests__/helpers.js +132 -0
  17. package/core/dist/runtime-v2/activation/__tests__/helpers.js.map +1 -0
  18. package/core/dist/runtime-v2/activation/__tests__/story-a-acceptance.test.js +2 -117
  19. package/core/dist/runtime-v2/activation/__tests__/story-a-acceptance.test.js.map +1 -1
  20. package/core/dist/runtime-v2/activation/activation-dispatcher.d.ts.map +1 -1
  21. package/core/dist/runtime-v2/activation/activation-dispatcher.js +18 -2
  22. package/core/dist/runtime-v2/activation/activation-dispatcher.js.map +1 -1
  23. package/core/dist/runtime-v2/activation/writers/__tests__/rule-host-writer.test.js +13 -5
  24. package/core/dist/runtime-v2/activation/writers/__tests__/rule-host-writer.test.js.map +1 -1
  25. package/core/dist/runtime-v2/activation/writers/rule-host-writer.d.ts.map +1 -1
  26. package/core/dist/runtime-v2/activation/writers/rule-host-writer.js +15 -1
  27. package/core/dist/runtime-v2/activation/writers/rule-host-writer.js.map +1 -1
  28. package/core/dist/runtime-v2/admission-gate.d.ts +27 -0
  29. package/core/dist/runtime-v2/admission-gate.d.ts.map +1 -1
  30. package/core/dist/runtime-v2/admission-gate.js +55 -0
  31. package/core/dist/runtime-v2/admission-gate.js.map +1 -1
  32. package/core/dist/runtime-v2/cli/diagnose.d.ts +4 -0
  33. package/core/dist/runtime-v2/cli/diagnose.d.ts.map +1 -1
  34. package/core/dist/runtime-v2/cli/diagnose.js +25 -0
  35. package/core/dist/runtime-v2/cli/diagnose.js.map +1 -1
  36. package/core/dist/runtime-v2/config/__tests__/pd-config-contract.test.js +27 -0
  37. package/core/dist/runtime-v2/config/__tests__/pd-config-contract.test.js.map +1 -1
  38. package/core/dist/runtime-v2/config/pd-config-feature-flags.d.ts.map +1 -1
  39. package/core/dist/runtime-v2/config/pd-config-feature-flags.js +6 -1
  40. package/core/dist/runtime-v2/config/pd-config-feature-flags.js.map +1 -1
  41. package/core/dist/runtime-v2/feature-flags/__tests__/plugin-surface-registry.test.js +12 -1
  42. package/core/dist/runtime-v2/feature-flags/__tests__/plugin-surface-registry.test.js.map +1 -1
  43. package/core/dist/runtime-v2/feature-flags/plugin-surface-registry.d.ts.map +1 -1
  44. package/core/dist/runtime-v2/feature-flags/plugin-surface-registry.js +8 -2
  45. package/core/dist/runtime-v2/feature-flags/plugin-surface-registry.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__/diag-rootcause-runner.test.js +21 -0
  51. package/core/dist/runtime-v2/internalization/__tests__/diag-rootcause-runner.test.js.map +1 -1
  52. package/core/dist/runtime-v2/internalization/__tests__/internalization-task-guards.test.js +53 -1
  53. package/core/dist/runtime-v2/internalization/__tests__/internalization-task-guards.test.js.map +1 -1
  54. package/core/dist/runtime-v2/internalization/diag-distiller-runner.d.ts.map +1 -1
  55. package/core/dist/runtime-v2/internalization/diag-distiller-runner.js +4 -1
  56. package/core/dist/runtime-v2/internalization/diag-distiller-runner.js.map +1 -1
  57. package/core/dist/runtime-v2/internalization/diag-rootcause-runner.d.ts.map +1 -1
  58. package/core/dist/runtime-v2/internalization/diag-rootcause-runner.js +7 -1
  59. package/core/dist/runtime-v2/internalization/diag-rootcause-runner.js.map +1 -1
  60. package/core/dist/runtime-v2/internalization/diag-router-runner.d.ts.map +1 -1
  61. package/core/dist/runtime-v2/internalization/diag-router-runner.js +4 -1
  62. package/core/dist/runtime-v2/internalization/diag-router-runner.js.map +1 -1
  63. package/core/dist/runtime-v2/internalization/index.d.ts +1 -1
  64. package/core/dist/runtime-v2/internalization/index.d.ts.map +1 -1
  65. package/core/dist/runtime-v2/internalization/index.js +1 -1
  66. package/core/dist/runtime-v2/internalization/index.js.map +1 -1
  67. package/core/dist/runtime-v2/internalization/internalization-task-guards.d.ts +26 -0
  68. package/core/dist/runtime-v2/internalization/internalization-task-guards.d.ts.map +1 -1
  69. package/core/dist/runtime-v2/internalization/internalization-task-guards.js +36 -0
  70. package/core/dist/runtime-v2/internalization/internalization-task-guards.js.map +1 -1
  71. package/core/dist/runtime-v2/internalization-chain-integrity-read-model.d.ts.map +1 -1
  72. package/core/dist/runtime-v2/internalization-chain-integrity-read-model.js +57 -1
  73. package/core/dist/runtime-v2/internalization-chain-integrity-read-model.js.map +1 -1
  74. package/core/dist/runtime-v2/proven-channel-baseline.js +1 -1
  75. package/core/dist/runtime-v2/proven-channel-baseline.js.map +1 -1
  76. package/core/dist/runtime-v2/runner/__tests__/diagnose.test.js +91 -1
  77. package/core/dist/runtime-v2/runner/__tests__/diagnose.test.js.map +1 -1
  78. package/core/dist/runtime-v2/store/candidate/sqlite-candidate-store.d.ts.map +1 -1
  79. package/core/dist/runtime-v2/store/candidate/sqlite-candidate-store.js +19 -0
  80. package/core/dist/runtime-v2/store/candidate/sqlite-candidate-store.js.map +1 -1
  81. package/core/dist/runtime-v2/store/schema-conformance.test.js +30 -0
  82. package/core/dist/runtime-v2/store/schema-conformance.test.js.map +1 -1
  83. package/core/dist/runtime-v2/store/sqlite-connection-schema-version.test.js +41 -7
  84. package/core/dist/runtime-v2/store/sqlite-connection-schema-version.test.js.map +1 -1
  85. package/core/dist/runtime-v2/store/sqlite-connection.d.ts.map +1 -1
  86. package/core/dist/runtime-v2/store/sqlite-connection.js +22 -1
  87. package/core/dist/runtime-v2/store/sqlite-connection.js.map +1 -1
  88. package/dist/installer.d.ts.map +1 -1
  89. package/dist/installer.js +21 -0
  90. package/dist/installer.js.map +1 -1
  91. package/package.json +1 -1
  92. package/pd-cli/dist/commands/candidate.d.ts.map +1 -1
  93. package/pd-cli/dist/commands/candidate.js +89 -7
  94. package/pd-cli/dist/commands/candidate.js.map +1 -1
  95. package/pd-cli/dist/commands/pain-retry.d.ts +3 -0
  96. package/pd-cli/dist/commands/pain-retry.d.ts.map +1 -1
  97. package/pd-cli/dist/commands/pain-retry.js +39 -14
  98. package/pd-cli/dist/commands/pain-retry.js.map +1 -1
  99. package/pd-cli/dist/commands/runtime-activation.d.ts.map +1 -1
  100. package/pd-cli/dist/commands/runtime-activation.js +70 -7
  101. package/pd-cli/dist/commands/runtime-activation.js.map +1 -1
  102. package/pd-cli/dist/index.js +2 -21
  103. package/pd-cli/dist/index.js.map +1 -1
  104. package/pd-cli/dist/services/rulehost-pipeline-runner.js +1 -1
  105. package/pd-cli/dist/services/rulehost-pipeline-runner.js.map +1 -1
  106. package/pd-cli/package.json +1 -1
  107. package/plugin/dist/core/rule-host.d.ts +21 -0
  108. package/plugin/dist/core/rule-host.js +67 -12
  109. package/plugin/dist/hooks/prompt.js +14 -0
  110. package/plugin/dist/index.js +2 -1
package/README.md CHANGED
@@ -52,7 +52,7 @@ npx create-principles-disciple --yes --workspace "/path/to/workspace" --json
52
52
 
53
53
  The installer automatically verifies the installation during setup:
54
54
 
55
- 1. **Feature flags** — `.pd/feature-flags.yaml` is generated and validated
55
+ 1. **Feature flags** — `.pd/config.yaml` is generated and validated (ADR-0016: replaces the legacy `.pd/feature-flags.yaml`)
56
56
  2. **Story A demo** — `pd demo story-a` is executed to confirm runtime integration
57
57
  3. **Console health** — `/api/health` is checked on the local console instance
58
58
 
@@ -84,7 +84,7 @@ Open `http://127.0.0.1:3100` in your browser to access the console.
84
84
 
85
85
  ## Rerun / Reinstall
86
86
 
87
- Re-running the installer updates the feature-flags.yaml. All three MVP-Core channels
87
+ Re-running the installer updates the `.pd/config.yaml`. All three MVP-Core channels
88
88
  are always enabled — the installer does not allow partial disabling of core channels.
89
89
  The installer reads actual enabled channels from disk and reports them in the output.
90
90
 
@@ -1,5 +1,5 @@
1
1
  import { describe, it, expect } from 'vitest';
2
- import { evaluateAdmission, evaluateCandidateAdmissions, ADMISSION_CONFIDENCE_THRESHOLD, } from '../admission-gate.js';
2
+ import { evaluateAdmission, evaluateCandidateAdmissions, evaluateCandidateAdmissionFromRecord, ADMISSION_CONFIDENCE_THRESHOLD, } from '../admission-gate.js';
3
3
  const makeInput = (overrides = {}) => ({
4
4
  recommendationKind: 'principle',
5
5
  confidence: 0.8,
@@ -225,4 +225,66 @@ describe('PRI-345: input-evidence hard gate', () => {
225
225
  expect(result.reason).toBe('input_evidence_empty');
226
226
  });
227
227
  });
228
+ describe('evaluateCandidateAdmissionFromRecord (CLI partial check)', () => {
229
+ it('admits when recommendationKind is actionable and confidence >= threshold', () => {
230
+ const result = evaluateCandidateAdmissionFromRecord({
231
+ recommendationKind: 'principle',
232
+ confidence: 0.8,
233
+ });
234
+ expect(result.decision).toBe('admitted');
235
+ expect(result.reason).toBe('cli_partial_check_passed_confidence_and_kind');
236
+ expect(result.nextAction).toBe('none');
237
+ });
238
+ it('admits at exactly the threshold (boundary)', () => {
239
+ const result = evaluateCandidateAdmissionFromRecord({
240
+ recommendationKind: 'principle',
241
+ confidence: ADMISSION_CONFIDENCE_THRESHOLD,
242
+ });
243
+ expect(result.decision).toBe('admitted');
244
+ });
245
+ it('defers when recommendationKind is defer', () => {
246
+ const result = evaluateCandidateAdmissionFromRecord({
247
+ recommendationKind: 'defer',
248
+ confidence: 0.9,
249
+ });
250
+ expect(result.decision).toBe('deferred');
251
+ expect(result.reason).toBe('recommendation_kind_defer_not_actionable');
252
+ expect(result.nextAction).toBe('review_defer_disposition_manually');
253
+ });
254
+ it('needs_evidence when confidence is below threshold', () => {
255
+ const result = evaluateCandidateAdmissionFromRecord({
256
+ recommendationKind: 'principle',
257
+ confidence: 0.35,
258
+ });
259
+ expect(result.decision).toBe('needs_evidence');
260
+ expect(result.reason).toContain('confidence_below_threshold');
261
+ expect(result.reason).toContain('0.35');
262
+ expect(result.nextAction).toBe('provide_additional_evidence_or_manual_review');
263
+ });
264
+ it('needs_evidence when confidence is null (rc-3 fail loud)', () => {
265
+ const result = evaluateCandidateAdmissionFromRecord({
266
+ recommendationKind: 'principle',
267
+ confidence: null,
268
+ });
269
+ expect(result.decision).toBe('needs_evidence');
270
+ expect(result.reason).toBe('confidence_missing_on_candidate_record');
271
+ expect(result.nextAction).toContain('re_run_diagnosis');
272
+ });
273
+ it('defers even when confidence is null (defer takes precedence)', () => {
274
+ const result = evaluateCandidateAdmissionFromRecord({
275
+ recommendationKind: 'defer',
276
+ confidence: null,
277
+ });
278
+ expect(result.decision).toBe('deferred');
279
+ expect(result.reason).toBe('recommendation_kind_defer_not_actionable');
280
+ });
281
+ it('needs_evidence at confidence = 0 (below threshold)', () => {
282
+ const result = evaluateCandidateAdmissionFromRecord({
283
+ recommendationKind: 'principle',
284
+ confidence: 0,
285
+ });
286
+ expect(result.decision).toBe('needs_evidence');
287
+ expect(result.reason).toContain('confidence_below_threshold');
288
+ });
289
+ });
228
290
  //# sourceMappingURL=admission-gate.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"admission-gate.test.js","sourceRoot":"","sources":["../../../src/runtime-v2/__tests__/admission-gate.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admission-gate.test.js","sourceRoot":"","sources":["../../../src/runtime-v2/__tests__/admission-gate.test.ts"],"names":[],"mappings":"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"}
@@ -2072,12 +2072,16 @@ describe('PRI-146: RuleHostWriter shadow activation boundary', () => {
2072
2072
  expect(src).not.toContain('eval(');
2073
2073
  expect(src).not.toContain('new Function');
2074
2074
  });
2075
- it('LIVE_AFTER_APPROVAL: rule-host-writer.ts uses live action for owner-approved activations', async () => {
2075
+ it('SHADOW_AFTER_APPROVAL: rule-host-writer.ts uses shadow action for owner-approved activations (PRI-489)', async () => {
2076
2076
  const { readFileSync } = await import('node:fs');
2077
2077
  const { resolve } = await import('node:path');
2078
2078
  const src = readFileSync(resolve(__dirname, '..', 'activation', 'writers', 'rule-host-writer.ts'), 'utf-8');
2079
- expect(src).toContain('code_tool_hook_live_activate');
2080
- expect(src).not.toContain('code_tool_hook_shadow_activate');
2079
+ // PRI-489: Owner approval creates a SHADOW activation first. The only
2080
+ // shadow -> live transition is `pd activation promote` (atomic action
2081
+ // rewrite in SqliteActivationStateStore.promoteActivation). Live action
2082
+ // must never appear as a return value from activate(), only in comments
2083
+ // documenting the promote path.
2084
+ expect(src).toContain("action: 'code_tool_hook_shadow_activate'");
2081
2085
  expect(src).toContain('accepted_shadow');
2082
2086
  });
2083
2087
  it('USES_GATE: rule-host-writer.ts imports evaluateRefinerRuleHostGate', async () => {
@@ -3236,29 +3240,49 @@ describe('PRI-450 / PRI-462: core I/O seam registry guard', () => {
3236
3240
  const ALLOWED_IO_FILES = new Set(isValidRegistry(registry)
3237
3241
  ? registry.seams.flatMap((s) => s.files)
3238
3242
  : []);
3239
- // Extract all import module paths from source code.
3243
+ // Extract all RUNTIME import module paths from source code.
3240
3244
  // Handles: import ... from 'mod', import 'mod' (side-effect), and multiline imports.
3241
- // Reuses the same pattern proven in the PRI-215 extractImportModulePaths helper.
3245
+ // EXCLUDES `import type ... from` type-only imports are erased at compile time
3246
+ // and do not introduce runtime I/O. Reuses the same pattern proven in the
3247
+ // PRI-215 extractImportModulePaths helper.
3248
+ //
3249
+ // The negative lookahead `(?!type\b)` after `import\s+` prevents matching
3250
+ // `import type { X } from 'mod'` and `import type X from 'mod'`.
3242
3251
  function extractImportPaths(src) {
3243
3252
  const paths = [];
3244
- for (const m of src.matchAll(/import\s+[\s\S]*?from\s+['"]([^'"]+)['"]/g)) {
3253
+ // `import ... from 'mod'` — but NOT `import type ... from 'mod'`.
3254
+ for (const m of src.matchAll(/import\s+(?!type\b)[\s\S]*?from\s+['"]([^'"]+)['"]/g)) {
3245
3255
  if (m[1] != null)
3246
3256
  paths.push(m[1]);
3247
3257
  }
3248
- for (const m of src.matchAll(/import\s+['"]([^'"]+)['"]/g)) {
3258
+ // Side-effect `import 'mod'` — `import type 'mod'` is not valid TS so no
3259
+ // exclusion needed, but the lookahead keeps it defensive.
3260
+ for (const m of src.matchAll(/import\s+(?!type\b)['"]([^'"]+)['"]/g)) {
3249
3261
  if (m[1] != null && !paths.includes(m[1]))
3250
3262
  paths.push(m[1]);
3251
3263
  }
3252
3264
  return paths;
3253
3265
  }
3254
- // Check if any import path references fs or path (including sub-paths like fs/promises).
3255
- function importsFsOrPath(src) {
3266
+ // Check if any runtime import path references a Node I/O module.
3267
+ // Covers fs, path, child_process, better-sqlite3 (including sub-paths like fs/promises).
3268
+ // Type-only imports (`import type ... from 'fs'`) are excluded by extractImportPaths.
3269
+ //
3270
+ // This MUST stay in sync with eslint.config.js `no-restricted-imports` patterns.
3271
+ // ESLint uses `allowTypeImports: true` for child_process/better-sqlite3, so the
3272
+ // arch test is the runtime-I/O backstop for those modules.
3273
+ function importsNodeIo(src) {
3256
3274
  const paths = extractImportPaths(src);
3257
3275
  return paths.some((p) => p === 'fs' || p.startsWith('fs/') ||
3258
3276
  p === 'node:fs' || p.startsWith('node:fs/') ||
3259
3277
  p === 'path' || p.startsWith('path/') ||
3260
- p === 'node:path' || p.startsWith('node:path/'));
3278
+ p === 'node:path' || p.startsWith('node:path/') ||
3279
+ p === 'child_process' || p.startsWith('child_process/') ||
3280
+ p === 'node:child_process' || p.startsWith('node:child_process/') ||
3281
+ p === 'better-sqlite3');
3261
3282
  }
3283
+ // Back-compat alias: keep the old name working for any external callers/tests
3284
+ // that referenced importsFsOrPath directly. New code should use importsNodeIo.
3285
+ const importsFsOrPath = importsNodeIo;
3262
3286
  function collectTsFiles(dir, acc) {
3263
3287
  const entries = fsSync.readdirSync(dir, { withFileTypes: true });
3264
3288
  for (const entry of entries) {
@@ -3319,14 +3343,14 @@ describe('PRI-450 / PRI-462: core I/O seam registry guard', () => {
3319
3343
  expect(weak).toEqual([]);
3320
3344
  });
3321
3345
  // ── Registry ↔ production files (PRI-450, EP-02) ──────────────────────────
3322
- it('core/src/ production files: only registry-listed files import fs/path', () => {
3346
+ it('core/src/ production files: only registry-listed files import Node I/O modules (fs/path/child_process/better-sqlite3)', () => {
3323
3347
  const coreSrcDir = pathSync.resolve(__dirname, '..', '..');
3324
3348
  const allFiles = [];
3325
3349
  collectTsFiles(coreSrcDir, allFiles);
3326
3350
  const violations = [];
3327
3351
  for (const filePath of allFiles) {
3328
3352
  const content = fsSync.readFileSync(filePath, 'utf-8');
3329
- if (importsFsOrPath(content)) {
3353
+ if (importsNodeIo(content)) {
3330
3354
  const relPath = pathSync.relative(coreSrcDir, filePath).replace(/\\/g, '/');
3331
3355
  if (!ALLOWED_IO_FILES.has(relPath)) {
3332
3356
  violations.push(relPath);
@@ -3334,8 +3358,9 @@ describe('PRI-450 / PRI-462: core I/O seam registry guard', () => {
3334
3358
  }
3335
3359
  }
3336
3360
  if (violations.length > 0) {
3337
- throw new Error(`Found ${violations.length} file(s) importing fs/path that are NOT in io-seam-registry.json.\n` +
3361
+ throw new Error(`Found ${violations.length} file(s) importing fs/path/child_process/better-sqlite3 that are NOT in io-seam-registry.json.\n` +
3338
3362
  `Add them to the appropriate seam in packages/principles-core/io-seam-registry.json.\n` +
3363
+ `Note: \`import type\` from these modules is allowed (erased at runtime) and won't trigger this.\n` +
3339
3364
  `Violations:\n ` + violations.join('\n '));
3340
3365
  }
3341
3366
  });
@@ -3363,19 +3388,45 @@ describe('PRI-450 / PRI-462: core I/O seam registry guard', () => {
3363
3388
  expect(eslintSrc).toContain('io-seam-registry.json');
3364
3389
  });
3365
3390
  // ── Helper unit tests ─────────────────────────────────────────────────────
3366
- it('importsFsOrPath detects sub-path imports (fs/promises) and side-effect imports', () => {
3391
+ it('importsNodeIo detects sub-path imports (fs/promises) and side-effect imports', () => {
3367
3392
  // Sub-path import
3368
- expect(importsFsOrPath(`import { mkdir } from 'node:fs/promises';`)).toBe(true);
3369
- expect(importsFsOrPath(`import { posix } from 'path/posix';`)).toBe(true);
3393
+ expect(importsNodeIo(`import { mkdir } from 'node:fs/promises';`)).toBe(true);
3394
+ expect(importsNodeIo(`import { posix } from 'path/posix';`)).toBe(true);
3370
3395
  // Side-effect import
3371
- expect(importsFsOrPath(`import 'fs';`)).toBe(true);
3372
- expect(importsFsOrPath(`import "node:path";`)).toBe(true);
3396
+ expect(importsNodeIo(`import 'fs';`)).toBe(true);
3397
+ expect(importsNodeIo(`import "node:path";`)).toBe(true);
3373
3398
  // Standard import
3374
- expect(importsFsOrPath(`import * as fs from 'fs';`)).toBe(true);
3375
- expect(importsFsOrPath(`import { resolve } from 'node:path';`)).toBe(true);
3376
- // Non-fs/path imports
3377
- expect(importsFsOrPath(`import { foo } from 'bar';`)).toBe(false);
3378
- expect(importsFsOrPath(``)).toBe(false);
3399
+ expect(importsNodeIo(`import * as fs from 'fs';`)).toBe(true);
3400
+ expect(importsNodeIo(`import { resolve } from 'node:path';`)).toBe(true);
3401
+ // Non-I/O imports
3402
+ expect(importsNodeIo(`import { foo } from 'bar';`)).toBe(false);
3403
+ expect(importsNodeIo(``)).toBe(false);
3404
+ });
3405
+ it('importsNodeIo detects child_process and better-sqlite3 runtime imports', () => {
3406
+ // Runtime child_process imports
3407
+ expect(importsNodeIo(`import { spawn } from 'child_process';`)).toBe(true);
3408
+ expect(importsNodeIo(`import { execSync } from 'node:child_process';`)).toBe(true);
3409
+ expect(importsNodeIo(`import { fork } from 'child_process/promises';`)).toBe(true);
3410
+ // Runtime better-sqlite3 import
3411
+ expect(importsNodeIo(`import Database from 'better-sqlite3';`)).toBe(true);
3412
+ // Mixed runtime + type import from child_process (still runtime I/O)
3413
+ expect(importsNodeIo(`import { spawn, type SpawnOptions } from 'child_process';`)).toBe(true);
3414
+ });
3415
+ it('importsNodeIo EXCLUDES `import type` (erased at runtime, no I/O)', () => {
3416
+ // Type-only imports from forbidden modules — must NOT trigger
3417
+ expect(importsNodeIo(`import type { Database } from 'better-sqlite3';`)).toBe(false);
3418
+ expect(importsNodeIo(`import type BetterSqlite3 from 'better-sqlite3';`)).toBe(false);
3419
+ expect(importsNodeIo(`import type { SpawnOptions } from 'child_process';`)).toBe(false);
3420
+ expect(importsNodeIo(`import type { Stats } from 'node:fs';`)).toBe(false);
3421
+ expect(importsNodeIo(`import type { Platform } from 'node:process';`)).toBe(false);
3422
+ // Mixed: a real `import type` next to a runtime import from a DIFFERENT module
3423
+ // — the type import is excluded, the runtime import is detected.
3424
+ expect(importsNodeIo(`import type { Database } from 'better-sqlite3';\nimport { spawn } from 'child_process';`)).toBe(true);
3425
+ });
3426
+ it('importsFsOrPath alias stays in sync with importsNodeIo', () => {
3427
+ // The back-compat alias must point to the same implementation.
3428
+ expect(importsFsOrPath(`import { spawn } from 'child_process';`)).toBe(true);
3429
+ expect(importsFsOrPath(`import type { Database } from 'better-sqlite3';`)).toBe(false);
3379
3430
  });
3380
3431
  });
3381
3432
  //# sourceMappingURL=architecture-regression.test.js.map