chore: move the webinar script and plan into raw/notes
They are webinar deliverables rather than sources to ingest.
This commit is contained in:
437
CLAUDE.md
437
CLAUDE.md
@@ -1,248 +1,189 @@
|
||||
# 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
|
||||
|
||||
```text
|
||||
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):
|
||||
|
||||
```text
|
||||
# <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 <source>":
|
||||
|
||||
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.
|
||||
# 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
|
||||
|
||||
```text
|
||||
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
|
||||
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):
|
||||
|
||||
```text
|
||||
# <Title>
|
||||
|
||||
#<type-tag>
|
||||
|
||||
## <first section>
|
||||
```
|
||||
|
||||
Folder → required tag:
|
||||
|
||||
| Folder / file | Tag |
|
||||
| ---------------------- | -------------- |
|
||||
| `wiki/overview.md` | `#overview` |
|
||||
| `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
|
||||
|
||||
## Standard Workflows
|
||||
|
||||
### Workflow A: Ingest One Source
|
||||
|
||||
When user says "ingest <source>":
|
||||
|
||||
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.
|
||||
|
||||
### 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`.
|
||||
|
||||
## 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"
|
||||
|
||||
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.
|
||||
|
||||
Reference in New Issue
Block a user