@gmickel/gno 1.29.2 → 1.29.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.
@@ -38,7 +38,8 @@ gno skill install --target claude # Claude Code (default)
38
38
  gno skill install --target codex # OpenAI Codex CLI
39
39
  gno skill install --target opencode # OpenCode
40
40
  gno skill install --target openclaw # OpenClaw
41
- gno skill install --target all # All four
41
+ gno skill install --target hermes # Hermes
42
+ gno skill install --target all # All supported agents
42
43
  ```
43
44
 
44
45
  Scope is configurable:
@@ -81,19 +82,25 @@ commands from the workspace. The skill docs (see [SKILL.md](SKILL.md))
81
82
  walk the model through:
82
83
 
83
84
  - initialising a new index and adding collections
85
+ - retrieval-proven `setup` and portable project profiles
84
86
  - keyword (`search`), vector (`vsearch`), hybrid (`query`) and
85
87
  AI-answer (`ask`) search modes
88
+ - deterministic Context Capsules and fail-closed verified answers
86
89
  - document retrieval (`get`, `multi-get`) including line ranges
87
90
  - link graph traversal (`links`, `backlinks`, `similar`, `graph`)
91
+ - private retrieval traces/replay and Knowledge Delta inspection
92
+ - project affinity, explainable content boosts, and collection egress policy
93
+ - JSONL, mail, calendar, transcript, and browser-export source adapters
94
+ - provenance-aware browser clipping and typed second-brain capture recipes
88
95
  - tagging, contexts, and per-collection embedding models
89
96
  - publishing notes as gno.sh reader snapshots (`publish export`)
90
- - MCP server setup for persistent agent access
97
+ - stdio and resident Streamable HTTP MCP access
91
98
 
92
99
  The reference docs in this folder are discoverable by the agent via
93
100
  progressive disclosure — the model only pulls them when it needs them:
94
101
 
95
102
  - [SKILL.md](SKILL.md) — core instructions + frontmatter
96
- - [cli-reference.md](cli-reference.md) — every CLI command, option and flag
103
+ - [cli-reference.md](cli-reference.md) — concise CLI command reference
97
104
  - [mcp-reference.md](mcp-reference.md) — MCP tool and resource contract
98
105
  - [examples.md](examples.md) — end-to-end usage patterns
99
106
  - [recipes/](recipes/) — task-shaped second-brain workflows for lookup,
@@ -24,6 +24,27 @@ punctuation. NFC/case-equivalent spellings share one identity. See
24
24
 
25
25
  ## Initialization
26
26
 
27
+ ### gno setup
28
+
29
+ Preferred activation path: add one folder, prove a real exact lexical result,
30
+ then continue semantic indexing in the background.
31
+
32
+ ```bash
33
+ gno setup <folder> --name <collection> [options]
34
+ ```
35
+
36
+ | Option | Description |
37
+ | ------------------------- | --------------------------------------------------------- |
38
+ | `--exclude <pattern>` | Repeatable literal exclusion |
39
+ | `--authorize-secret-risk` | Explicitly allow likely-secret files |
40
+ | `--connector <id>` | Install and smoke-test a connector; repeatable |
41
+ | `--apply-profile` | Apply a valid `.gno/index.yml` before setup |
42
+ | `--no-semantic` | Stop after lexical retrieval proof; start no model worker |
43
+ | `--json` | Structured activation receipt |
44
+
45
+ Setup is idempotent. Success means a corpus-derived BM25 query returned a
46
+ cited result; it does not imply that background semantic work already finished.
47
+
27
48
  ### gno init
28
49
 
29
50
  ```bash
@@ -116,6 +137,25 @@ Generate embeddings only.
116
137
  gno embed [--force] [--model <uri>] [--batch-size <n>] [--dry-run]
