RepoMicrosoftMicrosoftpublished Jun 19, 2026seen 6d

microsoft/amplifier-app-wiki-weaver

Python

Open original ↗

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/10

Routine new repository, no major significance indicated.