Graft keeps a derived, disposable code graph in sync with a content hash rather than a calendar, and keeps a protected block on every regenerated node. This KB is the opposite kind of store — durable, curated, built from material that cannot be regenerated — but several of Graft's mechanisms port cleanly, and two of them close real gaps here. Schema 1.5 is additive: every 1.4 page remains valid. 1. `## Crux` — verbatim source excerpts alongside the synthesis. A summary can drift silently; a quote either still matches its source or it does not. Lets `ckb-retrieve` ground an answer without a round-trip to the archive, and makes drift mechanically detectable. 2. `## Notes` — human-authored and protected everywhere. Closes a real gap: `ckb-index-external` regenerates connector pages wholesale, so an annotation written there was previously destroyed on the next refresh. 3. `source_fingerprint`/`source_checked` — a digest of the material a page was built from. Freshness by date says a page has aged; a fingerprint says whether its evidence moved. Most valuable for connector-backed libs, where documents change with no notice. 4. `lint_report.py --quick` — a deterministic one-line session-start signal, wired into Rule E next to the existing `git status` check. 5. In-degree as a rank-fusion signal in `ckb-retrieve`, weighted below 1.0: centrality is a prior, not evidence. 6. Blast radius — a new `ckb-ingest` step walking the graph backwards from touched entities to find what the incoming material contradicts, before writing anything. Ingest was additive-first, which is how a wiki accumulates two pages that quietly disagree. 7. Edge vocabulary in `wiki/graph/index.md` rewritten as a question per verb, and completed: `part_of` was written by `ckb-code-map` but never declared. Added `produces`, `configures`, `validates`, `implements`. Lint gains checks 12 (fingerprint drift), 13 (crux verbatimness) and 14 (the protected-Notes rule), verified against a synthetic fixture covering stale digests, missing sources, fabricated quotes and paraphrased evidence. Not adopted: the gitignored regenerable store, the MCP server and CLI daemon, tree-sitter parsing, statusline hooks, telemetry. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1.8 KiB
1.8 KiB
Wiki Change Log
All modifications to the local wiki/ directory are recorded here
in reverse chronological order (most recent first).
Each entry uses this format:
## [YYYY-MM-DD HH:MM] - [ACTION TYPE]
- **File Affected:** `wiki/path/to/file.md`
- **Description:** Brief summary of what knowledge or structure changed.
- **Source:** Chat conversation, raw file, URL, or skill name.
---
Changes to pages under wiki/decisions/ live in wiki/decisions/log.md
instead, per the Recursive Index & Log Convention.
[2026-09-21 22:41] - UPDATE (schema 1.4 -> 1.5)
- File Affected:
wiki/index.md - Description: Bumped
kb_schema_versionto"1.5", which adds the reserved body sections (## Sources,## Crux,## Notes), thesource_fingerprint/source_checkedfrontmatter fields, and a completed edge vocabulary. Additive only — every 1.4 page remains valid. - Source: Chat conversation (analysis of trailhq/Graft), branch
graft-ideas.
[2026-09-21 22:41] - RESTRUCTURE
- File Affected:
wiki/graph/index.md - Description: Replaced the prose edge list with a closed vocabulary table defining each verb by the question it answers, and added the missing
part_of(written byckb-code-mapbut previously undocumented) plusproduces,configures,validates,implements. Added conventions on edge direction, evidence-only edges, and in-degree as a retrieval signal. - Source: Chat conversation (analysis of trailhq/Graft), branch
graft-ideas.
[2026-09-21 22:41] - UPDATE
- File Affected:
wiki/overview.md - Description: Documented the two new frontmatter fields and added a "Reserved Page Sections" section covering
## Sources,## Crux, and the protected## Notes. - Source: Chat conversation (analysis of trailhq/Graft), branch
graft-ideas.