Files
WebinarNotes/CLAUDE.md
meels 0a7271136a Specify the coverage file shape and wire Workflow A into Workflow D (I4, I5)
- 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.
2026-07-28 14:58:12 +02:00

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.md is the content catalog.
  • log.md is an append-only chronological operation log.

The user curates sources and asks questions. You perform all wiki maintenance.

Non-Negotiable Rules

  1. Never modify files inside raw/.
  2. Always update index.md and log.md after any ingest/query/lint operation that changes the wiki.
  3. Prefer editing existing pages over creating duplicates.
  4. Use Obsidian-style wiki links ([[page-name]]) for internal references.
  5. Record contradictions and superseded claims explicitly (do not silently overwrite history).
  6. Keep claims attributable: include source links to wiki/sources/* pages.
  7. Do not leave orphan pages intentionally; add at least one inbound and one outbound link when possible.
  8. Keep writing concise, structured, and diff-friendly.
  9. 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>.md
    • wiki/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>
  • #source tag 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>
  • #entity or #concept tag line (per Tagging Rules)
  • ## Summary
  • ## Current Understanding
  • ## Evidence (bullets with links to wiki/sources/*)
  • ## Related Pages
  • ## Contradictions / Uncertainty
  • ## Next Questions

3) Query Output (wiki/queries/*.md)

Must include:

  • #query tag 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
  • #coverage tag line
  • ## Metadata, containing these two lines verbatim in this form:
    • - **Script:** followed by the raw script path in backticks
    • - **Last synced:** followed by a YYYY-MM-DD date
  • ## 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 is absent
    • Pinned — the lowercase word yes, or empty
  • ## Notes and ## Related Pages are 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 ":

  1. Read the raw source from raw/sources/ (and raw/assets/ references if needed).
  2. Extract key claims, facts, entities, concepts, uncertainty.
  3. Create/update one source summary in wiki/sources/.
  4. Update relevant wiki/entities/* and wiki/concepts/* pages.
  5. Update wiki/overview.md synthesis if this source materially changes understanding.
  6. Update index.md.
  7. Append ingest entry to log.md.
  8. Report what changed, what is uncertain, and suggested next source/questions.
  9. If this ingest created or modified any page in wiki/concepts/, run Workflow D (Sync Script Coverage) before reporting.

Workflow B: Answer Query

  1. Read index.md first.
  2. Select relevant pages and synthesize answer with page citations.
  3. If answer has durable value, save to wiki/queries/YYYY-MM-DD-<slug>.md.
  4. If answer reveals new synthesis, update affected concept/entity pages.
  5. Update index.md and append query entry in log.md when 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.

  1. Read wiki/script-coverage.md and note every row where Pinned is yes.
  2. Read the script and every page in wiki/concepts/.
  3. For each concept, decide Status and Station:
    • 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.
    • Station is 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 word all, or when absent.
  4. Never modify a row whose Pinned is yes — not its status, not its station. A pinned row is the user's judgment and outranks yours.
  5. 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.
  6. Update **Last synced:** to today.
  7. Update index.md and append a sync entry to log.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 coverage intent

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: tentative in 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:

  1. Read index.md and the latest section of log.md.
  2. Identify last completed operation and current open questions.
  3. Continue from prior state without resetting conventions.