Skip to content

feat(site): one header and a nine-link top bar on every page - #72

Merged
imran-siddique merged 2 commits into
mainfrom
feat/shared-header
Sep 14, 2026
Merged

imran-siddique merged 2 commits into
mainfrom
feat/shared-header

Conversation

@imran-siddique

Copy link
Copy Markdown
Member

Every agentrust-io.com page now carries the homepage header: Verify, a Specs menu, a Build menu, Community and GitHub. Before this, only the homepage and /community/ had it. The other pages each had a menu of their own, so the way back to the specifications moved from page to page.

Menus before this change

  • quickstart: How it works, Quickstart, Proof, GitHub, Run it, under the wordmark "AgenTrust · cMCP Quickstart"
  • demos: Model weights, Agent actions, Quickstart, Get the demos
  • telemetry: Contract, Use it, Verify it, Limits, Repository
  • registry: Checkpoint, How it works, Verify it, Limits, Repository
  • verify: Run it, What it proves, How it matches Python, Source
  • go: Controls, OpenCRE, Limits, GitHub
  • extensions/ca2a/v0.1: What it adds, Declaring support, Status, cA2A docs
  • marketplace: Ecosystem, Marketplace, Technology, Quickstart, Add yours
  • marketplace/catalog: Search marketplace. 404: the wordmark only.

The section links now sit in an "On this page" row under each hero, so every link a reader used is still there.

Top bar. supernav.js, which every AgenTrust site loads, including the six MkDocs docs sites, goes from 14 links to 9 in chain order: agentrust-io, Verify, WCM, Manifest, cMCP, cA2A, TRACE, Governance, GitHub. Quickstart, Demos, Telemetry and Registry stay one click away in the header's Build and Specs menus, and AGT leaves the bar. The homepage and /community/ now load the bar as well; they were the only two pages that never did.

One source for the header. tools/site_header.py holds the menu. tools/build-header.py stamps it between site-header:start and site-header:end markers in 12 pages, marks the current page with aria-current="page" or its menu with a class, and sets the design-system.css cache-bust, now v=21 on every page (it ranged from v=10 to v=20). build-controls.py and build-discovery.py call the same render(), so /go/ and the catalog match the stamped pages byte for byte. The links job runs build-header.py --check, so a hand edit inside the markers fails CI.

To change the menu: edit MENU in tools/site_header.py, run python tools/build-header.py, python tools/build-controls.py and python tools/build-discovery.py, then commit the pages with it.

Stylesheet. design-system.css carried header rules in four places: the homepage layout, its editorial override, the marketplace's own mobile menu, and .at-page .site-header. One .hub-header block and a small .on-this-page block replace them. The homepage hover colour was white on the paper background, so a link vanished under the pointer; it is now the brand red. hub-nav.js moves into the stamped block with defer. The static catalog gets the header without it, because check-discovery.py requires that page to carry no script.

Checked

  • build-header.py --check (12 pages), build-controls.py --check, build-discovery.py --check, check-site.py (43 pages, 735 local links), check-discovery.py, check-dashes.js, marketplace.test.js, check-tdx-verifier.mjs and render-adoption.mjs --check pass. check-quickstart.py installs packages and was left to CI.
  • build-header.py --check exits 1 after renaming Community in the /verify/ header by hand, and after setting one page's stylesheet back to v=20.
  • Headless Chrome screenshots at 1400 and 400 wide of /, /verify/, /quickstart/, /go/ and /registry/. In a 400px frame on /verify/, the Menu button shows, a click opens the list (display none to flex, aria-expanded true), and Verify is marked current. The top bar renders the nine links in order.

Also: the homepage verify panel's title bar still read /verify › tdx_quote.bin after #69 switched the panel to the key-binding capture; it now reads keybind_quote.bin.

Left for another change: the /wcm/ redirect stub moves to v=21 in the WCM social card PR, which edits that file. The redirect stubs under /go/ stay headerless.

Generated with Claude Code

https://claude.ai/code/session_013aK3gVWzNdcM3hZ2o2awK2

imran-siddique and others added 2 commits September 14, 2026 13:50
Nine agentrust-io.com pages carried their own menu of in-page anchors,
while the homepage and /community/ used Verify, Specs, Build, Community and
GitHub. Every page now uses that header, stamped from tools/site_header.py by
tools/build-header.py, with --check in the links job. /go/ and the catalog
render it through the same function. The old section links move to an On
this page row under each hero.

supernav.js drops from 14 links to 9 in chain order. design-system.css keeps
one .hub-header block in place of four sets of header rules, and every page loads
stylesheet v=21.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013aK3gVWzNdcM3hZ2o2awK2
Every other page already loaded supernav.js; these two never did, so they
showed the header without the bar above it.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013aK3gVWzNdcM3hZ2o2awK2
@imran-siddique
imran-siddique merged commit af8e4d4 into main Sep 14, 2026
6 checks passed
@imran-siddique
imran-siddique deleted the feat/shared-header branch September 14, 2026 21:05
imran-siddique added a commit that referenced this pull request Sep 14, 2026
After #72 every agentrust-io.com page loads supernav.js except these two,
so they showed the header without the bar. The static catalog stays
scriptless by design (check-discovery.py requires it).


Claude-Session: https://claude.ai/code/session_013aK3gVWzNdcM3hZ2o2awK2

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
imran-siddique added a commit that referenced this pull request Sep 14, 2026
…ag (#76)

supernav.js is served with a four-hour max-age and every page loaded it
without a query string, so browsers kept the old top bar after #72. The
hub pages and the /go/ template now load /supernav.js?v=CSS_VERSION, and
build-header.py --check enforces it alongside design-system.css.

check-availability.py reads each MkDocs host's home page and fails, naming
the host, when its design-system.css or supernav.js URL is not at the
current CSS_VERSION. DISCOVERY.md says how to bump.


Claude-Session: https://claude.ai/code/session_013aK3gVWzNdcM3hZ2o2awK2

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
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