117
138
  ```
118
139
 
140
+ ## Project Profiles
141
+
142
+ Project-local `.gno/index.yml` files describe portable collection, context,
143
+ content-type, source-metadata, and retrieval-default intent. They never relocate
144
+ the database into the repository and are never applied implicitly.
145
+
146
+ ```bash
147
+ gno profile check [path]
148
+ gno profile show [path]
149
+ gno profile diff [path]
150
+ gno profile apply [path]
151
+ gno setup . --apply-profile
152
+ ```
153
+
154
+ `check` validates only. `show` emits normalized state. `diff` compares the
155
+ profile with local configuration. `apply` is additive/update-oriented and does
156
+ not infer deletions. Profile project roots are trusted local affinity inputs;
157
+ MCP/SDK/REST hints remain opaque and cannot become filesystem paths.
158
+
119
159
  ## Capture
120
160
 
121
161
  ### gno capture
@@ -220,10 +260,19 @@ gno ask <question> [options]
220
260
  | `--fast` | Skip expansion and reranking (fastest) |
221
261
  | `--thorough` | Enable query expansion (better recall) |
222
262
  | `--answer` | Generate grounded answer |
263
+ | `--verify` | Closed-Capsule answer or abstention |
223
264
  | `--no-answer` | Retrieval only |
224
265
  | `--max-answer-tokens <n>` | Cap answer length |
266
+ | `--context-budget-tokens` | Global verified-Capsule token budget |
267
+ | `--context-budget-bytes` | Global verified-Capsule byte budget |
225
268
  | `--show-sources` | Show all sources |
226
269
 
270
+ `--verify` is distinct from `--answer`: generation receives only a closed
271
+ Context Capsule, every substantive claim is checked against exact retained
272
+ spans, and GNO releases the answer only at 100% support coverage. Failed or
273
+ unavailable semantic verification forces an explicit abstention. This proves
274
+ support against retained evidence, not corpus completeness or source truth.
275
+
227
276
  ## Document Retrieval
228
277
 
229
278
  ### gno get
@@ -292,6 +341,113 @@ Validate context configuration.
292
341
  gno context check [--json]
293
342
  ```
294
343
 
344
+ ### gno context build
345
+
346
+ Compile one deterministic, extractive evidence bundle under global token and
347
+ byte budgets:
348
+
349
+ ```bash
350
+ gno context build "<goal>" --budget 12000 --json --output capsule.json
351
+ gno context build "compare proposals" --budget 16000 --collection work --md
352
+ gno context build "release evidence" --budget 12000 --fast --json
353
+ ```
354
+
355
+ The Capsule retains exact URI/heading/line spans, source/mirror/passage hashes,
356
+ normalized retrieval inputs, fingerprints, capability outcomes, omissions,
357
+ coverage, and explicit gaps. Selection collapses overlaps and rewards uncovered
358
+ facets. `--fast` avoids model loading; `--thorough` widens retrieval. GNO writes
359
+ only to stdout or an explicit `--output`; it never persists Capsules implicitly.
360
+
361
+ ### gno context verify
362
+
363
+ Recheck a saved canonical JSON Capsule without rebuilding or mutating it:
364
+
365
+ ```bash
366
+ gno context verify capsule.json --json
367
+ cat capsule.json | gno context verify - --md
368
+ ```
369
+
370
+ The receipt classifies evidence as unchanged, stale, or missing; ranking as
371
+ unchanged, reranked, or unavailable; and reports fingerprint drift separately.
372
+ Verification uses the Capsule's index and refuses an explicitly mismatched
373
+ global `--index`.
374
+
375
+ ### Saved Capsule watches
376
+
377
+ Register a caller-owned Capsule file for evidence-triggered reverification:
378
+
379
+ ```bash
380
+ gno context watch capsule.json --question "Who owns launch?" --notify --json
381
+ gno context watches --json
382
+ gno context reverify <registration-id> --json
383
+ gno context unwatch <registration-id> --json
384
+ ```
385
+
386
+ GNO stores only bounded registration metadata and evidence hashes—not Capsule
387
+ or passage bytes. `serve`/`daemon` reverify after relevant settled index
388
+ changes. Watch lifecycle operations are CLI-only. Reverification never rebuilds
389
+ or overwrites the saved Capsule.
390
+
391
+ ## Knowledge Delta
392
+
393
+ Inspect retained metadata-only change history and bounded dependency impact:
394
+
395
+ ```bash
396
+ gno changes --since 2026-07-20T00:00:00Z --json
397
+ gno diff gno://notes/plan.md --json
398
+ gno impact gno://notes/plan.md --max-depth 3 --json
399
+ ```
400
+
401
+ `changes` accepts an ISO time or opaque cursor and optional collection/limit.
402
+ `diff` reports structural headings, links, and typed-relationship changes for
403
+ one retained change. `impact` follows inbound evidence edges with explicit
404
+ depth/node/edge/frontier/visited bounds. Expired journal history is reported,
405
+ not reconstructed.
406
+
407
+ ## Private Retrieval Traces
408
+
409
+ Trace recording is local and off by default. Metadata mode excludes raw
410
+ query/goal/filter values; replay mode is separate explicit consent.
411
+
412
+ ```bash
413
+ gno trace list --json
414
+ gno trace show <trace-id> --json
415
+ gno trace label <trace-id> --label relevant --target <uri> \
416
+ --target-kind document
417
+ gno trace export <trace-id> --format qrels --output qrels.json
418
+ gno trace replay <export-id> --candidate hybrid --md
419
+ gno trace delete <trace-id>
420
+ gno trace purge
421
+ ```
422
+
423
+ Only append relevance labels the user explicitly supplied. Export, delete, and
424
+ purge are explicit mutations. Replay compares one candidate with an immutable
425
+ local baseline and always reports `applied: false`; it never changes live
426
+ ranking.
427
+
428
+ ## Collection Egress
429
+
430
+ Collections can be restricted to `local_only`, `lan`, or `remote`. Egress is
431
+ checked before non-loopback serving, remote model calls, network export, or
432
+ publishing and remains separate from authentication or write permission.
433
+
434
+ ```bash
435
+ gno collection policy get work
436
+ gno collection policy check --action remote_model \
437
+ --destination remote --content-class internal -c work --explain-egress
438
+ gno collection policy set work remote --confirm-relaxation <revision>
439
+ gno egress-audit list
440
+ gno egress-audit show <audit-id>
441
+ gno egress-audit status
442
+ gno egress-audit delete <audit-id>
443
+ gno egress-audit purge
444
+ ```
445
+
446
+ Denied egress is terminal for that route; do not retry through another network
447
+ surface. Relaxing policy requires the current revision; tightening to
448
+ `local_only` does not. Audit receipts are local and content-free.
449
+ Deletion/purge must remain explicit.
450
+
295
451
  ## Note Linking
