microsoft/amplifier-app-wiki-weaver
Python
Captured source
source ↗microsoft/amplifier-app-wiki-weaver
Description: Wiki Weaver LLM-WIKI bundle for the Amplifier project
Language: Python
License: MIT
Stars: 0
Forks: 0
Open issues: 0
Created: 2026-06-19T23:38:20Z
Pushed: 2026-06-25T06:07:16Z
Default branch: main
Fork: no
Archived: no
README:
Wiki-Weaver
Compile a structured, interlinked markdown wiki from a pile of source material, feed it more content over time, and read answers from the compiled wiki instead of RAG. This is the Karpathy "LLM wiki" / second-brain *compounding memory* pattern, made real and repeatable.
Agents do the judgment work (schema design, synthesis, quality assessment, remediation); code owns control flow, structural validation, archiving, and deduplication. Each source is folded into the growing wiki one at a time, and is only archived once it genuinely converges — structurally valid and quality-assessed — with a provenance entry recording where every claim came from.
> ⚠️ Experimental exploration. This is experimental software shared openly. See > [SUPPORT.md](SUPPORT.md) for the (lack of) support policy.
The idea
Instead of retrieving raw chunks at query time (RAG), wiki-weaver does the synthesis *up front*, once, and stores the result as a navigable wiki:
- `init` designs a domain-fit *schema* from a plain-English description of what the wiki is
for — the page types, frontmatter, and conventions tailored to your outcomes.
- `ingest` folds source files into the wiki one at a time, weaving overlapping content
together, accruing provenance, and surfacing contradictions rather than averaging them.
- `ask` answers questions by *reading the compiled wiki* — no embeddings, no chunk
retrieval. It cites the pages it used and refuses loudly when the wiki doesn't cover a topic.
- `lint` structurally validates the wiki (links, orphans, frontmatter, provenance).
The compiled wiki is just a folder of interlinked markdown — portable, diffable, and readable without any tooling.
Quick start
Install the wiki-weaver command with one line (requires an Amplifier installation — see [Requirements](#requirements)):
uv tool install git+https://github.com/microsoft/amplifier-app-wiki-weaver
wiki-weaver is a companion to an installed Amplifier: it tracks @main of the Amplifier runtime libraries so it stays in lockstep with your ecosystem, and it uses your Amplifier install at runtime for provider keys and the engine bundle cache. (Equivalently, run it from a clone as python -m wiki_weaver .)
Strategy: track `@main`, fix-forward — no version pinning. wiki-weaver intentionally does not commit a uv.lock (see .gitignore): the lock would silently freeze runtime deps at stale commits for every uv sync user, which defeats the point of tracking @main.
Keeping wiki-weaver current
Use the built-in update command — it's the canonical way to refresh both layers:
# Check for drift (ls-remote each @main source; no changes made): wiki-weaver update --check # Apply updates: # Layer 1 — reinstall wiki-weaver + wheel deps (amplifier-foundation, unified-llm-client) # Layer 2 — re-clone engine bundles in ~/.amplifier/cache/bundles wiki-weaver update # Confirm what you're running after update: wiki-weaver doctor
update verifies that packages actually moved to the new remote commit after reinstall. If uv served a stale cache, it escalates through a ladder (--no-cache, then uv cache clean) and exits non-zero with a diagnostic if the package still didn't update — so you're never silently left running stale code.
doctor now also prints the resolved @main commits for all sources (no network needed) so you always have a "what am I actually running" record without a committed lock file.
Every command runs a fast preflight first and fails loud and clean — with a clear message, no traceback — if the environment is missing a prerequisite (runtime, provider key, or the import-name regression check). Run doctor any time for the full report:
# 0. Preflight — verifies the runtime, provider key, network, and validator are all present. wiki-weaver doctor # 1. Create a wiki and design a schema for YOUR purpose (one LLM call, ~30–60s). # The --purpose text should describe the intended use and the outcomes you want. wiki-weaver init mywiki \ --purpose "A personal research second-brain on distributed systems: answer 'which approach fits problem X', compare trade-offs between techniques, and track how my conclusions evolve as I read more." # 2. Drop source material (markdown/plain text) into the wiki's inbox. cp ~/notes/*.md mywiki/_inbox/ # 3. Weave the sources in. Re-run any time you add more to _inbox/ — it picks up where # it left off (already-ingested sources are deduped by content hash). wiki-weaver ingest --wiki mywiki --max-cycles 5 # 4. Ask questions — answered by reading the compiled wiki, with citations. wiki-weaver ask "what are the trade-offs between leader-based and leaderless replication?" \ --wiki mywiki # 5. Structurally validate the wiki (exit 0 = PASS). wiki-weaver lint --wiki mywiki
Prefer a generic, no-LLM scaffold? wiki-weaver init mywiki --plain skips schema design and uses the built-in generic schema (free, instant). You can always ingest/ask/lint the same way afterward.
Commands
| Command | What it does | |---|---| | init --purpose "..." | Scaffold a wiki and design a domain-fit schema (/policy/schema.md) from the stated purpose (and a sample of any staged _inbox/ sources). --plain = generic scaffold, no LLM. --no-sample-inbox = design from --purpose alone. | | ingest --wiki | Drain /_inbox/ into the wiki, synthesizing/updating pages and archiving each source on convergence. Flags: --source (one file), --max-cycles N, --keep-going. | | ask "" --wiki | Answer a question by reading the compiled wiki; cites pages used and refuses when the topic is absent. --json for structured output. | | lint --wiki | Run the structural validator (links, orphans, frontmatter, provenance). Exit 0 = PASS. | | doctor [--wiki ] | Environment + (optional) wiki-structure diagnostics. Also prints resolved @main commits for all sources (your lock-file replacement). | | update [--check] | Refresh wiki-weaver to latest @main: reinstall the tool (Layer 1) and re-clone engine bundles (Layer 2). --check/--dry-run = report drift...
Excerpt shown — open the source for the full document.
Notability
notability 3.0/10Routine new repository, no major significance indicated.