Repository navigation
v0.10.0 — memd-wiki v2 (LLM-authored concept / entity pages)
memd-wiki v2 ships LLM-authored concept and entity pages alongside the
deterministic v1 compiler-owned surface. Six phases (0-5) shipped as discrete
commits, each with its own test gate. The rollout is opt-in: a fresh install
with no wiki_page artifacts behaves identically to v0.9.0.
Highlights
ArtifactKind::WikiPage+TaskArtifact::content. New canonical
artifact kind for LLM-authored knowledge pages. Trust model is
explicit — a freshWikiPagesits atTrustTier::CanonicalRecord
forever; verification is signaled by children (distinct-writer
Verificationartifacts replying to the page) via the existing
promote_if_countersignedpath.artifact.createboundary validator. Phase 1 enforces:
non-empty grounding refs,summary ≤ 500 bytes, role allowlist
(concept|entity),content ≤ 256KB.- Python compiler reads
wiki_pageartifacts. Phase 2 renders
one markdown page per WikiPage underconcepts/<id>.mdor
entities/<id>.md. Stable sort
(role, entity_name or summary[:50], artifact_id)for byte-
identical output under any backend permutation. - Manifest schema v2 with three ownership lanes
(compiler / llm / human),concept_pagesindex, and forward-
compat error (WikiManifestTooNewError) when a future version
reader hits a too-new manifest. - Four new lint checks scoped to
manifest.concept_pages:
concept-missing-grounding(ERROR),concept-stale(WARN),
concept-contradicts-canonical(ERROR scaffold for v3),
concept-trust-tier-ungrounded(ERROR — blocks the
self-labelling laundering vector codex caught during plan review). memd-wiki migratesubcommand upgrades v1 manifests to v2 in
place; idempotent on v2; refuses future versions;--dry-run
previews without writing.- Bonus: advisory single-writer lockfile for HF model downloads
that landed pre-release on3edb0ce(was sitting under
[Unreleased]on v0.9.0).
MCP wire-format change
artifact_kind enum on artifact.create, task.search, and
artifact.search adds "wiki_page". Closed-enum JSON validators
on the consumer side need updating; the wire format is otherwise
additive.
Migration
# Bump the local install
git pull origin main
cargo build --release -p memd
cp target/release/memd ~/.local/bin/memd
cp target/release/memd memd-skill/bin/linux-x64/memd
# Restart the local daemon
pkill -f '/.local/bin/memd' && sleep 1
nohup ~/.local/bin/memd --mode mcp --transport http \
--http-bind 127.0.0.1:8787 --data-dir ~/.memd/data \
> /tmp/memd-daemon.log 2>&1 & disown $!
# Upgrade an existing v1 wiki manifest
memd-wiki migrate --output-dir <wiki_dir>The next memd-wiki build overwrites the manifest with the canonical
v2 shape regardless, so the explicit migrate is only needed if you
want to read the wiki with v0.10.0 lint before recompiling.
Test counts
cargo test -p memd --tests→ 910 passed / 4 ignored.cd tools/wiki && python -m unittest discover -s tests→ 174 passed.
See CHANGELOG.md for the full per-phase breakdown.