Repository navigation
docs: expand wiki with repository knowledge map (replaces #1190) - #1267
Merged
Merged
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: c80f8522-983c-47f7-8241-2155a823aabe
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: c80f8522-983c-47f7-8241-2155a823aabe
Add concise, self-contained notes for execution providers, tracing, API contracts, metadata, model packages, and performance engineering. Keep the detailed memory tutorial intact and document the human-first reading policy. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: c80f8522-983c-47f7-8241-2155a823aabe
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: c80f8522-983c-47f7-8241-2155a823aabe
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: c80f8522-983c-47f7-8241-2155a823aabe
This was referenced Aug 18, 2026
justinchuby
added a commit
that referenced
this pull request
Aug 18, 2026
Replacement for #1210, rebased onto current `main` after 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 under `site/`, one Pages workflow, `.gitignore` rules, and two small edits to `wiki/`. ## 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` + committed `package-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) - **Build dependency / CI job — acceptable and documented?** Yes. The new `wiki-pages.yml` pins every action to a full SHA, runs with top-level `permissions: contents: read` (the deploy job separately requests `pages: write` / `id-token: write`), sets `persist-credentials: false`, installs via `npm ci` from the committed lockfile (reproducible), and **deploys only on push to `main`** (build-only on PRs/branches). It is self-contained and does not touch the Rust build or any existing workflow. - **Commits generated output that will rot?** No. `.gitignore` excludes `site/quartz/node_modules/`, `public/` (the built site), `.quartz/`, `.quartz-cache/`, vendored static assets, and `tsconfig.tsbuildinfo`. No `node_modules`, built HTML, or `public/` is committed. The committed `package-lock.json` pins exact dependency versions. - **Conflicts with the existing docs layout?** No. There is no pre-existing `site/` or Pages/Quartz/mkdocs workflow on `main`; the existing workflows (`ci`, `publish`, `wheels`, `benchmark`, `squad-*`, …) are untouched. The site lives under `site/` and *reads* `wiki/` (`quartz build -d ../../wiki`); it does not move or rewrite `docs/`. - **Config coherence.** `quartz.config.yaml` `baseUrl: justinchuby.github.io/onnx-genai` matches the `/onnx-genai/` base path the post-build validators (`validate_site.py public /onnx-genai/`, `rewrite_repository_links.py`) expect. ## Verification I could run - **Wikilink validation passed** (`validate_wikilinks.py ../../wiki`): *Validated 96 wikilink(s) across 20 note(s).* - Nothing in cargo or the Rust test suite references `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 ci` fails because the pinned transitive dependency `@xmldom/xmldom@0.8.14` (pulled via `pixi.js`) is **not available** on the corporate npm proxy (which only serves `0.9.x` for 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.yml` job this PR adds, which runs on `ubuntu-latest` against public npm where `0.8.14` exists. 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> Co-authored-by: justinchuby <223556219+Copilot@users.noreply.github.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1267 +/- ##
==========================================
+ Coverage 79.69% 79.95% +0.25%
==========================================
Files 358 361 +3
Lines 155271 156900 +1629
Branches 155271 156900 +1629
==========================================
+ Hits 123747 125445 +1698
+ Misses 26940 26822 -118
- Partials 4584 4633 +49
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
✅ Benchmarks — No RegressionComparison 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
|
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 #1190, rebased onto current
main(the original could not be squash-merged because #1210 is stacked on its head branch, which triggers GitHub's stacked-PR 403). Content is identical to #1190; only the base is refreshed.What this adds
A 20-file explanatory wiki under
wiki/(crate architecture, execution backends, EP contracts, memory model, metadata-driven runtime, request lifecycle, testing/verification, performance playbook, repository map). It repeatedly labels itself non-authoritative and points atdocs/and source for verification.Accuracy review (the bar for docs in this repo)
I spot-checked the load-bearing claims against
mainas it stands today (after the memory capability-split revert #1247, session-state unification #1255,reasoning_content#1257, CUDA mask-reservation fix #1264):Cargo.tomlmembers andcrates/tree. The map is explicitly non-exhaustive and says so.wiki/memory/Memory Management for Beginners.mdis markedstatus: proposedand frames the capability split as a recommendation, while describing the current combinedDeviceAllocatoras the present reality. I verified againstcrates/onnx-runtime-memory-governor/src/allocator.rs: the trait indeed still carriesallocate,commit_allocation_range/decommit_allocation_range,allocation_committed_bytes,mapped_bytes,create_shared_prefix, and the successful-no-op default it warns about. Because the doc calls the split a proposal and the combined trait the current state, it survives the feat(memory): minimal DeviceAllocator contract + optional VirtualBacking/SharedMapping capabilities (#1186 phases 1-2) #1192→revert(memory): withdraw unsafe memory capability split #1247 revert rather than being invalidated by it. The proposedonnx-runtime-memory-apicrate correctly does not exist.with_memory(...)— cited as the mechanism that already satisfies issue [memory] Extract a standalone DeviceAllocator trait out of ExecutionProvider #513's core goal — exists (onnx-genai-ort,ep-cpu,ep-cuda).decode_loop.rs,sampling.rs,speculative/, all crate dirs).docs/path.md, is inside a fenced note-template code block, not a real link.)docs/benchmarks/2026-08-15-...§32.2) — no perf figure is copied without metadata; the only "speedup" mentions are the docs teaching that a bare speedup is insufficient, and the GB values are illustrative diagram quantities, not measurements.Verification
wiki/files (checked withgit grep), so this cannot break the build or suite.No inaccuracies found inside the diff; no corrections were needed.
Closes #1190.
Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com