@mozole/cli 1.2.2 → 1.2.3

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/README.md CHANGED
@@ -124,7 +124,7 @@ When adopting a project with CCE enabled, Mozole requires a runnable CCE runtime
124
124
 
125
125
  CCE normally writes its own instruction blocks during initialization. Mozole snapshots and restores `AGENTS.md` and `CLAUDE.md` around that operation: the index, hooks, and MCP registrations remain, while the compact shared project guidance stays the sole instruction source.
126
126
 
127
- Generated `AGENTS.md` is intentionally short: commands, architecture, verification/QA policy, and retrieval-first behavior. Codex officially loads project guidance from `AGENTS.md` ([OpenAI documentation](https://learn.chatgpt.com/docs/agent-configuration/agents-md)). `CLAUDE.md` imports that same file instead of duplicating the handbook. Agents are told to retrieve relevant exact chunks first, inspect changed regions, and ask for more context when retrieval is insufficient.
127
+ Generated `AGENTS.md` is intentionally short: commands, architecture, verification/QA policy, and a mandatory CCE-first contract. Codex officially loads project guidance from `AGENTS.md` ([OpenAI documentation](https://learn.chatgpt.com/docs/agent-configuration/agents-md)). `CLAUDE.md` imports the shared contract and repeats only its Claude-specific enforcement line. Repository reads are forbidden by default: agents must use CCE search, additional CCE retrieval, then a bounded line-range read only when CCE is insufficient; full-file reads require explicit escalation, and editing is never sufficient justification. An unavailable CCE runtime is reported instead of silently bypassed. Enabled governors default to `enforce`; adoption upgrades earlier enabled `warn` configurations while preserving an explicitly disabled governor.
128
128
 
129
129
  ## Terminal UI
130
130
 
@@ -151,7 +151,7 @@ The terminal UI is a full-screen ANSI command deck: color panels, keyboard navig
151
151
 
152
152
  Google documents `.agents/mcp_config.json` as the workspace-local MCP configuration and `.agents/rules/` plus `.agents/workflows/` as workspace customizations ([Antigravity CLI MCP](https://codelabs.developers.google.com/genai-for-dev-antigravity-cli), [Antigravity IDE customization](https://codelabs.developers.google.com/getting-started-agy-ide)). Mozole registers one stdio server named `mozole-cce` using CCE's documented `cce serve` entry point. CCE discovers the project from `.context-engine.yaml`, so no user-specific absolute path or second index is needed. If Mozole is using its pinned `uvx` fallback, the MCP entry uses the same pinned package invocation.
153
153
 
154
- The Antigravity rule points to the shared `AGENTS.md` contract and contains only Antigravity-specific retrieval, QA, browser, and stopping guidance. Workflows delegate to Mozole rather than duplicating verification or browser logic. Use `/mozole-verify`, `/mozole-qa`, `/mozole-qa-interactive`, or `/mozole-qa-visual`; ordinary QA stays screenshot-free, while visual artifacts remain explicitly opt-in.
154
+ The Antigravity rule points to the shared `AGENTS.md` contract and explicitly requires CCE before repository inspection. Workflows delegate to Mozole rather than duplicating verification or browser logic. Use `/mozole-verify`, `/mozole-qa`, `/mozole-qa-interactive`, or `/mozole-qa-visual`; ordinary QA stays screenshot-free, while visual artifacts remain explicitly opt-in.
155
155
 
156
156
  Adoption preserves unrelated MCP servers, top-level MCP properties, rules, workflows, agents, and skills. Only the `mozole-cce` entry and Mozole-prefixed rule/workflow files are owned by Mozole. Existing MCP configuration is validated before project mutation and backed up under `.mozole/backups/` before a merge.
157
157
 
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAeA,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAAG,SAAS,GAC9B,OAAO,CAOT;AAcD,wBAAsB,IAAI,CACxB,IAAI,WAAwB,EAC5B,GAAG,SAAgB,GAClB,OAAO,CAAC,MAAM,CAAC,CAgKjB"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAeA,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAAG,SAAS,GAC9B,OAAO,CAOT;AAcD,wBAAsB,IAAI,CACxB,IAAI,WAAwB,EAC5B,GAAG,SAAgB,GAClB,OAAO,CAAC,MAAM,CAAC,CAqKjB"}
package/dist/cli.js CHANGED
@@ -137,17 +137,22 @@ export async function main(args = process.argv.slice(2), cwd = process.cwd()) {
137
137
  return governorHookCommand();
138
138
  if (command === "qa") {
139
139
  const flags = [value, ...rest].filter((flag) => Boolean(flag));
140
- const unknown = flags.filter((flag) => !["--interactive", "--visual", "--force", "--verbose", "-v"].includes(flag));
140
+ const unknown = flags.filter((flag) => !["--interactive", "--visual", "--force", "--verbose", "-v"].includes(flag) && !flag.startsWith("--reason="));
141
141
  if (unknown.length) {
142
142
  console.error(`Unknown QA option: ${unknown[0]}`);
143
143
  return 2;
144
144
  }
145
145
  const verbose = flags.includes("--verbose") || flags.includes("-v");
146
+ const reasonFlag = flags.find((flag) => flag.startsWith("--reason="));
147
+ const reason = reasonFlag
148
+ ? reasonFlag.slice("--reason=".length)
149
+ : undefined;
146
150
  return qaCommand(cwd, {
147
151
  interactive: flags.includes("--interactive"),
148
152
  visual: flags.includes("--visual"),
149
153
  force: flags.includes("--force"),
150
154
  verbose,
155
+ reason,
151
156
  }, console);
152
157
  }
153
158
  console.error(`Unknown command: ${command}\n\n${help}`);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"adopt.d.ts","sourceRoot":"","sources":["../../src/commands/adopt.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,EAAE,KAAK,aAAa,EAAgB,MAAM,gBAAgB,CAAC;AAoFlE,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAKrD;AAwID,wBAAsB,YAAY,CAChC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,MAAgB,EACxB,OAAO,GAAE;IACP,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CACtD,GACL,OAAO,CAAC,MAAM,CAAC,CAiTjB"}
1
+ {"version":3,"file":"adopt.d.ts","sourceRoot":"","sources":["../../src/commands/adopt.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,EAAE,KAAK,aAAa,EAAgB,MAAM,gBAAgB,CAAC;AAoFlE,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAKrD;AAwID,wBAAsB,YAAY,CAChC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,MAAgB,EACxB,OAAO,GAAE;IACP,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CACtD,GACL,OAAO,CAAC,MAAM,CAAC,CAqTjB"}
@@ -249,6 +249,10 @@ export async function adoptCommand(input, cwd, output = console, options = {}) {
249
249
  })()
250
250
  : projectConfig(name);
251
251
  config.name = name;
252
+ if (config.governor.enabled) {
253
+ config.governor.mode = "enforce";
254
+ config.governor.hooks = { codex: true, claude: true };
255
+ }
252
256
  progress.step("Verifying CCE runtime availability");
253
257
  const cceRequired = process.env.MOZOLE_SKIP_CCE !== "1" && config.cce.enabled;
254
258
  const cce = cceRequired
@@ -348,9 +352,9 @@ export async function adoptCommand(input, cwd, output = console, options = {}) {
348
352
  await mergeHookConfig(codexHooksPath, template(".codex/hooks.json"), path.join(backupDir, "codex-hooks.json.before-adopt"));
349
353
  if (hadClaudeSettings)
350
354
  await mergeHookConfig(claudeSettingsPath, template(".claude/settings.json"), path.join(backupDir, "claude-settings.json.before-adopt"));
351
- const block = "<!-- mozole:begin -->\n## Mozole workflow\n\nRetrieve exact CCE context, make localized edits, inspect the diff, then verify. Avoid rereading unchanged files, repeated current checks, routine narration, and repeated successful logs. Stop when requested work, verification, and relevant QA are complete with no unresolved issue. Normal QA never takes screenshots; visual QA is explicit. Use `--force` only for intentionally fresh evidence.\n<!-- mozole:end -->";
355
+ const block = "<!-- mozole:begin -->\n## Mandatory Mozole CCE contract\n\nRepository reads are forbidden by default. Allowed retrieval order: (1) CCE `context_search`; (2) additional CCE search, `expand_chunk`, or `related_context`; (3) bounded line-range read only when CCE output is insufficient; (4) full-file read only after explicit escalation. Editing a file is NOT sufficient justification for reading it in full. If CCE is unavailable, stop and report the blocker instead of falling back to repository reads. Routine browser validation uses screenshot-free `mozole qa`; visual QA requires an explicit user request or confirmed deterministic failure. Stop after requested work, `mozole verify`, and relevant routine QA pass.\n<!-- mozole:end -->";
352
356
  await ensureAgentBlock(path.join(root, "AGENTS.md"), block);
353
- await ensureAgentBlock(path.join(root, "CLAUDE.md"), `<!-- mozole:begin -->\n@AGENTS.md\n<!-- mozole:end -->`);
357
+ await ensureAgentBlock(path.join(root, "CLAUDE.md"), `<!-- mozole:begin -->\n@AGENTS.md\n\n## Claude Code CCE contract\n\nRepository reads are forbidden by default. Use \`context_search\`, then additional CCE retrieval. Read may use a bounded line range only when CCE is insufficient; a full-file Read requires explicit escalation. Editing is not justification. If CCE is unavailable, report the blocker; do not fall back.\n<!-- mozole:end -->`);
354
358
  await ensureGitignore(root);
355
359
  progress.step("Installing missing dependencies & toolchain packages");
356
360
  if (packageChanged && process.env.MOZOLE_SKIP_INSTALL !== "1") {
@@ -1 +1 @@
1
- {"version":3,"file":"adopt.js","sourceRoot":"","sources":["../../src/commands/adopt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adopt.js","sourceRoot":"","sources":["../../src/commands/adopt.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export declare function qaCommand(cwd: string, mode: {
5
5
  visual: boolean;
6
6
  force?: boolean | undefined;
7
7
  verbose?: boolean | undefined;
8
+ reason?: string | undefined;
8
9
  onProgress?: ((state: ProgressState) => void) | undefined;
9
10
  }, output?: Output): Promise<number>;
10
11
  //# sourceMappingURL=qa.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"qa.d.ts","sourceRoot":"","sources":["../../src/commands/qa.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,KAAK,aAAa,EAAgB,MAAM,gBAAgB,CAAC;AAoClE,wBAAsB,SAAS,CAC7B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE;IACJ,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAC3D,EACD,MAAM,GAAE,MAAgB,GACvB,OAAO,CAAC,MAAM,CAAC,CAmFjB"}
1
+ {"version":3,"file":"qa.d.ts","sourceRoot":"","sources":["../../src/commands/qa.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,KAAK,aAAa,EAAgB,MAAM,gBAAgB,CAAC;AAoClE,wBAAsB,SAAS,CAC7B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE;IACJ,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAC3D,EACD,MAAM,GAAE,MAAgB,GACvB,OAAO,CAAC,MAAM,CAAC,CAmHjB"}
@@ -51,6 +51,7 @@ export async function qaCommand(cwd, mode, output = console) {
51
51
  const key = qaStateKey(mode);
52
52
  const profile = mode.visual ? "visual" : "qa";
53
53
  const fingerprint = await projectFingerprint(root, config, profile);
54
+ const normalFingerprint = await projectFingerprint(root, config, "qa");
54
55
  const state = await readGovernorState(root);
55
56
  const cached = state.qa[key];
56
57
  const artifactsCurrent = mode.visual
@@ -75,18 +76,44 @@ export async function qaCommand(cwd, mode, output = console) {
75
76
  });
76
77
  return 0;
77
78
  }
79
+ // Visual QA hard gate: block unmotivated visual QA if routine QA already passed
80
+ if (mode.visual && config.governor.enabled) {
81
+ const normalPassed = state.qa.normal?.fingerprint === normalFingerprint;
82
+ const visualReason = mode.reason ??
83
+ (process.env.MOZOLE_VISUAL_REASON ||
84
+ (mode.force ? "force" : undefined));
85
+ if (normalPassed && !visualReason) {
86
+ progress.done();
87
+ const message = 'VISUAL QA BLOCKED\n\nRoutine QA passed. Visual QA requires an explicit user request or a confirmed deterministic QA failure.\nRun routine `mozole qa` or pass --reason="<why>".';
88
+ output.error(message);
89
+ if (config.telemetry.enabled) {
90
+ await updateTelemetry(root, (telemetry) => {
91
+ telemetry.governor.visualQaBlocked++;
92
+ telemetry.governor.modelFacingDiagnosticChars += message.length;
93
+ });
94
+ }
95
+ return 2;
96
+ }
97
+ }
78
98
  progress.step(`Running ${mode.visual ? "visual" : "browser"} QA probes across routes and viewports`);
79
99
  progress.logVerbose(`Routes: ${config.routes.join(", ")} | Viewports: ${config.qa.viewports.map((v) => `${v.width}x${v.height}`).join(", ")}`);
80
100
  const result = await runQa(root, config, mode, controller.signal);
81
101
  progress.done();
82
102
  (result.passed ? output.log : output.error)(result.output);
83
103
  if (result.passed) {
104
+ const visualReason = mode.reason ?? process.env.MOZOLE_VISUAL_REASON;
105
+ if (mode.visual && visualReason && config.telemetry.enabled) {
106
+ await updateTelemetry(root, (telemetry) => {
107
+ telemetry.governor.justifiedEscalations++;
108
+ });
109
+ }
84
110
  state.qa[key] = {
85
111
  fingerprint: await projectFingerprint(root, config, profile),
86
112
  passedAt: new Date().toISOString(),
87
113
  routes: [...config.routes],
88
114
  viewports: config.qa.viewports.map((viewport) => `${viewport.width}x${viewport.height}`),
89
115
  ...(mode.visual ? { artifacts: await captureArtifactState(root) } : {}),
116
+ ...(visualReason ? { reason: visualReason } : {}),
90
117
  };
91
118
  await writeGovernorState(root, state);
92
119
  }
@@ -1 +1 @@
1
- {"version":3,"file":"qa.js","sourceRoot":"","sources":["../../src/commands/qa.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"qa.js","sourceRoot":"","sources":["../../src/commands/qa.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/commands/stats.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,KAAK,aAAa,EAAgB,MAAM,gBAAgB,CAAC;AAUlE,UAAU,UAAU;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CACd,MAAM,EACN;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CACvD,CAAC;CACH;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CA2BtE;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,UAAU,GAAG,mBAAmB,CAgC5E;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,EAAE,CAShE;AACD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAEtC;AACD,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,MAAgB,EACxB,OAAO,GAAE;IACP,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CACtD,GACL,OAAO,CAAC,MAAM,CAAC,CA0FjB"}
1
+ {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/commands/stats.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,KAAK,aAAa,EAAgB,MAAM,gBAAgB,CAAC;AAUlE,UAAU,UAAU;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CACd,MAAM,EACN;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CACvD,CAAC;CACH;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CA2BtE;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,UAAU,GAAG,mBAAmB,CAgC5E;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,EAAE,CAShE;AACD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAEtC;AACD,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,MAAgB,EACxB,OAAO,GAAE;IACP,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CACtD,GACL,OAAO,CAAC,MAAM,CAAC,CAgGjB"}
@@ -140,10 +140,16 @@ export async function statsCommand(cwd, output = console, options = {}) {
140
140
  ` browser launches saved ${telemetry.qa.browserLaunchesAvoided}`,
141
141
  ` visual artifacts reused ${telemetry.qa.reusedVisualArtifacts}`,
142
142
  "",
143
- "Governor (measured)",
144
- ` repeated-read warnings ${telemetry.governor.repeatedReadWarnings}`,
145
- ` repeated-work warnings ${telemetry.governor.repeatedWorkWarnings}`,
146
- ` diagnostic payload ${number(telemetry.governor.modelFacingDiagnosticChars)} chars`,
143
+ "Governor (enforced)",
144
+ ` full reads blocked after CCE ${telemetry.governor.fullReadsBlockedAfterCce}`,
145
+ ` repeated reads blocked ${telemetry.governor.repeatedReadsBlocked}`,
146
+ ` visual QA blocked ${telemetry.governor.visualQaBlocked}`,
147
+ ` redundant verify blocked ${telemetry.governor.redundantVerifyBlocked}`,
148
+ ` redundant QA blocked ${telemetry.governor.redundantQaBlocked}`,
149
+ ` justified escalations ${telemetry.governor.justifiedEscalations}`,
150
+ ` repeated-read warnings ${telemetry.governor.repeatedReadWarnings}`,
151
+ ` repeated-work warnings ${telemetry.governor.repeatedWorkWarnings}`,
152
+ ` diagnostic payload ${number(telemetry.governor.modelFacingDiagnosticChars)} chars`,
147
153
  "",
148
154
  "No billing or model-token savings are inferred from character counts.",
149
155
  ].join("\n"));
@@ -1 +1 @@
1
- {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../src/commands/stats.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../src/commands/stats.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,7 @@ export interface MozoleConfig {
23
23
  };
24
24
  governor: {
25
25
  enabled: boolean;
26
- mode: "warn";
26
+ mode: "warn" | "enforce";
27
27
  hooks: {
28
28
  codex: boolean;
29
29
  claude: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/config/project.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,cAAc,CAAC;IAC1B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,EAAE,EAAE;QACF,SAAS,EAAE,QAAQ,EAAE,CAAC;QACtB,MAAM,EAAE;YACN,OAAO,EAAE,MAAM,CAAC;YAChB,IAAI,EAAE,MAAM,EAAE,CAAC;YACf,aAAa,EAAE,MAAM,CAAC;YACtB,aAAa,EAAE,MAAM,CAAC;SACvB,CAAC;KACH,CAAC;IACF,GAAG,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACjE,QAAQ,EAAE;QACR,OAAO,EAAE,OAAO,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE;YAAE,KAAK,EAAE,OAAO,CAAC;YAAC,MAAM,EAAE,OAAO,CAAA;SAAE,CAAC;KAC5C,CAAC;IACF,SAAS,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAChC,SAAS,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;CACrE;AAED,wBAAsB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAoD3E;AAED,wBAAsB,eAAe,CAAC,KAAK,SAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAc5E"}
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/config/project.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,cAAc,CAAC;IAC1B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,EAAE,EAAE;QACF,SAAS,EAAE,QAAQ,EAAE,CAAC;QACtB,MAAM,EAAE;YACN,OAAO,EAAE,MAAM,CAAC;YAChB,IAAI,EAAE,MAAM,EAAE,CAAC;YACf,aAAa,EAAE,MAAM,CAAC;YACtB,aAAa,EAAE,MAAM,CAAC;SACvB,CAAC;KACH,CAAC;IACF,GAAG,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACjE,QAAQ,EAAE;QACR,OAAO,EAAE,OAAO,CAAC;QACjB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;QACzB,KAAK,EAAE;YAAE,KAAK,EAAE,OAAO,CAAC;YAAC,MAAM,EAAE,OAAO,CAAA;SAAE,CAAC;KAC5C,CAAC;IACF,SAAS,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAChC,SAAS,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;CACrE;AAED,wBAAsB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAoD3E;AAED,wBAAsB,eAAe,CAAC,KAAK,SAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAc5E"}
@@ -5,7 +5,7 @@ export async function readConfig(projectRoot) {
5
5
  const value = JSON.parse(contents);
6
6
  value.governor ??= {
7
7
  enabled: true,
8
- mode: "warn",
8
+ mode: "enforce",
9
9
  hooks: { codex: true, claude: true },
10
10
  };
11
11
  if (value.schemaVersion !== 1 ||
@@ -32,7 +32,7 @@ export async function readConfig(projectRoot) {
32
32
  typeof value.cce?.enabled !== "boolean" ||
33
33
  typeof value.cce.initialized !== "boolean" ||
34
34
  typeof value.governor.enabled !== "boolean" ||
35
- value.governor.mode !== "warn" ||
35
+ (value.governor.mode !== "warn" && value.governor.mode !== "enforce") ||
36
36
  typeof value.governor.hooks?.codex !== "boolean" ||
37
37
  typeof value.governor.hooks.claude !== "boolean" ||
38
38
  typeof value.telemetry?.enabled !== "boolean") {
@@ -1 +1 @@
1
- {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/config/project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/config/project.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ interface HookInput {
4
4
  tool_name?: unknown;
5
5
  tool_input?: unknown;
6
6
  }
7
+ export declare function isValidJustification(reason: unknown): boolean;
7
8
  export declare function evaluateGovernorHook(input: HookInput): Promise<Record<string, unknown> | undefined>;
8
9
  export declare function governorHookCommand(): Promise<number>;
9
10
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../src/governor/hook.ts"],"names":[],"mappings":"AAYA,UAAU,SAAS;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AA+BD,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC,CAyF9C;AASD,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,CAW3D"}
1
+ {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../src/governor/hook.ts"],"names":[],"mappings":"AAYA,UAAU,SAAS;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AA6BD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAqB7D;AAED,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC,CA6S9C;AASD,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,CAW3D"}
@@ -10,79 +10,266 @@ function object(value) {
10
10
  ? value
11
11
  : {};
12
12
  }
13
- function hookMessage(message) {
13
+ function hookBlockMessage(reason) {
14
14
  return {
15
15
  hookSpecificOutput: {
16
16
  hookEventName: "PreToolUse",
17
+ permissionDecision: "deny",
18
+ permissionReason: reason,
19
+ additionalContext: reason,
20
+ },
21
+ };
22
+ }
23
+ function hookWarnMessage(message) {
24
+ return {
25
+ hookSpecificOutput: {
26
+ hookEventName: "PreToolUse",
27
+ permissionDecision: "allow",
17
28
  additionalContext: message,
18
29
  },
19
30
  };
20
31
  }
21
- async function telemetryWarning(root, enabled, kind, chars) {
22
- if (!enabled)
23
- return;
24
- await updateTelemetry(root, (telemetry) => {
25
- if (kind === "read")
26
- telemetry.governor.repeatedReadWarnings++;
27
- else
28
- telemetry.governor.repeatedWorkWarnings++;
29
- telemetry.governor.modelFacingDiagnosticChars += chars;
30
- });
32
+ export function isValidJustification(reason) {
33
+ if (typeof reason !== "string" || reason.trim().length < 8)
34
+ return false;
35
+ const lower = reason.toLowerCase();
36
+ const genericPhrases = [
37
+ "for completeness",
38
+ "to be safe",
39
+ "to understand context",
40
+ "just to check",
41
+ "understand the context",
42
+ "better understanding",
43
+ "full context",
44
+ "read whole file",
45
+ "editing the file",
46
+ "editing this file",
47
+ "need to edit",
48
+ "file being edited",
49
+ "context",
50
+ ];
51
+ return !genericPhrases.some((phrase) => lower === phrase || lower.startsWith(`${phrase} `));
31
52
  }
32
53
  export async function evaluateGovernorHook(input) {
33
54
  const cwd = typeof input.cwd === "string" ? input.cwd : process.cwd();
34
55
  const root = await findProjectRoot(cwd);
35
56
  const config = await readConfig(root);
36
- if (!config.governor.enabled || config.governor.mode !== "warn")
57
+ if (!config.governor.enabled)
37
58
  return;
38
59
  const toolName = typeof input.tool_name === "string" ? input.tool_name : "";
39
60
  const toolInput = object(input.tool_input);
61
+ // 1. CCE query / retrieval tracking
62
+ const isCceTool = /cce|context_search|expand_chunk|related_context/i.test(toolName);
63
+ const command = typeof toolInput.command === "string"
64
+ ? toolInput.command
65
+ : typeof toolInput.cmd === "string"
66
+ ? toolInput.cmd
67
+ : undefined;
68
+ const isCceCommand = command && /\bcce\s+search\b/i.test(command);
69
+ if (isCceTool || isCceCommand) {
70
+ const state = await readGovernorState(root);
71
+ const fingerprint = await projectFingerprint(root, config, "verification");
72
+ const targetFile = [
73
+ toolInput.file_path,
74
+ toolInput.path,
75
+ toolInput.filename,
76
+ ].find((item) => typeof item === "string");
77
+ const query = typeof toolInput.query === "string" ? toolInput.query : command;
78
+ state.cceRetrievals["*"] = {
79
+ retrievedAt: new Date().toISOString(),
80
+ ...(query ? { query } : {}),
81
+ fingerprint,
82
+ };
83
+ if (targetFile) {
84
+ const rel = normalizeFingerprintPath(root, path.resolve(cwd, targetFile));
85
+ state.cceRetrievals[rel] = {
86
+ retrievedAt: new Date().toISOString(),
87
+ ...(query ? { query } : {}),
88
+ fingerprint,
89
+ };
90
+ }
91
+ await writeGovernorState(root, state);
92
+ return;
93
+ }
94
+ // 2. File read evaluation (CCE-first gating & repeated-read blocking)
40
95
  const candidate = [
41
96
  toolInput.file_path,
42
97
  toolInput.path,
43
98
  toolInput.filename,
99
+ toolInput.AbsolutePath,
100
+ toolInput.TargetFile,
44
101
  ].find((item) => typeof item === "string");
45
- if (candidate && /read|file/i.test(toolName)) {
102
+ if (candidate &&
103
+ (/read|file|view/i.test(toolName) ||
104
+ (command && /\b(cat|head|less|type)\s+/i.test(command)))) {
46
105
  const absolute = path.resolve(cwd, candidate);
47
106
  if (absolute !== root &&
48
107
  !absolute.startsWith(`${path.resolve(root)}${path.sep}`))
49
108
  return;
50
- await access(absolute);
109
+ try {
110
+ await access(absolute);
111
+ }
112
+ catch {
113
+ return;
114
+ }
115
+ const relPath = normalizeFingerprintPath(root, absolute);
51
116
  const content = await fileFingerprint(absolute);
52
- const region = `${String(toolInput.offset ?? "")}\0${String(toolInput.limit ?? "")}`;
53
- const key = `${normalizeFingerprintPath(root, absolute)}\0${region}`;
117
+ const isBounded = toolInput.offset !== undefined ||
118
+ toolInput.limit !== undefined ||
119
+ toolInput.StartLine !== undefined ||
120
+ toolInput.EndLine !== undefined ||
121
+ toolInput.start_line !== undefined ||
122
+ toolInput.end_line !== undefined;
123
+ const justification = toolInput.reason ?? toolInput.justification;
124
+ const hasJustification = isValidJustification(justification);
125
+ const region = `${String(toolInput.offset ?? toolInput.StartLine ?? "")}\0${String(toolInput.limit ?? toolInput.EndLine ?? "")}`;
126
+ const key = `${relPath}\0${region}`;
54
127
  const state = await readGovernorState(root);
55
128
  const previous = state.reads[key];
56
- const current = {
129
+ const cceRetrieved = state.cceRetrievals[relPath] ?? state.cceRetrievals["*"];
130
+ const currentFingerprint = await projectFingerprint(root, config, "verification");
131
+ const currentCceRetrieval = cceRetrieved?.fingerprint === currentFingerprint;
132
+ // CCE-first gate: non-trivial source reads require current retrieval evidence.
133
+ if (!currentCceRetrieval) {
134
+ const message = `CCE REQUIRED\n\nUse CCE \`context_search\` before inspecting ${relPath}. If retrieval is insufficient, use \`expand_chunk\`/\`related_context\`, then a bounded changed-region read. Full-file reads require a concrete correctness reason.`;
135
+ if (config.telemetry.enabled) {
136
+ await updateTelemetry(root, (telemetry) => {
137
+ telemetry.governor.fullReadsBlockedAfterCce++;
138
+ telemetry.governor.modelFacingDiagnosticChars += message.length;
139
+ });
140
+ }
141
+ state.reads[key] = {
142
+ content,
143
+ seenAt: new Date().toISOString(),
144
+ blocked: true,
145
+ };
146
+ await writeGovernorState(root, state);
147
+ return hookBlockMessage(message);
148
+ }
149
+ // Current CCE retrieval still does not authorize an unjustified broad read.
150
+ if (currentCceRetrieval && !isBounded && !hasJustification) {
151
+ const message = `CCE GUARD\n\n${relPath} was already retrieved via CCE. Escalate progressively:\n 1. Targeted additional CCE query\n 2. Bounded range read (offset/limit or StartLine/EndLine)\n 3. Full-file read only when genuinely necessary with a concrete reason.`;
152
+ if (config.telemetry.enabled) {
153
+ await updateTelemetry(root, (telemetry) => {
154
+ telemetry.governor.fullReadsBlockedAfterCce++;
155
+ telemetry.governor.modelFacingDiagnosticChars += message.length;
156
+ });
157
+ }
158
+ state.reads[key] = {
159
+ content,
160
+ seenAt: new Date().toISOString(),
161
+ blocked: true,
162
+ };
163
+ await writeGovernorState(root, state);
164
+ return hookBlockMessage(message);
165
+ }
166
+ // Repeated read check: same file region unchanged without justification
167
+ if (previous?.content === content &&
168
+ !previous.blocked &&
169
+ !hasJustification) {
170
+ if (config.governor.mode === "warn" && previous.warned) {
171
+ return;
172
+ }
173
+ const message = `CONTEXT GUARD\n\n${relPath} was already inspected and has not changed. Prefer CCE, git diff, or a changed-region read.`;
174
+ if (config.telemetry.enabled) {
175
+ await updateTelemetry(root, (telemetry) => {
176
+ telemetry.governor.repeatedReadsBlocked++;
177
+ telemetry.governor.repeatedReadWarnings++;
178
+ telemetry.governor.modelFacingDiagnosticChars += message.length;
179
+ });
180
+ }
181
+ previous.seenAt = new Date().toISOString();
182
+ previous.warned = true;
183
+ previous.blocked = true;
184
+ await writeGovernorState(root, state);
185
+ if (config.governor.mode === "warn") {
186
+ return hookWarnMessage(message);
187
+ }
188
+ return hookBlockMessage(message);
189
+ }
190
+ // Only bounded reads or explicitly justified full-file escalation reach here.
191
+ const escalationLevel = isBounded
192
+ ? "bounded"
193
+ : "justified_full";
194
+ if (hasJustification && config.telemetry.enabled) {
195
+ await updateTelemetry(root, (telemetry) => {
196
+ telemetry.governor.justifiedEscalations++;
197
+ });
198
+ }
199
+ state.reads[key] = {
57
200
  content,
58
201
  seenAt: new Date().toISOString(),
59
- warned: previous?.content === content ? Boolean(previous.warned) : false,
202
+ escalationLevel,
60
203
  };
61
- state.reads[key] = current;
62
204
  const keys = Object.keys(state.reads);
63
205
  for (const stale of keys.slice(0, Math.max(0, keys.length - 100)))
64
206
  delete state.reads[stale];
65
- if (previous?.content === content && !previous.warned) {
66
- current.warned = true;
67
- await writeGovernorState(root, state);
68
- const message = `CONTEXT GUARD\n\n${normalizeFingerprintPath(root, absolute)} was already inspected and has not changed. Prefer CCE, git diff, or a changed-region read.`;
69
- await telemetryWarning(root, config.telemetry.enabled, "read", message.length);
70
- return hookMessage(message);
71
- }
72
207
  await writeGovernorState(root, state);
73
208
  return;
74
209
  }
75
- const command = typeof toolInput.command === "string" ? toolInput.command : undefined;
210
+ // 3. Command evaluation (Visual QA gate, rerun checks, runaway guard)
76
211
  if (!command || !/bash|exec|shell/i.test(toolName))
77
212
  return;
78
- const commandHash = createHash("sha256").update(command).digest("hex");
79
- const fingerprint = await projectFingerprint(root, config, "verification");
213
+ const qaFingerprint = await projectFingerprint(root, config, "qa");
214
+ const verifyFingerprint = await projectFingerprint(root, config, "verification");
80
215
  const state = await readGovernorState(root);
81
- const previous = state.commands.find((item) => item.command === commandHash && item.fingerprint === fingerprint);
216
+ // Visual QA hard gate
217
+ const isVisualQa = /\b(mozole\s+qa|npm\s+run\s+qa:visual)\b.*--visual|\bnpm\s+run\s+qa:visual\b/i.test(command);
218
+ if (isVisualQa) {
219
+ const normalPassed = state.qa.normal?.fingerprint === qaFingerprint;
220
+ const hasVisualReason = /--reason=|--force/i.test(command) ||
221
+ Boolean(process.env.MOZOLE_VISUAL_REASON);
222
+ if (normalPassed && !hasVisualReason) {
223
+ const message = "VISUAL QA GUARD\n\nRoutine QA passed. Visual QA is only allowed when explicitly requested by user or when deterministic QA fails. Run routine `mozole qa` or stop.";
224
+ if (config.telemetry.enabled) {
225
+ await updateTelemetry(root, (telemetry) => {
226
+ telemetry.governor.visualQaBlocked++;
227
+ telemetry.governor.modelFacingDiagnosticChars += message.length;
228
+ });
229
+ }
230
+ return hookBlockMessage(message);
231
+ }
232
+ }
233
+ // Redundant verify check
234
+ const isVerify = /\b(mozole\s+verify|npm\s+run\s+verify)\b/i.test(command) &&
235
+ !command.includes("--force");
236
+ if (isVerify && state.verification?.fingerprint === verifyFingerprint) {
237
+ const message = "VERIFY GUARD\n\nNo relevant changes since the last successful verification. Stop or make a relevant edit.";
238
+ if (config.telemetry.enabled) {
239
+ await updateTelemetry(root, (telemetry) => {
240
+ telemetry.governor.redundantVerifyBlocked++;
241
+ telemetry.governor.modelFacingDiagnosticChars += message.length;
242
+ });
243
+ }
244
+ if (config.governor.mode === "enforce") {
245
+ return hookBlockMessage(message);
246
+ }
247
+ return hookWarnMessage(message);
248
+ }
249
+ // Redundant QA check
250
+ const isNormalQa = /\b(mozole\s+qa|npm\s+run\s+qa)\b/i.test(command) &&
251
+ !isVisualQa &&
252
+ !command.includes("--force");
253
+ if (isNormalQa && state.qa.normal?.fingerprint === qaFingerprint) {
254
+ const message = "QA GUARD\n\nRoutine QA already passed for the current project state. Stop exploration or make a relevant edit.";
255
+ if (config.telemetry.enabled) {
256
+ await updateTelemetry(root, (telemetry) => {
257
+ telemetry.governor.redundantQaBlocked++;
258
+ telemetry.governor.modelFacingDiagnosticChars += message.length;
259
+ });
260
+ }
261
+ if (config.governor.mode === "enforce") {
262
+ return hookBlockMessage(message);
263
+ }
264
+ return hookWarnMessage(message);
265
+ }
266
+ // Runaway / duplicate command guard
267
+ const commandHash = createHash("sha256").update(command).digest("hex");
268
+ const previous = state.commands.find((item) => item.command === commandHash && item.fingerprint === verifyFingerprint);
82
269
  if (!previous) {
83
270
  state.commands.push({
84
271
  command: commandHash,
85
- fingerprint,
272
+ fingerprint: verifyFingerprint,
86
273
  seenAt: new Date().toISOString(),
87
274
  });
88
275
  state.commands = state.commands.slice(-50);
@@ -94,14 +281,21 @@ export async function evaluateGovernorHook(input) {
94
281
  previous.warned = true;
95
282
  previous.seenAt = new Date().toISOString();
96
283
  await writeGovernorState(root, state);
97
- const qaFingerprint = await projectFingerprint(root, config, "qa");
98
- const complete = state.verification?.fingerprint === fingerprint &&
284
+ const complete = state.verification?.fingerprint === verifyFingerprint &&
99
285
  Object.values(state.qa).some((evidence) => evidence.fingerprint === qaFingerprint);
100
286
  const message = complete
101
- ? "RUNAWAY GUARD\n\nThis command repeats existing evidence after verification and QA passed. Address a specific unresolved issue or stop."
287
+ ? "RUNAWAY GUARD\n\nTask is complete (verification and QA passed). Stop exploration."
102
288
  : "EXECUTION GUARD\n\nThis identical command already ran without a relevant project mutation.";
103
- await telemetryWarning(root, config.telemetry.enabled, "work", message.length);
104
- return hookMessage(message);
289
+ if (config.telemetry.enabled) {
290
+ await updateTelemetry(root, (telemetry) => {
291
+ telemetry.governor.repeatedWorkWarnings++;
292
+ telemetry.governor.modelFacingDiagnosticChars += message.length;
293
+ });
294
+ }
295
+ if (complete || config.governor.mode === "enforce") {
296
+ return hookBlockMessage(message);
297
+ }
298
+ return hookWarnMessage(message);
105
299
  }
106
300
  async function stdin() {
107
301
  const chunks = [];
@@ -120,7 +314,7 @@ export async function governorHookCommand() {
120
314
  return 0;
121
315
  }
122
316
  catch {
123
- // Hooks are advisory and must never break legitimate agent work.
317
+ // Hooks must never crash host process
124
318
  return 0;
125
319
  }
126
320
  }
@@ -1 +1 @@
1
- {"version":3,"file":"hook.js","sourceRoot":"","sources":["../../src/governor/hook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hook.js","sourceRoot":"","sources":["../../src/governor/hook.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ export interface EvidenceState {
8
8
  path: string;
9
9
  sha256: string;
10
10
  }>;
11
+ reason?: string;
11
12
  }
12
13
  export interface GovernorState {
13
14
  schemaVersion: 1;
@@ -17,12 +18,20 @@ export interface GovernorState {
17
18
  content: string;
18
19
  seenAt: string;
19
20
  warned?: boolean;
21
+ blocked?: boolean;
22
+ escalationLevel?: "cce" | "bounded" | "justified_full" | "small_file";
23
+ }>;
24
+ cceRetrievals: Record<string, {
25
+ retrievedAt: string;
26
+ query?: string;
27
+ fingerprint?: string;
20
28
  }>;
21
29
  commands: Array<{
22
30
  command: string;
23
31
  fingerprint: string;
24
32
  seenAt: string;
25
33
  warned?: boolean;
34
+ blocked?: boolean;
26
35
  }>;
27
36
  }
28
37
  export declare const emptyGovernorState: () => GovernorState;
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/governor/state.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrD;AACD,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,CAAC,CAAC;IACjB,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC7E,QAAQ,EAAE,KAAK,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC,CAAC;CACJ;AAED,eAAO,MAAM,kBAAkB,QAAO,aAKpC,CAAC;AASH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CA8B5E;AAED,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,IAAI,CAAC,CAMf;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;CACjB,GAAG,MAAM,CAIT"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/governor/state.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AACD,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,CAAC,CAAC;IACjB,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAClC,KAAK,EAAE,MAAM,CACX,MAAM,EACN;QACE,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,eAAe,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,gBAAgB,GAAG,YAAY,CAAC;KACvE,CACF,CAAC;IACF,aAAa,EAAE,MAAM,CACnB,MAAM,EACN;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAC9D,CAAC;IACF,QAAQ,EAAE,KAAK,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC,CAAC;CACJ;AAED,eAAO,MAAM,kBAAkB,QAAO,aAMpC,CAAC;AASH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAkC5E;AAED,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,IAAI,CAAC,CAMf;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;CACjB,GAAG,MAAM,CAIT"}
@@ -4,6 +4,7 @@ export const emptyGovernorState = () => ({
4
4
  schemaVersion: 1,
5
5
  qa: {},
6
6
  reads: {},
7
+ cceRetrievals: {},
7
8
  commands: [],
8
9
  });
9
10
  const statePath = (root) => path.join(root, ".mozole", "state", "governor.json");
@@ -20,6 +21,9 @@ export async function readGovernorState(root) {
20
21
  : undefined;
21
22
  const qa = record(value.qa) ? value.qa : {};
22
23
  const reads = record(value.reads) ? value.reads : {};
24
+ const cceRetrievals = record(value.cceRetrievals)
25
+ ? value.cceRetrievals
26
+ : {};
23
27
  const commands = Array.isArray(value.commands)
24
28
  ? value.commands.filter((item) => record(item) &&
25
29
  typeof item.command === "string" &&
@@ -31,6 +35,7 @@ export async function readGovernorState(root) {
31
35
  ...(verification ? { verification: verification } : {}),
32
36
  qa: qa,
33
37
  reads: reads,
38
+ cceRetrievals: cceRetrievals,
34
39
  commands,
35
40
  };
36
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/governor/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/governor/state.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/scaffold/templates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIzD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CA4BxD;AAID,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAgLrE"}
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/scaffold/templates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIzD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CA4BxD;AAID,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAiLrE"}
@@ -22,7 +22,7 @@ export function projectConfig(name) {
22
22
  cce: { enabled: true, initialized: false, command: "cce init --agent all" },
23
23
  governor: {
24
24
  enabled: true,
25
- mode: "warn",
25
+ mode: "enforce",
26
26
  hooks: { codex: true, claude: true },
27
27
  },
28
28
  telemetry: { enabled: true },
@@ -88,13 +88,13 @@ export function projectTemplates(name) {
88
88
  ".agents/mcp_config.json": json({
89
89
  mcpServers: { "mozole-cce": cceMcpServer() },
90
90
  }),
91
- ".agents/rules/mozole.md": "Follow the shared project contract in `AGENTS.md`. Use CCE for targeted repository retrieval; prefer diffs or changed regions over repeated broad reads. Use `mozole verify` and screenshot-free `mozole qa`; avoid unchanged successful reruns. Screenshots and Antigravity browser inspection are for explicit visual review or a confirmed issue requiring visual judgment. Keep routine narration concise and stop when requested work is complete, verified, and has no unresolved issue.\n",
91
+ ".agents/rules/mozole.md": "Follow the shared project contract in `AGENTS.md`. Repository reads are forbidden by default. Required order: CCE search additional CCE search bounded line-range read only when CCE output is insufficient → full-file read only after explicit escalation. Editing a file is NOT sufficient justification for reading it in full. If CCE is unavailable, report the blocker; do not fall back to repository reads. Routine browser validation uses screenshot-free `mozole qa`; visual QA requires an explicit request or confirmed deterministic failure. Stop after requested work, `mozole verify`, and relevant routine QA pass.\n",
92
92
  ".agents/workflows/mozole-verify.md": "Run `mozole verify`. If it passes or is current, report the concise result and stop. If it fails, use the actionable summary; retrieve a raw log with `mozole logs <name>` only when the summary is insufficient. Rerun only after a relevant change, unless fresh evidence was explicitly requested with `--force`.\n",
93
93
  ".agents/workflows/mozole-qa.md": "Run `mozole qa`. Use its deterministic evidence and do not capture or request screenshots. If QA passes or is current, report concisely and stop. If it fails and fixing is in scope, address confirmed evidence and rerun only after a relevant change.\n",
94
94
  ".agents/workflows/mozole-qa-interactive.md": "Run `mozole qa --interactive`. Use deterministic interaction evidence without screenshots. Fix confirmed in-scope failures, then rerun only after a relevant change. Stop when QA passes or is current.\n",
95
95
  ".agents/workflows/mozole-qa-visual.md": "Run `mozole qa --visual`. This workflow explicitly permits the generated visual artifacts under `.mozole/qa/`. Reuse current artifacts unless the user intentionally requests fresh capture with `--force`; inspect only the routes and viewports relevant to the task.\n",
96
96
  ".codex/hooks.json": json({
97
- description: "Optional advisory Mozole token-governor hooks.",
97
+ description: "Enforced Mozole CCE-first and token-governor hooks.",
98
98
  hooks: {
99
99
  PreToolUse: [
100
100
  {
@@ -182,8 +182,8 @@ export function projectTemplates(name) {
182
182
  "app/styles/global.css": ":root {\n color-scheme: light;\n font-family: Inter, ui-sans-serif, system-ui, sans-serif;\n color: #171717;\n background: #fafafa;\n}\n* {\n box-sizing: border-box;\n}\nbody {\n margin: 0;\n min-width: 320px;\n}\na {\n color: inherit;\n text-underline-offset: 0.2em;\n}\nheader {\n border-bottom: 1px solid #ddd;\n}\nnav {\n max-width: 70rem;\n margin: auto;\n padding: 1rem 1.5rem;\n display: flex;\n gap: 1.25rem;\n}\nnav a.active {\n font-weight: 700;\n}\nmain {\n width: min(70rem, 100%);\n margin: 0 auto;\n padding: clamp(3rem, 8vw, 8rem) 1.5rem;\n}\nh1 {\n max-width: 18ch;\n font-size: clamp(2.25rem, 7vw, 5rem);\n line-height: 1.02;\n letter-spacing: -0.04em;\n margin: 0.15em 0 0.4em;\n}\np {\n max-width: 65ch;\n line-height: 1.65;\n}\n.eyebrow {\n text-transform: uppercase;\n letter-spacing: 0.12em;\n font-size: 0.75rem;\n font-weight: 700;\n}\n",
183
183
  "tests/setup.ts": 'import "@testing-library/jest-dom/vitest";\n',
184
184
  "tests/smoke.test.tsx": 'import { render, screen } from "@testing-library/react";\nimport { describe, expect, it } from "vitest";\nimport Home from "../app/routes/home";\n\ndescribe("Home", () => {\n it("renders the starting point", () => {\n render(<Home />);\n expect(\n screen.getByRole("heading", { name: /build the site/i }),\n ).toBeVisible();\n });\n});\n',
185
- "AGENTS.md": "# Project guide\n\n## Commands\n\n- `npm run dev` — local app\n- `npm run verify` — lint, typecheck, tests, production build\n- `npm run qa` — deterministic browser QA (no screenshots)\n- `npm run qa:interactive` — adds safe interaction probes\n- `npm run qa:visual` — explicit screenshot review\n- `mozole cce install` — install persistent CCE and required uv runtime\n- `mozole ui` — full-screen terminal dashboard\n\n## Architecture\n\nReact Router Framework Mode lives in `app/`; routes are in `app/routes.ts`; static output is `build/client/`. Mozole settings are in `.mozole/`; Antigravity integration is in `.agents/`; deeper decisions belong in `docs/`.\n\n## Efficient agent workflow\n\nRetrieve exact CCE symbols/chunks before broad reads; request more context when needed. Prefer a localized patch, inspect `git diff`, then verify. Do not reread unchanged files or repeat current verification/QA without a concrete reason (`--force` requests fresh evidence). Prefer action over routine narration: do not restate the request, obvious tool calls, existing code, or successful logs. Once requested changes are complete, verification and relevant QA pass, and no known issue remains, stop exploring. Keep completion concise: changed, verified, unresolved. Normal QA never takes screenshots; visual QA is explicit only.\n",
186
- "CLAUDE.md": "@AGENTS.md\n",
185
+ "AGENTS.md": "# Project guide\n\n## Commands\n\n- `npm run dev` — local app\n- `npm run verify` — lint, typecheck, tests, production build\n- `npm run qa` — deterministic browser QA (no screenshots)\n- `npm run qa:interactive` — adds safe interaction probes\n- `npm run qa:visual` — explicit screenshot review\n- `mozole cce install` — install persistent CCE and required uv runtime\n- `mozole ui` — full-screen terminal dashboard\n\n## Architecture\n\nReact Router Framework Mode lives in `app/`; routes are in `app/routes.ts`; static output is `build/client/`. Mozole settings are in `.mozole/`; Antigravity integration is in `.agents/`; deeper decisions belong in `docs/`.\n\n## Mandatory CCE contract\n\nRepository reads are forbidden by default. Allowed retrieval order:\n\n1. CCE `context_search`\n2. additional CCE search, `expand_chunk`, or `related_context`\n3. bounded line-range read only when CCE output is insufficient\n4. full-file read only after explicit escalation\n\nEditing a file is NOT sufficient justification for reading it in full. If CCE is unavailable, stop and report the blocker instead of falling back to repository reads. Prefer localized patches and inspect `git diff`. Keep narration and successful logs concise. Routine browser validation uses screenshot-free `mozole qa`; visual QA requires an explicit user request or confirmed deterministic failure. Stop after requested work, `mozole verify`, and relevant routine QA pass.\n",
186
+ "CLAUDE.md": "@AGENTS.md\n\n## Claude Code CCE contract\n\nRepository reads are forbidden by default. Use `context_search`, then additional CCE retrieval. Read may use a bounded line range only when CCE is insufficient; a full-file Read requires explicit escalation. Editing is not justification. If CCE is unavailable, report the blocker; do not fall back.\n",
187
187
  "docs/architecture.md": "# Architecture\n\nThe app uses React Router Framework Mode with Vite. `ssr: false` and `prerender: true` emit real HTML for every statically declared route. Static files in `build/client/` can be served beside a future PHP backend without a production Node process. Mozole fingerprints relevant inputs under `.mozole/state/`; unchanged successful verification and QA are reused, while `--force` requests fresh evidence. Codex and Claude Code use the shared root instructions; Antigravity workspace MCP, rules, and workflows live under `.agents/` and share the same CCE index.\n",
188
188
  "README.md": `# ${name}\n\nStatic-first React Router Framework Mode project generated by Mozole for Codex, Claude Code, and Google Antigravity.\n\n## Start\n\n\`\`\`sh\nnpm install\nnpm run dev\n\`\`\`\n\nRun \`npm run verify\` before handoff and \`npm run qa\` for screenshot-free browser checks. Unchanged successful checks are reused; use \`--force\` for intentionally fresh evidence. Visual QA is explicit only. Antigravity workspace integration is under \`.agents/\`. Production files are emitted to \`build/client/\`.\n`,
189
189
  };
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/scaffold/templates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/scaffold/templates.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,12 @@ export interface Telemetry {
19
19
  repeatedReadWarnings: number;
20
20
  repeatedWorkWarnings: number;
21
21
  modelFacingDiagnosticChars: number;
22
+ fullReadsBlockedAfterCce: number;
23
+ repeatedReadsBlocked: number;
24
+ visualQaBlocked: number;
25
+ redundantVerifyBlocked: number;
26
+ redundantQaBlocked: number;
27
+ justifiedEscalations: number;
22
28
  };
23
29
  }
24
30
  export declare const emptyTelemetry: () => Telemetry;
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/telemetry/store.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,SAAS;IACxB,aAAa,EAAE,CAAC,CAAC;IACjB,YAAY,EAAE;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,EAAE,EAAE;QACF,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,sBAAsB,EAAE,MAAM,CAAC;QAC/B,qBAAqB,EAAE,MAAM,CAAC;KAC/B,CAAC;IACF,QAAQ,EAAE;QACR,oBAAoB,EAAE,MAAM,CAAC;QAC7B,oBAAoB,EAAE,MAAM,CAAC;QAC7B,0BAA0B,EAAE,MAAM,CAAC;KACpC,CAAC;CACH;AACD,eAAO,MAAM,cAAc,QAAO,SAiBhC,CAAC;AAKH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAiCpE;AACD,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,GACjC,OAAO,CAAC,IAAI,CAAC,CASf"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/telemetry/store.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,SAAS;IACxB,aAAa,EAAE,CAAC,CAAC;IACjB,YAAY,EAAE;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,EAAE,EAAE;QACF,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,sBAAsB,EAAE,MAAM,CAAC;QAC/B,qBAAqB,EAAE,MAAM,CAAC;KAC/B,CAAC;IACF,QAAQ,EAAE;QACR,oBAAoB,EAAE,MAAM,CAAC;QAC7B,oBAAoB,EAAE,MAAM,CAAC;QAC7B,0BAA0B,EAAE,MAAM,CAAC;QACnC,wBAAwB,EAAE,MAAM,CAAC;QACjC,oBAAoB,EAAE,MAAM,CAAC;QAC7B,eAAe,EAAE,MAAM,CAAC;QACxB,sBAAsB,EAAE,MAAM,CAAC;QAC/B,kBAAkB,EAAE,MAAM,CAAC;QAC3B,oBAAoB,EAAE,MAAM,CAAC;KAC9B,CAAC;CACH;AACD,eAAO,MAAM,cAAc,QAAO,SAuBhC,CAAC;AAKH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAyCpE;AACD,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,GACjC,OAAO,CAAC,IAAI,CAAC,CASf"}
@@ -16,6 +16,12 @@ export const emptyTelemetry = () => ({
16
16
  repeatedReadWarnings: 0,
17
17
  repeatedWorkWarnings: 0,
18
18
  modelFacingDiagnosticChars: 0,
19
+ fullReadsBlockedAfterCce: 0,
20
+ repeatedReadsBlocked: 0,
21
+ visualQaBlocked: 0,
22
+ redundantVerifyBlocked: 0,
23
+ redundantQaBlocked: 0,
24
+ justifiedEscalations: 0,
19
25
  },
20
26
  });
21
27
  const count = (value) => typeof value === "number" && Number.isFinite(value) && value >= 0 ? value : 0;
@@ -43,6 +49,12 @@ export async function readTelemetry(root) {
43
49
  repeatedReadWarnings: count(value.governor?.repeatedReadWarnings),
44
50
  repeatedWorkWarnings: count(value.governor?.repeatedWorkWarnings),
45
51
  modelFacingDiagnosticChars: count(value.governor?.modelFacingDiagnosticChars),
52
+ fullReadsBlockedAfterCce: count(value.governor?.fullReadsBlockedAfterCce),
53
+ repeatedReadsBlocked: count(value.governor?.repeatedReadsBlocked),
54
+ visualQaBlocked: count(value.governor?.visualQaBlocked),
55
+ redundantVerifyBlocked: count(value.governor?.redundantVerifyBlocked),
56
+ redundantQaBlocked: count(value.governor?.redundantQaBlocked),
57
+ justifiedEscalations: count(value.governor?.justifiedEscalations),
46
58
  },
47
59
  };
48
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/telemetry/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/telemetry/store.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- export declare const CLI_VERSION = "1.2.1";
1
+ export declare const CLI_VERSION = "1.2.3";
2
2
  export declare const TOOLCHAIN: Readonly<{
3
3
  schemaVersion: 1;
4
- mozoleCli: "1.2.1";
4
+ mozoleCli: "1.2.3";
5
5
  node: ">=22";
6
6
  react: "19.2.8";
7
7
  reactDom: "19.2.8";
package/dist/version.js CHANGED
@@ -1,4 +1,4 @@
1
- export const CLI_VERSION = "1.2.1";
1
+ export const CLI_VERSION = "1.2.3";
2
2
  export const TOOLCHAIN = Object.freeze({
3
3
  schemaVersion: 1,
4
4
  mozoleCli: CLI_VERSION,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mozole/cli",
3
- "version": "1.2.2",
3
+ "version": "1.2.3",
4
4
  "description": "Static-first React Router bootstrap and agent harness",
5
5
  "type": "module",
6
6
  "bin": {