@gmickel/gno 1.29.2 → 1.29.4
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/README.md +71 -82
- package/assets/skill/README.md +10 -3
- package/assets/skill/cli-reference.md +156 -0
- package/assets/skill/examples.md +68 -7
- package/assets/skill/mcp-reference.md +13 -0
- package/browser-extension/artifacts/{gno-browser-clipper-v1.29.2.zip → gno-browser-clipper-v1.29.4.zip} +0 -0
- package/browser-extension/artifacts/gno-browser-clipper-v1.29.4.zip.sha256 +1 -0
- package/browser-extension/dist/manifest.json +1 -1
- package/package.json +1 -1
- package/browser-extension/artifacts/gno-browser-clipper-v1.29.2.zip.sha256 +0 -1
package/README.md
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# GNO
|
|
2
2
|
|
|
3
|
-
**
|
|
3
|
+
**Search finds. GNO proves.**
|
|
4
|
+
|
|
5
|
+
A local knowledge engine for your notes, code, PDFs, and Office docs — that hands agents evidence with exact line spans and content hashes, and stops when the evidence stops.
|
|
4
6
|
|
|
5
7
|
[](https://www.npmjs.com/package/@gmickel/gno)
|
|
6
8
|
[](./LICENSE)
|
|
@@ -8,103 +10,90 @@
|
|
|
8
10
|
[](https://twitter.com/gmickel)
|
|
9
11
|
[](https://discord.gg/nHEmyJB5tg)
|
|
10
12
|
|
|
11
|
-
|
|
12
|
-
> **[gno.sh/publish](https://gno.sh/publish) is live.** Turn any GNO note or collection into a polished, reader-first URL — editorial typography, scoped search, and four visibility modes from public to encrypted-before-upload. **[See the reader →](#publish-to-gnosh)**
|
|
13
|
+

|
|
13
14
|
|
|
14
|
-
|
|
15
|
+
```bash
|
|
16
|
+
bun install -g @gmickel/gno
|
|
17
|
+
gno setup ~/notes --name notes # returns only after retrieval actually works
|
|
18
|
+
gno mcp install --target cursor # or claude-code, claude-desktop, zed, ...
|
|
19
|
+
```
|
|
15
20
|
|
|
16
|
-
|
|
21
|
+
## Why not just another local RAG tool
|
|
17
22
|
|
|
18
|
-
|
|
23
|
+
Most retrieval tools return a ranked list and leave the rest to optimism. Four things here are different, and each one is measurable rather than adjectival:
|
|
19
24
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
opaque, untrusted, limited to 16, and intentionally have zero ranking effect:
|
|
27
|
-
those surfaces never probe caller or server filesystem paths. Trusted local
|
|
28
|
-
diagnose output uses closed `schemaVersion: "1.1"` redacted affinity metadata;
|
|
29
|
-
absent, disabled, and remote/untrusted diagnose requests preserve exact legacy
|
|
30
|
-
v1.0 bytes and omit `affinity`.
|
|
25
|
+
| | What it does | Why it matters |
|
|
26
|
+
| :----------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
27
|
+
| **[Context Capsules](https://gno.sh/docs/context-capsules)** | Compiles one bounded evidence bundle per goal: exact line spans, content hashes, one global token budget, collapsed duplicates, and a written list of what it could _not_ find | Your agent reads once instead of searching five times. **48.94% fewer retrieval calls, 44.12% less model-visible context, 100% task accuracy retained** across 48 paired benchmark tasks |
|
|
28
|
+
| **[Verified answers](https://gno.sh/docs/cli)** | `gno ask --verify` generates against one closed Capsule, classifies every substantive claim, and withholds the draft below 100% support | An abstention naming the failing claim beats a confident paragraph you have to fact-check by hand |
|
|
29
|
+
| **[Verified setup](https://gno.sh/docs/project-profiles)** | `gno setup` returns only after lexical search finds a real hit derived from _your_ corpus | No green checkmark over a folder that indexed but cannot be searched |
|
|
30
|
+
| **[Egress policy](https://gno.sh/docs/collection-egress)** | Per-collection fail-closed `local_only` / `lan` / `remote`, inherited by every derived Capsule, trace, and export | Mixed setups are normal. Pin the client work local while your notes use the LAN GPU box |
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
Everything runs on your machine. Zero telemetry. The three network boundaries are explicit: downloading a model, configuring an HTTP inference endpoint, and uploading an artifact you exported for publishing.
|
|
33
33
|
|
|
34
|
-
|
|
35
|
-
- your important knowledge is split across Markdown, code, PDFs, and Office files
|
|
36
|
-
- you want one retrieval layer that works from the CLI, browser, MCP, and a Bun/TypeScript SDK
|
|
37
|
-
- you want better local context for agents without shipping your docs to a cloud API
|
|
34
|
+
**And when it fails, that ships too.** The CJK lexical benchmark missed its own promotion gates, so the analyzer was not shipped and [the failing numbers were published](#general-multilingual-embedding-benchmark) instead.
|
|
38
35
|
|
|
39
|
-
|
|
36
|
+
## Use it when
|
|
40
37
|
|
|
41
|
-
-
|
|
42
|
-
-
|
|
43
|
-
-
|
|
44
|
-
-
|
|
45
|
-
- **Shareable, not synced**: export a note or collection to [gno.sh](https://gno.sh/publish) as a polished reader page — public, secret, invite-only, or locally encrypted before upload
|
|
46
|
-
- **Operational fit**: daemon mode, model presets, remote GPU backends, safe config/state on disk
|
|
38
|
+
- your knowledge is split across Markdown, code, PDFs, Office files, and exported mail or transcripts
|
|
39
|
+
- you want one retrieval layer for the CLI, the browser, MCP, and a Bun/TypeScript SDK
|
|
40
|
+
- you want your coding agent to have a real memory without shipping your docs to a cloud API
|
|
41
|
+
- you need to prove, later, which bytes supported a conclusion
|
|
47
42
|
|
|
48
|
-
|
|
43
|
+
## Two minutes, end to end
|
|
49
44
|
|
|
50
45
|
```bash
|
|
51
46
|
# Install
|
|
52
47
|
bun install -g @gmickel/gno
|
|
53
48
|
|
|
54
|
-
#
|
|
49
|
+
# Activate a folder. Returns only after BM25 proves an exact corpus-derived hit;
|
|
50
|
+
# semantic embedding continues independently in the background.
|
|
55
51
|
gno setup ~/notes --name notes
|
|
56
52
|
|
|
57
|
-
#
|
|
58
|
-
gno profile diff
|
|
59
|
-
gno setup . --apply-profile
|
|
60
|
-
|
|
61
|
-
# Add more collections with the granular commands
|
|
53
|
+
# Add more sources
|
|
62
54
|
gno collection add ~/work/docs --name work-docs --pattern "**/*.{md,pdf,docx}"
|
|
63
55
|
gno collection add ~/work/gno/src --name gno-code --pattern "**/*.{ts,tsx,js,jsx}"
|
|
64
56
|
|
|
65
|
-
#
|
|
66
|
-
gno context add "notes:" "Personal notes, journal entries, and long-form ideas"
|
|
57
|
+
# Tell retrieval what each collection is for
|
|
67
58
|
gno context add "work-docs:" "Architecture docs, runbooks, RFCs, meeting notes"
|
|
68
|
-
gno context add "gno-code:" "Source code for the GNO application"
|
|
69
59
|
|
|
70
|
-
|
|
71
|
-
gno
|
|
72
|
-
|
|
60
|
+
gno update --yes # sync
|
|
61
|
+
gno embed # embed when you want semantic retrieval
|
|
62
|
+
|
|
63
|
+
# Pick the search that fits the question
|
|
64
|
+
gno search "DEC-0054" # exact identifier
|
|
65
|
+
gno vsearch "retry failed jobs with backoff" # natural language
|
|
66
|
+
gno query "JWT refresh token rotation" --explain # hybrid, with score traces
|
|
73
67
|
|
|
74
|
-
#
|
|
75
|
-
gno
|
|
76
|
-
|
|
77
|
-
gno
|
|
68
|
+
# Compile checkable evidence for a goal, then re-check it later
|
|
69
|
+
gno context build "why we dropped the queue rewrite" \
|
|
70
|
+
--collection work-docs --budget 12000 --json --output capsule.json
|
|
71
|
+
gno context verify capsule.json
|
|
78
72
|
|
|
79
|
-
#
|
|
80
|
-
gno
|
|
81
|
-
gno multi-get "gno-code/**/*.ts" --max-bytes 30000 --md
|
|
82
|
-
gno query "deployment process" --all --files --min-score 0.35
|
|
73
|
+
# Generate only what that evidence supports
|
|
74
|
+
gno ask "why did we drop the queue rewrite" --verify --show-sources
|
|
83
75
|
|
|
84
|
-
# Run the workspace (pick one —
|
|
85
|
-
gno serve # browser/desktop
|
|
86
|
-
gno daemon --detach # headless
|
|
76
|
+
# Run the workspace (pick one — not both against the same index)
|
|
77
|
+
gno serve # browser/desktop Web UI
|
|
78
|
+
gno daemon --detach # headless indexing + resident MCP gateway
|
|
87
79
|
```
|
|
88
80
|
|
|
81
|
+
> [!TIP]
|
|
82
|
+
> **[gno.sh/publish](https://gno.sh/publish) is live.** Turn any GNO note or collection into a reader-first URL — editorial typography, scoped search, and four visibility modes from public to encrypted-before-upload. **[See the reader →](#publish-to-gnosh)**
|
|
83
|
+
|
|
84
|
+
> **ClawdHub**: GNO skills bundled for Clawdbot — [clawdhub.com/gmickel/gno](https://clawdhub.com/gmickel/gno)
|
|
85
|
+
|
|
89
86
|
---
|
|
90
87
|
|
|
91
88
|
## Contents
|
|
92
89
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
- [Daemon Mode](#daemon-mode)
|
|
96
|
-
|
|
97
|
-
- [
|
|
98
|
-
|
|
99
|
-
- [
|
|
100
|
-
- [REST API](#rest-api)
|
|
101
|
-
- [SDK](#sdk)
|
|
102
|
-
- [How It Works](#how-it-works)
|
|
103
|
-
- [Features](#features)
|
|
104
|
-
- [Local Models](#local-models)
|
|
105
|
-
- [Fine-Tuned Models](#fine-tuned-models)
|
|
106
|
-
- [Architecture](#architecture)
|
|
107
|
-
- [Development](#development)
|
|
90
|
+
**Start here** · [Quick Start](#quick-start) · [Installation](#installation) · [Agent Integration](#agent-integration) · [Search Modes](#search-modes)
|
|
91
|
+
|
|
92
|
+
**Surfaces** · [Web UI](#web-ui) · [REST API](#rest-api) · [SDK](#sdk) · [Daemon Mode](#daemon-mode) · [Publish to gno.sh](#publish-to-gnosh)
|
|
93
|
+
|
|
94
|
+
**Under the hood** · [How It Works](#how-it-works) · [Features](#features) · [Local Models](#local-models) · [Fine-Tuned Models](#fine-tuned-models) · [Architecture](#architecture) · [Development](#development)
|
|
95
|
+
|
|
96
|
+
**Deep dives on gno.sh** · [Context Capsules](https://gno.sh/docs/context-capsules) · [Knowledge Delta](https://gno.sh/docs/knowledge-delta) · [Retrieval learning](https://gno.sh/docs/retrieval-learning) · [Project profiles](https://gno.sh/docs/project-profiles) · [Egress policies](https://gno.sh/docs/collection-egress) · [Export adapters](https://gno.sh/docs/file-export-adapters)
|
|
108
97
|
|
|
109
98
|
---
|
|
110
99
|
|
|
@@ -112,7 +101,7 @@ gno daemon --detach # headless continuous indexing (background; --status / --st
|
|
|
112
101
|
|
|
113
102
|
<!-- public-truth:current-version -->
|
|
114
103
|
|
|
115
|
-
> Current release: **v1.29.
|
|
104
|
+
> Current release: **v1.29.4** — see [CHANGELOG.md](./CHANGELOG.md)
|
|
116
105
|
|
|
117
106
|
<!-- /public-truth -->
|
|
118
107
|
|
|
@@ -247,7 +236,7 @@ gno models pull --gen
|
|
|
247
236
|
gno query "ECONNREFUSED 127.0.0.1:5432" --thorough
|
|
248
237
|
```
|
|
249
238
|
|
|
250
|
-
> Full guide: [Fine-Tuned Models](https://gno.sh/docs/
|
|
239
|
+
> Full guide: [Fine-Tuned Models](https://gno.sh/docs/fine-tuned-models) · [Feature page](https://gno.sh/features/fine-tuned-models)
|
|
251
240
|
|
|
252
241
|
---
|
|
253
242
|
|
|
@@ -365,7 +354,7 @@ gno skill install --target openclaw # OpenClaw
|
|
|
365
354
|
gno skill install --target all # All targets
|
|
366
355
|
```
|
|
367
356
|
|
|
368
|
-
> **Full setup guide**: [MCP Integration](https://gno.sh/docs/
|
|
357
|
+
> **Full setup guide**: [MCP Integration](https://gno.sh/docs/mcp) · [CLI Reference](https://gno.sh/docs/cli)
|
|
369
358
|
|
|
370
359
|
---
|
|
371
360
|
|
|
@@ -387,7 +376,7 @@ headless. `--detach` / `--status` / `--stop` give you symmetric lifecycle
|
|
|
387
376
|
controls so you don't need `nohup`, `launchd`, or `systemd` units. The same
|
|
388
377
|
flag set is available on `gno serve`.
|
|
389
378
|
|
|
390
|
-
[Daemon guide →](https://gno.sh/
|
|
379
|
+
[Daemon guide →](https://gno.sh/features/daemon-mode)
|
|
391
380
|
|
|
392
381
|
---
|
|
393
382
|
|
|
@@ -479,7 +468,7 @@ Core SDK surface:
|
|
|
479
468
|
- `update`, `embed`, `index`
|
|
480
469
|
- `close`
|
|
481
470
|
|
|
482
|
-
Full guide: [SDK docs](https://gno.sh/docs/
|
|
471
|
+
Full guide: [SDK docs](https://gno.sh/docs/sdk)
|
|
483
472
|
|
|
484
473
|
---
|
|
485
474
|
|
|
@@ -607,7 +596,7 @@ gno get "gno://work-docs/api-reference.md" --full
|
|
|
607
596
|
gno multi-get "work-docs/**/*.md" --md --max-bytes 30000
|
|
608
597
|
```
|
|
609
598
|
|
|
610
|
-
[Skill setup guide →](https://gno.sh/docs/
|
|
599
|
+
[Skill setup guide →](https://gno.sh/docs/skills)
|
|
611
600
|
|
|
612
601
|
### MCP Server
|
|
613
602
|
|
|
@@ -655,7 +644,7 @@ requires an explicit restrictive bearer-token file plus exact Host and Origin
|
|
|
655
644
|
allowlists; `gno serve` remains loopback-only. Authentication alone never
|
|
656
645
|
enables mutation tools.
|
|
657
646
|
|
|
658
|
-
[MCP setup guide →](https://gno.sh/docs/
|
|
647
|
+
[MCP setup guide →](https://gno.sh/docs/mcp)
|
|
659
648
|
|
|
660
649
|
---
|
|
661
650
|
|
|
@@ -758,7 +747,7 @@ telemetry. Network access occurs when GNO downloads models, when you configure
|
|
|
758
747
|
an HTTP model backend, or when you explicitly upload an exported artifact to
|
|
759
748
|
gno.sh.
|
|
760
749
|
|
|
761
|
-
> **Detailed docs**: [Web UI Guide](https://gno.sh/docs/
|
|
750
|
+
> **Detailed docs**: [Web UI Guide](https://gno.sh/docs/web-ui)
|
|
762
751
|
|
|
763
752
|
---
|
|
764
753
|
|
|
@@ -879,7 +868,7 @@ curl http://localhost:3000/api/health
|
|
|
879
868
|
|
|
880
869
|
No authentication. No rate limits. Build custom tools, automate workflows, integrate with any language.
|
|
881
870
|
|
|
882
|
-
> **Full reference**: [API Documentation](https://gno.sh/docs/
|
|
871
|
+
> **Full reference**: [API Documentation](https://gno.sh/docs/api)
|
|
883
872
|
|
|
884
873
|
---
|
|
885
874
|
|
|
@@ -914,7 +903,7 @@ graph TD
|
|
|
914
903
|
3. **Fusion**: RRF with 2× weight for original query, tiered bonus for top ranks
|
|
915
904
|
4. **Reranking**: Qwen3-Reranker scores best chunk per document (4K), blended with fusion
|
|
916
905
|
|
|
917
|
-
> **Deep dive**: [How Search Works](https://gno.sh/docs/
|
|
906
|
+
> **Deep dive**: [How Search Works](https://gno.sh/docs/how-search-works)
|
|
918
907
|
|
|
919
908
|
---
|
|
920
909
|
|
|
@@ -987,8 +976,8 @@ Hugging Face. The `gen:` role remains the standalone answer model.
|
|
|
987
976
|
|
|
988
977
|
See:
|
|
989
978
|
|
|
990
|
-
- [Fine-Tuned Models docs](https://gno.sh/docs/
|
|
991
|
-
- [Fine-Tuned Models feature page](https://gno.sh/features/fine-tuned-models
|
|
979
|
+
- [Fine-Tuned Models docs](https://gno.sh/docs/fine-tuned-models)
|
|
980
|
+
- [Fine-Tuned Models feature page](https://gno.sh/features/fine-tuned-models)
|
|
992
981
|
|
|
993
982
|
### HTTP Backends (Remote GPU)
|
|
994
983
|
|
|
@@ -1012,7 +1001,7 @@ The HTTP adapter expects the OpenAI-compatible endpoint shapes documented in
|
|
|
1012
1001
|
chunk, or answer context sent to their configured model role; they are outside
|
|
1013
1002
|
GNO's local trust boundary.
|
|
1014
1003
|
|
|
1015
|
-
> **Configuration**: [Model Setup](https://gno.sh/docs/
|
|
1004
|
+
> **Configuration**: [Model Setup](https://gno.sh/docs/configuration)
|
|
1016
1005
|
|
|
1017
1006
|
Remote/BYOM guides:
|
|
1018
1007
|
|
|
@@ -1035,7 +1024,7 @@ Remote/BYOM guides:
|
|
|
1035
1024
|
└─────────────────────────────────────────────────┘
|
|
1036
1025
|
```
|
|
1037
1026
|
|
|
1038
|
-
> **Details**: [Architecture](https://gno.sh/docs/
|
|
1027
|
+
> **Details**: [Architecture](https://gno.sh/docs/architecture)
|
|
1039
1028
|
|
|
1040
1029
|
---
|
|
1041
1030
|
|
package/assets/skill/README.md
CHANGED
|
@@ -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
|
|
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
|
-
-
|
|
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) —
|
|
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
|
package/assets/skill/examples.md
CHANGED
|
@@ -7,14 +7,11 @@ Real-world examples for common tasks.
|
|
|
7
7
|
### Index a folder of docs
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
#
|
|
11
|
-
gno
|
|
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
|
-
#
|
|
17
|
-
gno
|
|
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
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
b639ecf7ff5ebd7aeacf1bad0fe3fe2f471a60c96bdf047d873b6bf932995161 gno-browser-clipper-v1.29.4.zip
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
d693cf38e03cf3d016ac982d1ec1658e9d7b6fb8e57d83f0a051e43569a58247 gno-browser-clipper-v1.29.2.zip
|