Tags — the wiki’s controlled vocabulary
How pages are tagged so Dataview, the Base, and the graph can filter cleanly.
Two kinds of page, two tag families. Extend the set only with Toni’s approval (the wiki-docs rule).
Subsystem tags — per-file pages (pages/)
Each per-file page carries one or two of these — the subsystem the documented file belongs to:
| tag | what it marks |
|---|---|
controller | the control loops (base / EE / coordinated) |
guidance | reference-trajectory generation, target selection, modes |
simulation | injected truth-noise / belief covariance |
utils | math, kinematics/dynamics, mesh, config, infra |
analysis | running, logging, reduction, reporting |
config | the YAML catalogs (parameters, metrics, scoreboard, assets) |
measurement | measurement-contract pages (pairs with analysis / config) |
uncertainty | risk / uncertainty material (reserved for the risk phase) |
Topic tags — cross-file concept pages (topics/)
Each topic page carries the marker tag topic plus exactly one nested domain tag:
| nested tag | domain | example topics |
|---|---|---|
topic/numerics | conditioning, damping, near-singularity numerics | tikhonov_regularization |
topic/control | the coordinated controller, derate, EE error laws | circumcentroidal_control, speed_gain_derate, ee_pose_error_antiwindup |
topic/dynamics | the coupled map Γ, reduced EoM, COM vs base | coupled_dynamics, com_vs_base |
topic/guidance | feedforward, orbit/path, target/coverage, modes | ee_feedforward, orbit_com_path, target_finding_coverage, guidance_modes |
#topic selects the whole topic branch; #topic/control selects one domain. Nested tags collapse under
#topic in Obsidian’s tag pane — this is the wiki’s first use of hierarchical tags.
Rules
- Per-file pages carry subsystem tag(s) only; topic pages carry
topic+ exactly onetopic/<domain>. - A page is a topic iff its frontmatter has
code_paths:(a list); a per-file page has the singularcode_path:. - A new tag or a new
topic/<domain>→ ask Toni first, then record it in the tables above.
Live tag census (Dataview)
Renders in Obsidian; an agent reading the raw file should use the tables above.
TABLE length(rows) AS "Pages", rows.file.link AS "Where"
WHERE (code_path OR code_paths) AND !contains(file.folder, "_")
FLATTEN file.tags AS tag
GROUP BY tag
SORT tag ASC