@viloforge/vfkb 0.2.2 → 0.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.
@@ -31940,7 +31940,7 @@ function queryExplained(opts = {}) {
31940
31940
  }
31941
31941
 
31942
31942
  // src/version.ts
31943
- var ENGINE_VERSION = true ? "0.2.2" : ownPackageVersion();
31943
+ var ENGINE_VERSION = true ? "0.2.3" : ownPackageVersion();
31944
31944
 
31945
31945
  // src/mcp-server.ts
31946
31946
  var SEARCH_DEFAULT_LIMIT = 25;
@@ -16346,8 +16346,8 @@ import { dirname as dirname3, join as join9 } from "node:path";
16346
16346
 
16347
16347
  // src/version.ts
16348
16348
  var SCHEMA_VERSION = 1;
16349
- var ENGINE_VERSION = true ? "0.2.2" : ownPackageVersion();
16350
- var ENGINE_COMMIT = true ? "046120c" : "dev";
16349
+ var ENGINE_VERSION = true ? "0.2.3" : ownPackageVersion();
16350
+ var ENGINE_COMMIT = true ? "21adfd7" : "dev";
16351
16351
 
16352
16352
  // src/manifest.ts
16353
16353
  function manifestPath(brainDir2) {
package/dist/gating.js CHANGED
@@ -3,6 +3,14 @@
3
3
  // writer, D4a; keeps the index/freshness invariants and the no-secrets lint).
4
4
  // Harness-agnostic: handles Claude Code ('Write'/'Edit'/'MultiEdit') and Pi
5
5
  // ('write'/'edit') tool names + their path aliases.
6
+ //
7
+ // SCOPE (issue #151): this gates direct FILE-WRITE tools only. An exec/shell
8
+ // tool (`bash`) is root-equivalent — `echo > brain` cannot be reliably stopped
9
+ // by inspecting tool inputs, and a heuristic command-string filter would be
10
+ // trivially evadable (against the deterministic-Brake doctrine). So exec tools
11
+ // are OUT OF SCOPE by design; the guarantee is "the write/edit tools can't clobber
12
+ // the brain," not "no tool can." Harnesses that must contain an untrusted agent
13
+ // restrict the toolset (e.g. the L4 tool-gating scenario allows only write/edit).
6
14
  import { resolve } from 'node:path';
7
15
  import { brainDir } from './storage.js';
8
16
  const WRITE_TOOLS = new Set([
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@viloforge/vfkb",
3
- "version": "0.2.2",
3
+ "version": "0.2.3",
4
4
  "description": "ViloForge KnowledgeBase (vfkb) — per-project knowledge substrate for the ViloForge software factory. Greenfield TypeScript.",
5
5
  "type": "module",
6
6
  "main": "dist/engine.js",