@cavelang/cli 0.32.2 → 0.33.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 (44) hide show
  1. package/README.md +8 -7
  2. package/dist/internal/connect/main.d.ts.map +1 -1
  3. package/dist/internal/connect/main.js +8 -6
  4. package/dist/internal/connect/main.js.map +1 -1
  5. package/dist/internal/connect/template.d.ts +9 -2
  6. package/dist/internal/connect/template.d.ts.map +1 -1
  7. package/dist/internal/connect/template.js +36 -5
  8. package/dist/internal/connect/template.js.map +1 -1
  9. package/dist/internal/loop/demo.d.ts.map +1 -1
  10. package/dist/internal/loop/demo.js +2 -1
  11. package/dist/internal/loop/demo.js.map +1 -1
  12. package/dist/internal/mcp/guide.js +3 -3
  13. package/dist/internal/mcp/guide.js.map +1 -1
  14. package/dist/internal/mcp/tools.d.ts.map +1 -1
  15. package/dist/internal/mcp/tools.js +39 -10
  16. package/dist/internal/mcp/tools.js.map +1 -1
  17. package/dist/internal/view/report.d.ts.map +1 -1
  18. package/dist/internal/view/report.js +6 -1
  19. package/dist/internal/view/report.js.map +1 -1
  20. package/dist/src/cli.d.ts +14 -5
  21. package/dist/src/cli.d.ts.map +1 -1
  22. package/dist/src/cli.js +157 -17
  23. package/dist/src/cli.js.map +1 -1
  24. package/dist/src/commands.d.ts +3 -0
  25. package/dist/src/commands.d.ts.map +1 -1
  26. package/dist/src/commands.js +1 -0
  27. package/dist/src/commands.js.map +1 -1
  28. package/dist/src/dispatch.d.ts.map +1 -1
  29. package/dist/src/dispatch.js +3 -1
  30. package/dist/src/dispatch.js.map +1 -1
  31. package/dist/src/doctor.d.ts +1 -0
  32. package/dist/src/doctor.d.ts.map +1 -1
  33. package/dist/src/doctor.js +16 -3
  34. package/dist/src/doctor.js.map +1 -1
  35. package/dist/src/index.d.ts +2 -2
  36. package/dist/src/index.d.ts.map +1 -1
  37. package/dist/src/index.js +2 -2
  38. package/dist/src/index.js.map +1 -1
  39. package/package.json +21 -21
  40. package/src/cli.ts +160 -19
  41. package/src/commands.ts +1 -0
  42. package/src/dispatch.ts +3 -1
  43. package/src/doctor.ts +16 -3
  44. package/src/index.ts +2 -2
package/README.md CHANGED
@@ -3,11 +3,11 @@
3
3
  The `cave` command — the whole stack behind one binary. Runs directly from
4
4
  TypeScript sources in the workspace; npm releases contain emitted JavaScript.
5
5
 
6
- The supported Node.js lines are 22 and 24: 22.18.0 is the exact minimum, and
7
- 24.18.0 Active LTS is recommended. Linux, macOS, and Windows are supported; CI
8
- represents them with Ubuntu 24.04, macOS 15, and Windows Server 2022 and
9
- exercises the CLI's native, filesystem, process, and built-package paths on
10
- each.
6
+ The supported Node.js lines are 22, 24, and 26: 22.18.0 is the exact minimum,
7
+ 24.18.0 Active LTS is recommended, and 26.4.0 Current is also tested. Linux,
8
+ macOS, and Windows are supported; CI represents them with Ubuntu 24.04, macOS
9
+ 15, and Windows Server 2022 and exercises the CLI's native, filesystem,
10
+ process, and built-package paths on each.
11
11
 