296
452
 
297
453
  ### gno links
@@ -7,14 +7,11 @@ Real-world examples for common tasks.
7
7
  ### Index a folder of docs
8
8
 
9
9
  ```bash
10
- # Initialize
11
- gno init
12
-
13
- # Add your docs folder
14
- gno collection add ~/Documents/work --name work
10
+ # Preferred path: add folder, index, and prove exact retrieval
11
+ gno setup ~/Documents/work --name work
15
12
 
16
- # Build index
17
- gno index
13
+ # Skip the background semantic worker when BM25 is sufficient
14
+ gno setup ~/Documents/contracts --name contracts --no-semantic
18
15
  ```
19
16
 
20
17
  ### Index multiple folders
@@ -71,6 +68,9 @@ gno ask "what are the payment terms"
71
68
 
72
69
  # Get an AI-generated answer
73
70
  gno ask "what are the payment terms" --answer
71
+
72
+ # Fail closed unless every substantive claim has retained evidence
73
+ gno ask "what are the payment terms" --verify --show-sources
74
74
  ```
75
75
 
76
76
  ### Scoped answers
@@ -83,6 +83,67 @@ gno ask "termination clause" -c contracts --answer
83
83
  gno ask "summarize project goals" --answer --max-answer-tokens 200
84
84
  ```
85
85
 
