Developer and Documentation Maintenance
Keep source behavior, user instructions, CI contracts, release packaging and third-party attribution synchronized.
Source of truth
The public site is generated from docs-site/content/*.html plus docs-site/manifest.json by docs-site/build.py. docs/wiki/*.md contains the version-controlled, wiki-style guide set. Do not hand-edit the generated gh-pages branch: the publishing workflow replaces it.
Build and validate the documentation
python3 docs-site/build.py --out site --zip Launchstation-Documentation.zipThe generator checks the page inventory, unresolved template fragments, site assets, and internal HTML links before writing the offline archive.
Main CI gates
- Compiled host regression contracts for device/USB/PAD timing, navigation, settings, MMCE backup/recovery, cloud and update safeguards.
- Standard and DS34 cross-builds and relevant embedded loader/IOP checks.
- Native cloud TLS dependency cross-build and release package validation.
- Generated documentation and offline ZIP validation.
Hardware-only timing, USB bridge behavior, console model quirks and external game-core interaction remain separate from automated acceptance.
Rolling release and Pages
Verified pushes/merges to master can update the rolling latest release, including matching standard/DS34 ZIP and PSU packages. The documentation workflow builds from the same authored source and publishes gh-pages automatically. A docs-only commit can therefore produce a new rolling build without implying runtime behavior changed.
Native updater
The updater validates the release's ancestry and the expected package digest, selects the correct controller variant, stages a verified PSU package and ELF, and retains a rollback path. It can restore absent updater CA and BGM sidecars without overwriting custom files. See Downloads.
Runtime architecture
Neutrino uses an already mounted backing-store stack for quick-boot, while Ember's USB path first performs a controlled clean IOP storage-stack rebuild and remounts the same game identity before its final keep-IOP launch. Neither follows the ordinary ELF reset preference. Local MMCE history is verified before optional Drive upload.
Attribution discipline
Every external project mentioned in READMEs, site pages and guides must appear in Credits with its role identified. Update the attribution inventory when vendoring modules, incorporating sources or adding external handoff targets. Preserve each original file-level license; a reference is not the same as a redistributed component.