Repository navigation
docs: publish wiki with Quartz 5 (replaces #1210) - #1272
Merged
Merged
Conversation
Rebased onto current main after the wiki base (#1190) landed as #1267. Adds the Quartz 5 publishing machinery under site/, a pinned least-privilege Pages workflow, and .gitignore rules that keep all generated output and dependencies out of the tree. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This was referenced Aug 18, 2026
justinchuby
added a commit
that referenced
this pull request
Aug 18, 2026
## Summary - Corrective follow-up to already-merged #1272; applies the finalized maintainability-first Quartz tree without replaying the obsolete branch history. - Replaces the custom Acorn AST/dataflow/resource-graph audit and local graph vendoring with a 54-line deterministic runtime pin and an exact four-URL immutable allowlist. - Retains source wikilink, repository-target, generated link/asset, base-path, referenced-resource, and rendered-root checks. - Publishes `wiki/index.md` as the real site landing page while keeping `wiki/README.md` as the conventions/index note. - Removes direct Acorn, D3, and Pixi dependencies while preserving the official Pages workflow and pinned Quartz/plugin/action revisions. This simplifies #1272; it does not reopen #1210. ## Validation - `npm ci` - Clean `CI=true npm run wiki:build`, followed by a consecutive production build - 18 focused tests passed - 116 wikilinks validated across 21 notes - 90 repository source links rewritten from verified repository targets - 3,198 generated internal links/assets validated across 118 HTML pages; 2 referenced local scripts verified - 42 pinned Quartz plugin commits/build outputs verified - Exact immutable runtime allowlist: 4 URLs - 127 generated files matched byte-for-byte across consecutive builds - `npm run check` (TypeScript + Prettier), Python compile checks, YAML/JSON parsing, and `git diff --check` - Custom audit/validation code: 2,875 -> 579 lines (2,296 fewer; 79% reduction) Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
🔴 Benchmark Regression DetectedComparison of criterion micro-benchmarks: PR head vs merge-base, measured on the same runner in the same job (base first → PR second).
Visual flags: Host infoWhat this cannot catch
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1272 +/- ##
=========================================
+ Coverage 0 79.96% +79.96%
=========================================
Files 0 361 +361
Lines 0 157076 +157076
Branches 0 157076 +157076
=========================================
+ Hits 0 125613 +125613
- Misses 0 26829 +26829
- Partials 0 4634 +4634
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
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.
Replacement for #1210, rebased onto current
mainafter the wiki base (#1190) landed as #1267. The original is stacked on #1190's head branch and cannot be squash-merged directly (GitHub stacked-PR 403). Content is identical to #1210's own diff: 154 files undersite/, one Pages workflow,.gitignorerules, and two small edits towiki/.What this adds
The Quartz 5 static-site machinery that publishes the
wiki/content (added in #1190/#1267) to GitHub Pages:site/quartz/— the Quartz engine,package.json+ committedpackage-lock.json,quartz.config.yaml, plugin lock (quartz.lock.json).site/scripts/— Python validators (validate_wikilinks.py,validate_site.py) and a test suite..github/workflows/wiki-pages.yml— build + deploy workflow.Practical review (the questions that matter for publishing machinery)
wiki-pages.ymlpins every action to a full SHA, runs with top-levelpermissions: contents: read(the deploy job separately requestspages: write/id-token: write), setspersist-credentials: false, installs vianpm cifrom the committed lockfile (reproducible), and deploys only on push tomain(build-only on PRs/branches). It is self-contained and does not touch the Rust build or any existing workflow..gitignoreexcludessite/quartz/node_modules/,public/(the built site),.quartz/,.quartz-cache/, vendored static assets, andtsconfig.tsbuildinfo. Nonode_modules, built HTML, orpublic/is committed. The committedpackage-lock.jsonpins exact dependency versions.site/or Pages/Quartz/mkdocs workflow onmain; the existing workflows (ci,publish,wheels,benchmark,squad-*, …) are untouched. The site lives undersite/and readswiki/(quartz build -d ../../wiki); it does not move or rewritedocs/.quartz.config.yamlbaseUrl: justinchuby.github.io/onnx-genaimatches the/onnx-genai/base path the post-build validators (validate_site.py public /onnx-genai/,rewrite_repository_links.py) expect.Verification I could run
validate_wikilinks.py ../../wiki): Validated 96 wikilink(s) across 20 note(s).site/, so this cannot affect the crate build or tests.Gap I must be honest about — the end-to-end site build
I could not run the actual Quartz build (
npm run wiki:build) in this environment.npm cifails because the pinned transitive dependency@xmldom/xmldom@0.8.14(pulled viapixi.js) is not available on the corporate npm proxy (which only serves0.9.xfor that package), and the public registry is TLS-blocked here. There is no lockfile-preserving workaround from this sandbox.Consequently the Python test suite shows 37/78 failures — but every failure is a missing-node-dependency error (
Cannot find package 'acorn' …) from tests that shell out to the un-installed Node scripts, not a logic defect; the network-free checks pass.The definitive build proof therefore rests on the
wiki-pages.ymljob this PR adds, which runs onubuntu-latestagainst public npm where0.8.14exists. Blast radius is contained: a build failure would surface only in this isolated workflow / Pages deploy and cannot break the Rust build or test suite. Merging on the machinery review + link validation, with the JS build unverified-locally and delegated to CI, clearly flagged.Closes #1210.
Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com