Problem
Documentation is split across two toolchains that disagree, and the live site is frozen.
Published site (lg345.github.io/XSpect) is MkDocs, stranded on a dead branch.
origin/gh-pages was built by mkdocs gh-deploy (MkDocs 1.6.1, Material 9.6.21, mkdocstrings). Last deploy 38e209d, 2025-10-10.
- The config that builds it (
mkdocs.yml, docs/*.md, .github/workflows/build_versioned_mkdocs.yml) lives only on origin/jtb, not on master.
- The workflow triggers only on
push: jtb. Nobody pushes jtb, so the site has not rebuilt since Oct 2025 and predates the entire YAML/MVC architecture.
Why it left master. The MkDocs docs were merged into master then reverted out three times (5d97d9d, 4710a6d, f3a5b2e) because the merges kept breaking the built page. jtb's tip is a full ancestor of master (0 ahead, 127 behind).
Sphinx on master is also stale. docs/conf.py + .readthedocs.yaml target Read the Docs, autodoc only covers the legacy top-level modules (not XSpect.model/controller/analysis), and docs/_build/ is committed.
Neither build includes docs/YAML_PIPELINE_GUIDE.md or the quarterly review.
Verified
- All 11 new-package modules and all 5 legacy modules import without psana, so mkdocstrings can introspect both in CI (ubuntu, no LCLS env). This removes the import-time failure that likely caused the historical merge breakage.
Plan (in progress)
- Port
docs/*.md + docs/media/ from jtb to master. (done)
- Write
mkdocs.yml with mkdocstrings pointed at XSpect.model/controller/analysis; add nav for the YAML pipeline guide.
- Add source pages for the new package.
- Port the CI workflow, retarget trigger to
push: master.
- Remove Sphinx
docs/_build/, conf.py, *.rst, Makefile/make.bat, and .readthedocs.yaml so MkDocs is the single source.
- Validate
mkdocs build --strict locally before any push (the site broke on merge before; do not repeat).
Expected result
One documentation source (MkDocs Material + mkdocstrings), auto-deployed to GitHub Pages on push to master, covering both the new YAML architecture and the legacy modules.
Problem
Documentation is split across two toolchains that disagree, and the live site is frozen.
Published site (
lg345.github.io/XSpect) is MkDocs, stranded on a dead branch.origin/gh-pageswas built bymkdocs gh-deploy(MkDocs 1.6.1, Material 9.6.21, mkdocstrings). Last deploy38e209d, 2025-10-10.mkdocs.yml,docs/*.md,.github/workflows/build_versioned_mkdocs.yml) lives only onorigin/jtb, not on master.push: jtb. Nobody pushesjtb, so the site has not rebuilt since Oct 2025 and predates the entire YAML/MVC architecture.Why it left master. The MkDocs docs were merged into master then reverted out three times (
5d97d9d,4710a6d,f3a5b2e) because the merges kept breaking the built page.jtb's tip is a full ancestor of master (0 ahead, 127 behind).Sphinx on master is also stale.
docs/conf.py+.readthedocs.yamltarget Read the Docs, autodoc only covers the legacy top-level modules (notXSpect.model/controller/analysis), anddocs/_build/is committed.Neither build includes
docs/YAML_PIPELINE_GUIDE.mdor the quarterly review.Verified
Plan (in progress)
docs/*.md+docs/media/fromjtbto master. (done)mkdocs.ymlwith mkdocstrings pointed atXSpect.model/controller/analysis; add nav for the YAML pipeline guide.push: master.docs/_build/,conf.py,*.rst,Makefile/make.bat, and.readthedocs.yamlso MkDocs is the single source.mkdocs build --strictlocally before any push (the site broke on merge before; do not repeat).Expected result
One documentation source (MkDocs Material + mkdocstrings), auto-deployed to GitHub Pages on push to master, covering both the new YAML architecture and the legacy modules.