@saasontools/strauss-kb 0.1.19 → 0.1.21

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/ARCHITECTURE.md CHANGED
@@ -17,11 +17,11 @@ rather than closing it. A lock would close it and add a worse failure: a crashed
17
17
  A base loaded at the start of a long conversation is summarised away by the end,
18
18
  so no consumer loads it that way:
19
19
 
20
- | Consumer | How it reads |
21
- | ------------------------------- | --------------------------------------------------- |
22
- | Diff annotation | `matchToDiff` — deterministic, no context |
23
- | "Has this been decided?" | a fresh short-lived reader, given base and question |
24
- | An implementor writing a record | a point query at the moment of writing |
20
+ | Consumer | How it reads |
21
+ | ------------------------------- | ---------------------------------------------------- |
22
+ | Diff annotation | `matchToDiff`/`kb_match` — deterministic, no context |
23
+ | "Has this been decided?" | a fresh short-lived reader, given base and question |
24
+ | An implementor writing a record | a point query at the moment of writing |
25
25
 
26
26
  Reloading costs about three thousand tokens for twenty records.
27
27
 
package/README.md CHANGED
@@ -222,11 +222,12 @@ end of it. Six optional fields extend it:
222
222
  them; `repo` and `ref` are **author-owned identity** and a resolution pass
223
223
  never writes them.
224
224
 
225
- `anchor-resolve <concept-id>` (`kb_anchor_resolve`) is `verify`'s mechanical
226
- counterpart: it checks the anchored code against the working tree
227
- (`--repo-root` when the base is not inside it). Per anchor:
225
+ `anchor-resolve <concept-id>` (`kb_anchor_resolve`) checks the anchored code
226
+ against the working tree (`--repo-root` when the base is not inside it) and
227
+ never writes `verified[]`; `--check` writes nothing at all. Per anchor:
228
228
 
229
- - **stamped** — no hash yet; hash, line count, and timestamp are written.
229
+ - **stamped** — no hash yet; hash, line count, and timestamp are written
230
+ (`unstamped` under `--check`, which writes none).
230
231
  - **match** — unchanged; nothing written. `--restamp` re-dates on purpose.
231
232
  - **drifted** — hash changed. Baseline kept unless `--rebaseline`.
232
233
  - **unresolved** — not comparable, with a reason. A finding, not an error.
@@ -245,9 +246,6 @@ and again on the real path after symlinks.
245
246
  Exit code is non-zero on **drifted**, or on **unresolved** for an anchor that
246
247
  carries a hash; unstamped anchors and unreachable remotes never fail.
247
248
 
248
- A fully clean run — every anchor checked and `match`, none stamped this run —
249
- appends a `verified[]` event.
250
-
251
249
  Symbols resolve tree-sitter first — the 20 language packs that have both a
252
250
  grammar and a definitions query, pinned together by `pnpm grammars pin` from
253
251
  `grammars/packs.json` and proved at pin time — then the regex heuristic for
@@ -311,11 +309,14 @@ strauss-kb [--bundle PATH] <command> [args]
311
309
  Resolve anchors against the working tree: stamp, or report drift.
312
310
  reassess <concept-id> [--repo-root <path>] [--with-diff]
313
311
  One drifted record as something to judge: claim, classes, diff, impact.
312
+ promote <concept-id...> --to <bundle> [--source <url>] [--force] | --list
313
+ Copy settled records into the base that outlives the pull request.
314
314
  load [type] [--budget N | --all] [--repo-root PATH]
315
315
  Hand over the whole base, each record with its standing.
316
316
  catalog [type] Every record in one line — id, type, title, standing, stale flag.
317
317
  pack <conceptId> [--hops N] [--max-nodes N] [--budget N]
318
318
  The bounded neighbourhood around one record, every cut named.
319
+ export --format madr --to <dir> Write the base's decisions out as numbered MADR files.
319
320
  query <text...> [--repo-root PATH] Search; every match arrives flagged with its standing.