12
12
  ```
13
13
  $ echo 'auth USES jwt @ 90%' | pnpm exec cave parse
@@ -91,13 +91,14 @@ is reported. Unexpected errors are one-line and stack-free by default; set
91
91
  | `highlight [file…]` | | ANSI syntax colors from the tree-sitter grammar's own highlight query (see [`@cavelang/highlight`](../highlight)); `cave export` colors the same way on a terminal. |
92
92
  | `add [--db p] [file…]` | `--strict`, `--check`, `--no-prelude`, `--no-src` | Ingest. Lenient by default (problems on stderr, valid lines land); `--strict` rolls back on any problem; `--check` is the shape gate (spec §20.3) — the append rolls back if it introduces new expectation violations; `--no-prelude` starts from an empty registry instead of the standard §5.5 pairs. Claims without a `@src:` context are stamped `@src:cli` (spec §9.5); `--no-src` opts out. |
93
93
  | `import [--db p] [file…]` | `--strict`, `--no-prelude` | Restore/merge a database from CAVE text — `add` minus provenance stamping, because canonical text *is* the interchange format and replayed claims must keep their exported claim keys (spec §9.5). |
94
- | `query [--db p] <pattern…>` | `--json`, `--limit <n>`, `--cursor <t>`, `--all`, `--aliases`, `--as-of <t>`, `--at <t>`, `--resolve`, `--no-prelude` | Bounded CAVE-Q page (100 matches by default, maximum 1,000). Extra positionals join as lines, so `WHERE` filters ride as separate arguments. Bindings print as `?x = value`; fully bound patterns print the matched raw line (or the pattern itself for transitive matches, which carry no row). Human output ends with `next: <token>` when another page exists; pass it to `--cursor` to continue the first page's frozen transaction snapshot. `--aliases` widens matching through the §13.6 closure; `--as-of <t>` reconstructs belief at a past date/timestamp/tx (spec §12.3); `--at <t>` selects valid-time claims and interpolates trajectories (spec §32.4); `--resolve` matches only the winners the §26 resolution policy picks among contested facts (incompatible with `--all`). `--no-prelude` aligns the read-time registry with a store written via `add --no-prelude`. |
94
+ | `query [--db p] <pattern…>` | `--json`, `--limit <n>`, `--cursor <t>`, `--all`, `--aliases`, `--as-of <t>`, `--at <t>`, `--resolve`, `--no-prelude` | Bounded CAVE-Q page (100 matches by default, maximum 1,000). Extra positionals join as lines, so `WHERE` filters ride as separate arguments. Bindings print as `?x = value`, followed by ` ; comment` when the matched claim carries one (a multi-line comment opens as `;` lines above the binding line, as it does above a claim), so evidence written next to a claim travels with the answer; fully bound patterns print the matched raw line, comment block included (or the pattern itself for transitive matches, which carry no row). Human output ends with `next: <token>` when another page exists; pass it to `--cursor` to continue the first page's frozen transaction snapshot. `--aliases` widens matching through the §13.6 closure; `--as-of <t>` reconstructs belief at a past date/timestamp/tx (spec §12.3); `--at <t>` selects valid-time claims and interpolates trajectories (spec §32.4); `--resolve` matches only the winners the §26 resolution policy picks among contested facts (incompatible with `--all`). `--no-prelude` aligns the read-time registry with a store written via `add --no-prelude`. |
95
+ | `search [--db p] <terms…>` | `--raw`, `--limit <n>`, `--json`, `--no-prelude` | FTS5 full-text search over the store's index (spec §13.2): subject, verb, object, attribute name, value text, comment, and the raw line as written, so tags, contexts, and inverse spellings match too. The terms are one literal phrase by default (hyphenated names such as `token-expiry` are safe); `--raw` passes FTS5 MATCH syntax through (`AND`/`OR`/`NOT`, `NEAR`, `prefix*`, column filters such as `comment:heap`). Newest first, one raw line per match with its comment; `--limit` defaults to 100 (maximum 1,000) and a trailing `more matches beyond <n>` line reports a cap. `--json` emits a `cave.search/v1` object whose matches are `cave.claim/v1` records. Superseded and retracted rows stay searchable (spec §9.6); confirm currency with `query`. |
95
96
  | `resolve [--db p]` | `--aliases`, `--policy`, `--json`, `--no-prelude` | Contested facts under the §26 resolution policy: every fact more than one belief series speaks about, candidates ranked (precedence class, reliability-weighted confidence, tx) with the winner first — what `query --resolve` would match. `--policy` prints the effective policy instead: the built-in precedence ladder merged with in-band `source/<name> HAS precedence:` / `HAS reliability:` declarations. |
96
97
  | `derive [--db p] [rules.cave…]` | `--dry-run`, `--full`, `--aliases`, `--min-conf <p>`, `--max-passes <n>`, `--list`, `--retract <r>`, `--json`, `--no-prelude` | Declare and fire rules (spec §24, see [`@cavelang/rules`](../rules)): `premises => conclusion` forward chaining over current beliefs, `BECAUSE`/`VIA` lineage, watermark-incremental and idempotent; retracts conclusions whose premises no longer hold. |
97
98
  | `act [--db p] <name> [p=v…]` | `--declare`, `--list`, `--retract <n>`, `--dry-run`, `--no-check`, `--aliases`, `--hooks <file>`, `--json`, `--no-prelude` | Execute an action template (spec §25, see [`@cavelang/act`](../act)): validate parameters, check CAVE-Q preconditions against current belief, append effects atomically with lineage inside the §20.3 shape gate; out-of-band hooks fire after commit. |
98
99
  | `automate [--db p]` | `--once`, `--declare`, `--list`, `--retract <n>`, `--hooks <file>`, `--agent <template>`, `--json`, `--no-prelude` | The event-driven loop (spec §29, see [`@cavelang/automate`](../automate)): in-band `automation/<name>` trigger patterns over new claims fire rules, actions, out-of-band hooks and agent prompts; `--once` for cron, `--declare`/`--list`/`--retract` for the lifecycle; the daemon polls `MAX(tx)` and settles on change. |
99
100
  | `check [--db p]` | `--stale <days>`, `--json`, `--no-prelude` | Knowledge health report (spec §20, see [`@cavelang/shape`](../shape)): shape violations against in-band `EXPECTS` declarations, stale current beliefs (default horizon 90 days), review candidates (conf 0.3–0.7), alias disagreements, coverage stats. Exit 1 on violations; everything else is advisory. |
100
- | `backup [--db p] --out <file>` | `--force`; `--verify <file>`, `--sha256 <hex>` | Create an online, exact SQLite snapshot with `VACUUM INTO`, verify it, and publish atomically; or verify a prior snapshot (spec §13.2.2). |
101
+ | `backup [--db p] --out <file>` | `--force`; `--verify <file>`, `--sha256 <hex>` | Create an online, exact snapshot of the store, verify it, and publish it atomically; or verify a prior snapshot (spec §13.2.2). |
101
102
  | `restore <snapshot> --db <path>` | `--force`, `--sha256 <hex>` | Verify and atomically restore exact snapshot bytes; refuses active/stale WAL, SHM, and rollback-journal sidecars (spec §13.2.2). |
102
103
  | `generate [--db p]` | `--out <file>`, `--version <n>`, `--no-prelude` | Deterministic versioned TypeScript interfaces and store-backed readers from current `EXPECTS` claims (spec §20.4, see [`@cavelang/shape`](../shape)); embeds normalized schema and SHA-256, fails on ambiguous/unsupported expectations before writing. |
103
104
  | `suggest-alias [--db p]` | `--min <s>`, `--limit <n>`, `--agent <template>`, `--timeout <s>`, `--write`, `--json`, `--no-prelude` | Alias discovery (spec §27, see [`@cavelang/shape`](../shape)): same-entity candidates from string/graph similarity as suggested `ALIAS` claims at review-band confidence (0.3–0.5). Prints pipeable CAVE text; `--write` appends stamped `@src:suggest/alias`; `--agent` runs an LLM judge over the candidates (the ingest/eval shell contract). Pairs with any recorded `ALIAS` history are never re-suggested. |
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAuErC,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAA;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAA;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;IAC7B,8DAA8D;IAC9D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,SAAS,CAAA;IACrC,oEAAoE;IACpE,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAA;IAC1B,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAA;IAChC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;CACrD,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,CACtB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,KAChE;IAAE,KAAK,IAAI,IAAI,CAAA;CAAE,CAAA;AAEtB,MAAM,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAA;AAyOtF,eAAO,MAAM,UAAU,GAAU,MAAM,SAAS,MAAM,EAAE,EAAE,UAAS,UAAe,KAAG,OAAO,CAAC,MAAM,CA6ElG,CAAA"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAuErC,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAA;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAA;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;IAC7B,8DAA8D;IAC9D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,SAAS,CAAA;IACrC,oEAAoE;IACpE,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAA;IAC1B,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAA;IAChC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;CACrD,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,CACtB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,KAChE;IAAE,KAAK,IAAI,IAAI,CAAA;CAAE,CAAA;AAEtB,MAAM,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAA;AA2OtF,eAAO,MAAM,UAAU,GAAU,MAAM,SAAS,MAAM,EAAE,EAAE,UAAS,UAAe,KAAG,OAAO,CAAC,MAAM,CA6ElG,CAAA"}
@@ -115,22 +115,24 @@ const runDry = async (source, values, io, context) => {
115
115
  return 1;
116
116
  }
117
117
  const loaded = await loadSource(source, values, context);
118
- const out = [];
118
+ // Each section opens with a marker comment and a blank line: the blank
119
+ // line keeps the marker documentary (§6.4) when the preview is added to
120
+ // a store, so it carries exactly the claims a real run would write.
121
+ const sections = [];
119
122
  if (mapping.prelude !== '') {
120
- out.push('; --- prelude', mapping.prelude.trimEnd());
123
+ sections.push(`; --- prelude\n\n${mapping.prelude.trimEnd()}`);
121
124
  }
122
125
  let failures = 0;
123
126
  loaded.records.forEach((record, at) => {
124
127
  const instantiation = Template.instantiate(mapping.templates, name => Template.fieldOf(record, name));
125
- out.push(`; --- record ${at + 1}`);
126
128
  if (instantiation.problems.length > 0) {
127
129
  failures += 1;
128
- out.push(...instantiation.problems.map(problem => `; FAILED — ${problem}`));
130
+ sections.push([`; --- record ${at + 1}`, ...instantiation.problems.map(problem => `; FAILED — ${problem}`)].join('\n'));
129
131
  return;
130
132
  }
131
- out.push(instantiation.text.trimEnd());
133
+ sections.push(`; --- record ${at + 1}\n\n${instantiation.text.trimEnd()}`);
132
134
  });
133
- io.stdout.write(`${out.join('\n')}\n`);
135
+ io.stdout.write(`${sections.join('\n\n')}\n`);
134
136
  return failures > 0 ? 1 : 0;
135
137
  };
136
138
  const runQuery = async (source, values, name, io, context) => {
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"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"}
@@ -11,9 +11,15 @@
11
11
  * tokens inside `"…"` and `` `…` `` literals are never substituted. A claim
12
12
  * line whose record lacks a referenced field is dropped together with its
13
13
  * indented children — optional fields simply yield fewer claims.
14
+ *
15
+ * A comment block directly above a block's first line is that line's
16
+ * comment (spec §6.4), so it belongs to the block it sits above and is
17
+ * instantiated with it; a blank line after a comment leaves it in the
18
+ * prelude as documentary text. A dropped line takes the comment block
19
+ * above it along, so the block cannot fall onto the next claim.
14
20
  */
15
21
  export type Mapping = {
16
- /** Variable-free blocks plus leading comments, joined — appended once per run. */
22
+ /** Variable-free blocks plus documentary comments, joined — appended once per run. */
17
23
  readonly prelude: string;
18
24
  /** Record templates: raw lines of each variable-bearing top-level block. */
19
25
  readonly templates: readonly (readonly string[])[];
@@ -63,7 +69,8 @@ export declare const formatValue: (value: unknown, position: "subject" | "payloa
63
69
  export declare const fieldOf: (record: unknown, name: string) => unknown;
64
70
  /**
65
71
  * Instantiates every template block for one record. Lines without variables
66
- * pass through verbatim; a dropped line takes its indented children with it.
72
+ * pass through verbatim; a dropped line takes its indented children, and
73
+ * the comment block directly above it (§6.4), with it.
67
74
  */
68
75
  export declare const instantiate: (templates: readonly (readonly string[])[], lookup: (name: string) => unknown) => Instantiation;
69
76
  //# sourceMappingURL=template.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,MAAM,MAAM,OAAO,GAAG;IACpB,kFAAkF;IAClF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,4EAA4E;IAC5E,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAA;IAClD,mEAAmE;IACnE,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAA;CACtC,CAAA;AAED,MAAM,MAAM,CAAC,GAAG,OAAO,CAAA;AAEvB,wDAAwD;AACxD,MAAM,MAAM,SAAS,GACjB;IAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAE1D,0DAA0D;AAC1D,MAAM,MAAM,aAAa,GAAG;IAC1B,gEAAgE;IAChE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,wEAAwE;IACxE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,gFAAgF;IAChF,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;CACrC,CAAA;AAkBD;;;;;GAKG;AACH,eAAO,MAAM,KAAK,GAAI,MAAM,MAAM,KAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;CAgDpF,CAAA;AAID;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,OAAO,OAAO,EAAE,UAAU,SAAS,GAAG,SAAS,KAAG,SAqC7E,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,OAAO,GAAI,QAAQ,OAAO,EAAE,MAAM,MAAM,KAAG,OAYvD,CAAA;AA0CD;;;GAGG;AACH,eAAO,MAAM,WAAW,GACtB,WAAW,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,EACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,KAChC,aAsCF,CAAA"}
1
+ {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAKH,MAAM,MAAM,OAAO,GAAG;IACpB,sFAAsF;IACtF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,4EAA4E;IAC5E,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAA;IAClD,mEAAmE;IACnE,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAA;CACtC,CAAA;AAED,MAAM,MAAM,CAAC,GAAG,OAAO,CAAA;AAEvB,wDAAwD;AACxD,MAAM,MAAM,SAAS,GACjB;IAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAE1D,0DAA0D;AAC1D,MAAM,MAAM,aAAa,GAAG;IAC1B,gEAAgE;IAChE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,wEAAwE;IACxE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,gFAAgF;IAChF,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;CACrC,CAAA;AA4BD;;;;;GAKG;AACH,eAAO,MAAM,KAAK,GAAI,MAAM,MAAM,KAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;CAuDpF,CAAA;AAID;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,OAAO,OAAO,EAAE,UAAU,SAAS,GAAG,SAAS,KAAG,SAqC7E,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,OAAO,GAAI,QAAQ,OAAO,EAAE,MAAM,MAAM,KAAG,OAYvD,CAAA;AA0CD;;;;GAIG;AACH,eAAO,MAAM,WAAW,GACtB,WAAW,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,EACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,KAChC,aAgDF,CAAA"}
@@ -11,6 +11,12 @@
11
11
  * tokens inside `"…"` and `` `…` `` literals are never substituted. A claim
12
12
  * line whose record lacks a referenced field is dropped together with its
13
13
  * indented children — optional fields simply yield fewer claims.
14
+ *
15
+ * A comment block directly above a block's first line is that line's
16
+ * comment (spec §6.4), so it belongs to the block it sits above and is
17
+ * instantiated with it; a blank line after a comment leaves it in the
18
+ * prelude as documentary text. A dropped line takes the comment block
19
+ * above it along, so the block cannot fall onto the next claim.
14
20
  */
15
21
  import { Value, Verb } from '@cavelang/core';
16
22
  import { parseDocument, Token } from '@cavelang/parser';
@@ -20,6 +26,13 @@ const isStructural = (line) => {
20
26
  const body = line.trim();
21
27
  return body !== '' && !body.startsWith(';');
22
28
  };
29
+ const isComment = (line) => line.trim().startsWith(';');
30
+ /** Drops the comment run at the end of `pending` — the block above a line that is not emitted. */
31
+ const dropCommentRun = (pending) => {
32
+ while (pending.length > 0 && isComment(pending[pending.length - 1])) {
33
+ pending.pop();
34
+ }
35
+ };
23
36
  const lineVariables = (line) => Token.tokenize(Token.splitComment(line).head)
24
37
  .filter(isVariable)
25
38
  .map(token => token.text.slice(1));
@@ -50,7 +63,14 @@ export const parse = (text) => {
50
63
  const preamble = [];
51
64
  for (const line of rawLines) {
52
65
  if (isStructural(line) && indentOf(line) === 0) {
53
- blocks.push([line]);
66
+ // The comment run directly above (no blank line between) is this
67
+ // line's comment block (§6.4): it moves with the line it belongs to.
68
+ const previous = blocks.length === 0 ? preamble : blocks[blocks.length - 1];
69
+ const carried = [];
70
+ while (previous.length > 0 && isComment(previous[previous.length - 1])) {
71
+ carried.unshift(previous.pop());
72
+ }
73
+ blocks.push([...carried, line]);
54
74
  }
55
75
  else if (blocks.length === 0) {
56
76
  preamble.push(line);
@@ -177,7 +197,8 @@ const substituteLine = (line, lookup) => {
177
197
  };
178
198
  /**
179
199
  * Instantiates every template block for one record. Lines without variables
180
- * pass through verbatim; a dropped line takes its indented children with it.
200
+ * pass through verbatim; a dropped line takes its indented children, and
201
+ * the comment block directly above it (§6.4), with it.
181
202
  */
182
203
  export const instantiate = (templates, lookup) => {
183
204
  const out = [];
@@ -185,19 +206,25 @@ export const instantiate = (templates, lookup) => {
185
206
  let dropped = 0;
186
207
  for (const block of templates) {
187
208
  let skipDeeperThan;
209
+ /** Blank and comment lines waiting for the structural line they precede. */
210
+ const pending = [];
211
+ const emit = (line) => {
212
+ out.push(...pending.splice(0), line);
213
+ };
188
214
  for (const line of block) {
189
215
  if (!isStructural(line)) {
190
- out.push(line);
216
+ pending.push(line);
191
217
  continue;
192
218
  }
193
219
  const indent = indentOf(line);
194
220
  if (skipDeeperThan !== undefined && indent > skipDeeperThan) {
195
221
  dropped += 1;
222
+ dropCommentRun(pending);
196
223
  continue;
197
224
  }
198
225
  skipDeeperThan = undefined;
199
226
  if (lineVariables(line).length === 0) {
200
- out.push(line);
227
+ emit(line);
201
228
  continue;
202
229
  }
203
230
  const substituted = substituteLine(line, lookup);
@@ -205,15 +232,19 @@ export const instantiate = (templates, lookup) => {
205
232
  case 'dropped':
206
233
  dropped += 1;
207
234
  skipDeeperThan = indent;
235
+ dropCommentRun(pending);
208
236
  break;
209
237
  case 'problem':
210
238
  problems.push(substituted.message);
211
239
  skipDeeperThan = indent;
240
+ dropCommentRun(pending);
212
241
  break;
213
242
  default:
214
- out.push(substituted.line);
243
+ emit(substituted.line);
215
244
  }
216
245
  }
246
+ // Trailing blank and documentary comment lines keep the block's shape.
247
+ out.push(...pending);
217
248
  }
218
249
  const body = out.join('\n').trim();
219
250
  return { text: body === '' ? '' : `${out.join('\n').trimEnd()}\n`, dropped, problems };
@@ -1 +1 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/template.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"demo.d.ts","sourceRoot":"","sources":["../../src/demo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAQH,eAAO,MAAM,SAAS,8bAYrB,CAAA;AAED,eAAO,MAAM,GAAG,QAAO;IAAE,KAAK,EAAE,MAAM,EAAE,CAAA;CAoBvC,CAAA;AAED,eAAO,MAAM,kBAAkB,GAC7B,WAAW,MAAM,EACjB,WAAW,MAAM,GAAG,SAAS,EAC7B,WAAU,MAAM,CAAC,QAA2B,KAC3C,OAKF,CAAA"}
1
+ {"version":3,"file":"demo.d.ts","sourceRoot":"","sources":["../../src/demo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAQH,eAAO,MAAM,SAAS,8bAYrB,CAAA;AAED,eAAO,MAAM,GAAG,QAAO;IAAE,KAAK,EAAE,MAAM,EAAE,CAAA;CAqBvC,CAAA;AAED,eAAO,MAAM,kBAAkB,GAC7B,WAAW,MAAM,EACjB,WAAW,MAAM,GAAG,SAAS,EAC7B,WAAU,MAAM,CAAC,QAA2B,KAC3C,OAKF,CAAA"}
@@ -49,7 +49,8 @@ export const run = () => {
49
49
  lines.push('');
50
50
  lines.push('reconstructed claims:');
51
51
  for (const claim of claims) {
52
- lines.push(` ${emitClaim(claim)}`);
52
+ // A multi-line comment (§6.4) opens above the claim line; indent every line.
53
+ lines.push(...emitClaim(claim).split('\n').map(line => ` ${line}`));
53
54
  }
54
55
  return { lines };
55
56
  };
@@ -1 +1 @@
1
- {"version":3,"file":"demo.js","sourceRoot":"","sources":["../../src/demo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"demo.js","sourceRoot":"","sources":["../../src/demo.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@
8
8
  */
9
9
  export const guideTopics = ['overview', 'write', 'find', 'revise', 'safety'];
10
10
  const guides = {
11
- overview: `CAVE is durable, local agent memory: atomic claims in an append-only SQLite database.
11
+ overview: `CAVE is durable, local agent memory: atomic claims in an append-only local store.
12
12
 
13
13
  Typical workflow:
14
14
  1. Recall before reasoning: use cave_about for one entity, cave_query for a known relation, cave_search for unknown wording, or cave_reconstruct for multi-hop context.
@@ -27,7 +27,7 @@ Examples:
27
27
  checkout/errors CAUSE retry-storm @production @ 70% #topic:reliability
28
28
  OpenAI HAS revenue: ~20B USD/yr +/- 2B USD/yr @2026-Q1 @ 90%
29
29
 
30
- Use kebab-case entities with / for scope, UPPERCASE verbs, @ctx without a space for context, and @ 90% with a space for confidence. Keep source citations in @src: contexts. The MCP server stamps an agent source when cave_add receives no @src:. Use cave_lint, then cave_add.`,
30
+ Use kebab-case entities with / for scope, UPPERCASE verbs, @ctx without a space for context, and @ 90% with a space for confidence. A ; comment is stored with its claim, and a block of ; lines directly above a claim joins that comment (a blank line after a comment keeps it documentary). Keep source citations in @src: contexts. The MCP server stamps an agent source when cave_add receives no @src:. Use cave_lint, then cave_add.`,
31
31
  find: `Choose the narrowest retrieval tool that fits:
