@neurcode-ai/cli 0.9.65 → 0.9.66

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 (99) hide show
  1. package/dist/commands/bootstrap-policy.d.ts +29 -0
  2. package/dist/commands/bootstrap-policy.d.ts.map +1 -0
  3. package/dist/commands/bootstrap-policy.js +334 -0
  4. package/dist/commands/bootstrap-policy.js.map +1 -0
  5. package/dist/commands/doctor.d.ts.map +1 -1
  6. package/dist/commands/doctor.js +82 -0
  7. package/dist/commands/doctor.js.map +1 -1
  8. package/dist/commands/quickstart.d.ts +21 -0
  9. package/dist/commands/quickstart.d.ts.map +1 -0
  10. package/dist/commands/quickstart.js +178 -0
  11. package/dist/commands/quickstart.js.map +1 -0
  12. package/dist/commands/remediate-export.d.ts +31 -0
  13. package/dist/commands/remediate-export.d.ts.map +1 -0
  14. package/dist/commands/remediate-export.js +283 -0
  15. package/dist/commands/remediate-export.js.map +1 -0
  16. package/dist/commands/verify.d.ts.map +1 -1
  17. package/dist/commands/verify.js +106 -10
  18. package/dist/commands/verify.js.map +1 -1
  19. package/dist/governance/canonical-invariants.d.ts +88 -0
  20. package/dist/governance/canonical-invariants.d.ts.map +1 -0
  21. package/dist/governance/canonical-invariants.js +197 -0
  22. package/dist/governance/canonical-invariants.js.map +1 -0
  23. package/dist/governance/canonical-ordering.d.ts +76 -0
  24. package/dist/governance/canonical-ordering.d.ts.map +1 -0
  25. package/dist/governance/canonical-ordering.js +189 -0
  26. package/dist/governance/canonical-ordering.js.map +1 -0
  27. package/dist/governance/canonical-pipeline.d.ts +7 -0
  28. package/dist/governance/canonical-pipeline.d.ts.map +1 -1
  29. package/dist/governance/canonical-pipeline.js +184 -16
  30. package/dist/governance/canonical-pipeline.js.map +1 -1
  31. package/dist/governance/diff-line-provenance.d.ts +59 -0
  32. package/dist/governance/diff-line-provenance.d.ts.map +1 -0
  33. package/dist/governance/diff-line-provenance.js +118 -0
  34. package/dist/governance/diff-line-provenance.js.map +1 -0
  35. package/dist/governance/pilot-readiness.d.ts +34 -0
  36. package/dist/governance/pilot-readiness.d.ts.map +1 -0
  37. package/dist/governance/pilot-readiness.js +226 -0
  38. package/dist/governance/pilot-readiness.js.map +1 -0
  39. package/dist/governance/policy-parity-validator.d.ts +62 -0
  40. package/dist/governance/policy-parity-validator.d.ts.map +1 -0
  41. package/dist/governance/policy-parity-validator.js +137 -0
  42. package/dist/governance/policy-parity-validator.js.map +1 -0
  43. package/dist/governance/remediation-boundary.d.ts +55 -0
  44. package/dist/governance/remediation-boundary.d.ts.map +1 -0
  45. package/dist/governance/remediation-boundary.js +120 -0
  46. package/dist/governance/remediation-boundary.js.map +1 -0
  47. package/dist/governance/structural-cache.d.ts +103 -0
  48. package/dist/governance/structural-cache.d.ts.map +1 -0
  49. package/dist/governance/structural-cache.js +240 -0
  50. package/dist/governance/structural-cache.js.map +1 -0
  51. package/dist/governance/structural-on-diff.d.ts +22 -2
  52. package/dist/governance/structural-on-diff.d.ts.map +1 -1
  53. package/dist/governance/structural-on-diff.js +36 -4
  54. package/dist/governance/structural-on-diff.js.map +1 -1
  55. package/dist/governance/structural-policy-merge.d.ts +8 -0
  56. package/dist/governance/structural-policy-merge.d.ts.map +1 -1
  57. package/dist/governance/structural-policy-merge.js +7 -0
  58. package/dist/governance/structural-policy-merge.js.map +1 -1
  59. package/dist/governance/verify-runtime-guard.d.ts +99 -0
  60. package/dist/governance/verify-runtime-guard.d.ts.map +1 -0
  61. package/dist/governance/verify-runtime-guard.js +129 -0
  62. package/dist/governance/verify-runtime-guard.js.map +1 -0
  63. package/dist/index.js +50 -14
  64. package/dist/index.js.map +1 -1
  65. package/dist/intent-engine/repo-classifier.d.ts +64 -0
  66. package/dist/intent-engine/repo-classifier.d.ts.map +1 -0
  67. package/dist/intent-engine/repo-classifier.js +178 -0
  68. package/dist/intent-engine/repo-classifier.js.map +1 -0
  69. package/dist/structural-rules/index.d.ts +4 -0
  70. package/dist/structural-rules/index.d.ts.map +1 -1
  71. package/dist/structural-rules/index.js +18 -1
  72. package/dist/structural-rules/index.js.map +1 -1
  73. package/dist/structural-rules/python/PY003-broad-except-clause.d.ts +21 -0
  74. package/dist/structural-rules/python/PY003-broad-except-clause.d.ts.map +1 -1
  75. package/dist/structural-rules/python/PY003-broad-except-clause.js +212 -21
  76. package/dist/structural-rules/python/PY003-broad-except-clause.js.map +1 -1
  77. package/dist/structural-rules/python/PY011-thread-lifecycle.d.ts +11 -0
  78. package/dist/structural-rules/python/PY011-thread-lifecycle.d.ts.map +1 -0
  79. package/dist/structural-rules/python/PY011-thread-lifecycle.js +97 -0
  80. package/dist/structural-rules/python/PY011-thread-lifecycle.js.map +1 -0
  81. package/dist/structural-rules/python/PY012-asyncio-run-misuse.d.ts +11 -0
  82. package/dist/structural-rules/python/PY012-asyncio-run-misuse.d.ts.map +1 -0
  83. package/dist/structural-rules/python/PY012-asyncio-run-misuse.js +83 -0
  84. package/dist/structural-rules/python/PY012-asyncio-run-misuse.js.map +1 -0
  85. package/dist/structural-rules/python/PY013-mutable-default-arg.d.ts +11 -0
  86. package/dist/structural-rules/python/PY013-mutable-default-arg.d.ts.map +1 -0
  87. package/dist/structural-rules/python/PY013-mutable-default-arg.js +73 -0
  88. package/dist/structural-rules/python/PY013-mutable-default-arg.js.map +1 -0
  89. package/dist/structural-rules/python/PY014-fixed-sleep-retry.d.ts +11 -0
  90. package/dist/structural-rules/python/PY014-fixed-sleep-retry.d.ts.map +1 -0
  91. package/dist/structural-rules/python/PY014-fixed-sleep-retry.js +115 -0
  92. package/dist/structural-rules/python/PY014-fixed-sleep-retry.js.map +1 -0
  93. package/dist/structural-rules/types.d.ts +12 -0
  94. package/dist/structural-rules/types.d.ts.map +1 -1
  95. package/dist/utils/verify-runtime-stability.d.ts +142 -0
  96. package/dist/utils/verify-runtime-stability.d.ts.map +1 -0
  97. package/dist/utils/verify-runtime-stability.js +230 -0
  98. package/dist/utils/verify-runtime-stability.js.map +1 -0
  99. package/package.json +1 -1
@@ -0,0 +1,230 @@
1
+ "use strict";
2
+ /**
3
+ * Verify Runtime Stability (Phase 4 — Verify Runtime Stability)
4
+ *
5
+ * Bounded execution guarantees for enterprise CI environments.
6
+ *
7
+ * Provides:
8
+ * 1. Hard execution timeouts with graceful partial-result preservation
9
+ * 2. Large repo detection and cache-build recommendations
10
+ * 3. Memory pressure tracking with layered degradation
11
+ * 4. Runtime transparency — every degraded mode is explicitly reported
12
+ *
13
+ * Layered degradation order (when memory or time pressure is detected):
14
+ * 1. Semantic layer first (LLM-assisted planning, intent expansion)
15
+ * 2. Advisory systems second (heuristic signals, advisory-only rules)
16
+ * 3. NEVER structural governance — AST-backed structural verification
17
+ * MUST remain operational even under full degradation
18
+ *
19
+ * Design constraints:
20
+ * - All timeouts are configurable via environment variables
21
+ * - Degradation is explicit and reported in verify output
22
+ * - Partial findings are always preserved (never silently dropped)
23
+ * - Structural governance is protected by construction
24
+ */
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.MEMORY_DEGRADE_ADVISORY_THRESHOLD = exports.MEMORY_DEGRADE_SEMANTIC_THRESHOLD = exports.LARGE_REPO_FILE_THRESHOLD = exports.CI_VERIFY_MAX_MS = exports.LOCAL_VERIFY_MAX_MS = void 0;
27
+ exports.createVerifyRuntimeContext = createVerifyRuntimeContext;
28
+ exports.isTimedOut = isTimedOut;
29
+ exports.elapsedMs = elapsedMs;
30
+ exports.remainingMs = remainingMs;
31
+ exports.isTimePressure = isTimePressure;
32
+ exports.getHeapUsedFraction = getHeapUsedFraction;
33
+ exports.applyMemoryPressureDegradation = applyMemoryPressureDegradation;
34
+ exports.estimateRepoFileCount = estimateRepoFileCount;
35
+ exports.applyLargeRepoProtection = applyLargeRepoProtection;
36
+ exports.shouldSkipSemanticLayer = shouldSkipSemanticLayer;
37
+ exports.shouldSkipAdvisoryLayer = shouldSkipAdvisoryLayer;
38
+ exports.buildVerifyRuntimeReport = buildVerifyRuntimeReport;
39
+ const child_process_1 = require("child_process");
40
+ // ── Constants ─────────────────────────────────────────────────────────────────
41
+ /** Local verify max wall-clock time (90s default) */
42
+ exports.LOCAL_VERIFY_MAX_MS = parseInt(process.env['NEURCODE_VERIFY_TIMEOUT_LOCAL'] ?? '', 10) || 90_000;
43
+ /** CI verify max wall-clock time (180s default) */
44
+ exports.CI_VERIFY_MAX_MS = parseInt(process.env['NEURCODE_VERIFY_TIMEOUT_CI'] ?? '', 10) || 180_000;
45
+ /** Repo size threshold for large-repo warning (10,000 files) */
46
+ exports.LARGE_REPO_FILE_THRESHOLD = parseInt(process.env['NEURCODE_LARGE_REPO_THRESHOLD'] ?? '', 10) || 10_000;
47
+ /** Heap usage fraction above which semantic layer is degraded (0.75 = 75%) */
48
+ exports.MEMORY_DEGRADE_SEMANTIC_THRESHOLD = 0.75;
49
+ /** Heap usage fraction above which advisory layer is degraded (0.90 = 90%) */
50
+ exports.MEMORY_DEGRADE_ADVISORY_THRESHOLD = 0.90;
51
+ // ── Runtime context ───────────────────────────────────────────────────────────
52
+ /**
53
+ * Create a new verify runtime context.
54
+ * Call once at the start of verify execution.
55
+ */
56
+ function createVerifyRuntimeContext(isCI) {
57
+ return {
58
+ isCI,
59
+ timeoutMs: isCI ? exports.CI_VERIFY_MAX_MS : exports.LOCAL_VERIFY_MAX_MS,
60
+ startedAt: Date.now(),
61
+ degradedLayers: new Set(),
62
+ degradationReasons: [],
63
+ skippedSubsystems: [],
64
+ largeRepoMode: false,
65
+ estimatedFileCount: null,
66
+ };
67
+ }
68
+ // ── Time pressure ─────────────────────────────────────────────────────────────
69
+ /**
70
+ * Check if the verify execution has exceeded its time budget.
71
+ *
72
+ * @returns true if timeout has been exceeded
73
+ */
74
+ function isTimedOut(ctx) {
75
+ return (Date.now() - ctx.startedAt) >= ctx.timeoutMs;
76
+ }
77
+ /**
78
+ * Get elapsed time in milliseconds since verify started.
79
+ */
80
+ function elapsedMs(ctx) {
81
+ return Date.now() - ctx.startedAt;
82
+ }
83
+ /**
84
+ * Get remaining time in milliseconds before timeout.
85
+ */
86
+ function remainingMs(ctx) {
87
+ return Math.max(0, ctx.timeoutMs - elapsedMs(ctx));
88
+ }
89
+ /**
90
+ * Check if remaining time is below a given threshold.
91
+ * Use to preemptively skip expensive operations.
92
+ *
93
+ * @param ctx Runtime context
94
+ * @param thresholdMs Time threshold in ms (default: 5000ms)
95
+ */
96
+ function isTimePressure(ctx, thresholdMs = 5_000) {
97
+ return remainingMs(ctx) < thresholdMs;
98
+ }
99
+ // ── Memory pressure ───────────────────────────────────────────────────────────
100
+ /**
101
+ * Get current heap usage as a fraction of heap limit.
102
+ * Returns 0 if measurement is unavailable.
103
+ */
104
+ function getHeapUsedFraction() {
105
+ try {
106
+ const mem = process.memoryUsage();
107
+ if (mem.heapTotal > 0) {
108
+ return mem.heapUsed / mem.heapTotal;
109
+ }
110
+ }
111
+ catch {
112
+ // Non-fatal
113
+ }
114
+ return 0;
115
+ }
116
+ /**
117
+ * Check memory pressure and apply layered degradation if needed.
118
+ *
119
+ * Degradation order:
120
+ * 1. 75% heap: degrade semantic layer (LLM intent expansion etc.)
121
+ * 2. 90% heap: degrade advisory layer (heuristic signals etc.)
122
+ * Structural governance is NEVER degraded by memory pressure.
123
+ *
124
+ * @param ctx Runtime context (mutated to record degradation)
125
+ */
126
+ function applyMemoryPressureDegradation(ctx) {
127
+ const fraction = getHeapUsedFraction();
128
+ if (fraction >= exports.MEMORY_DEGRADE_ADVISORY_THRESHOLD && !ctx.degradedLayers.has('advisory')) {
129
+ ctx.degradedLayers.add('advisory');
130
+ ctx.degradationReasons.push(`Heap usage at ${Math.round(fraction * 100)}% exceeded advisory threshold ` +
131
+ `(${Math.round(exports.MEMORY_DEGRADE_ADVISORY_THRESHOLD * 100)}%) — advisory layer degraded`);
132
+ ctx.skippedSubsystems.push('advisory-signals', 'heuristic-rules');
133
+ }
134
+ if (fraction >= exports.MEMORY_DEGRADE_SEMANTIC_THRESHOLD && !ctx.degradedLayers.has('semantic')) {
135
+ ctx.degradedLayers.add('semantic');
136
+ ctx.degradationReasons.push(`Heap usage at ${Math.round(fraction * 100)}% exceeded semantic threshold ` +
137
+ `(${Math.round(exports.MEMORY_DEGRADE_SEMANTIC_THRESHOLD * 100)}%) — semantic layer degraded`);
138
+ ctx.skippedSubsystems.push('intent-expansion', 'llm-planning');
139
+ }
140
+ }
141
+ // ── Large repo detection ──────────────────────────────────────────────────────
142
+ /**
143
+ * Estimate the number of tracked files in the git repository.
144
+ * Returns null if git is unavailable or the command fails.
145
+ */
146
+ function estimateRepoFileCount(projectRoot) {
147
+ try {
148
+ const output = (0, child_process_1.execSync)('git ls-files --cached | wc -l', {
149
+ cwd: projectRoot,
150
+ encoding: 'utf-8',
151
+ timeout: 5000,
152
+ stdio: ['ignore', 'pipe', 'ignore'],
153
+ });
154
+ const count = parseInt(output.trim(), 10);
155
+ return Number.isFinite(count) ? count : null;
156
+ }
157
+ catch {
158
+ return null;
159
+ }
160
+ }
161
+ /**
162
+ * Check if the repo qualifies as a large repo and apply appropriate guidance.
163
+ *
164
+ * If file count exceeds LARGE_REPO_FILE_THRESHOLD:
165
+ * - Sets ctx.largeRepoMode = true
166
+ * - Adds a cache-build recommendation to degradationReasons
167
+ * - Does NOT degrade structural governance
168
+ *
169
+ * @param ctx Runtime context (mutated)
170
+ * @param projectRoot Project root path
171
+ */
172
+ function applyLargeRepoProtection(ctx, projectRoot) {
173
+ const count = estimateRepoFileCount(projectRoot);
174
+ ctx.estimatedFileCount = count;
175
+ if (count !== null && count > exports.LARGE_REPO_FILE_THRESHOLD) {
176
+ ctx.largeRepoMode = true;
177
+ ctx.degradationReasons.push(`Large repo detected (${count.toLocaleString()} tracked files, threshold: ` +
178
+ `${exports.LARGE_REPO_FILE_THRESHOLD.toLocaleString()}). ` +
179
+ `Structural cache warm-up recommended: run \`neurcode cache build\` before CI. ` +
180
+ `Semantic state will NOT be rebuilt synchronously in CI mode.`);
181
+ if (ctx.isCI) {
182
+ ctx.skippedSubsystems.push('synchronous-semantic-state-rebuild');
183
+ }
184
+ }
185
+ }
186
+ // ── Degradation guards ────────────────────────────────────────────────────────
187
+ /**
188
+ * Return true if the semantic layer should be skipped.
189
+ * Call before any LLM-assisted or semantic expansion operations.
190
+ */
191
+ function shouldSkipSemanticLayer(ctx) {
192
+ return ctx.degradedLayers.has('semantic') || isTimePressure(ctx, 10_000);
193
+ }
194
+ /**
195
+ * Return true if the advisory layer should be skipped.
196
+ * Call before any heuristic or advisory-only operations.
197
+ */
198
+ function shouldSkipAdvisoryLayer(ctx) {
199
+ return ctx.degradedLayers.has('advisory') || isTimePressure(ctx, 3_000);
200
+ }
201
+ // ── Report generation ─────────────────────────────────────────────────────────
202
+ /**
203
+ * Build a runtime transparency report from the context.
204
+ * Include this in verify JSON output when --ci flag is set.
205
+ */
206
+ function buildVerifyRuntimeReport(ctx) {
207
+ const heapFraction = getHeapUsedFraction();
208
+ let memoryMb = 0;
209
+ try {
210
+ memoryMb = Math.round(process.memoryUsage().heapUsed / 1024 / 1024);
211
+ }
212
+ catch {
213
+ // Non-fatal
214
+ }
215
+ return {
216
+ degraded: ctx.degradedLayers.size > 0 || ctx.largeRepoMode,
217
+ degradedLayers: [...ctx.degradedLayers],
218
+ degradationReasons: [...ctx.degradationReasons],
219
+ skippedSubsystems: [...ctx.skippedSubsystems],
220
+ largeRepoMode: ctx.largeRepoMode,
221
+ estimatedFileCount: ctx.estimatedFileCount,
222
+ elapsedMs: elapsedMs(ctx),
223
+ timeoutMs: ctx.timeoutMs,
224
+ remainingMs: remainingMs(ctx),
225
+ memoryUsageMb: memoryMb,
226
+ heapUsedFraction: Math.round(heapFraction * 1000) / 1000,
227
+ structuralGovernanceOperational: true,
228
+ };
229
+ }
230
+ //# sourceMappingURL=verify-runtime-stability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-runtime-stability.js","sourceRoot":"","sources":["../../src/utils/verify-runtime-stability.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neurcode-ai/cli",
3
- "version": "0.9.65",
3
+ "version": "0.9.66",
4
4
  "description": "Neurcode CLI - AI code governance and diff analysis",
5
5
  "bin": {
6
6
  "neurcode": "dist/index.js"