You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+79-21Lines changed: 79 additions & 21 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,7 +14,7 @@ system.
14
14
Bun 1.3.14 or newer is required.
15
15
16
16
```sh
17
-
bun add --global @hraness/kb@0.18.1
17
+
bun add --global @hraness/kb@0.19.0
18
18
kb --help
19
19
```
20
20
@@ -188,6 +188,14 @@ Retrieval is bounded. The high-level `kb search` and `KnowledgeBaseSession.searc
188
188
189
189
Each note owns its outbound typed relationships in frontmatter. KB derives backlinks, inverse edges, and bounded traversal at read time, so parallel agents do not contend on one generated fact file. `kb percolate <note>` reports recurring concepts and missing-link candidates with inspectable support but writes nothing. An agent reads the cited notes before creating a reusable concept or relationship. Semantic similarity never creates an edge automatically.
190
190
191
+
Percolation Result V2 presents a missing relationship as an unordered pair of
192
+
notes with a required predicate. It does not choose the source, direction, or a
193
+
`related-to` fallback. Recommended authored predicates include `synthesizes`,
194
+
`evidenced-by`, `informed-by`, `supersedes`, and `contradicts`; they are an
195
+
advisory vocabulary, so a vault can use another canonical predicate when its
196
+
prose and evidence define the claim. KB never infers reciprocal, inverse,
197
+
transitive, or similarity-derived relationships.
198
+
191
199
Git provenance is opt-in. A search without `--history` performs no Git indexing. `--history` requests best-effort provenance, while `--require-history` rejects unavailable history or incomplete provenance for the selected notes. If one commit exceeds the 2,000-path detail limit, KB retains its identity and vault-local note associations, marks its co-change detail incomplete, and continues through later commits. Best-effort search reports that requested lane as partial.
192
200
193
201
Local attachment checks cover Markdown and Obsidian references to images, PDFs, and editable tldraw sources. They reject missing or escaping files while leaving external URLs alone. A source-inbox view separately lists recent captures that have no inbound disposition from maintained knowledge. It is an advisory, not an automatic backlink requirement: a saved source may intentionally remain a leaf.
@@ -204,6 +212,39 @@ The same mixed-cache, single-run test recorded p95 latencies of 44.345 milliseco
204
212
205
213
Search finds candidates. Similarity does not establish that a passage is current, correct, or supported by its sources. The Markdown, cited captures, explicit relationships, and requested Git history supply the material a reader must inspect.
206
214
215
+
### Customize through an approved proposal
216
+
217
+
The Agent Skill routes setup and evolution requests before it prepares a
218
+
runtime. It inspects the proposed location without mutation, interviews the
219
+
user about the memory questions the KB should answer, and presents exact read
220
+
and write targets. Only the approved targets may be scaffolded. A changed path,
221
+
repository, account, integration, or companion skill requires renewed
222
+
approval.
223
+
224
+
The standard router may be enough. A recurring ritual can instead receive a
225
+
companion skill with explicit inputs, authority, durable outputs, idempotence,
226
+
failure behavior, and verification. These skills are inert instructions. They
227
+
do not create a plugin runtime, execute vault metadata, inherit ambient account
228
+
access, or couple application code to the KB. An exact repeat is a no-op;
229
+
divergence, path escape, symbolic links, partial writes, and unapproved
230
+
external surfaces stop the workflow.
231
+
232
+
The repository's fake-capability suite exercises those transitions. It is a
233
+
tested contract example, not proof that every agent or host integration
234
+
complies.
235
+
236
+
This workflow builds on Frank Chen's public notes about [designing a personal
KB ships no `kb_role` metadata, lifecycle resolver or API, lifecycle CLI,
243
+
compatibility diagnostic, or metadata migration. A frozen Phase 0 value gate
244
+
must show that those surfaces improve deterministic agent decisions before they
245
+
are introduced. Current and historical plan routing remains derived from
246
+
existing type, path, and status conventions.
247
+
207
248
### Adopt the smallest useful split
208
249
209
250
Start with a short inherited `AGENTS.md` path for rules whose omission would make an edit wrong. A small knowledge base may need only Markdown, Git, an index page, and ordinary file search. Add source capture when evidence keeps disappearing. Add repository scopes when agents need to recover current memory from code paths. Add metadata or hybrid search when file search stops answering the repository's questions. Add links and graph views only when the relationships themselves help people make decisions.
@@ -219,43 +260,43 @@ Treat the knowledge base as repository-adjacent durable memory. Authored Markdow
219
260
Copy this prompt into Codex, Claude Code, or another coding agent:
220
261
221
262
```text
222
-
Install the `kb` Agent Skill from `hraness/kb#v0.18.1` with the standard skills
263
+
Install the `kb` Agent Skill from `hraness/kb#v0.19.0` with the standard skills
223
264
CLI. Use the skill's runtime instructions to install the exact
224
-
`@hraness/kb@0.18.1` registry release only when the command is missing. Verify it
265
+
`@hraness/kb@0.19.0` registry release only when the command is missing. Verify it
225
266
with `kb doctor` and `kb --help`, but do not initialize or modify a vault until
226
267
I ask.
227
268
```
228
269
229
270
Install the single public skill with either runner:
230
271
231
272
```sh
232
-
npx skills add hraness/kb#v0.18.1
233
-
bunx skills add hraness/kb#v0.18.1
273
+
npx skills add hraness/kb#v0.19.0
274
+
bunx skills add hraness/kb#v0.19.0
234
275
```
235
276
236
277
Both commands discover the same `kb` skill and install it into the selected
237
278
agent runner. Skill installation is inert: it does not initialize a vault,
238
279
refresh a catalog, or edit Markdown. When invoked, the skill uses an existing
239
280
`kb` command or, when the command is missing, checks for Bun and installs the
240
-
CLI from the immutable `@hraness/kb@0.18.1` npm version.
281
+
CLI from the immutable `@hraness/kb@0.19.0` npm version.
241
282
242
283
The public skills CLI reads `skills/kb/` from the repository. The immutable
243
-
`0.18.1` npm package includes the same tree under
284
+
`0.19.0` npm package includes the same tree under
244
285
`node_modules/@hraness/kb/skills/kb/`, and the package check verifies that the
245
286
installed skill is byte-identical to the repository source.
246
287
247
288
Install the two global commands with Bun:
248
289
249
290
```sh
250
-
bun add --global @hraness/kb@0.18.1
291
+
bun add --global @hraness/kb@0.19.0
251
292
kb --help
252
293
kb-evaluation-builder --help
253
294
```
254
295
255
296
The same registry package can be installed with npm:
@@ -268,20 +309,20 @@ reviewed and enabled; run `kb doctor` to inspect the resulting capabilities.
268
309
For programmatic use, add the exact npm version to a Bun project:
269
310
270
311
```sh
271
-
bun add --exact @hraness/kb@0.18.1
312
+
bun add --exact @hraness/kb@0.19.0
272
313
```
273
314
274
315
The resulting dependency should remain exact:
275
316
276
317
```json
277
318
{
278
319
"dependencies": {
279
-
"@hraness/kb": "0.18.1"
320
+
"@hraness/kb": "0.19.0"
280
321
}
281
322
}
282
323
```
283
324
284
-
Version 0.18.1 retains three public GitHub dependencies: `@hraness/oh` at
325
+
Version 0.19.0 retains three public GitHub dependencies: `@hraness/oh` at
285
326
immutable release `v0.2.0` for closure verification,
286
327
`@steipete/sweet-cookie` at Hraness release `v0.4.2` for the cookie-scope safety
287
328
fork, and `@tobilu/qmd` at commit
@@ -467,7 +508,12 @@ Predicates use lower-kebab-case. Local targets use exact vault-root IDs without
467
508
`.md`; cross-vault targets use canonical stable `kb://` URIs. `kb graph`, `kb backlinks`, `kb relation list`, and `kb links` derive
468
509
inverse edges and bounded paths without injecting reciprocal or inferred facts into notes.
469
510
`kb percolate`proposes reusable concepts and missing connections with explicit
470
-
support; an agent reviews the cited prose before authoring anything.
511
+
support; an agent reviews the cited prose before authoring anything. In its V2
512
+
result, a missing relationship is an unordered endpoint pair with a required
513
+
predicate, never an executable directed assertion or an automatic
514
+
`related-to`. Common reviewed claims use `synthesizes`, `evidenced-by`,
515
+
`informed-by`, `supersedes`, or `contradicts`; other canonical custom predicates
516
+
remain valid when their meaning is supported.
471
517
472
518
Within a portfolio, a note can target a stable cross-vault identity such as
473
519
`kb://hraness/sleepyland/sound-wellness-expansion`. The target vault must be
@@ -540,26 +586,38 @@ diffs, and the explicit local job ledger are available from
540
586
The repository ships one reusable `kb` Agent Skill under `skills/kb/`. Its
541
587
intent router loads focused references only when a task needs them: querying
542
588
repository context and agent memory, capturing URLs or PDFs, writing durable
543
-
plans, promoting concepts and typed relationships, or refreshing and checking
544
-
a vault. The package smoke test keeps future tagged packages byte-identical to
589
+
plans, promoting concepts and typed relationships, refreshing and checking a
590
+
vault, or designing a setup through an interview and approved proposal. An
591
+
approved setup may scaffold a bounded companion skill for a distinct recurring
592
+
ritual. The package smoke test keeps future tagged packages byte-identical to
545
593
that source tree.
546
594
547
595
```sh
548
-
npx skills add hraness/kb#v0.18.1
596
+
npx skills add hraness/kb#v0.19.0
549
597
# or
550
-
bunx skills add hraness/kb#v0.18.1
598
+
bunx skills add hraness/kb#v0.19.0
551
599
```
552
600
553
601
The skill invokes the installed `kb` command without depending on a repository
554
-
checkout. Its runtime setup installs the pinned CLI only when the command is
555
-
missing, and it never initializes or mutates a vault as an installation side
556
-
effect. The repository's phase-orchestration skill remains available to local
557
-
repository agents but is marked internal, so public skill discovery omits it.
602
+
checkout. It routes setup and evolution before runtime preparation. For
603
+
execution workflows, runtime setup installs the pinned CLI only when the
604
+
command is missing, and it never initializes or mutates a vault as an
605
+
installation side effect. The repository's phase-orchestration skill remains
606
+
available to local repository agents but is marked internal, so public skill
607
+
discovery omits it.
558
608
559
609
See [Design](docs/design.md), [Portfolio federation](docs/portfolio.md), [Agent workflow](docs/agent-workflow.md), [PDF capture](docs/pdf.md), and [Contributing](CONTRIBUTING.md) for the durable contracts and development gate. hraness/kb is available under the [MIT License](LICENSE).
560
610
561
611
## Release notes
562
612
613
+
### Upgrade to v0.19.0
614
+
615
+
Version 0.19.0 adds interview-first setup and evolution guidance, a bounded
616
+
filesystem-only companion-skill scaffold contract, and Percolation Result V2.
617
+
V2 requires an explicit predicate and leaves relationship ownership and
618
+
direction to review. The release does not add lifecycle metadata, a resolver,
619
+
a lifecycle CLI, inferred edges, or automatic account and network actions.
620
+
563
621
### Upgrade to v0.18.1
564
622
565
623
Version 0.18.1 restructures the public README and hosted projection around one
0 commit comments