chore: tidy repository root and publish the docs site - #50
Merged
Conversation
Presentation-only cleanup. No source, test, or dependency changes. Untrack build-phase prompt/plan files edr-agent-implementation-plan.md and phase2/6/7/8 were tracked in the repository root -- roughly 100KB of the planning prompts used during development. phase9-traffic-context-prompt.md was already gitignored, so this just finishes what that started. The files stay on disk; only the .gitignore entries change. Nothing in the repo linked to them. Move patent paperwork into patent/ PROVISIONAL_PATENT_DRAFT.md/.pdf, USPTO_Specification.md and USPTO_Drawings.html were interleaved with build config in the root (~1MB, the PDF alone is 936KB). Grepped first -- nothing references them by path, so the move is safe. Root goes from 21 tracked files to 12, all of which belong there. Correct two stale README badges - tests: 546 -> 1333 (actual count as of this commit; the badge was undercounting the suite by 60%) - python: 3.13 -> 3.11+ (pyproject declares requires-python >=3.11 and CI runs the matrix on 3.11, 3.12 and 3.13)
The mkdocs.yml config, the Material theme setup and ten pages of documentation were already written but never deployed, so none of it was reachable and the repo had no website link. site_url was already set to https://ticfinack.github.io/edr-graph/, so nothing in the config needed to change to make it live. Add .github/workflows/docs.yml - build job runs on pull requests as well as main, so a broken nav entry or dead internal link fails review instead of shipping. mkdocs build --strict promotes warnings to failures. - deploy job is gated to main and uses the artifact-based Pages flow, so no gh-pages branch is needed and main's history stays clean. - Default permissions are contents:read; only the deploy job widens to pages:write and id-token:write. - Action versions match those already used in ci.yml and release.yml (checkout@v6, setup-python@v6). - MkDocs is installed directly rather than through the '.[docs]' extra so the docs build does not pull in the full agent runtime; the version floor is kept in sync with pyproject.toml by comment. Add the engineering notebook to the nav docs/ENGINEERING_NOTEBOOK.md was being built into the site but was not in any nav section, so it could only be reached by search or a direct URL. It is a reverse-chronological design ledger and is worth surfacing. This also clears the last mkdocs --strict advisory, so the build is now warning-clean.
Replace the hardcoded test-count badge with live workflow badges The tests-NNNN badge cannot be kept correct. The passing count is platform-dependent -- this branch measures 1369 passed / 1 skipped on macOS and a different number on Linux CI, because some tests skip based on OS capabilities. Any hardcoded figure is therefore wrong somewhere, and silently goes stale as tests are added. Two GitHub Actions status badges replace it. They are generated from the real workflow state, cannot drift, and link to the runs, so the claim is verifiable rather than asserted: - CI -> actions/workflows/ci.yml (lint + the 3.11/3.12/3.13 matrix) - Docs -> actions/workflows/docs.yml, linked to the published site Bound mkdocs-material below 10 The docs extra and the docs workflow both requested mkdocs-material >=9.5.0 with no upper bound. Material currently emits a build-time warning that MkDocs 2.0 removes the plugin system, rewrites theming and offers no migration path. An unbounded floor means a future major release could break the docs build with no change on our side, so the constraint is now >=9.5.0,<10 in both places.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
chore: tidy repository root and publish the docs site
Three presentation-and-tooling commits. No source or runtime-dependency changes — nothing in
agent/,server/,tests/,requirements.txtoruv.lockis touched. The onlypyproject.tomledit is an upper bound on the optionaldocsextra (commit 3); no runtime dependency changes.1. Repository root cleanup
Untrack build-phase prompt/plan files.
edr-agent-implementation-plan.mdandphase2/6/7/8-*.mdwere tracked in the root — roughly 100KB of the planning prompts used during development.phase9-traffic-context-prompt.mdwas already gitignored, so this finishes what that started. They are removed from version control and covered by.gitignore; nothing in the repo linked to them.Move patent paperwork into
patent/.PROVISIONAL_PATENT_DRAFT.md/.pdf,USPTO_Specification.mdandUSPTO_Drawings.htmlwere interleaved with build config in the root (~1MB, the PDF alone is 936KB). All four are pure renames — 100% similarity, no content change.Root goes from 21 tracked files to 12, all of which belong there:
Correct two stale README badges. The Python badge understated support:
pyproject.tomldeclaresrequires-python = ">=3.11"and CI runs the matrix on 3.11, 3.12 and 3.13, so3.13became3.11+. Thetests-546 passedbadge was refreshed here and then replaced outright in commit 3 — see below.2. GitHub Pages docs workflow
mkdocs.yml, the Material theme setup and ten pages of documentation were already written but never deployed, so none of it was reachable and the repo had no website link.site_urlwas already set tohttps://ticfinack.github.io/edr-graph/, so no config change was needed to make it live.New
.github/workflows/docs.yml:mkdocs build --strictpromotes warnings to failures.mainand uses the artifact-based Pages flow — nogh-pagesbranch, andmain's history stays clean.permissions: contents: read; only the deploy job widens topages: write/id-token: write.ci.ymlandrelease.yml(checkout@v6,setup-python@v6)..[docs]extra, so the docs build does not pull in the full agent runtime. The version constraint is kept in sync withpyproject.tomlby comment.Also adds
docs/ENGINEERING_NOTEBOOK.mdto the nav — it was being built into the site but sat in no nav section, reachable only by search or direct URL. That was also the last--strictadvisory, so the build is now warning-clean.3. Live CI badges and a MkDocs upper bound
Replace the hardcoded test-count badge with live workflow badges. A
tests-NNNNbadge cannot be kept correct: the passing count is platform-dependent — this branch measures 1369 passed / 1 skipped on macOS and a different number on Linux CI, since some tests skip on OS capabilities — so any hardcoded figure is wrong somewhere and goes stale as tests are added. Two GitHub Actions status badges replace it, generated from real workflow state and linking to the runs, so the claim is verifiable rather than asserted:actions/workflows/ci.yml(lint + the 3.11/3.12/3.13 matrix)actions/workflows/docs.yml, linked to the published siteBound
mkdocs-materialbelow 10. Both thedocsextra and the docs workflow requested>=9.5.0with no upper bound. Material currently emits a build-time warning that MkDocs 2.0 removes the plugin system and rewrites theming with no migration path, so an unbounded floor means a future major release could break the docs build with no change on our side. Now>=9.5.0,<10in both places.Verification
mkdocs build --strict— exit 0, warning-clean.github/workflows/docs.yml— parses as valid YAML*.md,*.py,*.yml,*.html— none outsidepatent/itself.gitignoreentries (cleangit statuswith all five still on disk).github/workflows/ci.yml,.github/workflows/docs.yml), so neither badge renders as "no status"pyproject.tomlparses and the boundeddocsextra resolves against the installedmkdocs-material9.7.3pytest tests/— 1369 passed, 1 skipped (unchanged; no source or test files are touched by this PR)Note before merging
GitHub Pages is already configured with "GitHub Actions" as its source, and the repository website field is linked to the Pages URL, so the
deployjob will run on merge with no further setup.Note that
deployis skipped on pull requests by design, so the deploy path itself stays unexercised until this lands onmain. Everything up to and including the artifact upload is covered by theBuild sitecheck.