Skip to content

docs: publish architecture documentation via mdBook and GitHub Pages (closes #28) - #29

Open
Dani-giron wants to merge 11 commits into
reverseame:apotheosis2from
Dani-giron:j1-docs-mdbook
Open

docs: publish architecture documentation via mdBook and GitHub Pages (closes #28)#29
Dani-giron wants to merge 11 commits into
reverseame:apotheosis2from
Dani-giron:j1-docs-mdbook

Conversation

@Dani-giron

@Dani-giron Dani-giron commented Jul 24, 2026

Copy link
Copy Markdown

Summary

The Views and Beyond documentation (docs/architecture/: roadmap, quality attributes, directory, module/C&C/deployment views) exists only as plain markdown in the repo, plus a manually maintained copy on the university MediaWiki (valhalla.unizar.es). The wiki copy has already drifted from the source at least once, and nothing renders the mermaid diagrams or cross-links between documents as a browsable site.

Changes

  • docs/book.toml: mdBook config, src = "architecture" (no files moved), title/authors, git-repository-url and edit-url-template so each page links back to its source file.
  • docs/architecture/SUMMARY.md: navigation, listing the existing README, the three cross-cutting documents, and the three views. No content rewritten to fit it.
  • docs/mermaid.min.js and docs/mermaid-init.js: committed rather than generated in CI, since the deploy workflow only runs mdbook build, not mdbook-mermaid install. Without them the three diagrams would silently fail to render on the published site.
  • .github/workflows/pages.yml: builds and deploys on push to apotheosis2 (not main) when docs/** changes, or via workflow_dispatch. Downloads pinned prebuilt mdbook/mdbook-mermaid binaries instead of cargo install, to avoid pulling a full Rust toolchain just to build docs.
  • .gitignore: added docs/book/, the generated output, never committed.
  • Image asset cleanup: one filename had spaces/accents, two PNGs were unreferenced duplicates, two .gitkeep were redundant. Renamed, deduplicated, updated the three affected references in vista-cc.md/vista-modulos.md.
  • Several docs described behavior that had since changed in code: hnsw/radix/records documented as pub (now private, [Enhancement] Make Apotheosis internal fields private to protect the synchrony invariant #14), HEURISTIC documented as unvalidated in dump/load (now validated, [Bug] dump() does not encode HEURISTIC in file header #10), empty-index search() documented as panicking (now returns vec![], [Bug] search() panics on empty index #8), and the radix fast-path documented as ignoring k and returning unsorted results (now sorts and truncates to k like the ANN path, [Bug] search() ignores parameter k on radix fast-path #9). Corrected all four.
  • Removed leftover internal review notes in HTML comments in two documents, and replaced most exact source line-number references with function/struct names so the docs do not go stale on the next refactor.

Test plan

Verified locally: mdbook build docs succeeds with no warnings, all internal links resolve, mermaid diagrams render, and the site was reviewed end to end with mdbook serve.

After merging, two one-time repository settings are needed for the site to go live: enable Pages with source set to GitHub Actions, and allow the apotheosis2 branch to deploy under the github-pages environment's protection rules.

What to do with the existing valhalla.unizar.es mirror is intentionally out of scope here; that involves university infrastructure outside this repo and will be proposed separately once Pages is confirmed working.

Closes #28.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant