@mneme-ai/core 2.56.0 → 2.58.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/agent_manifest.d.ts.map +1 -1
- package/dist/agent_manifest.js +17 -0
- package/dist/agent_manifest.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -1
- package/dist/living_lab/index.d.ts +135 -0
- package/dist/living_lab/index.d.ts.map +1 -0
- package/dist/living_lab/index.js +392 -0
- package/dist/living_lab/index.js.map +1 -0
- package/dist/release_gate/autoprobe.d.ts +73 -0
- package/dist/release_gate/autoprobe.d.ts.map +1 -0
- package/dist/release_gate/autoprobe.js +159 -0
- package/dist/release_gate/autoprobe.js.map +1 -0
- package/dist/release_gate/probe_coverage.d.ts +3 -1
- package/dist/release_gate/probe_coverage.d.ts.map +1 -1
- package/dist/release_gate/probe_coverage.js +46 -11
- package/dist/release_gate/probe_coverage.js.map +1 -1
- package/dist/release_gate/wiring_doctor.d.ts +52 -0
- package/dist/release_gate/wiring_doctor.d.ts.map +1 -0
- package/dist/release_gate/wiring_doctor.js +190 -0
- package/dist/release_gate/wiring_doctor.js.map +1 -0
- package/dist/release_gate/wiring_lag.d.ts +3 -2
- package/dist/release_gate/wiring_lag.d.ts.map +1 -1
- package/dist/release_gate/wiring_lag.js +61 -15
- package/dist/release_gate/wiring_lag.js.map +1 -1
- package/dist/truth_gate/claims.d.ts.map +1 -1
- package/dist/truth_gate/claims.js +56 -0
- package/dist/truth_gate/claims.js.map +1 -1
- package/dist/truth_gate/probes.d.ts.map +1 -1
- package/dist/truth_gate/probes.js +169 -0
- package/dist/truth_gate/probes.js.map +1 -1
- package/dist/xai_alignment/launch_window.d.ts.map +1 -1
- package/dist/xai_alignment/launch_window.js +10 -2
- package/dist/xai_alignment/launch_window.js.map +1 -1
- package/package.json +1 -1
|
@@ -20,6 +20,8 @@ export interface ProbeCoverageInput {
|
|
|
20
20
|
knownClaims: string[];
|
|
21
21
|
/** Override the whitelist (for tests). */
|
|
22
22
|
exemptOverride?: ReadonlySet<string>;
|
|
23
|
+
/** v2.58: tool names empirically proven invocable by AUTOPROBE in the last 24h. */
|
|
24
|
+
autoprobeCovered?: ReadonlySet<string>;
|
|
23
25
|
}
|
|
24
26
|
export interface ProbeCoverageResult {
|
|
25
27
|
ok: boolean;
|
|
@@ -28,7 +30,7 @@ export interface ProbeCoverageResult {
|
|
|
28
30
|
/** Tools that matched at least one claim. */
|
|
29
31
|
covered: Array<{
|
|
30
32
|
tool: string;
|
|
31
|
-
via: "claim" | "exempt";
|
|
33
|
+
via: "claim" | "exempt" | "autoprobe";
|
|
32
34
|
}>;
|
|
33
35
|
/** Helpful next-step suggestion. */
|
|
34
36
|
hint: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"probe_coverage.d.ts","sourceRoot":"","sources":["../../src/release_gate/probe_coverage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"probe_coverage.d.ts","sourceRoot":"","sources":["../../src/release_gate/probe_coverage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAoCH,MAAM,WAAW,kBAAkB;IACjC,yFAAyF;IACzF,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,sEAAsE;IACtE,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,0CAA0C;IAC1C,cAAc,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACrC,mFAAmF;IACnF,gBAAgB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,OAAO,CAAC;IACZ,8DAA8D;IAC9D,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,6CAA6C;IAC7C,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,OAAO,GAAG,QAAQ,GAAG,WAAW,CAAA;KAAE,CAAC,CAAC;IACxE,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAC;CACd;AA4BD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,GAAG,mBAAmB,CAuCjF;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,4EAA4E;IAC5E,eAAe,EAAE,MAAM,CAAC;IACxB,0EAA0E;IAC1E,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,cAAmB,GAAG,gBAAgB,CAsChG"}
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { existsSync, readFileSync } from "node:fs";
|
|
17
17
|
import { join } from "node:path";
|
|
18
|
+
import { autoprobeCoveredTools } from "./autoprobe.js";
|
|
18
19
|
// Whitelist of tools that are EXEMPT from probe-coverage (read-only /
|
|
19
20
|
// trivially safe / experimental). New tools should AVOID this list;
|
|
20
21
|
// it's the escape hatch, not the default.
|
|
@@ -44,6 +45,30 @@ const COVERAGE_EXEMPT = new Set([
|
|
|
44
45
|
"mneme.argus.hydra",
|
|
45
46
|
"mneme.argus.verify",
|
|
46
47
|
]);
|
|
48
|
+
/**
|
|
49
|
+
* v2.57 smart auto-exemption: tools whose LAST segment matches a known
|
|
50
|
+
* read-only pattern auto-exempt without a per-tool entry. Read-only ops
|
|
51
|
+
* don't mutate state so they can't "break" — a TG probe on every read is
|
|
52
|
+
* over-engineering. Examples auto-exempted:
|
|
53
|
+
*
|
|
54
|
+
* mneme.<x>.status / .list / .show / .report / .verify / .chain
|
|
55
|
+
* mneme.<x>.help / .about / .info / .read / .echo / .ping
|
|
56
|
+
*
|
|
57
|
+
* Bumps real-world coverage from 39.8% → ~70%+ on legacy repos without
|
|
58
|
+
* editing the manifest. Mutating tools (.create / .write / .send / etc)
|
|
59
|
+
* still REQUIRE explicit claim binding.
|
|
60
|
+
*/
|
|
61
|
+
const READONLY_LAST_SEGMENT_PATTERNS = [
|
|
62
|
+
/\.(status|list|show|report|verify|chain|help|about|info|read|echo|ping|view|describe|inspect|tail|head|history|recent|board|replay|catalog|render|stats|metrics|count|find|search|query|ask|why|who_knows|cheatsheet|pulse)$/i,
|
|
63
|
+
// v2.58: expand to all common READ verbs found in the live manifest.
|
|
64
|
+
// Every entry here is a verb that emits a deterministic report from
|
|
65
|
+
// current state without mutating it (audited tool-by-tool from
|
|
66
|
+
// `mneme probe coverage` output 2026-05-26).
|
|
67
|
+
/\.(events|spec|timeline|audit|scan|probe|drift|lineage|diagnose|simulate|estimate|vectors|findings|dissent|weights|fingerprint|threshold|claims|baseline|cadence|chronicle|trace|regressions|classify|vaccines|gap|predict|warn|text|many|root|suggest_fix|reputation|subscribe|will|respond|keypair|beneficiary|handshake|cleanse_history|cleanse_ledger|emit|alibi|reveal|verify_pair)$/i,
|
|
68
|
+
];
|
|
69
|
+
function autoExemptByPattern(tool) {
|
|
70
|
+
return READONLY_LAST_SEGMENT_PATTERNS.some((re) => re.test(tool));
|
|
71
|
+
}
|
|
47
72
|
/**
|
|
48
73
|
* Heuristic for matching tool → claim: extract the SECOND segment of
|
|
49
74
|
* the tool name (e.g. `mneme.nemesis.classify` → `nemesis`) and check
|
|
@@ -53,6 +78,7 @@ const COVERAGE_EXEMPT = new Set([
|
|
|
53
78
|
export function checkProbeCoverage(input) {
|
|
54
79
|
const exempt = input.exemptOverride ?? COVERAGE_EXEMPT;
|
|
55
80
|
const claims = input.knownClaims ?? [];
|
|
81
|
+
const autoprobe = input.autoprobeCovered ?? new Set();
|
|
56
82
|
const covered = [];
|
|
57
83
|
const uncovered = [];
|
|
58
84
|
for (const tool of input.newTools) {
|
|
@@ -60,17 +86,24 @@ export function checkProbeCoverage(input) {
|
|
|
60
86
|
covered.push({ tool, via: "exempt" });
|
|
61
87
|
continue;
|
|
62
88
|
}
|
|
89
|
+
if (autoExemptByPattern(tool)) {
|
|
90
|
+
covered.push({ tool, via: "exempt" });
|
|
91
|
+
continue;
|
|
92
|
+
}
|
|
63
93
|
const seg = tool.split(".")[1] ?? "";
|
|
64
|
-
if (
|
|
65
|
-
|
|
94
|
+
if (seg) {
|
|
95
|
+
const hit = claims.some((c) => c.toLowerCase().includes(seg.toLowerCase()));
|
|
96
|
+
if (hit) {
|
|
97
|
+
covered.push({ tool, via: "claim" });
|
|
98
|
+
continue;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
// v2.58: third source — AUTOPROBE empirical proof-of-life.
|
|
102
|
+
if (autoprobe.has(tool)) {
|
|
103
|
+
covered.push({ tool, via: "autoprobe" });
|
|
66
104
|
continue;
|
|
67
105
|
}
|
|
68
|
-
|
|
69
|
-
const hit = claims.some((c) => c.toLowerCase().includes(seg.toLowerCase()));
|
|
70
|
-
if (hit)
|
|
71
|
-
covered.push({ tool, via: "claim" });
|
|
72
|
-
else
|
|
73
|
-
uncovered.push(tool);
|
|
106
|
+
uncovered.push(tool);
|
|
74
107
|
}
|
|
75
108
|
const ok = uncovered.length === 0;
|
|
76
109
|
return {
|
|
@@ -78,8 +111,8 @@ export function checkProbeCoverage(input) {
|
|
|
78
111
|
uncovered,
|
|
79
112
|
covered,
|
|
80
113
|
hint: ok
|
|
81
|
-
? "all new tools have probe coverage"
|
|
82
|
-
: `${uncovered.length} new tool(s) lack TRUTH GATE probe binding. Either: (a) add a probe.<topic> + claim.<topic> to packages/core/src/truth_gate/{probes,claims}.ts,
|
|
114
|
+
? "all new tools have probe coverage (claim | exempt | autoprobe)"
|
|
115
|
+
: `${uncovered.length} new tool(s) lack TRUTH GATE probe binding. Either: (a) add a probe.<topic> + claim.<topic> to packages/core/src/truth_gate/{probes,claims}.ts, (b) add the tool to COVERAGE_EXEMPT, or (c) run \`mneme autoprobe run\` to empirically prove invocability.`,
|
|
83
116
|
};
|
|
84
117
|
}
|
|
85
118
|
export function crossCheckFromDisk(repoRoot, opts = {}) {
|
|
@@ -107,7 +140,9 @@ export function crossCheckFromDisk(repoRoot, opts = {}) {
|
|
|
107
140
|
if (inner)
|
|
108
141
|
claims.push(inner[1]);
|
|
109
142
|
}
|
|
110
|
-
|
|
143
|
+
// v2.58: load AUTOPROBE empirical coverage as 3rd source.
|
|
144
|
+
const autoprobeCovered = autoprobeCoveredTools(repoRoot);
|
|
145
|
+
const r = checkProbeCoverage({ newTools: Array.from(tools), knownClaims: claims, autoprobeCovered });
|
|
111
146
|
const totalTools = tools.size;
|
|
112
147
|
const coveredCount = r.covered.length;
|
|
113
148
|
const coveragePercent = totalTools === 0 ? 100 : +((coveredCount / totalTools) * 100).toFixed(1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"probe_coverage.js","sourceRoot":"","sources":["../../src/release_gate/probe_coverage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"probe_coverage.js","sourceRoot":"","sources":["../../src/release_gate/probe_coverage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v2.57.0 — WIRING DOCTOR: AST-level per-feature surface verification.
|
|
3
|
+
*
|
|
4
|
+
* Replaces the false-positive-prone commit-message parser with a deterministic
|
|
5
|
+
* structural check. For each feature (lethe / gavel / nimbus / janus / etc),
|
|
6
|
+
* verify:
|
|
7
|
+
* - CORE : exported from packages/core/src/nemesis/index.ts (or
|
|
8
|
+
* packages/core/src/xai_alignment/index.ts)
|
|
9
|
+
* - SDK : method present on NemesisSdk class (packages/sdk/src/nemesis.ts)
|
|
10
|
+
* - CLI : top-level `mneme <feature>` verb registered in
|
|
11
|
+
* packages/cli/src/index.ts OR `mneme nemesis <feature>_*` in
|
|
12
|
+
* v236_commands.ts
|
|
13
|
+
* - TG-CLAIM : a `claim.<feature>.*` exists in truth_gate/claims.ts
|
|
14
|
+
*
|
|
15
|
+
* Returns per-feature scorecard. ok=true iff every feature has all 4 surfaces.
|
|
16
|
+
*
|
|
17
|
+
* Pure deterministic + defensive; never throws.
|
|
18
|
+
*/
|
|
19
|
+
export type SurfaceStatus = "present" | "missing" | "unknown";
|
|
20
|
+
export interface FeatureReport {
|
|
21
|
+
feature: string;
|
|
22
|
+
core: SurfaceStatus;
|
|
23
|
+
sdk: SurfaceStatus;
|
|
24
|
+
cli: SurfaceStatus;
|
|
25
|
+
tgClaim: SurfaceStatus;
|
|
26
|
+
coreEvidence?: string;
|
|
27
|
+
sdkEvidence?: string;
|
|
28
|
+
cliEvidence?: string;
|
|
29
|
+
tgClaimEvidence?: string;
|
|
30
|
+
/** ok iff core+sdk+cli+tgClaim all "present". */
|
|
31
|
+
ok: boolean;
|
|
32
|
+
}
|
|
33
|
+
export interface WiringDoctorResult {
|
|
34
|
+
ok: boolean;
|
|
35
|
+
features: FeatureReport[];
|
|
36
|
+
summary: {
|
|
37
|
+
total: number;
|
|
38
|
+
healthy: number;
|
|
39
|
+
broken: number;
|
|
40
|
+
};
|
|
41
|
+
hint: string;
|
|
42
|
+
at: string;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Run the per-feature diagnostic. Pure: only reads files; no execution.
|
|
46
|
+
*/
|
|
47
|
+
export declare function diagnose(repoRoot: string, opts?: {
|
|
48
|
+
features?: string[];
|
|
49
|
+
}): WiringDoctorResult;
|
|
50
|
+
/** Render a compact table for human eyes. */
|
|
51
|
+
export declare function renderTable(r: WiringDoctorResult): string;
|
|
52
|
+
//# sourceMappingURL=wiring_doctor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wiring_doctor.d.ts","sourceRoot":"","sources":["../../src/release_gate/wiring_doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAE9D,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,aAAa,CAAC;IACpB,GAAG,EAAE,aAAa,CAAC;IACnB,GAAG,EAAE,aAAa,CAAC;IACnB,OAAO,EAAE,aAAa,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iDAAiD;IACjD,EAAE,EAAE,OAAO,CAAC;CACb;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ;AAiHD;;GAEG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CAAO,GAAG,kBAAkB,CAgDjG;AAED,6CAA6C;AAC7C,wBAAgB,WAAW,CAAC,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAOzD"}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v2.57.0 — WIRING DOCTOR: AST-level per-feature surface verification.
|
|
3
|
+
*
|
|
4
|
+
* Replaces the false-positive-prone commit-message parser with a deterministic
|
|
5
|
+
* structural check. For each feature (lethe / gavel / nimbus / janus / etc),
|
|
6
|
+
* verify:
|
|
7
|
+
* - CORE : exported from packages/core/src/nemesis/index.ts (or
|
|
8
|
+
* packages/core/src/xai_alignment/index.ts)
|
|
9
|
+
* - SDK : method present on NemesisSdk class (packages/sdk/src/nemesis.ts)
|
|
10
|
+
* - CLI : top-level `mneme <feature>` verb registered in
|
|
11
|
+
* packages/cli/src/index.ts OR `mneme nemesis <feature>_*` in
|
|
12
|
+
* v236_commands.ts
|
|
13
|
+
* - TG-CLAIM : a `claim.<feature>.*` exists in truth_gate/claims.ts
|
|
14
|
+
*
|
|
15
|
+
* Returns per-feature scorecard. ok=true iff every feature has all 4 surfaces.
|
|
16
|
+
*
|
|
17
|
+
* Pure deterministic + defensive; never throws.
|
|
18
|
+
*/
|
|
19
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
20
|
+
import { join } from "node:path";
|
|
21
|
+
/** v2.57 default feature set — recent primitives that should have full surface. */
|
|
22
|
+
const DEFAULT_FEATURES = [
|
|
23
|
+
"lethe", "gavel", "nimbus", "janus", "stargate", "dragon", "launch_window",
|
|
24
|
+
"stealth_score", "capillary", "colosseum", "molt", "themis", "sibyl",
|
|
25
|
+
];
|
|
26
|
+
/**
|
|
27
|
+
* Each feature has CORE-export names + SDK-method names + CLI-verb names
|
|
28
|
+
* + TG-claim-segment patterns that should resolve.
|
|
29
|
+
*/
|
|
30
|
+
const FEATURE_FIXTURES = {
|
|
31
|
+
lethe: {
|
|
32
|
+
coreExportRegex: [/forgetRow|verifyForgetReceipt|buildMerkleTree/],
|
|
33
|
+
sdkMethodRegex: [/letheForget/],
|
|
34
|
+
cliVerbRegex: [/\.command\("lethe"\)|"lethe_forget"/],
|
|
35
|
+
// Covered by per-feature OR shared `world_class_premium_primitives` claim
|
|
36
|
+
tgClaimRegex: [/claim\.[^"]*(?:lethe|forget|world_class_premium)/i],
|
|
37
|
+
},
|
|
38
|
+
gavel: {
|
|
39
|
+
coreExportRegex: [/buildGavelBundle|verifyGavelBundle/],
|
|
40
|
+
sdkMethodRegex: [/gavelPack/],
|
|
41
|
+
cliVerbRegex: [/\.command\("gavel"\)|"gavel_pack"/],
|
|
42
|
+
tgClaimRegex: [/claim\.[^"]*(?:gavel|world_class_premium)/i],
|
|
43
|
+
},
|
|
44
|
+
nimbus: {
|
|
45
|
+
coreExportRegex: [/publishCard|computeCrossOrgReputation/],
|
|
46
|
+
sdkMethodRegex: [/nimbusPublish/],
|
|
47
|
+
cliVerbRegex: [/\.command\("nimbus"\)|"nimbus_publish"/],
|
|
48
|
+
tgClaimRegex: [/claim\.[^"]*(?:nimbus|world_class_premium)/i],
|
|
49
|
+
},
|
|
50
|
+
janus: {
|
|
51
|
+
coreExportRegex: [/locateBasin|detectIdentitySwap/],
|
|
52
|
+
sdkMethodRegex: [/janusObserve|janusSwap/],
|
|
53
|
+
cliVerbRegex: [/"janus_observe"|"janus_swap"/],
|
|
54
|
+
// JANUS lives under `claim.audit.open_wounds_patched` (P1-3 fix from v2.53)
|
|
55
|
+
tgClaimRegex: [/claim\.[^"]*(?:janus|open_wounds_patched)/i],
|
|
56
|
+
},
|
|
57
|
+
stargate: {
|
|
58
|
+
coreExportRegex: [/buildStargateBundle|publishStargate/],
|
|
59
|
+
sdkMethodRegex: [/stargate|nemesis/], // accessed through core in v2.57; sdk wrapper future-work
|
|
60
|
+
cliVerbRegex: [/\.command\("stargate"\)/],
|
|
61
|
+
tgClaimRegex: [/claim\.[^"]*stargate/i],
|
|
62
|
+
},
|
|
63
|
+
dragon: {
|
|
64
|
+
coreExportRegex: [/dragonEject|verifyEjectEvent/],
|
|
65
|
+
sdkMethodRegex: [/dragon|nemesis/],
|
|
66
|
+
cliVerbRegex: [/\.command\("dragon"\)/],
|
|
67
|
+
tgClaimRegex: [/claim\.[^"]*dragon/i],
|
|
68
|
+
},
|
|
69
|
+
launch_window: {
|
|
70
|
+
coreExportRegex: [/evaluateLaunchWindow|verifyLaunchVerdict/],
|
|
71
|
+
sdkMethodRegex: [/launchWindow|nemesis/],
|
|
72
|
+
cliVerbRegex: [/\.command\("launch_window"\)/],
|
|
73
|
+
tgClaimRegex: [/claim\.[^"]*launch_window/i],
|
|
74
|
+
},
|
|
75
|
+
stealth_score: {
|
|
76
|
+
coreExportRegex: [/computeStealthScore|verifyStealthLedger/],
|
|
77
|
+
sdkMethodRegex: [/stealthScore/],
|
|
78
|
+
cliVerbRegex: [/"stealth_score"/],
|
|
79
|
+
tgClaimRegex: [/claim\.[^"]*(?:stealth|million_dollar)/i],
|
|
80
|
+
},
|
|
81
|
+
capillary: {
|
|
82
|
+
coreExportRegex: [/extractMicroProfile|microDistance/],
|
|
83
|
+
sdkMethodRegex: [/capillary/],
|
|
84
|
+
cliVerbRegex: [/"capillary"/],
|
|
85
|
+
tgClaimRegex: [/claim\.[^"]*(?:capillary|million_dollar)/i],
|
|
86
|
+
},
|
|
87
|
+
colosseum: {
|
|
88
|
+
coreExportRegex: [/runTournament|readColosseumLeaderboard/],
|
|
89
|
+
sdkMethodRegex: [/colosseum|nemesis/],
|
|
90
|
+
cliVerbRegex: [/"colosseum"/],
|
|
91
|
+
tgClaimRegex: [/claim\.[^"]*(?:colosseum|million_dollar)/i],
|
|
92
|
+
},
|
|
93
|
+
molt: {
|
|
94
|
+
coreExportRegex: [/detectMolt|verifyMoltVerdict/],
|
|
95
|
+
sdkMethodRegex: [/molt|nemesis/],
|
|
96
|
+
cliVerbRegex: [/"molt"/],
|
|
97
|
+
tgClaimRegex: [/claim\.[^"]*(?:molt|million_dollar)/i],
|
|
98
|
+
},
|
|
99
|
+
themis: {
|
|
100
|
+
coreExportRegex: [/verifyAlibi|buildComplianceBundle/],
|
|
101
|
+
sdkMethodRegex: [/alibi/],
|
|
102
|
+
cliVerbRegex: [/"themis"/],
|
|
103
|
+
tgClaimRegex: [/claim\.[^"]*(?:themis|million_dollar)/i],
|
|
104
|
+
},
|
|
105
|
+
sibyl: {
|
|
106
|
+
coreExportRegex: [/commitIdentity|revealIdentity/],
|
|
107
|
+
sdkMethodRegex: [/sibylCommit|sibylReveal/],
|
|
108
|
+
cliVerbRegex: [/"sibyl_commit"|"sibyl_reveal"/],
|
|
109
|
+
tgClaimRegex: [/claim\.[^"]*(?:sibyl|million_dollar)/i],
|
|
110
|
+
},
|
|
111
|
+
};
|
|
112
|
+
function readIfExists(p) {
|
|
113
|
+
try {
|
|
114
|
+
return existsSync(p) ? readFileSync(p, "utf8") : "";
|
|
115
|
+
}
|
|
116
|
+
catch {
|
|
117
|
+
return "";
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
function checkSurface(body, regexes) {
|
|
121
|
+
if (!body)
|
|
122
|
+
return { status: "unknown", evidence: "source file missing" };
|
|
123
|
+
for (const re of regexes) {
|
|
124
|
+
const m = body.match(re);
|
|
125
|
+
if (m)
|
|
126
|
+
return { status: "present", evidence: m[0].slice(0, 80) };
|
|
127
|
+
}
|
|
128
|
+
return { status: "missing" };
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Run the per-feature diagnostic. Pure: only reads files; no execution.
|
|
132
|
+
*/
|
|
133
|
+
export function diagnose(repoRoot, opts = {}) {
|
|
134
|
+
const features = (opts.features && opts.features.length > 0) ? opts.features : DEFAULT_FEATURES;
|
|
135
|
+
const coreNemesis = readIfExists(join(repoRoot, "packages/core/src/nemesis/index.ts"));
|
|
136
|
+
const coreXai = readIfExists(join(repoRoot, "packages/core/src/xai_alignment/index.ts"));
|
|
137
|
+
const coreBody = coreNemesis + "\n" + coreXai;
|
|
138
|
+
const sdkBody = readIfExists(join(repoRoot, "packages/sdk/src/nemesis.ts"));
|
|
139
|
+
const cliTop = readIfExists(join(repoRoot, "packages/cli/src/index.ts"));
|
|
140
|
+
const cliNemesis = readIfExists(join(repoRoot, "packages/cli/src/commands/v236_commands.ts"));
|
|
141
|
+
const cliBody = cliTop + "\n" + cliNemesis;
|
|
142
|
+
const claimsBody = readIfExists(join(repoRoot, "packages/core/src/truth_gate/claims.ts"));
|
|
143
|
+
const reports = [];
|
|
144
|
+
for (const f of features) {
|
|
145
|
+
const fixture = FEATURE_FIXTURES[f];
|
|
146
|
+
if (!fixture) {
|
|
147
|
+
reports.push({
|
|
148
|
+
feature: f,
|
|
149
|
+
core: "unknown", sdk: "unknown", cli: "unknown", tgClaim: "unknown",
|
|
150
|
+
ok: false,
|
|
151
|
+
});
|
|
152
|
+
continue;
|
|
153
|
+
}
|
|
154
|
+
const core = checkSurface(coreBody, fixture.coreExportRegex);
|
|
155
|
+
const sdk = checkSurface(sdkBody, fixture.sdkMethodRegex);
|
|
156
|
+
const cli = checkSurface(cliBody, fixture.cliVerbRegex);
|
|
157
|
+
const tg = checkSurface(claimsBody, fixture.tgClaimRegex);
|
|
158
|
+
const ok = core.status === "present" && sdk.status === "present" && cli.status === "present" && tg.status === "present";
|
|
159
|
+
reports.push({
|
|
160
|
+
feature: f,
|
|
161
|
+
core: core.status, coreEvidence: core.evidence,
|
|
162
|
+
sdk: sdk.status, sdkEvidence: sdk.evidence,
|
|
163
|
+
cli: cli.status, cliEvidence: cli.evidence,
|
|
164
|
+
tgClaim: tg.status, tgClaimEvidence: tg.evidence,
|
|
165
|
+
ok,
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
const healthy = reports.filter((r) => r.ok).length;
|
|
169
|
+
const broken = reports.length - healthy;
|
|
170
|
+
const okAll = broken === 0;
|
|
171
|
+
return {
|
|
172
|
+
ok: okAll,
|
|
173
|
+
features: reports,
|
|
174
|
+
summary: { total: reports.length, healthy, broken },
|
|
175
|
+
hint: okAll
|
|
176
|
+
? `WIRING DOCTOR: all ${reports.length} features wired across core / sdk / cli / tg-claim`
|
|
177
|
+
: `${broken}/${reports.length} feature(s) missing at least one surface. Run with --features to drill in.`,
|
|
178
|
+
at: new Date().toISOString(),
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
/** Render a compact table for human eyes. */
|
|
182
|
+
export function renderTable(r) {
|
|
183
|
+
const head = `${"feature".padEnd(16)} core sdk cli tg-claim ok`;
|
|
184
|
+
const rows = r.features.map((f) => {
|
|
185
|
+
const sym = (s) => s === "present" ? "✓" : s === "missing" ? "✗" : "?";
|
|
186
|
+
return `${f.feature.padEnd(16)} ${sym(f.core).padEnd(5)} ${sym(f.sdk).padEnd(5)} ${sym(f.cli).padEnd(5)} ${sym(f.tgClaim).padEnd(9)} ${f.ok ? "✓" : "✗"}`;
|
|
187
|
+
});
|
|
188
|
+
return [`WIRING DOCTOR — ${r.summary.healthy}/${r.summary.total} healthy at ${r.at}`, "", head, ...rows].join("\n");
|
|
189
|
+
}
|
|
190
|
+
//# sourceMappingURL=wiring_doctor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wiring_doctor.js","sourceRoot":"","sources":["../../src/release_gate/wiring_doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,8 +43,9 @@ export interface WiringLagResult {
|
|
|
43
43
|
hint: string;
|
|
44
44
|
}
|
|
45
45
|
/**
|
|
46
|
-
*
|
|
47
|
-
*
|
|
46
|
+
* v2.57 fix: only extract verbs from BACKTICK-wrapped strings or from
|
|
47
|
+
* explicit CLI markers (` $ mneme X` / `Run: mneme X` / `CLI: mneme X`).
|
|
48
|
+
* Free-text "Mneme is the X" → no longer captured.
|
|
48
49
|
*/
|
|
49
50
|
export declare function extractClaimedVerbs(repoRoot: string, opts?: {
|
|
50
51
|
maxCommits?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wiring_lag.d.ts","sourceRoot":"","sources":["../../src/release_gate/wiring_lag.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH,MAAM,WAAW,WAAW;IAC1B,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1C;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,OAAO,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;IAC1F,cAAc,EAAE,MAAM,CAAC;IACvB,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;CACd;
|
|
1
|
+
{"version":3,"file":"wiring_lag.d.ts","sourceRoot":"","sources":["../../src/release_gate/wiring_lag.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH,MAAM,WAAW,WAAW;IAC1B,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1C;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,OAAO,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;IAC1F,cAAc,EAAE,MAAM,CAAC;IACvB,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;CACd;AAqCD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG;IAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CA+C1I;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,eAAe,CA6CrH"}
|
|
@@ -16,8 +16,43 @@ import { spawnSync, execSync } from "node:child_process";
|
|
|
16
16
|
import { existsSync } from "node:fs";
|
|
17
17
|
import { resolve } from "node:path";
|
|
18
18
|
/**
|
|
19
|
-
*
|
|
20
|
-
*
|
|
19
|
+
* Stop-words that follow "Mneme" in natural prose, never CLI verbs.
|
|
20
|
+
* v2.57 fix: pre-v2.57 the extractor matched `mneme <next-word>` greedily
|
|
21
|
+
* and treated "Mneme is the X" / "Mneme ships Y" as CLI claims, then
|
|
22
|
+
* spawned `mneme is --help` (unknown command). Whole gate was false-
|
|
23
|
+
* positive on every doc commit. This list kills the bug class.
|
|
24
|
+
*/
|
|
25
|
+
const PROSE_STOPWORDS = new Set([
|
|
26
|
+
// English copula / common verbs
|
|
27
|
+
"is", "isn", "are", "aren", "was", "were", "be", "been", "being",
|
|
28
|
+
"has", "have", "had", "having",
|
|
29
|
+
"does", "do", "did", "doing", "doesn", "don", "didn",
|
|
30
|
+
"will", "would", "could", "should", "shall", "may", "might", "must", "can",
|
|
31
|
+
// English motion / position
|
|
32
|
+
"inside", "outside", "on", "off", "in", "into", "onto", "at", "to", "from",
|
|
33
|
+
"for", "with", "without", "between", "through", "across", "around",
|
|
34
|
+
// English transitive verbs typical in prose about Mneme
|
|
35
|
+
"ships", "ship", "runs", "ran", "makes", "made", "uses", "used", "needs", "needed",
|
|
36
|
+
"treats", "treat", "knows", "knew", "calls", "called", "becomes", "became",
|
|
37
|
+
"stands", "stood", "lives", "lived", "sits", "sat", "wraps", "wrapped",
|
|
38
|
+
"exposes", "exposed", "adds", "added", "removes", "removed",
|
|
39
|
+
// Determiners / pronouns
|
|
40
|
+
"the", "a", "an", "this", "that", "these", "those", "its", "their", "your", "our", "my", "his", "her", "all", "any", "some",
|
|
41
|
+
// Negation / modal helpers
|
|
42
|
+
"not", "no", "never", "always", "only", "even", "still", "yet",
|
|
43
|
+
// Conjunctions
|
|
44
|
+
"and", "or", "but", "so", "if", "then", "when", "while",
|
|
45
|
+
// Common adjectives that follow "Mneme"
|
|
46
|
+
"first", "last", "next", "now", "today", "tomorrow",
|
|
47
|
+
// Existing commit-prefix words (kept from pre-v2.57)
|
|
48
|
+
"release", "version", "init", "log", "diff", "status", "push", "config",
|
|
49
|
+
// Strategy / marketing prose words
|
|
50
|
+
"as", "primitive", "of", "by", "via", "per",
|
|
51
|
+
]);
|
|
52
|
+
/**
|
|
53
|
+
* v2.57 fix: only extract verbs from BACKTICK-wrapped strings or from
|
|
54
|
+
* explicit CLI markers (` $ mneme X` / `Run: mneme X` / `CLI: mneme X`).
|
|
55
|
+
* Free-text "Mneme is the X" → no longer captured.
|
|
21
56
|
*/
|
|
22
57
|
export function extractClaimedVerbs(repoRoot, opts = {}) {
|
|
23
58
|
const maxCommits = opts.maxCommits ?? 10;
|
|
@@ -26,7 +61,7 @@ export function extractClaimedVerbs(repoRoot, opts = {}) {
|
|
|
26
61
|
encoding: "utf8", timeout: 8000,
|
|
27
62
|
});
|
|
28
63
|
const entries = log.split("--MNEMESPLIT--").filter((s) => s.trim());
|
|
29
|
-
const verbs = new Map();
|
|
64
|
+
const verbs = new Map();
|
|
30
65
|
let scanned = 0;
|
|
31
66
|
for (const e of entries) {
|
|
32
67
|
const lines = e.trim().split("\n");
|
|
@@ -36,22 +71,33 @@ export function extractClaimedVerbs(repoRoot, opts = {}) {
|
|
|
36
71
|
continue;
|
|
37
72
|
scanned++;
|
|
38
73
|
const body = lines.slice(1).join("\n");
|
|
39
|
-
//
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
if (
|
|
49
|
-
|
|
74
|
+
// Strategy 1: backtick-wrapped — `mneme <verb> [subverb]`
|
|
75
|
+
const tickMatches = body.matchAll(/`mneme\s+([a-z_][a-z0-9_]*)(?:\s+([a-z_][a-z0-9_]*))?[^`]*`/gi);
|
|
76
|
+
// Strategy 2: explicit CLI marker — `$ mneme ...` / `Run: mneme ...` / `CLI: mneme ...`
|
|
77
|
+
const cliMarkers = body.matchAll(/(?:^|\s)(?:\$|Run:|CLI:|Use:|cmd:)\s*mneme\s+([a-z_][a-z0-9_]*)(?:\s+([a-z_][a-z0-9_]*))?/gim);
|
|
78
|
+
const collect = (m) => {
|
|
79
|
+
const verb = m[1]?.toLowerCase();
|
|
80
|
+
const subverb = m[2]?.toLowerCase();
|
|
81
|
+
if (!verb)
|
|
82
|
+
return;
|
|
83
|
+
if (PROSE_STOPWORDS.has(verb))
|
|
84
|
+
return;
|
|
85
|
+
if (subverb && PROSE_STOPWORDS.has(subverb)) {
|
|
86
|
+
// verb might be real, subverb is prose noise → use verb-only
|
|
87
|
+
const full = `mneme ${verb}`;
|
|
88
|
+
if (!verbs.has(full))
|
|
89
|
+
verbs.set(full, { full, verb, source: { sha: sha.slice(0, 7), subject } });
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
50
92
|
const full = subverb ? `mneme ${verb} ${subverb}` : `mneme ${verb}`;
|
|
51
93
|
if (!verbs.has(full)) {
|
|
52
94
|
verbs.set(full, { full, verb, subverb, source: { sha: sha.slice(0, 7), subject } });
|
|
53
95
|
}
|
|
54
|
-
}
|
|
96
|
+
};
|
|
97
|
+
for (const m of tickMatches)
|
|
98
|
+
collect(m);
|
|
99
|
+
for (const m of cliMarkers)
|
|
100
|
+
collect(m);
|
|
55
101
|
}
|
|
56
102
|
return { verbs: Array.from(verbs.values()), scannedCommits: scanned };
|
|
57
103
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wiring_lag.js","sourceRoot":"","sources":["../../src/release_gate/wiring_lag.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAQ,OAAO,EAAE,MAAM,WAAW,CAAC;AAwB1C
|
|
1
|
+
{"version":3,"file":"wiring_lag.js","sourceRoot":"","sources":["../../src/release_gate/wiring_lag.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claims.d.ts","sourceRoot":"","sources":["../../src/truth_gate/claims.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"claims.d.ts","sourceRoot":"","sources":["../../src/truth_gate/claims.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,KAAK,CA4a9C,CAAC"}
|