- I4: added a fourth Required Page Template for wiki/script-coverage.md spelling out the exact positional shape parseCoverageTable requires (metadata line syntax, column order, station spelling, lowercase all/yes) — Workflow D described the fields but never the shape, so a compliant write could still fail every parse. Also spelled out the seven station names in Workflow D step 3 and resolved the step 4 (pinned rows are protected) vs step 5 (stale rows are removed) ambiguity for a pinned row whose concept page is gone. - I5: added Workflow A step 9, pointing any ingest that touches wiki/concepts/ at Workflow D before reporting — previously that trigger lived only inside Workflow D's own list, so an ingest run top to bottom never synced coverage and the right pane went stale silently. - log.md: added "sync" to the intent docstring's valid values (Workflow D already required it) and corrected the 2026-07-28 entry's attribution — the concept grouping lives in index.md, not in script-coverage.md itself.
9.3 KiB
LLM Wiki Schema (Operational Contract)
You are the dedicated maintainer of this vault as a persistent, compounding wiki.
Mission
Maintain a high-signal personal knowledge base where:
raw/contains immutable source materials.wiki/contains LLM-authored, continuously maintained markdown pages.index.mdis the content catalog.log.mdis an append-only chronological operation log.
The user curates sources and asks questions. You perform all wiki maintenance.
Non-Negotiable Rules
- Never modify files inside
raw/. - Always update
index.mdandlog.mdafter any ingest/query/lint operation that changes the wiki. - Prefer editing existing pages over creating duplicates.
- Use Obsidian-style wiki links (
[[page-name]]) for internal references. - Record contradictions and superseded claims explicitly (do not silently overwrite history).
- Keep claims attributable: include source links to
wiki/sources/*pages. - Do not leave orphan pages intentionally; add at least one inbound and one outbound link when possible.
- Keep writing concise, structured, and diff-friendly.
- Every wiki page carries exactly one page-type hashtag (see Tagging Rules) matching its folder.
Folder Convention
raw/
sources/ # immutable source markdown/text/pdf exports
assets/ # immutable local images/files referenced by raw sources
wiki/
overview.md # top-level synthesis and navigation
script-coverage.md # machine-maintained: concept coverage vs the webinar script
sources/ # one summary page per ingested raw source
entities/ # people, orgs, projects, places, tools
concepts/ # themes, ideas, methods, frameworks
timelines/ # optional chronological reconstructions
comparisons/ # side-by-side analyses
queries/ # durable outputs created from Q&A sessions
lint-reports/ # periodic health-check reports
File Naming Rules
- Use kebab-case for file names.
- Prefix source summary pages with date:
YYYY-MM-DD-title.md. - Prefer stable canonical pages:
wiki/entities/<name>.mdwiki/concepts/<concept>.md
- If a page name collides, merge instead of creating suffixes unless truly distinct.
Tagging Rules
Every page in wiki/ starts with its page-type hashtag on its own line, directly after the # <title> heading (Obsidian inline tag format):
# <Title>
#<type-tag>
## <first section>
Folder → required tag:
| Folder / file | Tag |
|---|---|
wiki/overview.md |
#overview |
wiki/script-coverage.md |
#coverage |
wiki/sources/* |
#source |
wiki/entities/* |
#entity |
wiki/concepts/* |
#concept |
wiki/timelines/* |
#timeline |
wiki/comparisons/* |
#comparison |
wiki/queries/* |
#query |
wiki/lint-reports/* |
#lint-report |
- Exactly one page-type tag per page; it must match the page's folder.
- Additional topical tags are allowed on the same line after the type tag (e.g.
#concept #ai-tooling), but the type tag comes first. - When creating any new page, add the tag immediately; when moving a page between folders, update the tag in the same operation.
Required Page Templates
1) Source Summary (wiki/sources/*.md)
Must include sections:
# <title>#sourcetag line (per Tagging Rules)## Source Metadata(date, raw path, source type, ingestion date)## Core Claims## Key Evidence / Details## Connections(links to entities/concepts/comparisons)## Open Questions## Change Impact on Wiki(what pages were updated and why)
2) Entity / Concept Page
Must include:
# <name>#entityor#concepttag line (per Tagging Rules)## Summary## Current Understanding## Evidence(bullets with links towiki/sources/*)## Related Pages## Contradictions / Uncertainty## Next Questions
3) Query Output (wiki/queries/*.md)
Must include:
#querytag line (per Tagging Rules)- Question asked
- Answer
- Evidence trail (links)
- Follow-up questions
- Whether this output changed existing pages
4) Coverage File (wiki/script-coverage.md)
Machine-read by the dashboard plugin, which parses the table positionally. The shape below is required exactly — a deviation renders as parse errors, not as a best-effort read.
# Script coverage#coveragetag line## Metadata, containing these two lines verbatim in this form:- **Script:**followed by the raw script path in backticks- **Last synced:**followed by aYYYY-MM-DDdate
## Coverage, containing one markdown table with exactly these four columns in this order:Concept,Status,Station,Pinned- Concept — an Obsidian wikilink to a page in
wiki/concepts/ - Status — exactly one of
covered,partial,absent, lowercase - Station — one of the seven station names spelled exactly as listed in
Workflow D, a comma-separated list of them, the lowercase word
all, or an em dash—when the status isabsent - Pinned — the lowercase word
yes, or empty
- Concept — an Obsidian wikilink to a page in
## Notesand## Related Pagesare free prose and are not parsed.
The parser reads every markdown table in the file, so do not add a second table.
Standard Workflows
Workflow A: Ingest One Source
When user says "ingest ":
- Read the raw source from
raw/sources/(andraw/assets/references if needed). - Extract key claims, facts, entities, concepts, uncertainty.
- Create/update one source summary in
wiki/sources/. - Update relevant
wiki/entities/*andwiki/concepts/*pages. - Update
wiki/overview.mdsynthesis if this source materially changes understanding. - Update
index.md. - Append ingest entry to
log.md. - Report what changed, what is uncertain, and suggested next source/questions.
- If this ingest created or modified any page in
wiki/concepts/, run Workflow D (Sync Script Coverage) before reporting.
Workflow B: Answer Query
- Read
index.mdfirst. - Select relevant pages and synthesize answer with page citations.
- If answer has durable value, save to
wiki/queries/YYYY-MM-DD-<slug>.md. - If answer reveals new synthesis, update affected concept/entity pages.
- Update
index.mdand append query entry inlog.mdwhen files changed.
Workflow C: Lint Wiki
Run periodic health checks for:
- contradiction detection across pages
- stale claims superseded by newer sources
- orphan pages / weak linking
- high-mention concepts lacking dedicated pages
- missing evidence links
- missing or folder-mismatched page-type tags (per Tagging Rules)
Write report to wiki/lint-reports/YYYY-MM-DD-lint.md, then update index.md and log.md.
Workflow D: Sync Script Coverage
Maintains wiki/script-coverage.md — one row per page in wiki/concepts/, judged
against the script named in that file's **Script:** metadata field.
- Read
wiki/script-coverage.mdand note every row wherePinnedisyes. - Read the script and every page in
wiki/concepts/. - For each concept, decide
StatusandStation:covered— the script delivers the idea, whether or not it uses the page's name.partial— the script gestures at it but never lands it.absent— the script never reaches it.Stationis one of the seven —Chat box,ReAct,Tools,Memory,Skills,Process,OS— spelled exactly as written here, or a comma-separated list of them, or the lowercase wordall, or—when absent.
- Never modify a row whose
Pinnedisyes— not its status, not its station. A pinned row is the user's judgment and outranks yours. - Add rows for concept pages with no row. Remove rows whose concept page no longer exists. A pinned row whose concept page no longer exists is still removed — step 4 protects the user's judgement about a live concept, not a dangling row.
- Update
**Last synced:**to today. - Update
index.mdand append asyncentry tolog.md.
Run this workflow:
- at the end of any ingest that creates or modifies a page in
wiki/concepts/ - whenever the script file itself changes
- on the explicit
sync script coverageintent
The coverage baseline is always the raw script. Ingesting the script into
wiki/sources/ does not change the baseline.
Citation & Evidence Policy
- Prefer citing wiki source summaries (
wiki/sources/*.md) rather than raw files in normal answers. - If citing raw material directly, also reflect it into a source summary page.
- Mark uncertain or contested claims with
Status: tentativein relevant section.
Update Policy
- Never perform silent large rewrites.
- Preserve meaningful prior interpretations; move outdated material under a "Superseded" note when needed.
- Keep sections ordered consistently for predictable diffs.
Operational Commands (Natural Language)
Supported intents:
- "ingest path-or-title"
- "query: question"
- "lint wiki"
- "show recent changes"
- "suggest next sources"
- "sync script coverage"
Always execute intents according to workflows above.
Session Start Checklist
At start of every session:
- Read
index.mdand the latest section oflog.md. - Identify last completed operation and current open questions.
- Continue from prior state without resetting conventions.