320
321
  trace <concept-id> [edges...] How a position was arrived at, as a timeline.
321
322
  impact <concept-id> [--depth N] [--rels a,b]
@@ -327,6 +328,8 @@ strauss-kb [--bundle PATH] <command> [args]
327
328
  validate Cross-record checks. Exits 1 when it reports a problem.
328
329
  doctor [--expiring-days N] [--unverified-days N] [--aging-days N] [--repo-root PATH] [--strict]
329
330
  Health sweep: what expired, went unconfirmed, aged, was orphaned, or drifted.
331
+ sweep --tag <tag> --terminal [--dry-run]
332
+ Delete tagged records that are resolved, rejected or superseded.
330
333
  schema JSON Schema for the format.
331
334
  types The twelve types, their sections and initial status.
332
335
  pin [bundle-path] [flags] Pin a base. --mode, --profiles, --frozen; --local/--user pick the layer.
@@ -381,11 +384,12 @@ strauss-kb validate || echo "errors above" # warnings alone still exit 0
381
384
 
382
385
  Every CLI verb is a tool: `kb_write`, `kb_write_decision`, `kb_no_decision`,
383
386
  `kb_status`, `kb_supersede`, `kb_answer`, `kb_verify`, `kb_anchor_resolve`, `kb_reassess`,
387
+ `kb_promote`,
384
388
  `kb_load`, `kb_catalog`,
385
- `kb_pack`,
386
- `kb_query`, `kb_trace`, `kb_impact`, `kb_backlinks`, `kb_list`, `kb_index`, `kb_log`, `kb_stamp`,
389
+ `kb_pack`, `kb_export`,
390
+ `kb_query`, `kb_trace`, `kb_impact`, `kb_backlinks`, `kb_match`, `kb_classify`, `kb_list`, `kb_index`, `kb_log`, `kb_stamp`,
387
391
  `kb_validate`,
388
- `kb_doctor`, `kb_schema`, `kb_types`, `kb_pin`, `kb_unpin`, `kb_pins`,
392
+ `kb_doctor`, `kb_sweep`, `kb_schema`, `kb_types`, `kb_pin`, `kb_unpin`, `kb_pins`,
389
393
  `kb_context`. Most take a `bundlePath`. The one CLI verb with no tool is
390
394
  `sync-instructions`; the agent capability is `kb_context`.
391
395
 
@@ -413,7 +417,8 @@ for (const hit of hits) {
413
417
  ```
414
418
 
415
419
  `matchToDiff` takes hunks and optional symbol ranges rather than a patch,
416
- answering which records are anchored to each hunk.
420
+ answering which records are anchored to each hunk. `kb_match` is the same
421
+ answer for a caller that cannot import this package.
417
422
 
418
423
  ## Retrieval
419
424
 
@@ -4,7 +4,7 @@ import {
4
4
  KB_DIR,
5
5
  KbStore,
6
6
  VERSION
7
- } from "./chunk-MNQNHYWL.js";
7
+ } from "./chunk-XBZ7G5R5.js";
8
8
 
9
9
  // src/cli.ts
10
10
  import { join } from "path";
@@ -121,4 +121,4 @@ function usage() {
121
121
  export {
122
122
  runKbCli
123
123
  };
124
- //# sourceMappingURL=chunk-CQBLH7CE.js.map
124
+ //# sourceMappingURL=chunk-VXWN62HT.js.map
@@ -2,7 +2,7 @@ import {
2
2
  KB_COMMANDS,
3
3
  KbStore,
4
4
  VERSION
5
- } from "./chunk-MNQNHYWL.js";
5
+ } from "./chunk-XBZ7G5R5.js";
6
6
 
7
7
  // src/mcp.ts
8
8
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
@@ -46,4 +46,4 @@ export {
46
46
  createKbMcpServer,
47
47
  runKbMcpServer
48
48
  };
49
- //# sourceMappingURL=chunk-ZWSCLHG6.js.map
49
+ //# sourceMappingURL=chunk-WVJULVGY.js.map