86
+ ## Context Capsules
87
+
88
+ ### Build one bounded evidence handoff
89
+
90
+ ```bash
91
+ gno context build "What changed in the launch plan?" \
92
+ --budget 12000 --json --output launch-capsule.json
93
+ ```
94
+
95
+ The saved JSON contains exact evidence spans, hashes, coverage gaps, omissions,
96
+ and the frozen retrieval plan. GNO does not save it unless `--output` is
97
+ explicit.
98
+
99
+ ### Verify or watch saved evidence
100
+
101
+ ```bash
102
+ # Check the old evidence without rebuilding it
103
+ gno context verify launch-capsule.json --json
104
+
105
+ # Reverify automatically when relevant indexed evidence changes
106
+ gno context watch launch-capsule.json \
107
+ --question "What changed in the launch plan?" --notify --json
108
+ gno context watches --json
109
+ ```
110
+
111
+ `verify` and `reverify` never overwrite or silently rebuild the Capsule. Run
112
+ `context build` again when a fresh evidence selection is required.
113
+
114
+ ## Project-Aware Retrieval
115
+
116
+ ```bash
117
+ # Inspect portable repository intent before applying it
118
+ gno profile check
119
+ gno profile diff
120
+ gno setup . --apply-profile
121
+
122
+ # Override or disable trusted local project affinity for one request
123
+ gno query "release plan" --project-root ~/work/product
124
+ gno query "release plan" --no-project-affinity
125
+ ```
126
+
127
+ Configured `contentTypes[].searchBoost` is bounded and visible with
128
+ `--explain`; hard collection/tag/date/exclude/egress filters still win.
129
+
130
+ ## Changes and Retrieval Learning
131
+
132
+ ```bash
133
+ # What changed, and what depends on it?
134
+ gno changes --since 2026-07-20T00:00:00Z --json
135
+ gno diff gno://work/launch.md --json
136
+ gno impact gno://work/launch.md --max-depth 3 --json
137
+
138
+ # Explicit local judgment -> immutable qrels -> offline comparison
139
+ gno trace label <trace-id> --label relevant \
140
+ --target gno://work/launch.md --target-kind document
141
+ gno trace export <trace-id> --format qrels --output launch-qrels.json
142
+ gno trace replay <export-id> --candidate hybrid --md
143
+ ```
144
+
145
+ Replay is advisory and never changes live ranking.
146
+
86
147
  ## Reading Documents
87
148
 
88
149
  ### Get full document
@@ -119,6 +119,19 @@ Read-only MCP graph/query diagnostics include `gno_graph_query` and
119
119
  `gno_query_diagnose`. In `gno_query_diagnose`, pass `fast: true` for a BM25-only
120
120
  diagnosis that avoids embedding/rerank model initialization.
121
121
 
122
+ Before reusing caller-saved Capsule JSON, pass the complete canonical object to
123
+ `gno_context_verify`. It reports evidence, ranking, and fingerprint drift
124
+ without rebuilding or persisting the Capsule. The complete `gno_context` result
125
+ lives in `structuredContent`; its text projection is deliberately compact and
126
+ should not be expanded back into duplicate model context.
127
+
128
+ Use `gno_changes`, `gno_diff`, and `gno_impact` for retained metadata history
129
+ and bounded dependency questions. Use `gno_trace_list` and `gno_trace_show` for
130
+ private local diagnostics. Invoke `gno_trace_label` only when the user
131
+ explicitly provides a relevant, irrelevant, or missing-expected judgment.
132
+ Trace export/replay/delete/purge and saved-Capsule watch lifecycle remain
133
+ CLI-only.
134
+
122
135
  ## Capture
123
136
 
124
137
  `gno_capture` is available only when MCP starts with `--enable-write` or
@@ -0,0 +1 @@
1
+ 82fd879ec5de4a00710dc4dc60a358947b4b19444f2a4780b5f502d1f5652d25 gno-browser-clipper-v1.29.3.zip
@@ -21,5 +21,5 @@
21
21
  "content_security_policy": {
22
22
  "extension_pages": "script-src 'self'; object-src 'none'; connect-src http://127.0.0.1:*"
23
23
  },
24
- "version": "1.29.2"
24
+ "version": "1.29.3"
25
25
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gmickel/gno",
3
- "version": "1.29.2",
3
+ "version": "1.29.3",
4
4
  "description": "Local semantic search for your documents. Index Markdown, PDF, and Office files with hybrid BM25 + vector search.",
5
5
  "keywords": [
6
6
  "embeddings",
@@ -1 +0,0 @@
1
- d693cf38e03cf3d016ac982d1ec1658e9d7b6fb8e57d83f0a051e43569a58247 gno-browser-clipper-v1.29.2.zip