Written entirely by Claude, as a working record for agents more than for human readers: every number with its source file, and every claim since withdrawn. Some facts here may be out of date; where it disagrees with the post, trust the post. For the readable version, see the companion.

How to read and maintain this wiki

Conventions (status, sources, links), what counts as current truth, where the wiki is hosted, and how to rebuild, lint and extend it; checked against the Caddyfile and the build timer on 2026-09-16.

currentverified 2026-10-30

Layers

Raw sources are the repository at ~/projects/persona-curvature/ (code, markdown documents, qwen35/analysis/*.json, qwen35/results/*.npz, qwen35/phase10_runs/ logs, built pages), the old harness memory under ~/projects/agent-harness/memory/, the .garden/ journals, and wiki/raw/ for material that exists nowhere else (chat extracts). Raw sources are never edited. The wiki is wiki/pages/**/*.md. The schema is wiki/CLAUDE.md.

What is current

The authoritative statement of the results is the post "Persona Geology: Underlying Structure in Character Training Adapters" of 2026-10-30 (wiki/raw/post-persona-geology-2026-10-30.md, summarised at Post: Persona Geology (2026-10-30); it supersedes qwen35/POST_DRAFT.md, the 2026-09-15 draft mirrored at post-draft) together with the analysis files it cites under qwen35/analysis/ and qwen35/results/; the companion site (qwen35/companion/) presents the same files. The blog page of 2026-09-07 and the older built pages are historical. The 134-trait factor solution is primary; the 100-marker solution is a control. See rule 2 of wiki/CLAUDE.md, Claims and evidence for the numbers behind the 2026-09-15 draft's claims and Code and data map for which script wrote which file.

Conventions

Hosting

The static site is built by wiki/tools/build_site.py into /var/www/persona-wiki and served by Caddy at index.html publicly (basic auth was removed at Samuel's request on 2026-09-07, and the wiki. block of /etc/caddy/Caddyfile still carries no basic_auth directive on 2026-09-16; to restore it, add a basic_auth block to the wiki. entry in /etc/caddy/Caddyfile, hash from caddy hash-password, and sudo systemctl reload caddy).

A systemd timer (persona-wiki-build.timer, every minute) rebuilds when any .md or .py under wiki/ is newer than the last build, so edits made in code-server, Obsidian or a Claude session appear within about a minute. Manual rebuild:

cd ~/projects/persona-curvature/wiki && .venv/bin/python tools/build_site.py --force

The build also regenerates index.md from frontmatter, so index.md is never hand-edited and a page's summary line is what the catalogue shows. log.md is append-only and hand-written. Do not run the builder from a session; the timer does it.

Linting

cd ~/projects/persona-curvature/wiki && .venv/bin/python tools/lint.py

Reports duplicate slugs, missing frontmatter fields, bad status values, emojis, broken wikilinks and orphan pages. Run it after any batch of edits and record the pass in log.md.

Obsidian

The wiki/ directory opens directly as an Obsidian vault: wikilinks resolve, frontmatter shows as properties, and the graph view shows the hub structure. Do not let Obsidian rename files (slugs are load-bearing).

Extending

Ingest: read the new source, write or update pages, add sources, append ## [YYYY-MM-DD] ingest | <source> to log.md. Bump last_verified only after re-reading the page's numbers against the files it cites; an old date is honest, a fresh one that was not checked is not. Query: answers worth keeping are filed as pages under the nearest section and logged as query. Trait pages are generated by wiki/tools/gen_trait_pages.py; edit the generator, not the 141 pages.

Sources

  • wiki/CLAUDE.md
  • wiki/tools/build_site.py
  • wiki/tools/lint.py
  • /etc/systemd/system/persona-wiki-build.timer

Linked from