@phamvuhoang/otto-core 0.30.0 → 0.32.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.
Files changed (40) hide show
  1. package/dist/context-compressor.d.ts +4 -2
  2. package/dist/context-compressor.d.ts.map +1 -1
  3. package/dist/context-compressor.js +13 -1
  4. package/dist/context-compressor.js.map +1 -1
  5. package/dist/extension-profiles.js +2 -2
  6. package/dist/extension-profiles.js.map +1 -1
  7. package/dist/git.d.ts +7 -0
  8. package/dist/git.d.ts.map +1 -1
  9. package/dist/git.js +20 -0
  10. package/dist/git.js.map +1 -1
  11. package/dist/headroom-adapter.d.ts +138 -27
  12. package/dist/headroom-adapter.d.ts.map +1 -1
  13. package/dist/headroom-adapter.js +335 -49
  14. package/dist/headroom-adapter.js.map +1 -1
  15. package/dist/index.d.ts +3 -1
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +3 -1
  18. package/dist/index.js.map +1 -1
  19. package/dist/inspect.d.ts.map +1 -1
  20. package/dist/inspect.js +20 -0
  21. package/dist/inspect.js.map +1 -1
  22. package/dist/loop.d.ts.map +1 -1
  23. package/dist/loop.js +81 -7
  24. package/dist/loop.js.map +1 -1
  25. package/dist/report-finalize.d.ts.map +1 -1
  26. package/dist/report-finalize.js +49 -1
  27. package/dist/report-finalize.js.map +1 -1
  28. package/dist/run-report.d.ts +7 -0
  29. package/dist/run-report.d.ts.map +1 -1
  30. package/dist/run-report.js.map +1 -1
  31. package/dist/verification-evidence.d.ts +41 -0
  32. package/dist/verification-evidence.d.ts.map +1 -0
  33. package/dist/verification-evidence.js +184 -0
  34. package/dist/verification-evidence.js.map +1 -0
  35. package/dist/verification-matrix.d.ts +159 -0
  36. package/dist/verification-matrix.d.ts.map +1 -0
  37. package/dist/verification-matrix.js +337 -0
  38. package/dist/verification-matrix.js.map +1 -0
  39. package/package.json +1 -1
  40. package/templates/verify.md +41 -1
@@ -1,71 +1,231 @@
1
1
  import { spawnSync } from "node:child_process";
2
+ import { COMPRESSION_CATEGORIES } from "./context-compressor.js";
3
+ import { authorizeToolInvocation } from "./tools.js";
2
4
  /**
3
- * Headroom adapter (issue #112 P20) behind P19's external-tool contract.
5
+ * Headroom adapter (issue #112 P20).
4
6
  * [Headroom](https://github.com/headroomlabs-ai/headroom) compresses token-heavy
5
- * content (tool outputs, logs, RAG chunks, files, history). Otto talks to it as a
6
- * governed {@link ToolDefinition}, so the same registry/policy authority that
7
- * gates any tool gates the compressor — it can only run in allowed stages, with
8
- * the declared scope.
7
+ * content (tool outputs, logs, RAG chunks, files, history). A
8
+ * {@link headroomToolDefinition} entry under `.otto/tools/` makes it
9
+ * `otto-tools list`/`health`-visible and governs it: {@link authorizeCompressor}
10
+ * honors the tool's `enabled` flag and authorizes its command against
11
+ * `.otto/policy.json`. It is **not** *stage*-gated, though — the compressor runs
12
+ * at the render boundary, not per stage ([#192](https://github.com/phamvuhoang/otto/issues/192)).
9
13
  *
10
- * This slice implements **local-first command mode** (the roadmap's preferred,
11
- * service-free path): Otto shells out to a local `headroom` binary, piping the
12
- * content on stdin and reading the compressed result on stdout. MCP mode and the
13
- * TypeScript library path slot in behind the same {@link ContextCompressor}
14
- * interface without changing callers; proxy/wrapper mode stays an explicit
15
- * advanced option because it alters provider transport.
14
+ * Otto drives Headroom's real `compress(messages, model)` library through a
15
+ * synchronous subprocess (the render/`@spill` boundary cannot await). Two runners
16
+ * sit behind one {@link HeadroomRunner} contract:
16
17
  *
17
- * Everything is injectable ({@link HeadroomRunner}) so tests never spawn a real
18
- * process, and a missing binary degrades cleanly (the compressor reports
19
- * unavailable and the orchestrator keeps the original content).
18
+ * - **library mode (default):** spawn `python3 -c <bridge>` calling
19
+ * `from headroom import compress` Headroom's documented API (needs the
20
+ * `headroom-ai[ml]` extra; the base package leaves plain text unchanged).
21
+ * Inference is **local** with **no per-call API/cost** (`HEADROOM_MODEL` only
22
+ * selects the tokenizer), but the ML model is **downloaded once from Hugging
23
+ * Face** (~260–600 MB) on first use. Otto forces offline by default (no fetch);
24
+ * when you opt in ({@link authorizeCompressor} pre-authorizes the resolved
25
+ * endpoint against policy + declared domains, though it cannot intercept the
26
+ * subprocess's traffic), so pre-warm it (`HF_HUB_OFFLINE=0` / `HF_ENDPOINT`). The
27
+ * interpreter is overridable via `OTTO_HEADROOM_PYTHON`.
28
+ * - **command mode:** when `OTTO_HEADROOM_BIN` is set, shell out to that binary
29
+ * with `compress --category <c>` (stdin → compressed stdout) — an escape hatch
30
+ * for a custom compressor that already speaks this contract.
31
+ *
32
+ * {@link resolveHeadroomRunner} picks the mode. Everything is injectable (the
33
+ * runner and its `spawn`) so tests never spawn a real process, and a missing
34
+ * interpreter / library degrades cleanly (the compressor reports unavailable or
35
+ * `ok: false` and the orchestrator keeps the original content).
20
36
  */
