Wiki Framework — how this works & how to reuse it
This Obsidian vault was generated, not hand-built. It is the reusable framework
layer for Aesthetic Atlas and any other master's-degree course built on this engine
(see ../../docs/METHODOLOGY.md).
Structure
Home.md— top map-of-content (MOC).Domains/ — .md— one MOC per domain, links to its themes.Themes/ — .es.md— one Spanish native note per theme (a lesson unit).Themes/ — .en.md— one English pointer for a fully federated sibling theme. Subchapters are a tracked checklist; the Chapter (to author) section is where content goes.Dashboard.md— Dataview dashboards (coverage, build queue, thin themes).
Frontmatter contract (powers graph, filtering, Dataview)
Every theme note carries: type, id, domain, status counts (slides/books/articles/videos),
subchapters, covered_subs, new_subs, maps_to, tags. Tags: #theme, #domain/, #status/....
Regenerate (authored chapters are preserved)
From the repo root:
PYTHONPATH=. .venv/bin/python scripts/atlas_gate.py wiki --built
It rebuilds the whole vault from docs/curriculum/curriculum.json. Edit the curriculum
doc → re-run curriculum then wiki.
Preservation contract. The generator owns the frontmatter, the subchapter checklist,
the source block and the ## Navigate footer — those are recomputed every run. Everything
between the ## Chapter heading and the final ## Navigate is yours and is spliced
back in verbatim; the run reports chapters_preserved. Two consequences:
- Write the chapter under ## Chapter, never above it. Content placed outside that
block (e.g. appended after ## Navigate) is generated territory and will be discarded.
- If a theme note loses its ## Chapter heading the build stops with PreserveError
rather than overwrite it. Restore the heading, then re-run.
Renaming a theme in the curriculum changes the note's filename, so the chapter does not follow it: the old file stays on disk and a fresh stub appears under the new name. Move the chapter across by hand, then delete the orphan.
Reuse for another course
- Point
atlas/config/paths.toml+ curriculum doc at the new course. - Run
catalog→coverage→curriculum→wiki. - No code changes — this generator is domain-agnostic.