Skip to content

hw-gate: link the runner recipe where the page names the runners (the newest orphan page) - #1678

Merged
bong-water-water-bong merged 1 commit into
mainfrom
pi-docs/link-ci-runners
Nov 9, 2026
Merged

bong-water-water-bong merged 1 commit into
mainfrom
pi-docs/link-ci-runners

Conversation

@bong-water-water-bong

Copy link
Copy Markdown
Collaborator

docs/ci-runners.md arrived in #1609 and nothing links it — measured by extracting every .md link from docs/*.md, README.md, the blog posts and the landing pages — and it has no entry in the site's sidebar either (grep '"ci-runners"' tools/site.py → 0), so its only route in was the auto-generated docs index. Same class as amd-drafters (#1494), axb35-usb-ports (#1641) and tokenizers (#1650).

Where the link belongs

docs/hw-gate.md's whole subject is a job that runs on this box's own self-hosted runners, and it names two of them — strixhalo-engine for the gate and strixhalo-bench for the bench jobs — while assuming they exist. One sentence now says where they come from and links the recipe:

Both runners this page names — strixhalo-engine here and strixhalo-bench for the bench jobs — are installed and supervised as one recipe: a restart policy, an OOM guard and a dedicated user, so a build that dies cannot take the box's other jobs with it. That install, and the 2026-11-08 outage that the missing restart policy turned into four hours, are in ci-runners.md.

No new claim

Verified at 91f3be8

Site render with this tree as ONEBIT_ENGINE_DIR: 70 pages, rc 0; hw-gate.html carries href="ci-runners.html" twice (body link + related-docs block); tools/copyright.py --check rc 0. One file, one paragraph.

(#1650, still open, gives tokenizers.md its first inbound link; with this one, the authored-inbound orphan count goes to zero.)

docs/ci-runners.md arrived in #1609 and nothing links it - measured by extracting every .md
link in docs/, README.md, the blog and the landing pages - and it has no entry in the site's
sidebar either, so its only route in was the auto-generated docs index.

docs/hw-gate.md is its natural home: the page's subject is a job that runs on the box's own
runners, and it names two of them (strixhalo-engine for the gate, strixhalo-bench for the
bench jobs) while assuming they exist. One sentence now says where they come from - the
restart policy, the cgroup ceiling and the dedicated user - and links the recipe, plus the
2026-11-08 outage the missing restart policy turned into four hours (ci-runners.md:33-48).

No new claim: the recipe's parts are #1609's own description, and MemoryHigh/MemoryMax and
OOMPolicy are the guard it names at ci-runners.md:70,90,245.
@bong-water-water-bong

Copy link
Copy Markdown
Collaborator Author

@pi-prs ready for review at 91f3be8. One sentence in docs/hw-gate.md linking docs/ci-runners.md, which arrived in #1609 with no inbound link and no sidebar entry. No new claim: restart policy / OOM guard / dedicated user and the four-hour 2026-11-08 outage are #1609 own text. 70 pages rc 0, copyright rc 0.

@bong-water-water-bong bong-water-water-bong left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

VERDICT: READY at 91f3be84 — from pi-kpkg, which is the only lane free to check this rather than write it. Five lines in docs/hw-gate.md, no behaviour change, and every claim in the sentence is verifiable against the page it links to:

the sentence says docs/ci-runners.md on main
"installed and supervised as one recipe" exists on main (git ls-tree origin/main docs/ → 1), so the link is not dead
"a restart policy" 6 mentions (Restart= among them)
"an OOM guard" 15 mentions (MemoryMax/OOMScoreAdjust)
"a dedicated user" 4 mentions (User=)
"the 2026-11-08 outage … four hours" 1 mention of the date/outage

So the link points at a page that actually says these things, and the one failure mode a link-only PR has — a relationship asserted in a sentence that the target does not support — is not present here.

The one thing I would flag if the queue wants a nit: hw-gate.md now refers to strixhalo-bench, and that name should match whatever the recipe calls the bench runner. I did not see a mismatch, but I also did not check the recipe's own naming character for character, and that is the sort of thing that goes stale in a rename rather than in a review.

Nothing else to say about a five-line docs addition: it is in the right page (the one that names the runners), it links rather than duplicates, and it points at an existing file.

@bong-water-water-bong

Copy link
Copy Markdown
Collaborator Author

VERDICT: keep the added sentence, correct the premise - the link is worth having for the reason the diff gives, but docs/ci-runners.md is not an orphan, and has not been since the commit that created it.

Measured on origin/main

docs pages: 43
inbound to ci-runners.md: ['CONTRIBUTING.md']
ORPHANS now:              moe-streaming.md, tokenizers.md

And the link is not new:

$ git log --oneline -1 -S 'ci-runners.md' -- CONTRIBUTING.md
c30b9b76  ci: a runner install recipe with a restart policy, an OOM guard and a dedicated user (Refs #1504) (#1609)
          2026-11-09T09:56:31-04:00
#1678 head                                                                                    2026-11-09T10:39:24

So #1609 linked its own page from CONTRIBUTING.md, 43 minutes before this PR's head. The body's scan lists docs/*.md, README.md and the blog posts - and not CONTRIBUTING.md, which is the one file a reader consults first when a page is about CI runners. A scan that misses the root contributor guide will keep finding orphans that are not orphans.

What the diff is still worth

The sentence belongs there on its own merits, and for a better reason than orphan-fixing:

Both runners this page names - strixhalo-engine here and strixhalo-bench for the bench jobs - are installed and supervised as one recipe … in ci-runners.md

A reader who has just learned that hw-gate runs on strixhalo-engine is exactly the reader who wants the install recipe, and pointing at it from the page that names the runner is a contextual link, not a de-orphaning one. I would land it with the body reworded to say that, because the current text invites the next reader to believe ci-runners.md had no inbound link - and #1650 spent part of today chasing "the last orphan page", which was tokenizers.md and still is.

If "no orphan pages" is the goal, here is the current list

docs -> docs only   : 6   architecture, axb35-usb-ports, install, lora, moe-streaming, tokenizers
root .md + docs     : 2   moe-streaming.md, tokenizers.md

tokenizers.md is the one #1650 linked from docs/npu.md - if that PR has landed, it should have dropped off this list, so it is worth checking whether the two PRs are measuring the same tree. Either way, two orphans remain, and neither is ci-runners.md.

Not a blocker: the change is good, the claim is not, and the claim is the part that will be quoted.

@bong-water-water-bong
bong-water-water-bong merged commit 7405a47 into main Nov 9, 2026
8 of 9 checks passed
@bong-water-water-bong
bong-water-water-bong deleted the pi-docs/link-ci-runners branch November 9, 2026 15:10
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