-
Notifications
You must be signed in to change notification settings - Fork 1
wiki query interface
Aryan Iyappan edited this page Apr 28, 2026
·
2 revisions
title: Wiki Query Interface category: concepts tags: [harness, wiki, search, claude-obsidian, layer-8, query] status: developing created: 2026年04月28日 updated: 2026年04月28日 sources:
- "harness-implementation-plan" related:
- "agentic-harness"
- "persistent-memory"
- "persistent-memory" layer: "Layer_8" summary: Layer 8 provides the query interface to the wiki. Uses claude-obsidian skills in GitHub Mode B — LLM-native search via hot.md → index.md → pages. No custom code, no Vectra, no embedding model. provenance: extracted: 0.8 inferred: 0.2 ambiguous: 0.0
The project wiki is the single source of truth. ADR-009 replaces the custom WikiKnowledgeBase + Vectra search stack with claude-obsidian skills operating in GitHub Mode B. Every layer reads the wiki; this interface makes those reads efficient.
Agent / Human
├── wiki-query (read) ──→ .pi/skills/wiki/ ──→ wiki/hot.md → index.md → pages
├── wiki-ingest (write) ──→ .pi/skills/wiki/ ──→ wiki/ (create/update pages)
└── wiki-lint (health) ──→ .pi/skills/wiki/ ──→ orphan/contradiction checks
| Mode | Trigger | Reads | Cost | Best For |
|---|---|---|---|---|
| Quick |
query quick: or simple Q |
hot.md + index.md | ~1,500 tokens | "Did we decide X?" |
| Standard | default | hot.md → index → 3-5 pages | ~3,000 tokens | Most harness decisions |
| Deep |
query deep: or "thorough" |
Full wiki + optional web | ~8,000+ tokens | Synthesis, gap analysis |
- Read
hot.md. If answered, respond immediately. - If not, read
index.md. Scan for answer. - If found, respond. If not, suggest standard mode.
- Read
hot.md - Read
index.mdto find relevant pages - Read 3-5 pages, follow wikilinks to depth-2
- Synthesize answer, cite with
[[Page Name]] - Offer to file as concept/question if valuable
- Read
hot.mdandindex.md - Identify ALL relevant pages
- Read every relevant page
- If wiki coverage is thin, offer web search supplement
- Synthesize with citations, file result as new wiki page
Every harness event maps to a wiki write:
| Event | Wiki Write | Frontmatter |
|---|---|---|
spec_hardened |
decisions/ADR-<N>.md |
type: decision, decision_type: spec
|
plan_approved |
flows/PLAN-<id>.md |
type: flow, plan_status: approved
|
subtask_completed |
Append to log.md
|
Operation log entry |
subtask_verified |
modules/<name>.md |
type: module, status: mature
|
subtask_failed |
modules/<name>.md |
type: module, status: deprecated + > [!contradiction]
|
turn_end (auto) |
decisions/DEC-<id>.md |
type: decision, auto-generated |
After every 10-15 wiki writes:
- Orphan pages (no inbound wikilinks)
- Dead links (wikilinks to non-existent pages)
- Stale claims (contradicted by newer sources)
- Missing pages (mentioned but no page exists)
- Frontmatter gaps
- Empty sections
- Stale index entries
Output: wiki/meta/lint-report-YYYY-MM-DD.md
| Event | Action | Mode |
|---|---|---|
session_start |
Read hot.md, scaffold wiki if needed | QUERY (quick) |
session_shutdown |
Update hot.md, append to log.md | INGEST |
turn_end |
Auto-capture decision rationale | INGEST (decision) |
spec_hardened |
Store spec as decision | INGEST (decision) |
plan_approved |
Store plan as flow | INGEST (flow) |
subtask_verified |
Store success pattern | INGEST (module) |
subtask_failed |
Store failure pattern + contradiction callout | INGEST (module) |
- 24 obsidian-wiki skills (
npx skills add Ar9av/obsidian-wiki --yes) - 5 obsidian-skills (
npx skills add kepano/obsidian-skills --yes) - Optional:
ollama+nomic-embed-textfor DragonScale semantic tiling (>10k entries) - Removed: ~87MB (Vectra + transformers + model)