# Wiki Schema (Personal KB — hermes/personal-wiki on gitea.maukit.com) ## Domain Personal LLM / AI knowledge base maintained via isolated Hermes `wiki` profile. Repo: `https://gitea.maukit.com/hermes/personal-wiki` (shared with floof for push access). Local root: `/opt/data/wiki` (cloned git repo). Agent profile: `/opt/data/profiles/wiki/` (isolated — only writes via this profile). ## Conventions - File names: lowercase, hyphens, no spaces - Every page starts with YAML frontmatter (title, created, updated, type, tags, sources, confidence, contested) - Use `[[wikilinks]]` for internal links (min 2 outbound per page) - Raw sources (`raw/`) are immutable; corrections go in wiki pages - Every ingest/update must append to `log.md` - Every new page must be added to `index.md` - Use `#` for headers, `---` for YAML delimiters - Only tags from the taxonomy below ## Tag Taxonomy - kb: kb, source, reference, note, summary - domain: personal, workflow, homelab, ai, model, tool, skill, script - meta: comparison, timeline, open-question, confirmed, contested - layer: raw, entity, concept, comparison, query ## Page Thresholds - Create page: entity/concept in 2+ sources OR central to 1 source - Don't create for passing mentions or single-source footnotes - Update: add new info, bump `updated`, note contradictions - Split page when >200 lines - Archive superseded content to `_archive/` ## Frontmatter Template ```yaml --- title: Page Title created: YYYY-MM-DD updated: YYYY-MM-DD type: entity | concept | comparison | query | summary tags: [kb, domain-tag, meta-tag] sources: [raw/articles/file.md] confidence: high | medium | low contested: true | false contradictions: [other-page-slug] --- ``` ## Update Policy - Newer sources supersede older - Contradictions: note both claims with dates, mark `contested: true`, list in `contradictions` - Always bump `updated` when editing - Every edit must update `log.md` ## Quality Signals - `confidence: high` → multi-source, well-corroborated - `confidence: medium` → single source or partial corroboration - `confidence: low` → speculative / opinion-heavy / contested - `contested: true` → page has unresolved contradictions (must be resolved before promoting to `high`) ## Source Drift Check Raw files have `sha256:` (body hash, not frontmatter). Re-ingest must compare hash; skip if identical, update if different. ## Access & Sharing Repo shared with `floof` (push access, Gitea user id 3). Other agents / hosts read via git clone (public repo); only `wiki` profile writes. Second Telegram bot deferred.