Skip to content

docs: publish ephemeral ADR navigation - #61

Merged
wesley-dean merged 18 commits into
mainfrom
agent/generate-reference-docs-in-ci
Sep 10, 2026
Merged

docs: publish ephemeral ADR navigation#61
wesley-dean merged 18 commits into
mainfrom
agent/generate-reference-docs-in-ci

Conversation

@wesley-dean

Copy link
Copy Markdown
Owner

Summary

  • add accepted ADR-055 governing ephemeral ADR navigation for Bootstrap reference documentation
  • split the useful maintained prose from the existing doc/adr/README.md into README.intro.md and README.outro.md
  • make the assembled doc/adr/README.md ignored generated state rather than a committed derivative
  • add released adrctl v0.0.14 to the existing ADR-051-governed dependencies.txt manifest
  • add an atomic, offline-after-preparation make adr-index target
  • make make docs regenerate the ADR landing page before Doxygen without acquiring or repairing dependencies
  • use the generated ADR page as the Doxygen main page while expanding the Doxygen Markdown corpus only into doc/adr/
  • preserve doc/threat_model.md and its ADR-054-governed Mermaid diagrams outside the Doxygen rendering path
  • keep routine documentation generation free of automatic ADR relationship graphs
  • update README, AGENTS, testing guidance, decision summaries, and CI/Pages validation for the generated-state boundary
  • add the previously missing ADR-054 summary to doc/decisions.md
  • correct the existing Doxyfile *.sh=awkvendor/doxygen-bash.awk filter-path typo while modifying the same integration surface

Architecture

ADR-051 remains authoritative for external build and development dependency acquisition. Bootstrap therefore continues to use the existing dependencies.txt source of truth rather than introducing a documentation-specific manifest or direct download path.

make deps may synchronize or repair dependency state. make deps-check, make adr-index, and make docs remain offline and non-repairing after state has been prepared.

The generated landing page is assembled atomically as:

doc/adr/README.intro.md
+ adrctl-generated linked ADR list
+ doc/adr/README.outro.md
= ignored doc/adr/README.md

An explicit blank line is inserted before the outro so section spacing does not depend on incidental adrctl newline behavior.

Doxygen now includes maintained Bash source plus doc/adr/ and uses the generated ADR page as USE_MDFILE_AS_MAINPAGE. It deliberately does not ingest the complete doc/ tree, so this change does not turn Bootstrap's maintained Mermaid threat-model diagrams into a Doxygen-rendering migration.

Dependency pin

The existing manifest adds:

wesley-dean/adrctl v0.0.14
artifact: adrctl.bash
SHA-256: 2a8efefdabf679528c8d0c62b49515cb67f4eefe079ac3e0d752a4d56f96975a

adrctl is documentation tooling only. It is not an input to Bootstrap runtime behavior or to any dist/bootstrap*.bash consumer artifact.

Threat-model review

Adding executable development tooling is a review trigger under ADR-054. The current threat model was reviewed before this change.

The existing model already defines the build-dependency publisher actor to include future external build/development dependencies, defines AS-011 over bashdeps and dependencies declared in dependencies.txt, and defines TM-016 for substitution of build dependency bytes in transit or cache. The pinned adrctl artifact falls within those existing boundaries and does not introduce a new runtime authority, release-artifact input, network path, or acquisition mechanism.

Consistent with ADR-054's instruction to avoid synthetic threat-model churn when the security model is unchanged, doc/threat_model.md and its Mermaid diagrams are intentionally unchanged. ADR-055 records the completed review and its conclusion.

Validation

The branch adds regression and workflow checks that require:

  • missing Doxygen or adrctl state to make make docs fail without network repair;
  • doc/adr/README.md to be generated and contain ADR-055;
  • the generated ADR page to be ignored by Git;
  • doc/reference/index.html to be generated and ignored by Git;
  • make deps-check to remain successful after documentation generation;
  • the tracked working tree to remain clean; and
  • make distclean to remove both generated documentation layers.

The normal Bootstrap build, artifact, Bats, static-check, and runtime-independence contracts remain unchanged.

Concurrent work

Open PR #60 adds the conventional-commit governance document and repository documentation standard. This branch does not modify either of those paths and does not depend on that PR.

@github-actions

github-actions Bot commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

MegaLinter analysis: Success

Descriptor Linter Files Fixed Errors Warnings Elapsed time
✅ BASH shellcheck 24 0 0 1.23s
✅ REPOSITORY betterleaks yes no no 2.31s
✅ REPOSITORY checkov yes no no 26.89s
✅ REPOSITORY gitleaks yes no no 0.47s
✅ REPOSITORY grype yes no no 71.33s
✅ REPOSITORY kingfisher yes no no 9.09s
✅ REPOSITORY secretlint yes no no 2.06s
✅ REPOSITORY semgrep yes no no 28.42s
✅ REPOSITORY syft yes no no 2.36s
✅ REPOSITORY trivy yes no no 11.77s
✅ REPOSITORY trivy-sbom yes no no 0.16s
✅ REPOSITORY trufflehog yes no no 4.36s

Notices

📣 MegaLinter 9.5.0 is out! Discover the new features and security recommendations in the release announcement. (Skip this info by defining SECURITY_SUGGESTIONS: false)

See detailed reports in MegaLinter artifacts

Your project could benefit from a custom flavor, which would allow you to run only the linters you need, and thus improve runtime performances. (Skip this info by defining FLAVOR_SUGGESTIONS: false)

  • Documentation: Custom Flavors
  • Command: npx mega-linter-runner@9.6.0 --custom-flavor-setup --custom-flavor-linters BASH_SHELLCHECK,REPOSITORY_CHECKOV,REPOSITORY_GITLEAKS,REPOSITORY_BETTERLEAKS,REPOSITORY_GRYPE,REPOSITORY_SECRETLINT,REPOSITORY_SEMGREP,REPOSITORY_SYFT,REPOSITORY_TRIVY,REPOSITORY_TRIVY_SBOM,REPOSITORY_TRUFFLEHOG,REPOSITORY_KINGFISHER

MegaLinter is graciously provided by OX Security
Show us your support by starring ⭐ the repository

@wesley-dean
wesley-dean merged commit 2d351e1 into main Sep 10, 2026
20 checks passed
@wesley-dean
wesley-dean deleted the agent/generate-reference-docs-in-ci branch September 10, 2026 03:00
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