21
- /** The default binary, overridable via `OTTO_HEADROOM_BIN`. */
22
- export const HEADROOM_VERSION = "headroom-cmd-1";
37
+ /** Compressor identity recorded on each compression (mode-agnostic). */
38
+ export const HEADROOM_VERSION = "headroom-1";
23
39
  /** Resolve the headroom binary name (env override, else `headroom`). */
24
40
  function headroomBin(env) {
25
41
  const b = env.OTTO_HEADROOM_BIN;
26
42
  return typeof b === "string" && b.length > 0 ? b : "headroom";
27
43
  }
44
+ /** Resolve the Python interpreter for library mode (env override, else `python3`). */
45
+ function pythonBin(env) {
46
+ const p = env.OTTO_HEADROOM_PYTHON;
47
+ return typeof p === "string" && p.length > 0 ? p : "python3";
48
+ }
49
+ /** The Hugging Face hosts the ML model is fetched from by default (no HF_ENDPOINT). */
50
+ const HF_DEFAULT_DOMAINS = ["huggingface.co", "cdn-lfs.huggingface.co"];
28
51
  /**
29
- * Default command-mode runner: `headroom --version` for availability, and
30
- * `headroom compress --category <c>` (content on stdin compressed stdout) for
31
- * one compression. A non-zero exit / spawn error is a recoverable failure
32
- * (`ok: false`), which the orchestrator turns into a degraded passthrough.
52
+ * Python one-liner that exits 0 only when Headroom's ML compressor can actually run.
53
+ * `import headroom` passes on the passthrough-only base package, and `import torch`
54
+ * can pass with torch installed independently while other deps are missing — so we
55
+ * defer to Headroom's own `is_kompress_available()` (checks the real ONNX **or**
56
+ * PyTorch backend stack). Contains no quotes, so it embeds cleanly in the `node -e`
57
+ * health probe. A changed module path fails closed (reports unavailable → degrade).
33
58
  */