32
32
  - cave_about: all current claims mentioning a known entity, in either direction.
33
33
  - cave_query: a known CAVE-Q shape, such as ?service USES redis or ?ancestor PARENT-OF+ me. Add WHERE conf >= 0.7 when confidence matters.
@@ -46,7 +46,7 @@ To retract that belief, append the same identity at zero confidence:
46
46
  api/gateway USES redis @src:architecture-review @ 0% ; superseded by current design
47
47
 
48
48
  Do not silently replace one source with another. Conflicting claims may coexist. Query with resolve=true only when a single policy-ranked answer is required. Run cave_derive after adding or changing premises when stored rules should materialize conclusions. Prefer generated act_<name> tools over free-form cave_add when a declared governed action fits.`,
49
- safety: `CAVE preserves history. Retraction, current-only queries, resolution and sensitivity filters change what is shown or believed; they do not guarantee erasure from SQLite remnants, exports, sync peers or backups.
49
+ safety: `CAVE preserves history. Retraction, current-only queries, resolution and sensitivity filters change what is shown or believed; they do not guarantee erasure from storage remnants, exports, sync peers or backups.
50
50
 
51
51
  Never store credentials, private keys, tokens, or information whose retention policy requires selective deletion. If a secret is ingested, rotate it, stop propagation, inventory every database/export/backup, rebuild from reviewed safe input, and destroy or expire affected copies.
52
52
 
@@ -1 +1 @@
1
- {"version":3,"file":"guide.js","sourceRoot":"","sources":["../../src/guide.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAA;AAGrF,MAAM,MAAM,GAAyC;IACnD,QAAQ,EAAE;;;;;;;;oEAQwD;IAElE,KAAK,EAAE;;;;;;;;;;kRAUyQ;IAEhR,IAAI,EAAE;;;;;;;;gOAQwN;IAE9N,MAAM,EAAE;;;;;;;;kWAQwV;IAEhW,MAAM,EAAE;;;;mTAIyS;CAClT,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,QAAoB,UAAU,EAAU,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA"}
1
+ {"version":3,"file":"guide.js","sourceRoot":"","sources":["../../src/guide.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAA;AAGrF,MAAM,MAAM,GAAyC;IACnD,QAAQ,EAAE;;;;;;;;oEAQwD;IAElE,KAAK,EAAE;;;;;;;;;;8aAUqa;IAE5a,IAAI,EAAE;;;;;;;;gOAQwN;IAE9N,MAAM,EAAE;;;;;;;;kWAQwV;IAEhW,MAAM,EAAE;;;;mTAIyS;CAClT,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,QAAoB,UAAU,EAAU,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAMH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAM5C,OAAO,KAAK,EAAE,IAAI,IAAI,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAGnE,+DAA+D;AAC/D,MAAM,MAAM,WAAW,GAAG;IACxB;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,wEAAwE;IACxE,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CAClD,CAAA;AAED,eAAO,MAAM,WAAW,mDAAoD,CAAA;AAC5E,MAAM,MAAM,UAAU,GAAG,OAAO,WAAW,CAAC,MAAM,CAAC,CAAA;AAEnD,MAAM,MAAM,IAAI,GAAG;IACjB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,mFAAmF;IACnF,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;IAC/B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG;QAC7C,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC,CAAC,CAAA;KACvE,CAAA;IACD,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,WAAW,KAAK,MAAM,CAAA;CAC5F,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,KAAK,GAAG;IAClB,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,4EAA4E;IAC5E,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,UAAU,EAAE,CAAA;IAC5C;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CACnC,CAAA;AA6GD,eAAO,MAAM,KAAK,EAAE,SAAS,IAAI,EAoWhC,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CACE,CAAA;AAE/C,+DAA+D;AAC/D,eAAO,MAAM,aAAa,SAAS,CAAA;AAEnC;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,KAAG,MACmB,CAAA;AAkDhE;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GAAI,OAAO,KAAK,KAAG,IAAI,EAY9C,CAAA;AAiBD,eAAO,MAAM,aAAa,GAAI,QAAO,KAAU,KAAG,OAEuC,CAAA;AAEzF,eAAO,MAAM,iBAAiB,GAAI,OAAO,KAAK,EAAE,QAAO,KAAU,KAAG,IAAI,EAGlE,CAAA;AAEN;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,GAAI,QAAO,KAAU,KAAG,SAAS,IAAI,EAkB5D,CAAA"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAUH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAM5C,OAAO,KAAK,EAAE,IAAI,IAAI,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAGnE,+DAA+D;AAC/D,MAAM,MAAM,WAAW,GAAG;IACxB;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,wEAAwE;IACxE,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CAClD,CAAA;AAED,eAAO,MAAM,WAAW,mDAAoD,CAAA;AAC5E,MAAM,MAAM,UAAU,GAAG,OAAO,WAAW,CAAC,MAAM,CAAC,CAAA;AAEnD,MAAM,MAAM,IAAI,GAAG;IACjB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,mFAAmF;IACnF,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;IAC/B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG;QAC7C,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC,CAAC,CAAA;KACvE,CAAA;IACD,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,WAAW,KAAK,MAAM,CAAA;CAC5F,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,KAAK,GAAG;IAClB,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,4EAA4E;IAC5E,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,UAAU,EAAE,CAAA;IAC5C;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CACnC,CAAA;AA6GD,eAAO,MAAM,KAAK,EAAE,SAAS,IAAI,EA4XhC,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CACE,CAAA;AAE/C,+DAA+D;AAC/D,eAAO,MAAM,aAAa,SAAS,CAAA;AAEnC;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,KAAG,MACmB,CAAA;AAkDhE;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GAAI,OAAO,KAAK,KAAG,IAAI,EAY9C,CAAA;AAiBD,eAAO,MAAM,aAAa,GAAI,QAAO,KAAU,KAAG,OAEuC,CAAA;AAEzF,eAAO,MAAM,iBAAiB,GAAI,OAAO,KAAK,EAAE,QAAO,KAAU,KAAG,IAAI,EAGlE,CAAA;AAEN;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,GAAI,QAAO,KAAU,KAAG,SAAS,IAAI,EAkB5D,CAAA"}
@@ -25,9 +25,11 @@
25
25
  */
26
26
  import { Claim, Key, Multiplier, Value } from '@cavelang/core';
27
27
  import { parseDocument } from '@cavelang/parser';
28
+ /** Indents every line of a claim's canonical text (a multi-line comment opens above the claim, §6.4). */
29
+ const indented = (text) => text.split('\n').map(line => ` ${line}`).join('\n');
28
30
  import { canonicalizeText, emitClaim } from '@cavelang/canonical';
29
31
  import { Sensitivity } from '@cavelang/store';
30
- import { defaultLimit as defaultQueryLimit, page as caveQueryPage, query as caveQuery } from '@cavelang/query';
32
+ import { defaultLimit as defaultQueryLimit, maxLimit as maxQueryLimit, page as caveQueryPage, query as caveQuery } from '@cavelang/query';
31
33
  import { estimateOf, fuse } from '@cavelang/fusion';
32
34
  import { derive } from '@cavelang/cli/rules';
33
35
  import { reconstruct, heuristicPolicy, sqliteStore } from '@cavelang/cli/loop';
@@ -229,7 +231,17 @@ export const tools = [
229
231
  if (match.at !== undefined && line !== undefined && bindings === '') {
230
232
  line = `${line} ; at ${String(args['at'])}: ${match.at.text}`;
231
233
  }
232
- return bindings === '' ? line ?? 'match' : line === undefined ? bindings : `${bindings} ; ${line}`;
234
+ if (bindings === '') {
235
+ return line ?? 'match';
236
+ }
237
+ if (line === undefined) {
238
+ return bindings;
239
+ }
240
+ // A raw line may open with its comment block (§6.4); the block
241
+ // stays above the binding line, the claim line rides after it.
242
+ const opening = line.split('\n');
243
+ const claimLine = opening.pop();
244
+ return [...opening.map(text => text.trim()), `${bindings} ; ${claimLine}`].join('\n');
233
245
  });
234
246
  if (result.next !== undefined)
235
247
  lines.push(`next cursor: ${result.next}`);
@@ -281,7 +293,7 @@ export const tools = [
281
293
  throw new Error([
282
294
  `cannot fuse across ${quantities.size} quantities — spec §10.1 fuses independent estimates ` +
283
295
  'of one quantity (one claim key modulo @src: contexts); narrow the selection. Found:',
284
- ...[...quantities.values()].map(claim => ` ${emitClaim(claim)}`)
296
+ ...[...quantities.values()].map(claim => indented(emitClaim(claim)))
285
297
  ].join('\n'));
286
298
  }
287
299
  const posterior = fuse(estimates.map(({ estimate }) => estimate));
@@ -289,7 +301,7 @@ export const tools = [
289
301
  const skipped = claims.length - estimates.length;
290
302
  return [
291
303
  `fused ${estimates.length} estimate(s)${skipped > 0 ? `, skipped ${skipped} without a positive numeric +/- estimate` : ''}:`,
292
- ...estimates.map(({ claim }) => ` ${emitClaim(claim)}`),
304
+ ...estimates.map(({ claim }) => indented(emitClaim(claim))),
293
305
  `posterior: ${withUnit(posterior.mean, unit)} +/- ${withUnit(2 * posterior.sigma, unit)} (2σ)` +
294
306
  ` ; mean ${Value.formatNumber(posterior.mean)}, sigma ${Value.formatNumber(posterior.sigma)}`
295
307
  ].join('\n');
@@ -297,20 +309,37 @@ export const tools = [
297
309
  },
298
310
  {
299
311
  name: 'cave_search',
300
- description: 'Full-text search over subjects, objects, values, comments and raw lines. ' +
301
- 'The query is a literal phrase by default; set raw for FTS5 MATCH syntax (AND/OR/NEAR).',
312
+ description: 'FTS5 full-text search over subjects, verbs, objects, attribute names, values, ' +
313
+ 'comments and raw lines (tags and contexts included). Use it when the stored wording or ' +
314
+ 'entity spelling is unknown. The query is a literal phrase by default; set raw for FTS5 ' +
315
+ 'MATCH syntax (AND/OR/NOT, NEAR, prefix*, column filters such as comment:heap). Newest ' +
316
+ 'first, one raw line per match with its comment; superseded rows stay searchable, so ' +
317
+ 'confirm currency with cave_query or cave_about.',
302
318
  permission: 'read',
303
319
  inputSchema: {
304
320
  type: 'object',
305
321
  required: ['query'],
306
322
  properties: {
307
323
  query: { type: 'string' },
308
- raw: { type: 'boolean', description: 'treat query as FTS5 MATCH syntax' }
324
+ raw: { type: 'boolean', description: 'treat query as FTS5 MATCH syntax' },
325
+ limit: { type: 'integer', minimum: 1, maximum: maxQueryLimit, default: defaultQueryLimit, description: `matches to return (default ${defaultQueryLimit}, maximum ${maxQueryLimit})` }
309
326
  }
310
327
  },
311
- run: (store, args) => store.search(text(args['query'], 'query'), { raw: args['raw'] === true })
312
- .map(row => row.raw_line)
313
- .join('\n') || 'no matches'
328
+ run: (store, args) => {
329
+ const limit = args['limit'] === undefined ? defaultQueryLimit : integer(args['limit'], 'limit');
330
+ // The schema advertises the range, but a client may skip validation:
331
+ // enforce it here as the query page does for its own limit.
332
+ if (limit < 1 || limit > maxQueryLimit) {
333
+ throw new Error(`limit must be an integer from 1 to ${maxQueryLimit}`);
334
+ }
335
+ const found = store.search(text(args['query'], 'query'), { raw: args['raw'] === true, limit: limit + 1 });
336
+ const lines = found.slice(0, limit).map(row => row.raw_line);
337
+ if (lines.length === 0)
338
+ return 'no matches';
339
+ if (found.length > limit)
340
+ lines.push(`more matches beyond ${limit}; raise limit`);
341
+ return lines.join('\n');
342
+ }
314
343
  },
315
344
  {
316
345
  name: 'cave_about',