commit f83351c0ab0d1e6474005957745faea0041c7d7a Author: Hermes Agent (wiki profile) Date: Fri Sep 18 11:32:59 2026 +0100 Initial wiki structure: SCHEMA.md, index.md, log.md (personal KB, profile: wiki, repo: personal-wiki, shared with floof) diff --git a/SCHEMA.md b/SCHEMA.md new file mode 100644 index 0000000..c6862e4 --- /dev/null +++ b/SCHEMA.md @@ -0,0 +1,63 @@ +# 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. diff --git a/SETUP.md b/SETUP.md new file mode 100644 index 0000000..7aea3df --- /dev/null +++ b/SETUP.md @@ -0,0 +1,8 @@ +# Wiki project (verified 2026-09-18) +Profile: /opt/data/profiles/wiki/ (isolated agent, WIKI_PATH=/opt/data/wiki) +Repo: https://gitea.maukit.com/hermes/personal-wiki (public, id 153) +Shared with floof (Gitea user id 3, push verified via API) +Skill: llm-wiki (Karpathy) patched for /opt/data/wiki root; cloned to repo root +Files: SCHEMA.md / index.md / log.md in /opt/data/wiki/ +Second bot: deferred (user will revisit) +Memory budget exceeded — don't duplicate full notes here; key facts in session context. diff --git a/index.md b/index.md new file mode 100644 index 0000000..662ff8d --- /dev/null +++ b/index.md @@ -0,0 +1,30 @@ +# Wiki Index + +> Content catalog for personal-wiki (`https://gitea.maukit.com/hermes/personal-wiki`). +> Local root: `/opt/data/wiki`. Profile: `~/profiles/wiki/` (isolated Hermes agent). +> Shared with `floof` (Gitea push access). Read access: public repo clone. +> Last updated: 2026-09-18 | Total pages: 0 (new wiki — populated by `wiki` profile agent) + +## Raw Sources (`raw/`) +- `raw/articles/` — web clippings, saved articles +- `raw/papers/` — PDFs, papers +- `raw/transcripts/` — meeting notes, interviews +- `raw/assets/` — images / diagrams + +## Layer 2 — Wiki Pages + +### Entities (notable people, orgs, products, models, hosts, services) + + +### Concepts (topics, techniques, patterns, categories) + + +### Comparisons (side-by-side analyses) + + +### Queries (filed synthesis / answers worth keeping) + + +--- + +*Scale rules: >50 entries per section → split by sub-topic / letter. >200 total entries → add `_meta/topic-map.md`.* diff --git a/log.md b/log.md new file mode 100644 index 0000000..d2f50c0 --- /dev/null +++ b/log.md @@ -0,0 +1,17 @@ +# Wiki Log + +> Chronological, append-only record of all wiki actions. +> Format: `## [YYYY-MM-DD] action | subject` +> Actions: create, ingest, update, query, lint, archive, delete +> Rotate when >500 entries: rename to `log-YYYY.md`, start fresh. + +## [2026-09-18] create | Wiki initialized +- Domain: personal LLM / AI knowledge base +- Repo: `https://gitea.maukit.com/hermes/personal-wiki` (public, shared with floof for push) +- Local root: `/opt/data/wiki` (cloned empty repo) +- Profile: `/opt/data/profiles/wiki/` (isolated Hermes agent — only profile writing) +- Skill: `llm-wiki` (`/opt/data/skills/research/llm-wiki/`) — patched to use `/opt/data/wiki` as `WIKI_PATH` +- Schema, index, log initialized +- Raw directories (`raw/articles/`, `raw/papers/`, `raw/transcripts/`, `raw/assets/`) created +- Second Telegram bot deferred; will revisit if needed +- Gitea access verified: user `hermes` (id 148), user `floof` (id 3) has push access