34
- export function defaultHeadroomRunner(env = process.env, timeoutMs = 30_000) {
35
- const bin = headroomBin(env);
59
+ const KOMPRESS_PROBE = "import sys; from headroom.transforms.kompress_compressor import is_kompress_available; sys.exit(0 if is_kompress_available() else 1)";
60
+ /**
61
+ * Whether the compressor subprocess runs offline. Otto forces `HF_HUB_OFFLINE=1`
62
+ * by default (the runner injects `env.HF_HUB_OFFLINE ?? "1"`), and this MUST match
63
+ * Hugging Face's own parsing so {@link authorizeCompressor}'s "can it reach the
64
+ * network?" matches reality: HF treats only `1`/`true`/`yes`/`on` (case-insensitive)
65
+ * as offline — every other value (e.g. `maybe`) is **online**. Treating an
66
+ * unrecognized value as offline would skip policy authorization while the run
67
+ * actually went online.
68
+ */
69
+ export function headroomOffline(env = process.env) {
70
+ const v = (env.HF_HUB_OFFLINE ?? "1").trim().toLowerCase();
71
+ return v === "1" || v === "true" || v === "yes" || v === "on";
72
+ }
73
+ /**
74
+ * The network host(s) the ML model fetch would ACTUALLY reach, resolved from env
75
+ * like Hugging Face does: `HF_ENDPOINT` (its host) overrides the default HF hosts.
76
+ * Authorizing the resolved endpoint — not the static `tool.networkDomains` — closes
77
+ * the gap where `HF_ENDPOINT=https://evil.example` would slip past a policy that
78
+ * only allows `huggingface.co`.
79
+ */
80
+ export function headroomNetworkDomains(env = process.env) {
81
+ const ep = env.HF_ENDPOINT;
82
+ if (typeof ep === "string" && ep.length > 0) {
83
+ try {
84
+ return [new URL(ep).hostname];
85
+ }
86
+ catch {
87
+ return [ep];
88
+ }
89
+ }
90
+ return [...HF_DEFAULT_DOMAINS];
91
+ }
92
+ /**
93
+ * The Python bridge driven in library mode: read the spill text on stdin, run it
94
+ * through Headroom's `compress(messages, model)`, and write the compressed text to
95
+ * stdout. Built line-by-line (Python is whitespace-sensitive) so it survives as a
96
+ * `python3 -c` argument. Exit codes are diagnostic only — any non-zero exit is a
97
+ * recoverable failure the orchestrator turns into a degraded passthrough:
98
+ * 2 = library not importable, 1 = compress() raised (e.g. weights not cached
99
+ * while offline), 3 = empty output (never blank out a non-empty spill).
100
+ */
101
+ export const HEADROOM_BRIDGE = [
102
+ "import sys, os",
103
+ "try:",
104
+ " from headroom import compress",
105
+ "except Exception as e:",
106
+ " sys.stderr.write('headroom import failed: %s' % e); sys.exit(2)",
107
+ "text = sys.stdin.read()",
108
+ "model = os.environ.get('HEADROOM_MODEL', 'gpt-4o-mini')",
109
+ "try:",
110
+ // compress_user_messages=True + protect_recent=0: by default Headroom protects
111
+ // the latest message and recent context, so a single user message would be left
112
+ // uncompressed. We hand it ONE message and want THAT compressed, so opt in.
113
+ " result = compress([{'role': 'user', 'content': text}], model=model, compress_user_messages=True, protect_recent=0)",
114
+ "except Exception as e:",
115
+ " sys.stderr.write('headroom compress failed: %s' % e); sys.exit(1)",
116
+ "msgs = getattr(result, 'messages', None)",
117
+ "if msgs is None:",
118
+ " msgs = result if isinstance(result, list) else []",
119
+ "parts = []",
120
+ "for m in msgs:",
121
+ " c = m.get('content') if isinstance(m, dict) else getattr(m, 'content', '')",
122
+ " if c:",
123
+ " parts.append(c)",
124
+ "out = '\\n'.join(parts)",
125
+ "if not out.strip():",
126
+ " sys.stderr.write('headroom returned empty output'); sys.exit(3)",
127
+ "sys.stdout.write(out)",
128
+ ].join("\n");
129
+ /** Map a finished spawn result onto the runner's `{ok,text,note}` contract. */
130
+ function fromSpawn(r, fallbackText) {
131
+ if (r.status !== 0 || typeof r.stdout !== "string") {
132
+ const stderr = typeof r.stderr === "string" && r.stderr.trim() ? r.stderr.trim() : "";
133
+ return {
134
+ ok: false,
135
+ text: fallbackText,
136
+ note: r.error?.message ?? (stderr || `headroom exit ${r.status}`),
137
+ };
138
+ }
139
+ return { ok: true, text: r.stdout };
140
+ }
141
+ /**
142
+ * Library-mode runner (default): probe {@link KOMPRESS_PROBE} for availability
143
+ * (Headroom's `is_kompress_available()` — the real ML backend, not just an import;
144
+ * base is passthrough-only), then run {@link HEADROOM_BRIDGE} per compression.
145
+ * Honors `OTTO_HEADROOM_PYTHON`; inference is local (no API key) and runs with
146
+ * `HF_HUB_OFFLINE=1` by default, so first use needs pre-cached model weights.
147
+ */
148
+ export function libraryHeadroomRunner(env = process.env, timeoutMs = 30_000, spawn = spawnSync) {
149
+ const py = pythonBin(env);
36
150
  return {
37
151
  available: () => {
38
152
  try {
39
- return spawnSync(bin, ["--version"], { timeout: 5_000 }).status === 0;
153
+ // Verify the ML backend can actually run ({@link KOMPRESS_PROBE}), not just
154
+ // `import headroom`: the base package imports fine but only does passthrough,
155
+ // so a base-only (or partial) install must report unavailable (clean degrade)
156
+ // rather than silently not compress.
157
+ return (spawn(py, ["-c", KOMPRESS_PROBE], { timeout: 5_000 }).status === 0);
40
158
  }
41
159
  catch {
42
160
  return false;
43
161
  }
44
162
  },
45
- run: (input) => {
46
- const r = spawnSync(bin, ["compress", "--category", input.category], {
47
- input: input.text,
48
- encoding: "utf8",
49
- timeout: timeoutMs,
50
- maxBuffer: 64 * 1024 * 1024,
51
- });
52
- if (r.status !== 0 || typeof r.stdout !== "string") {
53
- return {
54
- ok: false,
55
- text: input.text,
56
- note: r.error?.message ?? `headroom exit ${r.status}`,
57
- };
163
+ run: (input) => fromSpawn(spawn(py, ["-c", HEADROOM_BRIDGE], {
164
+ input: input.text,
165
+ encoding: "utf8",
166
+ timeout: timeoutMs,
167
+ maxBuffer: 64 * 1024 * 1024,
168
+ // Run offline by DEFAULT (#192): the ML model is a one-time Hugging Face
169
+ // download Otto cannot intercept (authorizeCompressor pre-authorizes the
170
+ // endpoint but does not proxy subprocess traffic) and that would blow
171
+ // `timeoutMs` mid-run. Forcing HF_HUB_OFFLINE means a run never fetches —
172
+ // it uses pre-cached weights or degrades cleanly. Respect an explicit
173
+ // value (set HF_HUB_OFFLINE=0 to allow the in-run download).
174
+ // Force HF_HUB_DISABLE_XET=1 (unconditionally): modern huggingface_hub
175
+ // routes transfers through hf_xet's own hosts, which the tool's declared
176
+ // networkDomains do NOT cover — disabling Xet keeps the transfer on the
177
+ // classic huggingface.co / cdn-lfs.huggingface.co path we authorize, so
178
+ // policy authorization actually bounds the network surface.
179
+ env: {
180
+ ...env,
181
+ HF_HUB_OFFLINE: env.HF_HUB_OFFLINE ?? "1",
182
+ HF_HUB_DISABLE_XET: "1",
183
+ },
184
+ }), input.text),
185
+ };
186
+ }
187
+ /**
188
+ * Command-mode runner: `<bin> --version` for availability, and
189
+ * `<bin> compress --category <c>` (content on stdin → compressed stdout) for one
190
+ * compression. Selected only when `OTTO_HEADROOM_BIN` is set — a custom compressor
191
+ * already speaking this contract. A non-zero exit / spawn error degrades cleanly.
192
+ */
193
+ export function defaultHeadroomRunner(env = process.env, timeoutMs = 30_000, spawn = spawnSync) {
194
+ const bin = headroomBin(env);
195
+ return {
196
+ available: () => {
197
+ try {
198
+ return spawn(bin, ["--version"], { timeout: 5_000 }).status === 0;
199
+ }
200
+ catch {
201
+ return false;
58
202
  }
59
- return { ok: true, text: r.stdout };
60
203
  },
204
+ run: (input) => fromSpawn(spawn(bin, ["compress", "--category", input.category], {
205
+ input: input.text,
206
+ encoding: "utf8",
207
+ timeout: timeoutMs,
208
+ maxBuffer: 64 * 1024 * 1024,
209
+ }), input.text),
61
210
  };
62
211
  }
212
+ /**
213
+ * Pick the runner: command mode when `OTTO_HEADROOM_BIN` is set (custom binary),
214
+ * else library mode (Headroom's `compress()` via the Python bridge). The default
215
+ * for both compressor factories.
216
+ */
217
+ export function resolveHeadroomRunner(env = process.env, timeoutMs = 30_000, spawn = spawnSync) {
218
+ const bin = env.OTTO_HEADROOM_BIN;
219
+ return typeof bin === "string" && bin.length > 0
220
+ ? defaultHeadroomRunner(env, timeoutMs, spawn)
221
+ : libraryHeadroomRunner(env, timeoutMs, spawn);
222
+ }
63
223
  /**
64
224
  * Build a {@link ContextCompressor} over a {@link HeadroomRunner}. Availability
65
225
  * is cached per instance after the first probe so a run does not re-spawn
66
226
  * `headroom --version` for every compression.
67
227
  */
68
- export function createHeadroomCompressor(runner = defaultHeadroomRunner()) {
228
+ export function createHeadroomCompressor(runner = resolveHeadroomRunner()) {
69
229
  let probed;
70
230
  return {
71
231
  name: "headroom",
@@ -84,7 +244,7 @@ export function createHeadroomCompressor(runner = defaultHeadroomRunner()) {
84
244
  * `headroom --version` per run). The runner is synchronous (spawnSync), so this
85
245
  * needs no event loop — exactly what `renderTemplate` requires.
86
246
  */
87
- export function createHeadroomSyncCompressor(runner = defaultHeadroomRunner()) {
247
+ export function createHeadroomSyncCompressor(runner = resolveHeadroomRunner()) {
88
248
  return {
89
249
  name: "headroom",
90
250
  version: HEADROOM_VERSION,
@@ -93,28 +253,154 @@ export function createHeadroomSyncCompressor(runner = defaultHeadroomRunner()) {
93
253
  };
94
254
  }
95
255
  /**
96
- * The {@link ToolDefinition} a repo drops into `.otto/tools/headroom.json` to put
97
- * the compressor under registry/policy authority. `stages: []` keeps it opt-in
98
- * (a repo enables it per stage); no network/write scope by default — local
99
- * command mode touches neither. Returned as a value so `otto-extensions`
100
- * (P21 `context-saver`) can generate it.
256
+ * The {@link ToolDefinition} a repo drops into `.otto/tools/headroom.json`. It is
257
+ * the registry/`otto-tools` surface and the governance hook ({@link
258
+ * authorizeCompressor} reads its `enabled` flag and authorizes its `command`
259
+ * against policy). `stages: []` is irrelevant to the compressor — it runs at the
260
+ * render boundary, not per stage — so it is NOT stage-gated. Returned as a value
261
+ * so `otto-extensions` (P21 `context-saver`) can generate it.
101
262
  */
102
263
  export function headroomToolDefinition() {
103
264
  return {
104
265
  name: "headroom",
105
266
  kind: "command",
106
- description: "Local-first context compressor (Headroom command mode).",
267
+ description: "Context compressor (Headroom library mode): compresses token-heavy @spill content via headroom-ai's local compress() (needs the `[ml]` extra; `model` only selects the tokenizer, no API key). First use downloads the kompress-base model (~260–600 MB) from Hugging Face — pre-warm it (see docs/INTEGRATIONS.md §4).",
107
268
  capabilities: ["compression", "context-engineering"],
108
269
  stages: [],
109
- command: "headroom compress",
110
- env: ["OTTO_HEADROOM_BIN"],
111
- networkDomains: [],
270
+ command: "python3 -c 'from headroom import compress'",
271
+ env: [
272
+ "OTTO_HEADROOM_BIN",
273
+ "OTTO_HEADROOM_PYTHON",
274
+ "HEADROOM_MODEL",
275
+ "HF_HUB_OFFLINE",
276
+ "HF_HUB_DISABLE_XET",
277
+ "HF_ENDPOINT",
278
+ ],
279
+ // The ML compressor fetches the kompress-base weights from Hugging Face on
280
+ // first use. Declared here for an honest inventory, but Otto does NOT proxy the
281
+ // subprocess, so this is not runtime-enforced — pre-download + HF_HUB_OFFLINE=1
282
+ // (or an HF_ENDPOINT mirror) to keep a run offline (docs/INTEGRATIONS.md §4).
283
+ // Otto forces HF_HUB_DISABLE_XET=1 so transfers stay on these hosts (Xet uses
284
+ // its own hosts these would not cover).
285
+ networkDomains: [...HF_DEFAULT_DOMAINS],
112
286
  writeRoots: [],
113
287
  secretRefs: [],
114
288
  approvalActions: [],
115
289
  timeoutMs: 30_000,
116
- healthCheck: "headroom --version",
290
+ // Mirror runtime resolution (#192 part 3) cross-platform: a `node -e` probe
291
+ // (node is always present — Otto is a Node CLI) honors the same env a run does
292
+ // — `$OTTO_HEADROOM_BIN --version` in command mode, else Headroom's own
293
+ // `is_kompress_available()` ({@link KOMPRESS_PROBE}), which verifies the ML
294
+ // backend (`headroom-ai[ml]`) — base is passthrough-only and would pass a bare
295
+ // `import headroom`. No POSIX shell builtins, so it works under cmd.exe too.
296
+ healthCheck: `node -e "const{execFileSync}=require('child_process');const b=process.env.OTTO_HEADROOM_BIN;try{execFileSync(b||process.env.OTTO_HEADROOM_PYTHON||'python3',b?['--version']:['-c','${KOMPRESS_PROBE}'],{stdio:'ignore'})}catch(e){process.exit(1)}"`,
117
297
  enabled: true,
118
298
  };
119
299
  }
300
+ /**
301
+ * Every command a run could ACTUALLY execute, resolved from env exactly as
302
+ * {@link resolveHeadroomRunner} does — so policy authorizes what runs, not a
303
+ * static placeholder (issue #192 part 2 follow-up). Command mode emits one entry
304
+ * **per category** (`<bin> compress --category <c>`), matching the real argv, so
305
+ * an argument-specific `blockedCommands` pattern (e.g. `--category command-log`)
306
+ * cannot slip past. Library mode is a single `<python> -c <bridge>` (the bridge
307
+ * text carries `headroom`, so a pattern can match the interpreter or the library).
308
+ */
309
+ export function headroomCommands(env = process.env) {
310
+ const bin = env.OTTO_HEADROOM_BIN;
311
+ if (typeof bin === "string" && bin.length > 0) {
312
+ return COMPRESSION_CATEGORIES.map((c) => `${bin} compress --category ${c}`);
313
+ }
314
+ return [`${pythonBin(env)} -c ${HEADROOM_BRIDGE}`];
315
+ }
316
+ /**
317
+ * Gate the compressor on tool-registry + policy authority (issue #192 part 2).
318
+ * The compressor is a render-boundary concern, not a per-stage tool, so it is NOT
319
+ * stage-gated (a registered `headroom` tool's `stages: []` is irrelevant here).
320
+ * But when a repo registers the `headroom` tool, the registry and policy DO govern
321
+ * it:
322
+ *
323
+ * - no `headroom` tool registered → the **built-in** {@link headroomToolDefinition}
324
+ * is used for the policy checks (the compressor is enabled by flag/config, not the
325
+ * registry, so a flag/config-only run must still be pre-authorized). A bare repo
326
+ * under `DEFAULT_POLICY` still passes; a restrictive policy still gates it;
327
+ * - tool disabled (registry `enabled: false` or a config override) → denied;
328
+ * - any command that WOULD RUN ({@link headroomCommands}, resolved from `env` like
329
+ * the runtime — one per category in command mode, with `--category <c>`) blocked
330
+ * by `.otto/policy.json` → denied, with the blocked {@link SafetyEvent}s for the
331
+ * evidence bundle. Authorizing the resolved commands (not the static
332
+ * `tool.command`) closes the gap where `OTTO_HEADROOM_BIN` pointed at a
333
+ * policy-blocked binary, or an argument-specific pattern, that authorization
334
+ * never saw;
335
+ * - in **library mode** only, when the run is **not** offline (the user set an
336
+ * online `HF_HUB_OFFLINE`, opting into the in-run model download), the **resolved**
337
+ * endpoint ({@link headroomNetworkDomains}, honoring `HF_ENDPOINT`) is authorized
338
+ * against the repo's `allowedNetworkDomains` — so a network-restricted repo denies
339
+ * the compressor rather than letting it reach an ungoverned host. Offline (the
340
+ * default) reaches no network; command mode (a custom `OTTO_HEADROOM_BIN`) does
341
+ * not use the Python library, so neither triggers the HF check.
342
+ *
343
+ * Pure: the registry, config, policy, and `env` are injected (the loop passes the
344
+ * process env). Default policy + no override always allows.
345
+ */
346
+ export function authorizeCompressor(tools, config, policy, env = process.env) {
347
+ // The compressor is enabled by flag/config, not the registry — so when no
348
+ // `.otto/tools/headroom.json` exists, fall back to the built-in definition for the
349
+ // policy checks rather than skipping them (#192). A bare repo under DEFAULT_POLICY
350
+ // still passes; a restrictive policy still gates the resolved command/endpoint.
351
+ const registered = tools.find((t) => t.name === "headroom");
352
+ const tool = registered ?? headroomToolDefinition();
353
+ const source = registered ? "registry" : "built-in";
354
+ const enabled = config.overrides[tool.name]?.enabled ?? tool.enabled;
355
+ if (!enabled) {
356
+ return {
357
+ allowed: false,
358
+ reason: "headroom tool disabled in registry/config",
359
+ events: [],
360
+ };
361
+ }
362
+ // Authorize every command the run could execute (per-category in command mode);
363
+ // deny if ANY is blocked, aggregating the events.
364
+ const events = [];
365
+ const kinds = new Set();
366
+ for (const command of headroomCommands(env)) {
367
+ const auth = authorizeToolInvocation(policy, tool, { command });
368
+ if (!auth.allowed) {
369
+ events.push(...auth.events);
370
+ for (const v of auth.violations)
371
+ kinds.add(v.kind);
372
+ }
373
+ }
374
+ // Library mode only: when the run opts OUT of offline mode it may fetch the model
375
+ // from Hugging Face — authorize the RESOLVED endpoint (honoring HF_ENDPOINT)
376
+ // against repo policy so a restricted repo denies it. Command mode (a custom
377
+ // OTTO_HEADROOM_BIN) bypasses the Python library, so the HF check doesn't apply.
378
+ const libraryMode = !(typeof env.OTTO_HEADROOM_BIN === "string" &&
379
+ env.OTTO_HEADROOM_BIN.length > 0);
380
+ if (libraryMode && !headroomOffline(env)) {
381
+ const resolved = headroomNetworkDomains(env);
382
+ // Authorize the RESOLVED endpoint against BOTH the repo policy AND the tool's
383
+ // DECLARED networkDomains (pass the original `tool`). A HF_ENDPOINT outside the
384
+ // registry declaration is denied even under an unrestricted repo policy — a
385
+ // trusted mirror must be added to the tool's networkDomains explicitly.
386
+ const net = authorizeToolInvocation(policy, tool, { domains: resolved });
387
+ if (!net.allowed) {
388
+ events.push(...net.events);
389
+ for (const v of net.violations)
390
+ kinds.add(v.kind);
391
+ }
392
+ }
393
+ if (events.length > 0) {
394
+ return {
395
+ allowed: false,
396
+ reason: `headroom (${source}) blocked by policy (${[...kinds].join(", ")})`,
397
+ events,
398
+ };
399
+ }
400
+ return {
401
+ allowed: true,
402
+ reason: `authorized by ${source} + policy`,
403
+ events: [],
404
+ };
405
+ }
120
406
  //# sourceMappingURL=headroom-adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"headroom-adapter.js","sourceRoot":"","sources":["../src/headroom-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"headroom-adapter.js","sourceRoot":"","sources":["../src/headroom-adapter.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -16,11 +16,13 @@ export { DEFAULT_CONTEXT_BUDGET_FRACTION, DEFAULT_CONTEXT_WINDOW_TOKENS, assessC
16
16
  export { emptyReadLedger, fingerprintContent, formatReadReference, recordRead, summarizeReads, type DedupResult, type DedupSummary, type ReadFingerprint, type ReadLedger, type ReadStatus, } from "./read-dedup.js";
17
17
  export { allocateRunId, hasRunReport, listRunIds, readManifest, readRunReport, readStageRecords, runReportDir, runsDir, writeManifest, writeRunReport, writeStageRecord, type RunArtifact, type RunManifest, type SafetyEvent, type SkillUsage, type StageRecord, type ToolUsage, } from "./run-report.js";
18
18
  export { formatRunReport, runInspect, type InspectDeps } from "./inspect.js";
19
+ export { formatVerificationCoverageGate, formatVerificationMatrix, formatVisualEvidence, isValidArtifactReference, parseVerificationMatrix, parseVerificationMatrixWithDiagnostics, scoreVerificationCoverage, summarizeVerification, type VerificationCoverageGate, type VerificationConfidence, type VerificationEntry, type VerificationMethod, type VerificationParseResult, type VerificationResult, type VerificationSummary, } from "./verification-matrix.js";
20
+ export { artifactReferenceExists, validateVerificationEvidence, type EvidenceDeps, } from "./verification-evidence.js";
19
21
  export { formatPlainReport, runExplain, type ExplainDeps, } from "./report-explain.js";
20
22
  export { formatRunsList, runRuns, summarizeManifest, type RunsDeps, type RunSummary, } from "./runs-cli.js";
21
23
  export { formatContextReportRun, runContextReport, type ContextReportDeps, } from "./context-report-cli.js";
22
24
  export { compressContent, compressContentSync, compressionToolUsage, formatCompressionSummary, readCompressorMode, resolveCompressorMode, runRetrievalStore, summarizeCompression, summarizeToolCompression, type CompressInput, type CompressOutput, type CompressionCategory, type CompressionSummary, type CompressorMode, type ContextCompressor, type RetrievalStore, type SyncContextCompressor, } from "./context-compressor.js";
23
- export { HEADROOM_VERSION, createHeadroomCompressor, createHeadroomSyncCompressor, defaultHeadroomRunner, headroomToolDefinition, type HeadroomRunner, } from "./headroom-adapter.js";
25
+ export { HEADROOM_BRIDGE, HEADROOM_VERSION, authorizeCompressor, createHeadroomCompressor, createHeadroomSyncCompressor, defaultHeadroomRunner, headroomCommands, headroomNetworkDomains, headroomOffline, headroomToolDefinition, libraryHeadroomRunner, resolveHeadroomRunner, type CompressorAuthorization, type HeadroomRunner, } from "./headroom-adapter.js";
24
26
  export { formatPlanReport, readTaskPlans, runPlanReport, type PlanReportDeps, type TaskPlanScore, } from "./plan-report-cli.js";
25
27
  export { formatAuditReport, runMemory, type MemoryDeps } from "./memory-cli.js";
26
28
  export { allocateMemoryId, auditMemory, boundLearnings, detectConflicts, DEFAULT_FREQUENT_USE, DEFAULT_LEARNINGS_BUDGET_CHARS, formatBoundedLearnings, listMemoryIds, memoryDir, memoryRecordPath, memoryStatus, parseMemoryRecord, projectLearnings, readMemoryRecord, readMemoryRecords, selectRelevantMemory, supersede, touchMemory, writeMemoryRecord, type AuditReport, type BoundedMemory, type MemoryRecord, type MemorySelectionContext, type MemoryStatus, type MemoryTrust, type Supersession, } from "./memory.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -16,11 +16,13 @@ export { DEFAULT_CONTEXT_BUDGET_FRACTION, DEFAULT_CONTEXT_WINDOW_TOKENS, assessC
16
16
  export { emptyReadLedger, fingerprintContent, formatReadReference, recordRead, summarizeReads, } from "./read-dedup.js";
17
17
  export { allocateRunId, hasRunReport, listRunIds, readManifest, readRunReport, readStageRecords, runReportDir, runsDir, writeManifest, writeRunReport, writeStageRecord, } from "./run-report.js";
18
18
  export { formatRunReport, runInspect } from "./inspect.js";
19
+ export { formatVerificationCoverageGate, formatVerificationMatrix, formatVisualEvidence, isValidArtifactReference, parseVerificationMatrix, parseVerificationMatrixWithDiagnostics, scoreVerificationCoverage, summarizeVerification, } from "./verification-matrix.js";
20
+ export { artifactReferenceExists, validateVerificationEvidence, } from "./verification-evidence.js";
19
21
  export { formatPlainReport, runExplain, } from "./report-explain.js";
20
22
  export { formatRunsList, runRuns, summarizeManifest, } from "./runs-cli.js";
21
23
  export { formatContextReportRun, runContextReport, } from "./context-report-cli.js";
22
24
  export { compressContent, compressContentSync, compressionToolUsage, formatCompressionSummary, readCompressorMode, resolveCompressorMode, runRetrievalStore, summarizeCompression, summarizeToolCompression, } from "./context-compressor.js";
23
- export { HEADROOM_VERSION, createHeadroomCompressor, createHeadroomSyncCompressor, defaultHeadroomRunner, headroomToolDefinition, } from "./headroom-adapter.js";
25
+ export { HEADROOM_BRIDGE, HEADROOM_VERSION, authorizeCompressor, createHeadroomCompressor, createHeadroomSyncCompressor, defaultHeadroomRunner, headroomCommands, headroomNetworkDomains, headroomOffline, headroomToolDefinition, libraryHeadroomRunner, resolveHeadroomRunner, } from "./headroom-adapter.js";
24
26
  export { formatPlanReport, readTaskPlans, runPlanReport, } from "./plan-report-cli.js";
25
27
  export { formatAuditReport, runMemory } from "./memory-cli.js";
26
28
  export { allocateMemoryId, auditMemory, boundLearnings, detectConflicts, DEFAULT_FREQUENT_USE, DEFAULT_LEARNINGS_BUDGET_CHARS, formatBoundedLearnings, listMemoryIds, memoryDir, memoryRecordPath, memoryStatus, parseMemoryRecord, projectLearnings, readMemoryRecord, readMemoryRecords, selectRelevantMemory, supersede, touchMemory, writeMemoryRecord, } from "./memory.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../src/inspect.ts"],"names":[],"mappings":"AAGA,OAAO,EAKL,KAAK,WAAW,EAChB,KAAK,WAAW,EACjB,MAAM,iBAAiB,CAAC;AAGzB;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3B,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5B,CAAC;AAWF;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,WAAW,EACrB,MAAM,EAAE,WAAW,EAAE,GACpB,MAAM,CAkFR;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,GAAE,WAAyB,GAC9B,OAAO,CAAC,MAAM,CAAC,CA2CjB"}
1
+ {"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../src/inspect.ts"],"names":[],"mappings":"AAGA,OAAO,EAKL,KAAK,WAAW,EAChB,KAAK,WAAW,EACjB,MAAM,iBAAiB,CAAC;AAOzB;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3B,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5B,CAAC;AAWF;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,WAAW,EACrB,MAAM,EAAE,WAAW,EAAE,GACpB,MAAM,CAuGR;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,GAAE,WAAyB,GAC9B,OAAO,CAAC,MAAM,CAAC,CA2CjB"}
package/dist/inspect.js CHANGED
@@ -2,6 +2,7 @@ import { resolve } from "node:path";
2
2
  import { formatPlainReport } from "./report-explain.js";
3
3
  import { listRunIds, readManifest, readRunReport, readStageRecords, } from "./run-report.js";
4
4
  import { formatTokenUsage } from "./tokens.js";
5
+ import { formatVerificationCoverageGate, formatVerificationMatrix, } from "./verification-matrix.js";
5
6
  const defaultDeps = {
6
7
  env: process.env,
7
8
  cwd: process.cwd(),
@@ -67,6 +68,25 @@ export function formatRunReport(manifest, stages) {
67
68
  const desc = a.description ? ` — ${a.description}` : "";
68
69
  lines.push(` - ${a.kind}: ${a.path}${desc}`);
69
70
  }
71
+ // Verification gallery (issue #181 P24): the structured matrix a --verify run
72
+ // produced — what was proven, how, and with which artifact — with failures,
73
+ // unproven requirements, and the coverage gate surfaced. A --verify run that
74
+ // recorded no/malformed matrix shows the same visible failure as the report,
75
+ // not nothing (#181 re-review).
76
+ const matrix = manifest.verification ?? [];
77
+ const dropped = manifest.verificationDropped ?? 0;
78
+ if (matrix.length > 0) {
79
+ lines.push("");
80
+ lines.push(formatVerificationMatrix(matrix));
81
+ lines.push("");
82
+ lines.push(formatVerificationCoverageGate(matrix, dropped));
83
+ }
84
+ else if (manifest.mode === "verify") {
85
+ lines.push("");
86
+ lines.push(`Verification: FAIL — no machine-readable matrix was recorded` +
87
+ (dropped > 0 ? ` (${dropped} malformed row(s) dropped)` : "") +
88
+ "; this run's claims are unproven.");
89
+ }
70
90
  // Injected skills (issue #114 P18): the validated skills that shaped this run,
71
91
  // with attribution, so a reader can trace which guidance influenced the agent.
72
92
  if (manifest.skillsUsed && manifest.skillsUsed.length > 0) {