Grounded Vault

作者 wshobson46891e7e60da無授權條款收錄於 2026年10月8日更新於 2026年10月8日

Use when maintaining a durable Markdown knowledge store that agents compile from sources, when every number or quote in a wiki page must trace back to an immutable source, or when compiled pages need cheap drift detection against the code they describe. Teaches the raw/wiki/archive layout, per-claim provenance links, and git fingerprints for zero-token staleness checks.

僅含說明AI & Agents
AI 產生的概覽

說明一種三層 Markdown 知識庫,為每項論述提供溯源連結,並以 git 指紋偵測內容漂移。

功能
此技能說明一種持久化 Markdown 知識庫的慣例,分為 raw、wiki 與 archive 三層,其中原始素材維持不可變,編譯後的 wiki 頁面須引用來源。它定義了頁首契約,包含來源連結、編譯指紋、受監控的程式碼路徑與狀態,並規定數字、日期與引文必須逐字出現在所連結的來源中。它也說明以 git 為基礎的漂移檢查,將頁面指紋與目前程式碼樹比對,並提供涵蓋攝取、編譯、檢查、垃圾回收以及索引與日誌更新的工作流程。
適用情境
當代理把筆記、論文、逐字稿、日誌或程式碼編譯成後續工作階段依賴的 wiki 頁面時使用。它適合每個數字或引文都必須能對照不可變來源查核的情境,或描述程式碼的頁面需要低成本陳舊性檢查、而不必重讀程式碼庫的情境。
執行需求
需要 git 版本庫與純 Markdown 檔案;文件稱其只需要 git 版本庫,別無其他。它不附帶指令碼,但引用了 references/details.md 中說明的檢查指令碼,並提供用於提交前掛鉤或 CI 環節的 python3 指令。

Grounded Vault

A grounded vault is a three-layer Markdown store in which every compiled claim can be traced back to an immutable source and every page can be checked for staleness with one git diff. It needs a git repository and nothing else. The convention comes from the llm-wiki-loop project, which is a reference implementation rather than a dependency; this skill teaches the pattern so it works with plain files and whatever agent is in the session.

When to Use

  • An agent compiles notes, papers, transcripts, logs, or code into wiki pages that later sessions rely on.
  • A page cites numbers, dates, or quotes, and a reader must be able to verify each one against its source.
  • Pages describe code, and rereading the codebase every session to check whether they still hold is too expensive.
  • Knowledge must be corrected without losing history: superseded pages are archived, never deleted.

Session state, task queues, and conversation continuity are a different problem; use the context-management or conductor plugins for those. This skill is about provenance and drift on a durable knowledge store.

The three layers

LayerContentsWho writes itRule
raw/source material: notes, papers, transcripts, logs, exported datapeople and ingestion onlyimmutable once added; agents never edit a raw file
wiki/compiled pages built from raw/ and from codeagents and peopleevery number, date, and quote links to its source
archive/pages that drifted or were supersededagents, during garbage collectionmoved, never deleted; the header says why

Two files sit at the vault root. index.md is the map of every current page. log.md is an append-only record of what changed and why. Both change in the same commit as the page they describe.

Page header contract

Every wiki/ page opens with a header block:

markdown
# Authentication architecture
> Raw: [raw/notes/auth-v1.md](../raw/notes/auth-v1.md), [raw/adr/0007-jwt.md](../raw/adr/0007-jwt.md)> Fingerprint: git:5b237fa> Monitored: src/auth/jwt.ts, src/auth/session.ts, package.json> Status: Current
  • Raw: lists every source the page was compiled from. Inline claims link to their specific source as well: Tokens expire after 15 minutes ([raw/adr/0007-jwt.md](../raw/adr/0007-jwt.md)).
  • Fingerprint: is the short commit hash the page was compiled against.
  • Monitored: lists the code paths the page describes. A change to any of them after the fingerprint means the page may be stale.
  • Status: is Current, Outdated (monitored code moved on), or Disputed (a newer source contradicts the page).

Grounding rule

A compiled page states only what a source supports, and every number, date, or quotation appears verbatim in the linked source. A synthesis says it is one and links its inputs. A gap in the sources is written into the page as a gap rather than filled by guessing.

Check it mechanically: for each linked claim, search the linked raw file for the exact figure or quoted phrase. A miss is a grounding error and blocks the commit. The script in references/details.md does this for a whole vault.

Drift detection

Compare the fingerprint with the current tree instead of rereading monitored code:

bash
git diff --stat 5b237fa..HEAD -- src/auth/jwt.ts src/auth/session.ts package.json

Empty output means the page still describes the code it was compiled against. Any output means recompile: reread only the changed files, update the page, and stamp the new fingerprint. The check runs in milliseconds and spends no model tokens.

Workflow

  1. Ingest. Put new material in raw/ under a dated or sourced filename. Never rewrite an existing raw file; add a new one beside it.

  2. Compile. Write or update the wiki/ page with the header block, a source link on every claim, and the fingerprint of the commit the code was read at.

  3. Check. Run the grounding check and the drift check before committing. Fix misses at the source; do not weaken a claim to make the check pass.

  4. Garbage collect. When drift or a contradicting source appears and the page is not recompiled now, change its status, move it to archive/, and record the reason:

    markdown
    > Status: Outdated> Reason: src/auth/session.ts changed after git:5b237fa; see log.md 2026-09-01
  5. Update the map. Every add, move, or archive updates index.md and appends one line to log.md in the same commit.

Commit gate

Run both checks from a pre-commit hook or a CI step so a page cannot land with an unverifiable number or a stale fingerprint:

bash
python3 scripts/check_vault.py --strict   # exits 1 on any grounding miss or drifted page

Going deeper

references/details.md covers: the vault check script, batching the drift check across pages, templates for index.md and log.md, renamed or deleted monitored files, sources that are binary or live at external URLs, and the reference implementation.

來源與署名

來源:wshobson/agents位於plugins/documentation-standards/skills/grounded-vault提交46891e7

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架