Claude session wiki-touch protocol
How Claude.ai sessions should proactively read, write, capture, and maintain the Hussh wiki. The operating discipline that turns ad-hoc wiki work into a self-maintaining system.
TL;DR: Every Claude session that touches durable Hussh facts should follow a fixed loop \u2014 read first via wiki_search + wiki_recent_changes, write surgically via wiki_write / wiki_patch / wiki_artifact_save, capture in-flight moments via wiki_capture, lint at the end. When MCP write-approval isn't reachable, switch to the downloadable bundle pattern and tell the user explicitly.
Status as of 2026-05-24: see body.
Relations
- About Wiki β canonical structural guide
- Wiki inception-dating convention β date schema for article origins and updates.
- Wiki-code alignment loop β drift-control sibling
- Public vs Private β auth-tier on one Hushh wiki β visibility rules
- Artifact capture β chat-artifact ingestion path
- Codex skill layer β parallel governance layer for repeatable agent workflows.
- About Wiki β Claude session wiki-touch protocol
Why this page exists
The wiki has grown to 216+ pages across 12 directories. Without a written protocol, every Claude session has to rediscover the conventions from scratch β what to read first, when to capture, how to handle approval failures, where to put what. Re-derivation is wasted thinking and the cause of most schema drift.
This page is that protocol. Read it once at the top of any wiki-touching session.
The five-step session loop
1. Read first, always
Before answering any question that touches durable Hussh facts (people, entities, decisions, concepts, products, partnerships), call wiki_search with relevant keywords. Cheaper than tool_search; faster than re-asking the user; eliminates fabrication.
If the topic is recent or rapidly-evolving (fund formation, brand decisions, partnership status), also call wiki_recent_changes with since: "YYYY-MM-DD" to see what landed in the last week.
Never answer "I don't have that information" without searching the wiki first.
2. Treat the wiki as canonical, not chat as canonical
If wiki and chat disagree, the wiki wins for durable facts unless the user explicitly says "the wiki is wrong, here is the correction." In that case, patch the wiki immediately β don't carry the correction in conversation memory only.
If you see a Claude memory / internal Hussh source notes entry that contradicts a wiki page, the wiki is the source of truth. Memory is a convenience cache; the wiki is the contract.
3. Write surgically, not bulk
| Operation | Tool | When |
|---|---|---|
| Create a new concept/project/person/entity page | wiki_write (or wiki_write batch) | New durable fact emerges |
| Edit one section of an existing page | wiki_patch with section | Surgical correction |
| Append to an existing section | wiki_patch with append_to_section | Adding a relation, source, status line |
| Change visibility | wiki_promote_visibility | After sensitivity scan |
| Save a chat artifact | wiki_artifact_save | Code, SVG, mermaid, HTML, PDF that should render inline |
| Auto-classify a conversation moment | wiki_capture | Quick durable fact; let the classifier route |
| Add cross-references | wiki_link (batch supported) | After landing a new page, link to parents |
| Delete a page + Drive artifacts | wiki_artifact_delete | Cleanup; never on constitutional pages |
| Delete a plain page | wiki_delete with confirm: true | Last resort; never on constitutional pages |
Never use wiki_write with overwrite: true for surgical edits. Use wiki_patch. Overwrite is for explicit replacements where the entire body is being rewritten.
4. Lint at the end of every wiki-touching session
Call wiki_lint before responding "done." Surface the findings in the response β broken links, orphans, stale status, missing schema. Fix what you wrote in the same session; flag what you didn't write for the user.
Errors (severity error) must be fixed before the session closes. Warnings should be acknowledged. Info-level can be batched into a follow-up.
5. Capture in-flight moments, don't wait for end-of-session
If during a conversation the user states a durable fact (a person's role, a decision, a renamed entity, a brand rule), call wiki_capture immediately with the user's words as the text parameter. The classifier decides whether to auto-publish or route to drafts.
Do NOT batch all captures to end-of-session. By then the context window has compressed and the original phrasing is lost.
Schema discipline (what every page must have)
Frontmatter:
nameβ short canonical title (no# H1in body)descriptionβ one-line search-relevance stringtypeβuser|feedback|project|reference(defaultreference)visibilityβpublic|private(defaultprivatewhen in doubt)inceptionβ ISOYYYY-MM-DD; the concept origin date when knowable, otherwise the page creation datekeywordsβ optional public-safe metadata tags
Body:
- TL;DR line at the top (single sentence)
Status as of YYYY-MM-DD:line if the page tracks a moving target## Relationssection with bullet links to public-readable wiki pages or plain source notes for private dependencies- Content sections (free-form)
## Sourcessection at the bottom β chat IDs, public links, or abstract internal source notes
The legacy status_as_of frontmatter field was retired 2026-05-13 in favor of inception. The lint tool may still flag missing Status as of body lines; treat those as article-shape reminders, not as proof that the inception date is wrong.
Approval-surface awareness
MCP write operations (wiki_write, wiki_patch, wiki_delete, wiki_artifact_save, wiki_artifact_delete, wiki_promote_visibility, wiki_link) require approval prompts that surface differently across client environments:
| Surface | Approval prompts visible? |
|---|---|
| Desktop Claude (Chrome/Safari/desktop app) | Yes |
| Claude Code | Yes |
| Mobile Claude (iOS/Android app) | Often no |
| API direct (no UI) | No |
If three or more consecutive write calls return No approval received, the surface is the wrong one. Stop attempting writes immediately. Switch to the bundle path:
- Tell the user explicitly: "MCP write approvals aren't reaching this surface."
- Produce the entire change set as a downloadable artifact bundle in
/mnt/user-data/outputs/β markdown files at their target wiki paths, plus an operations manifest. - Surface the bundle via
present_files. - Recommend the user re-run on desktop, or apply the bundle via git from a terminal.
Do not loop on failed approvals.
Batch-size learning (2026-06-02): On the claude.ai surface, single-page wiki_patch calls β including full-body repairs β reliably receive approval. Multi-page batch shapes (pages: [...], patches: [...]), which share one combined durable publish/audit operation, frequently return No approval received even when single-page writes succeed moments earlier. Degrade to one page per call before concluding the surface is down, and only then switch to the bundle path.
Pollution discipline
Three classes of file should not accumulate in the wiki tree:
- Quarantined drafts β classifier failures or ambiguous captures should be triaged at session start: classify and move to canonical path, or delete. If a session sees more than five pending-classification drafts, treat it as a client bug and surface to the user.
- Smoke tests β infrastructure tests that escape into the wiki should be removed in the same session. Test fixtures belong in a test-only area outside public wiki navigation.
- Orphans without intent β a new page with no inbound links from any parent concept page becomes invisible to navigation. Always pair a
wiki_writewith awiki_linkto at least one parent.
Sensitive-content guardrails
The sensitivity scan in wiki_promote_visibility (and the wiki_write public-visibility check) blocks promotion of pages containing real legal-counsel firm names, fund-formation document references, family names, EINs, and raw-path references. Trust the scan; do not pass force: true unless you understand exactly what is being promoted and why.
Pages that should stay private indefinitely:
- All Fund A entity pages (pre-launch regulatory).
- All people pages except the public founder profile.
- Partnership pages until partnership status is publicly announced.
- Timeline decision markers (unless explicitly authorized public).
- Anything that names an outside legal-counsel firm.
When in doubt
Read About Wiki for structural questions. Read Public vs Private for visibility questions. Read Artifact capture for chat-artifact questions. Ask the wiki owner for anything else β the wiki is the second brain and overrides any default.
Sources
- About Wiki
- Wiki-code alignment loop
- Inception-dating convention β internal wiki schema change, 2026-05-13.
- Public vs Private surfaces
- Artifact capture
- 2026-05-24 wiki reconciliation session β observed write-approval gate from mobile surface; codified as operational learning.