Skip to content

Scaffold Sphinx (Markdown/MyST) documentation - #93

Open
camillescottatwork wants to merge 3 commits into
mainfrom
docs-and-help
Open

camillescottatwork wants to merge 3 commits into
mainfrom
docs-and-help

Conversation

@camillescottatwork

Copy link
Copy Markdown
Collaborator

Set up a Sphinx docs site authored in Markdown, laying out structure only (narrative pages are placeholders; API pages are generated from docstrings):

  • Add an optional docs Poetry group: sphinx, myst-parser, sphinx-autoapi, furo.
  • docs/ source tree with conf.py, Makefile/make.bat, a root index, and three sections — Architecture, User Guide, Reference.
  • Reference has an API subsection auto-generated by sphinx-autoapi (static analysis; never imports cheeto), excluding tests/, templates/, and the generated hippoapi/iamapi clients.
  • gitignore the build output (docs/_build/) and the generated API tree (docs/reference/api/).

Build: poetry install --with docs && sphinx-build -b html docs docs/_build/html. Remaining build warnings are pre-existing source-docstring formatting issues, to be addressed with doc content later.

camillescottatwork and others added 3 commits July 15, 2026 13:51
Set up a Sphinx docs site authored in Markdown, laying out structure only
(narrative pages are placeholders; API pages are generated from docstrings):

- Add an optional `docs` Poetry group: sphinx, myst-parser, sphinx-autoapi,
  furo.
- docs/ source tree with conf.py, Makefile/make.bat, a root index, and three
  sections — Architecture, User Guide, Reference.
- Reference has an API subsection auto-generated by sphinx-autoapi (static
  analysis; never imports cheeto), excluding tests/, templates/, and the
  generated hippoapi/iamapi clients.
- gitignore the build output (docs/_build/) and the generated API tree
  (docs/reference/api/).

Build: `poetry install --with docs && sphinx-build -b html docs docs/_build/html`.
Remaining build warnings are pre-existing source-docstring formatting issues,
to be addressed with doc content later.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Diagrams are authored as ```{mermaid} blocks. Configured for client-side
rendering (mermaid_output_format = 'raw'), so HTML builds need no local
mermaid-cli/puppeteer and CI stays dependency-free.

mermaid_init_js picks mermaid's dark/default palette from furo's theme:
furo writes data-theme on <body> with values light/dark/auto, so 'auto'
is resolved against prefers-color-scheme. The palette is fixed at load,
so toggling the theme re-themes diagrams only on reload.

poetry.lock also picks up marker normalization from re-resolving with a
newer poetry; the only package change is sphinxcontrib-mermaid 1.2.3.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Replaces the Architecture placeholder with a diagram-led overview aimed
at someone coming to the system fresh. Five pages:

- architecture/index: framing (MongoDB is the source of truth; every
  external system is a projection out of it or an ingest into it), the
  layer stack, and the two recurring patterns that explain most of the
  codebase — read/reconcile/emit-commands and per-site dirty watermarks.
- architecture/services: one section per external service (MongoDB,
  LDAP, Slurm, HiPPO, UC Davis IAM, puppet, email/Sympa) with module,
  transport, data-flow direction, and driver, plus the config sections.
- architecture/scheduling: celery over RabbitMQ, the process types, the
  task/queue table, why worker concurrency is pinned to 1, and the
  puppet pull API.
- architecture/database: the global-identity/per-site-config split and
  three erDiagrams (core identity, Slurm, storage), the operational
  collections, and the two silent beanie constraints that shape the
  models.
- architecture/deployment: our specific deployment — the containerized
  hub on accounts with host-native mongo and rabbitmq, site workers on
  the three Slurm controllers, the multi-master LDAP pair, the puppet
  server's 60s pull into hiera-readable JSON, and the mount/secret
  contract per container.

Also fills in the landing-page overview.

Build is clean: the 44 remaining warnings are all pre-existing docstring
formatting issues in the autoapi-generated reference/api tree.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.

2 participants