@mmnto/cli 1.12.0 → 1.13.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.
- package/dist/commands/compile-templates.d.ts +1 -1
- package/dist/commands/compile-templates.d.ts.map +1 -1
- package/dist/commands/compile-templates.js +56 -39
- package/dist/commands/compile-templates.js.map +1 -1
- package/dist/commands/compile-upgrade.test.d.ts +2 -0
- package/dist/commands/compile-upgrade.test.d.ts.map +1 -0
- package/dist/commands/compile-upgrade.test.js +161 -0
- package/dist/commands/compile-upgrade.test.js.map +1 -0
- package/dist/commands/compile.d.ts +40 -1
- package/dist/commands/compile.d.ts.map +1 -1
- package/dist/commands/compile.js +160 -8
- package/dist/commands/compile.js.map +1 -1
- package/dist/commands/config-drift.test.js +10 -5
- package/dist/commands/config-drift.test.js.map +1 -1
- package/dist/commands/doctor.d.ts +32 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +217 -6
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/doctor.test.js +258 -2
- package/dist/commands/doctor.test.js.map +1 -1
- package/dist/commands/run-compiled-rules.d.ts.map +1 -1
- package/dist/commands/run-compiled-rules.js +2 -1
- package/dist/commands/run-compiled-rules.js.map +1 -1
- package/dist/commands/test-rules.d.ts.map +1 -1
- package/dist/commands/test-rules.js +10 -3
- package/dist/commands/test-rules.js.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/commands/doctor.js
CHANGED
|
@@ -384,6 +384,118 @@ export function checkSecretsFileTracked(cwd, totemDir = '.totem') {
|
|
|
384
384
|
message: 'secrets.json is not tracked by git',
|
|
385
385
|
};
|
|
386
386
|
}
|
|
387
|
+
// ─── Upgrade candidate check (mmnto/totem#1131) ────────────────────
|
|
388
|
+
/**
|
|
389
|
+
* Pure helper: scan compiled rules + metrics and return structured upgrade candidates.
|
|
390
|
+
* Used by both `checkUpgradeCandidates` (read-only diagnostic) and `runSelfHealing`
|
|
391
|
+
* (auto-recompile phase). Returns null if rules/metrics cannot be loaded.
|
|
392
|
+
*
|
|
393
|
+
* IMPORTANT: Uses `contextCounts` (per-context match buckets), NOT `triggerCount`
|
|
394
|
+
* (the rolled-up total). `triggerCount` includes ALL matches, not just code matches.
|
|
395
|
+
*/
|
|
396
|
+
export async function findUpgradeCandidates(cwd, totemDir = '.totem') {
|
|
397
|
+
const totemDirAbs = path.join(cwd, totemDir);
|
|
398
|
+
const rulesPath = path.join(totemDirAbs, 'compiled-rules.json');
|
|
399
|
+
if (!fs.existsSync(rulesPath))
|
|
400
|
+
return null;
|
|
401
|
+
try {
|
|
402
|
+
// Dynamic import to avoid top-level @mmnto/totem dep (mirrors GC phase)
|
|
403
|
+
const { loadCompiledRulesFile, loadRuleMetrics } = await import('@mmnto/totem');
|
|
404
|
+
const rulesFile = loadCompiledRulesFile(rulesPath);
|
|
405
|
+
const metricsFile = loadRuleMetrics(totemDirAbs);
|
|
406
|
+
const candidates = [];
|
|
407
|
+
for (const rule of rulesFile.rules) {
|
|
408
|
+
// Only regex rules carry trustworthy non-code telemetry. `ast-grep` rules
|
|
409
|
+
// are already structural; the legacy `ast` (Tree-sitter) engine does not
|
|
410
|
+
// populate `astContext`, so its hits land in the `unknown` bucket and
|
|
411
|
+
// cannot be reasoned about here.
|
|
412
|
+
if (rule.engine !== 'regex')
|
|
413
|
+
continue;
|
|
414
|
+
// Skip manual regex rules. Manual rules take the Pipeline 1 path in
|
|
415
|
+
// `compileLesson`, which never receives `telemetryPrefix` — so a
|
|
416
|
+
// `--upgrade` run on a manual rule would just recompile the same
|
|
417
|
+
// hand-written pattern and produce a permanent false positive. Manual
|
|
418
|
+
// rules are recognizable by `lessonHeading === message` (see the same
|
|
419
|
+
// shape check in compile.ts `logCompiledRule`).
|
|
420
|
+
if (rule.lessonHeading === rule.message)
|
|
421
|
+
continue;
|
|
422
|
+
const metric = metricsFile.rules[rule.lessonHash];
|
|
423
|
+
if (!metric || !metric.contextCounts)
|
|
424
|
+
continue;
|
|
425
|
+
// Exclude `unknown` from both numerator and denominator — it represents
|
|
426
|
+
// historical / unclassified telemetry (pre-context-aware hits, or seeding
|
|
427
|
+
// via `triggerCount - 1`) and is not evidence of non-code leakage.
|
|
428
|
+
// The `?? 0` defaults are defensive: the Zod schema at
|
|
429
|
+
// packages/core/src/rule-metrics.ts declares every contextCounts field
|
|
430
|
+
// as a non-negative integer, but a hand-edited rule-metrics.json could
|
|
431
|
+
// bypass that and produce NaN in the arithmetic below.
|
|
432
|
+
const cc = metric.contextCounts;
|
|
433
|
+
const code = cc.code ?? 0;
|
|
434
|
+
const strings = cc.string ?? 0;
|
|
435
|
+
const comments = cc.comment ?? 0;
|
|
436
|
+
const regexes = cc.regex ?? 0;
|
|
437
|
+
const classifiedTotal = code + strings + comments + regexes;
|
|
438
|
+
if (classifiedTotal < MIN_CONTEXT_EVENTS)
|
|
439
|
+
continue;
|
|
440
|
+
const nonCodeRatio = (strings + comments + regexes) / classifiedTotal;
|
|
441
|
+
if (nonCodeRatio > NON_CODE_THRESHOLD) {
|
|
442
|
+
candidates.push({
|
|
443
|
+
lessonHash: rule.lessonHash,
|
|
444
|
+
heading: rule.lessonHeading ?? rule.lessonHash,
|
|
445
|
+
engine: 'regex',
|
|
446
|
+
total: classifiedTotal,
|
|
447
|
+
codeCount: code,
|
|
448
|
+
nonCodeRatio,
|
|
449
|
+
});
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
// Highest non-code ratio first for human readability
|
|
453
|
+
return candidates.sort((a, b) => b.nonCodeRatio - a.nonCodeRatio);
|
|
454
|
+
}
|
|
455
|
+
catch {
|
|
456
|
+
return null;
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
/**
|
|
460
|
+
* Find regex/ast rules whose telemetry shows >NON_CODE_THRESHOLD of matches landing
|
|
461
|
+
* in non-code contexts (strings, comments, regex literals). These are good candidates
|
|
462
|
+
* for being upgraded to structural ast-grep patterns via `totem compile --upgrade`.
|
|
463
|
+
*/
|
|
464
|
+
export async function checkUpgradeCandidates(cwd, totemDir = '.totem') {
|
|
465
|
+
const rulesPath = path.join(cwd, totemDir, 'compiled-rules.json');
|
|
466
|
+
if (!fs.existsSync(rulesPath)) {
|
|
467
|
+
return {
|
|
468
|
+
name: 'Upgrade Candidates',
|
|
469
|
+
status: 'skip',
|
|
470
|
+
message: 'compiled-rules.json missing',
|
|
471
|
+
};
|
|
472
|
+
}
|
|
473
|
+
const candidates = await findUpgradeCandidates(cwd, totemDir);
|
|
474
|
+
if (candidates === null) {
|
|
475
|
+
return {
|
|
476
|
+
name: 'Upgrade Candidates',
|
|
477
|
+
status: 'skip',
|
|
478
|
+
message: 'Could not analyze rules',
|
|
479
|
+
};
|
|
480
|
+
}
|
|
481
|
+
if (candidates.length === 0) {
|
|
482
|
+
return {
|
|
483
|
+
name: 'Upgrade Candidates',
|
|
484
|
+
status: 'pass',
|
|
485
|
+
message: 'No regex rules exceed non-code threshold',
|
|
486
|
+
};
|
|
487
|
+
}
|
|
488
|
+
const summary = candidates
|
|
489
|
+
.map((c) => `${c.lessonHash} (${c.engine}, ${(c.nonCodeRatio * 100).toFixed(0)}% non-code, ${c.total} matches)`)
|
|
490
|
+
.join(', ');
|
|
491
|
+
const firstHash = candidates[0].lessonHash;
|
|
492
|
+
return {
|
|
493
|
+
name: 'Upgrade Candidates',
|
|
494
|
+
status: 'warn',
|
|
495
|
+
message: `${candidates.length} rule(s) firing in non-code contexts: ${summary}`,
|
|
496
|
+
remediation: `Run \`totem compile --upgrade ${firstHash}\` to re-compile through Claude Sonnet with telemetry guidance.`,
|
|
497
|
+
};
|
|
498
|
+
}
|
|
387
499
|
// ─── Output formatting ──────────────────────────────────
|
|
388
500
|
function statusIcon(status) {
|
|
389
501
|
switch (status) {
|
|
@@ -424,14 +536,32 @@ function formatResult(result) {
|
|
|
424
536
|
export const BYPASS_THRESHOLD = 0.3;
|
|
425
537
|
/** Minimum total events (triggers + bypasses) required before acting on a rule. */
|
|
426
538
|
export const MIN_EVENTS = 5;
|
|
539
|
+
// ─── Upgrade-candidate constants (mmnto/totem#1131) ────────────────
|
|
540
|
+
/** Non-code match ratio above which a regex/ast rule is flagged for ast-grep upgrade. */
|
|
541
|
+
export const NON_CODE_THRESHOLD = 0.2; // 20%+ non-code matches → upgrade candidate
|
|
542
|
+
/** Minimum total context events required before flagging a rule as an upgrade candidate. */
|
|
543
|
+
export const MIN_CONTEXT_EVENTS = 5;
|
|
427
544
|
// ─── Self-healing flow ──────────────────────────────────
|
|
545
|
+
// totem-context: spawnSync, fs, path, and pc are static imports at lines 1-5 of this file. The review pipeline only sees diff hunks, so new references to these symbols far from the import block should not be flagged as undefined.
|
|
428
546
|
export async function runSelfHealing(cwd) {
|
|
547
|
+
// Note: we do NOT pre-flight `gh` here. The diagnostic + downgrade + upgrade
|
|
548
|
+
// work is still valuable on a machine without gh installed — the user just
|
|
549
|
+
// can't auto-open a PR. The try/catch around `gh pr create` below catches the
|
|
550
|
+
// missing-dependency case and tells the user how to push + open the PR
|
|
551
|
+
// manually, which is better UX than aborting all the work up front. (The
|
|
552
|
+
// original GCA suggestion to add requireGhCli() matches commands like
|
|
553
|
+
// `triage-pr` whose sole purpose is PR interaction; doctor's purpose is
|
|
554
|
+
// diagnosis, so gh is a nice-to-have, not a hard requirement.)
|
|
429
555
|
// Load config to get totemDir
|
|
430
556
|
const { loadConfig, resolveConfigPath } = await import('../utils.js');
|
|
431
557
|
const configPath = resolveConfigPath(cwd);
|
|
432
558
|
const config = await loadConfig(configPath);
|
|
433
559
|
const totemDir = path.join(cwd, config.totemDir);
|
|
434
560
|
const rulesPath = path.join(totemDir, 'compiled-rules.json');
|
|
561
|
+
// compileCommand rewrites this file on every --upgrade call, so the
|
|
562
|
+
// upgrade phase needs to stage it alongside compiled-rules.json (or revert
|
|
563
|
+
// it if no actual changes land) to keep the working tree clean.
|
|
564
|
+
const manifestPath = path.join(totemDir, 'compile-manifest.json');
|
|
435
565
|
console.error(`\n${pc.cyan('[Auto-Healing]')} Analyzing Trap Ledger...`);
|
|
436
566
|
const { analyzeLedger } = await import('./ledger-analyzer.js');
|
|
437
567
|
const stats = await analyzeLedger(totemDir, (msg) => console.error(pc.dim(` ${msg}`)));
|
|
@@ -497,7 +627,8 @@ export async function runSelfHealing(cwd) {
|
|
|
497
627
|
const gcConfig = config.garbageCollection;
|
|
498
628
|
if (gcConfig && gcConfig.enabled !== false && !gitDirty) {
|
|
499
629
|
console.error(`\n${pc.cyan('[Auto-Healing]')} Checking for stale rules to archive...`);
|
|
500
|
-
|
|
630
|
+
// fs is statically imported at the top of this file (line 2); no need to
|
|
631
|
+
// re-import dynamically here (mmnto/totem#1234 CR cleanup).
|
|
501
632
|
if (!fs.existsSync(rulesPath)) {
|
|
502
633
|
console.error(pc.dim(' No compiled-rules.json found. Skipping GC.'));
|
|
503
634
|
}
|
|
@@ -533,7 +664,65 @@ export async function runSelfHealing(cwd) {
|
|
|
533
664
|
}
|
|
534
665
|
} // end fs.existsSync guard
|
|
535
666
|
}
|
|
536
|
-
|
|
667
|
+
// ─── Upgrade phase: re-compile flagged rules through Sonnet (mmnto/totem#1131) ─
|
|
668
|
+
const upgraded = [];
|
|
669
|
+
// Set to true whenever we invoke compileCommand({ upgrade }) — even for a
|
|
670
|
+
// noop outcome — because each call rewrites compile-manifest.json. Drives
|
|
671
|
+
// the manifest-revert / manifest-stage decision below.
|
|
672
|
+
let upgradePhaseTouchedManifest = false;
|
|
673
|
+
if (!gitDirty) {
|
|
674
|
+
console.error(`\n${pc.cyan('[Auto-Healing]')} Checking for ast-grep upgrade candidates...`);
|
|
675
|
+
const candidates = await findUpgradeCandidates(cwd, config.totemDir);
|
|
676
|
+
if (candidates === null || candidates.length === 0) {
|
|
677
|
+
console.error(pc.dim(' No rules flagged for upgrade.'));
|
|
678
|
+
}
|
|
679
|
+
else {
|
|
680
|
+
console.error(` Found ${candidates.length} upgrade candidate(s). Re-compiling...`);
|
|
681
|
+
// Call compileCommand directly (avoids shelling out — works regardless of pnpm/npm/global install).
|
|
682
|
+
// Each call mutates compiled-rules.json and compile-manifest.json in-place.
|
|
683
|
+
const { compileCommand } = await import('./compile.js');
|
|
684
|
+
for (const cand of candidates) {
|
|
685
|
+
try {
|
|
686
|
+
const outcome = await compileCommand({ upgrade: cand.lessonHash });
|
|
687
|
+
upgradePhaseTouchedManifest = true;
|
|
688
|
+
// Only count actual replacements. `skipped` / `noop` / `failed` all
|
|
689
|
+
// return normally but leave no real upgrade to report (mmnto/totem#1234
|
|
690
|
+
// CR finding — avoids lying in the auto-heal PR body).
|
|
691
|
+
if (outcome?.status === 'replaced') {
|
|
692
|
+
upgraded.push(cand);
|
|
693
|
+
console.error(` ${pc.green('↑')} ${cand.heading} (${(cand.nonCodeRatio * 100).toFixed(0)}% non-code)`);
|
|
694
|
+
}
|
|
695
|
+
else if (outcome?.status === 'skipped') {
|
|
696
|
+
console.error(pc.dim(` - ${cand.heading} — compiler marked non-compilable; no upgrade`));
|
|
697
|
+
}
|
|
698
|
+
else {
|
|
699
|
+
console.error(pc.dim(` - ${cand.heading} — no change`));
|
|
700
|
+
}
|
|
701
|
+
}
|
|
702
|
+
catch (err) {
|
|
703
|
+
// compileCommand can throw on config errors, network hard failures,
|
|
704
|
+
// etc. Even a thrown error means the manifest may have been touched
|
|
705
|
+
// before the throw, so keep the flag set above.
|
|
706
|
+
upgradePhaseTouchedManifest = true;
|
|
707
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
708
|
+
console.error(pc.yellow(` - ${cand.heading} — upgrade failed: ${msg}`));
|
|
709
|
+
}
|
|
710
|
+
}
|
|
711
|
+
if (upgraded.length > 0) {
|
|
712
|
+
console.error(`\n ${pc.green(`Upgraded ${upgraded.length} rule(s) via telemetry.`)}`);
|
|
713
|
+
}
|
|
714
|
+
}
|
|
715
|
+
}
|
|
716
|
+
if (downgraded.length === 0 && archivedCount === 0 && upgraded.length === 0) {
|
|
717
|
+
// If the upgrade phase called compileCommand at all (even for candidates
|
|
718
|
+
// that ended in noop/skipped/failed), compile-manifest.json was rewritten.
|
|
719
|
+
// Revert it so the working tree on the original branch stays clean
|
|
720
|
+
// (mmnto/totem#1234 CR finding). spawnSync is imported at the top of this
|
|
721
|
+
// file; stdio: 'ignore' + no status check makes the call a silent no-op
|
|
722
|
+
// if the file is already clean or the checkout fails for any reason.
|
|
723
|
+
if (upgradePhaseTouchedManifest) {
|
|
724
|
+
spawnSync('git', ['checkout', '--', manifestPath], { cwd, stdio: 'ignore' });
|
|
725
|
+
}
|
|
537
726
|
return;
|
|
538
727
|
}
|
|
539
728
|
// Create branch and PR
|
|
@@ -559,7 +748,16 @@ export async function runSelfHealing(cwd) {
|
|
|
559
748
|
try {
|
|
560
749
|
run('git', ['checkout', '-b', branchName]);
|
|
561
750
|
branchCreated = true;
|
|
562
|
-
|
|
751
|
+
// Stage compile-manifest.json alongside compiled-rules.json when the
|
|
752
|
+
// upgrade phase ran — otherwise the temp branch will diverge from the
|
|
753
|
+
// working tree and the checkout back to originalBranch can fail
|
|
754
|
+
// (mmnto/totem#1234 CR finding).
|
|
755
|
+
if (upgradePhaseTouchedManifest && fs.existsSync(manifestPath)) {
|
|
756
|
+
run('git', ['add', rulesPath, manifestPath]);
|
|
757
|
+
}
|
|
758
|
+
else {
|
|
759
|
+
run('git', ['add', rulesPath]);
|
|
760
|
+
}
|
|
563
761
|
// Build commit message
|
|
564
762
|
const parts = [];
|
|
565
763
|
if (downgraded.length > 0) {
|
|
@@ -571,7 +769,14 @@ export async function runSelfHealing(cwd) {
|
|
|
571
769
|
if (archivedCount > 0) {
|
|
572
770
|
parts.push(`Archived ${archivedCount} stale rule(s)`);
|
|
573
771
|
}
|
|
574
|
-
|
|
772
|
+
if (upgraded.length > 0) {
|
|
773
|
+
const ruleList = upgraded
|
|
774
|
+
.map((u) => `- ${u.heading} (${(u.nonCodeRatio * 100).toFixed(0)}% non-code)`)
|
|
775
|
+
.join('\n');
|
|
776
|
+
parts.push(`Upgraded ${upgraded.length} rule(s) via telemetry diagnostic:\n${ruleList}`);
|
|
777
|
+
}
|
|
778
|
+
const totalChanges = downgraded.length + archivedCount + upgraded.length;
|
|
779
|
+
const commitMsg = `fix: auto-heal ${totalChanges} rule(s)\n\n${parts.join('\n\n')}\n\nGenerated by totem doctor --pr`;
|
|
575
780
|
run('git', ['commit', '-m', commitMsg]);
|
|
576
781
|
run('git', ['push', '-u', 'origin', branchName]);
|
|
577
782
|
// Build PR body
|
|
@@ -582,9 +787,14 @@ export async function runSelfHealing(cwd) {
|
|
|
582
787
|
if (archivedCount > 0) {
|
|
583
788
|
prBodyParts.push(`### Archives`, '', `${archivedCount} stale rule(s) with zero activity past their minimum age have been archived.`, '');
|
|
584
789
|
}
|
|
585
|
-
|
|
790
|
+
if (upgraded.length > 0) {
|
|
791
|
+
prBodyParts.push(`### Upgrades (mmnto/totem#1131)`, '', `${upgraded.length} rule(s) were re-compiled through Claude Sonnet because telemetry showed >${NON_CODE_THRESHOLD * 100}% of matches landing in non-code contexts.`, '', '| Rule | Hash | Non-Code Ratio |', '|---|---|---|', ...upgraded.map((u) => `| ${u.heading} | \`${u.lessonHash}\` | ${(u.nonCodeRatio * 100).toFixed(0)}% |`), '');
|
|
792
|
+
}
|
|
793
|
+
prBodyParts.push('These rules are not deleted (ADR-027). Downgraded rules continue to fire as warnings. Archived rules are skipped during lint but preserved for audit. Upgraded rules retain the same lessonHash but ship with a structural ast-grep pattern.', '', 'Generated by `totem doctor --pr`');
|
|
586
794
|
const prBody = prBodyParts.join('\n');
|
|
587
|
-
const prTitle =
|
|
795
|
+
const prTitle = upgraded.length > 0 && downgraded.length === 0 && archivedCount === 0
|
|
796
|
+
? `chore(doctor): upgrade ${upgraded.length} rule(s) to ast-grep via telemetry diagnostic`
|
|
797
|
+
: `fix: auto-heal ${totalChanges} rule(s)`;
|
|
588
798
|
run('gh', ['pr', 'create', '--title', prTitle, '--body', prBody]);
|
|
589
799
|
console.error(pc.green(`\n PR created on branch ${branchName}`));
|
|
590
800
|
}
|
|
@@ -617,6 +827,7 @@ export async function doctorCommand(options = {}) {
|
|
|
617
827
|
checkIndex(cwd),
|
|
618
828
|
await checkSecretLeaks(cwd),
|
|
619
829
|
checkSecretsFileTracked(cwd),
|
|
830
|
+
await checkUpgradeCandidates(cwd),
|
|
620
831
|
];
|
|
621
832
|
for (const result of results) {
|
|
622
833
|
console.error(formatResult(result));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|