@mmnto/totem 1.55.1 → 1.57.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.
@@ -36,6 +36,7 @@ import * as crypto from 'node:crypto';
36
36
  import * as fs from 'node:fs';
37
37
  import * as path from 'node:path';
38
38
  import semver from 'semver';
39
+ import { PARITY_SENSES } from './parity-manifest.js';
39
40
  import { safeExec } from './sys/exec.js';
40
41
  import { resolveGitRoot } from './sys/git.js';
41
42
  // ─── Constants ──────────────────────────────────────────
@@ -354,13 +355,18 @@ export function detectVersionPinnedContract(contract, ctx) {
354
355
  };
355
356
  }
356
357
  // ── Resolve the consumer's installed version (fallback: minVersion(range)) ──
357
- const installed = resolveInstalledVersion(ctx.cwd, packageName, declaredRange);
358
- if (installed === undefined) {
358
+ const resolved = resolveInstalledVersion(ctx.cwd, packageName, declaredRange);
359
+ if (resolved === undefined) {
359
360
  return {
360
361
  status: 'skip',
361
362
  message: `${packageName} pinned (${declaredRange}) but no resolvable installed version`,
362
363
  };
363
364
  }
365
+ const installed = resolved.version;
366
+ // The verdict-format constraint (296 §6(a)3 post-#605): a minVersion-derived
367
+ // version is a DECLARED-level claim — the message must carry the degraded
368
+ // level + the originating range, never read as installed-level.
369
+ const declaredOnly = resolved.source === 'declared-min';
364
370
  // ── Resolve the cohort floor (local-only; honest-absent on miss) ──
365
371
  const floor = resolveCohortFloor(packageName, ctx.gitRoot);
366
372
  if (!floor.resolved) {
@@ -378,11 +384,24 @@ export function detectVersionPinnedContract(contract, ctx) {
378
384
  // currency, NOT semantic content — a version-pinned contract may never assert
379
385
  // file/content equality.
380
386
  if (semver.gte(installed, floor.version)) {
387
+ if (declaredOnly) {
388
+ return {
389
+ status: 'pass',
390
+ message: `${packageName} pin current at the declared level — declared-min ${installed} from range ${declaredRange} ≥ cohort floor ${floor.version} (${floor.source}); no installed copy resolved`,
391
+ };
392
+ }
381
393
  return {
382
394
  status: 'pass',
383
395
  message: `${packageName} pin current — installed ${installed} ≥ cohort floor ${floor.version} (${floor.source})`,
384
396
  };
385
397
  }
398
+ if (declaredOnly) {
399
+ return {
400
+ status: 'warn',
401
+ message: `${packageName} pin stale at the declared level — declared-min ${installed} from range ${declaredRange} < cohort floor ${floor.version} (${floor.source}); no installed copy resolved`,
402
+ remediation: `Bump the ${packageName} dependency to >= ${floor.version} and reinstall, then re-run totem doctor --parity.`,
403
+ };
404
+ }
386
405
  return {
387
406
  status: 'warn',
388
407
  message: `${packageName} pin stale — declared ${declaredRange}, installed ${installed} < cohort floor ${floor.version} (${floor.source})`,
@@ -396,8 +415,9 @@ export function detectVersionPinnedContract(contract, ctx) {
396
415
  * root `node_modules` rather than the sub-package's, so a cwd-only read would
397
416
  * miss them (GCA review #2071). Mirrors Node's own upward node_modules
398
417
  * resolution. On no hit, falls back to `semver.minVersion(declaredRange)` (the
399
- * floor the caret range implies). Returns undefined only when neither resolves
400
- * to a valid version.
418
+ * floor the caret range implies), tagged `declared-min` so callers render the
419
+ * degraded claim level. Returns undefined only when neither resolves to a
420
+ * valid version.
401
421
  */
402
422
  function resolveInstalledVersion(cwd, packageName, declaredRange) {
403
423
  const segments = packageName.split('/');
@@ -405,7 +425,7 @@ function resolveInstalledVersion(cwd, packageName, declaredRange) {
405
425
  for (;;) {
406
426
  const installedPkg = readPackageJson(path.join(dir, 'node_modules', ...segments, 'package.json'));
407
427
  if (installedPkg?.version !== undefined && semver.valid(installedPkg.version) !== null) {
408
- return installedPkg.version;
428
+ return { version: installedPkg.version, source: 'installed' };
409
429
  }
410
430
  const parent = path.dirname(dir);
411
431
  if (parent === dir)
@@ -415,7 +435,7 @@ function resolveInstalledVersion(cwd, packageName, declaredRange) {
415
435
  // Fallback: the minimum version the declared range admits. `minVersion`
416
436
  // returns a SemVer or null; coerce to the bare version string.
417
437
  const min = semver.minVersion(declaredRange);
418
- return min?.version;
438
+ return min === null ? undefined : { version: min.version, source: 'declared-min' };
419
439
  }
420
440
  /** Find the declared range for `packageName` across the three dep fields, in order. */
421
441
  function findDeclaredRange(pkg, packageName) {
@@ -517,10 +537,16 @@ export function detectManualAttestationContract(contract, ctx) {
517
537
  // range never reaches semver.minVersion (resolveInstalledVersion's fallback). An
518
538
  // unparseable range still surfaces as info (the coupling IS declared), just with
519
539
  // installed unresolved — never a throw, never a warn.
520
- const installed = semver.validRange(declaredRange) !== null
540
+ const resolved = semver.validRange(declaredRange) !== null
521
541
  ? resolveInstalledVersion(ctx.cwd, pkg, declaredRange)
522
542
  : undefined;
523
- const installedText = installed !== undefined ? `installed ${installed}` : 'installed: unresolved';
543
+ // Same verdict-format constraint as the version-pinned path (296 §6(a)3): a
544
+ // minVersion-derived value is a declared-level claim, marked as such.
545
+ const installedText = resolved === undefined
546
+ ? 'installed: unresolved'
547
+ : resolved.source === 'installed'
548
+ ? `installed ${resolved.version}`
549
+ : `declared-min ${resolved.version} from range ${declaredRange} (no installed copy resolved)`;
524
550
  return {
525
551
  status: 'info',
526
552
  message: `${pkg} coupling tracked — declared ${declaredRange}, ${installedText}; no cohort floor (Tenet 16, attest only). ${attestedSuffix}`,
@@ -870,6 +896,174 @@ export function detectGeneratedArtifactContract(ctx) {
870
896
  remediation: `Re-run ${install} to restore the managed ${label}, or remove the local edits before the totem marker so it can be verified independently.`,
871
897
  };
872
898
  }
899
+ /** Rank a senses level on the §6(a)3 scale; -1 for unrecognized values. */
900
+ function senseRank(level) {
901
+ return level === undefined ? -1 : PARITY_SENSES.indexOf(level);
902
+ }
903
+ function readJsonResult(readFile, absPath) {
904
+ let raw;
905
+ try {
906
+ raw = readFile(absPath);
907
+ // totem-context: a throwing injected reader is the probe's degraded-read signal (the never-throws contract); treated as absent rather than crashing the doctor pipeline.
908
+ }
909
+ catch {
910
+ raw = undefined;
911
+ }
912
+ if (raw === undefined)
913
+ return { status: 'absent' };
914
+ try {
915
+ return { status: 'ok', value: JSON.parse(raw) };
916
+ // totem-context: malformed JSON is a first-class `unparseable` outcome the probe maps to an honest `unknown` — never a throw.
917
+ }
918
+ catch {
919
+ return { status: 'unparseable' };
920
+ }
921
+ }
922
+ /**
923
+ * Derive the totem MCP server names registered in a parsed `.mcp.json` doc.
924
+ * Derivation, not a hardcoded name list, so renamed or per-repo servers still
925
+ * match (Tenet 20) — but the signals are deliberately BOUNDED (GCA + Greptile
926
+ * round on the PR): a bare `totem` substring anywhere in a command/arg path
927
+ * would false-positive on unrelated servers under totem-named directories
928
+ * (`/home/totem-projects/other-mcp/run.sh`), and in the settings-floor probe a
929
+ * false positive becomes a spurious governance-floor WARN. An entry counts when:
930
+ * - its NAME contains `totem`, or
931
+ * - its command BASENAME is the totem binary, or
932
+ * - an arg references the `@mmnto` package scope.
933
+ */
934
+ function totemServerNames(doc) {
935
+ if (typeof doc !== 'object' || doc === null)
936
+ return [];
937
+ const servers = doc.mcpServers;
938
+ // Array.isArray guard: a malformed array still satisfies `typeof === 'object'`,
939
+ // and Object.entries over it would derive index-keyed "names" (GCA review).
940
+ if (typeof servers !== 'object' || servers === null || Array.isArray(servers))
941
+ return [];
942
+ const names = [];
943
+ for (const [name, config] of Object.entries(servers)) {
944
+ if (isTotemServer(name, config))
945
+ names.push(name);
946
+ }
947
+ return names;
948
+ }
949
+ /** The bounded totem-server signals for one `.mcp.json` entry (see {@link totemServerNames}). */
950
+ function isTotemServer(name, config) {
951
+ if (name.toLowerCase().includes('totem'))
952
+ return true;
953
+ if (typeof config !== 'object' || config === null)
954
+ return false;
955
+ const command = config.command;
956
+ if (typeof command === 'string') {
957
+ // Basename only, extension-tolerant — the command must BE the totem binary,
958
+ // not merely live under a totem-named path (the Greptile P2 class).
959
+ const base = path.basename(command.trim()).toLowerCase();
960
+ if (base === 'totem' || base === 'totem.exe' || base === 'totem.cmd')
961
+ return true;
962
+ }
963
+ const args = config.args;
964
+ return Array.isArray(args) && args.some((a) => typeof a === 'string' && a.includes('@mmnto'));
965
+ }
966
+ /**
967
+ * Apply the green-halo cap to a would-be `pass`: when the row DECLARES a
968
+ * recognized senses level stronger than what this probe proved, the verdict is
969
+ * `unknown` (the declared contract is unprovable by this probe), never `pass`.
970
+ * Failure verdicts are NOT capped — a failed weaker rung disproves the stronger
971
+ * one (no registration ⇒ certainly not usable).
972
+ */
973
+ function passAtProbedLevel(ctx, confirmation) {
974
+ const probed = senseRank(ctx.probedLevel);
975
+ const declared = senseRank(ctx.declaredSenses);
976
+ if (declared !== -1 && probed !== -1 && probed < declared) {
977
+ return {
978
+ status: 'unknown',
979
+ message: `manifest declares senses: ${ctx.declaredSenses}; this probe proves ${ctx.probedLevel} only — ${confirmation}; ${ctx.declaredSenses} is unprovable by a no-network probe (296 §12.5)`,
980
+ };
981
+ }
982
+ return {
983
+ status: 'pass',
984
+ message: `probed level: ${ctx.probedLevel} — ${confirmation}`,
985
+ };
986
+ }
987
+ /**
988
+ * Detect ONE capability-probe contract (`manifestation: capability-probe`,
989
+ * 296 §6(a)2). Deterministic, local-read-only, NEVER networks, NEVER throws,
990
+ * and NEVER emits `fail` (CLI edge owns promotion) or `info` (probes decide,
991
+ * they do not attest — "sense-only" means no actuator, not an info ceiling;
992
+ * the 296 §6(a)4 settled vocabulary is pass/warn/skip/unknown).
993
+ */
994
+ export function detectCapabilityProbeContract(ctx) {
995
+ const readFile = ctx.readFile ?? readFileText;
996
+ if (ctx.kind === 'mcp-registration') {
997
+ const probe = readJsonResult(readFile, ctx.consumerPath);
998
+ if (probe.status === 'absent') {
999
+ return {
1000
+ status: 'warn',
1001
+ message: `no .mcp.json at ${ctx.consumerPath} — no registered query path on this agent surface`,
1002
+ remediation: 'Register the totem MCP server in .mcp.json (totem init scaffolds it), or use `pnpm exec totem search` as the non-MCP transport.',
1003
+ };
1004
+ }
1005
+ if (probe.status === 'unparseable') {
1006
+ return {
1007
+ status: 'unknown',
1008
+ message: `${ctx.consumerPath} is unparseable JSON — registration unprovable either way`,
1009
+ remediation: 'Fix the .mcp.json syntax, then re-run totem doctor --parity.',
1010
+ };
1011
+ }
1012
+ const names = totemServerNames(probe.value);
1013
+ if (names.length === 0) {
1014
+ return {
1015
+ status: 'warn',
1016
+ message: `.mcp.json registers no totem MCP server — no registered query path on this agent surface`,
1017
+ remediation: 'Register the totem MCP server in .mcp.json (totem init scaffolds it), or use `pnpm exec totem search` as the non-MCP transport.',
1018
+ };
1019
+ }
1020
+ return passAtProbedLevel(ctx, `totem MCP server(s) [${names.join(', ')}] registered in .mcp.json`);
1021
+ }
1022
+ // ── settings-floor ──
1023
+ const probe = readJsonResult(readFile, ctx.consumerPath);
1024
+ if (probe.status === 'absent') {
1025
+ // The floor is "not suppressed", never "explicitly configured" — an absent
1026
+ // settings file suppresses nothing (canonical-at-intent-altitude, 296 §6(c)).
1027
+ return passAtProbedLevel(ctx, `no ${path.basename(ctx.consumerPath)} present; governance floor not suppressed (absent = unsuppressed)`);
1028
+ }
1029
+ if (probe.status === 'unparseable') {
1030
+ return {
1031
+ status: 'unknown',
1032
+ message: `${ctx.consumerPath} is unparseable JSON — the governance floor is unprovable either way`,
1033
+ remediation: 'Fix the settings JSON syntax, then re-run totem doctor --parity.',
1034
+ };
1035
+ }
1036
+ // Array guard mirrors totemServerNames (GCA round 3): an array settings doc
1037
+ // is shape-invalid, cannot express suppression, and must not be walked as a
1038
+ // key-value object — it degrades to the empty (suppresses-nothing) shape.
1039
+ const settings = typeof probe.value === 'object' && probe.value !== null && !Array.isArray(probe.value)
1040
+ ? probe.value
1041
+ : {};
1042
+ if (settings['disableAllHooks'] === true) {
1043
+ return {
1044
+ status: 'warn',
1045
+ message: `governance floor suppressed — disableAllHooks: true in ${ctx.consumerPath} (SessionStart orientation cannot fire)`,
1046
+ remediation: 'Remove disableAllHooks (or scope the suppression below the governance hooks) to restore the minimum-capability floor.',
1047
+ };
1048
+ }
1049
+ const disabledRaw = settings['disabledMcpjsonServers'];
1050
+ const disabled = Array.isArray(disabledRaw)
1051
+ ? disabledRaw.filter((v) => typeof v === 'string')
1052
+ : [];
1053
+ if (disabled.length > 0 && ctx.mcpJsonPath !== undefined) {
1054
+ const mcpProbe = readJsonResult(readFile, ctx.mcpJsonPath);
1055
+ const totemNames = mcpProbe.status === 'ok' ? totemServerNames(mcpProbe.value) : [];
1056
+ const suppressed = totemNames.filter((n) => disabled.includes(n));
1057
+ if (suppressed.length > 0) {
1058
+ return {
1059
+ status: 'warn',
1060
+ message: `governance floor suppressed — totem MCP server(s) [${suppressed.join(', ')}] listed in disabledMcpjsonServers in ${ctx.consumerPath}`,
1061
+ remediation: 'Remove the totem MCP server(s) from disabledMcpjsonServers to restore the minimum-capability floor.',
1062
+ };
1063
+ }
1064
+ }
1065
+ return passAtProbedLevel(ctx, `governance floor not suppressed in ${path.basename(ctx.consumerPath)}`);
1066
+ }
873
1067
  // ─── Shared filesystem helpers ──────────────────────────
874
1068
  /** Read a UTF-8 text file, or undefined on any read failure (honest-absent). */
875
1069
  function readFileText(absPath) {
@@ -1 +1 @@
1
- {"version":3,"file":"parity-detect.js","sourceRoot":"","sources":["../src/parity-detect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parity-detect.js","sourceRoot":"","sources":["../src/parity-detect.ts"],"names":[],"mappings":"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"}