- ai-service/convert.py: converts Office/PDF files to markdown with frontmatter - database/seeders/data/: folder structure for themas, projects, documents, etc. - database/seeders/data/raw/: drop zone for Office/PDF files to convert - wiki/: project architecture, concepts, and knowledge graph documentation - Remove unused Laravel example tests Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3.0 KiB
3.0 KiB
Project Wiki Schema
Purpose
LLM-maintained knowledge base for this project. The LLM writes and maintains everything. You read it (ideally in Obsidian). Knowledge compounds across sessions instead of being lost in chat history.
Directory Structure
wiki/
SCHEMA.md — this file (how to maintain the wiki)
index.md — catalog of all pages with one-line summaries
log.md — chronological record of updates
overview.md — project overview and current status
metrics.md — all numbers with provenance
knowledge-graph.yaml — structured data, machine-queryable
tools/ — search, lint, query scripts
concepts/ — core ideas and mechanisms
architecture/ — design decisions, system internals
findings/ — honest results (what worked AND what didn't)
sessions/ — per-session summaries
Page Conventions
Frontmatter
Every page starts with YAML frontmatter:
---
title: Page Title
created: YYYY-MM-DD
updated: YYYY-MM-DD
status: proven | disproven | evolving | speculative
tags: [tag1, tag2]
sources: [path/to/file.py, commit abc1234]
---
Status values
- proven: tested and verified with evidence
- disproven: tested and honestly shown NOT to work (document WHY)
- evolving: partially working, boundary not fully mapped
- speculative: proposed but not yet tested
Cross-references
Use [[Page Name]] Obsidian-style wikilinks.
Contradictions
When new evidence contradicts a prior claim, DON'T delete the old claim. Add:
> [!warning] Superseded
> This was shown to be incorrect on YYYY-MM-DD. See [[New Finding]].
Honesty rule
If something doesn't work, say so. If a result was a false positive, document how it was discovered. The wiki must be trustworthy.
Operations
Ingest (after a session or new source)
- Read outputs, commits, findings
- Update relevant pages
- Create new pages for new concepts
- Update
index.md,log.md,knowledge-graph.yaml - Check for contradictions with existing pages
Query
- Use
python3 wiki/tools/query.pyfor structured lookup - Use
wiki/tools/search.shfor full-text - Read
index.mdto find relevant pages - File valuable answers back into the wiki
Lint (periodically)
bash wiki/tools/lint.sh
Checks: orphan pages, broken wikilinks, missing frontmatter, index completeness.
Data Layer
knowledge-graph.yaml— structured YAML with every metric and data pointmetrics.md— human-readable dashboard- When adding new results, update BOTH the wiki page AND the knowledge graph
- The knowledge graph is the single source of truth for numbers
Source of Truth Hierarchy
- Test results (actual outputs) — highest authority
- Code (current state) — second authority
- Knowledge graph (knowledge-graph.yaml) — structured metrics
- Wiki pages — synthesis, may lag
- Chat/memory — ephemeral, may be stale