Skip to content

Portal meta — when this was built, how to refresh

Build date: 2026-05-13 · Source commit: 8a10eae3

This portal is a point-in-time snapshot of the underlying GPUaaS repository. Every diagram, every code citation, every table reflects the state of the source code at the moment this site was built — captured by the date + git SHA above.

Why a snapshot

flowchart LR
    classDef src fill:#e3f2fd,stroke:#1565c0
    classDef snap fill:#d1e7dd,stroke:#0a3622
    classDef stale fill:#fff3cd,stroke:#332701

    REPO[GPUaaS source repo<br/>continues to commit]:::src --> SNAP[Portal build<br/>captures point in time]:::snap
    SNAP --> SITE[Static HTML served via nginx]:::snap
    REPO -.diverges over time.-> DRIFT[Snapshot becomes stale<br/>if not rebuilt]:::stale
    DRIFT -.refresh.-> SNAP

The static-site model is deliberate:

  • Reviewers see a stable URL they can share.
  • Diagrams + facts can't shift mid-review.
  • The build itself is the audit anchor (date + SHA).

When to refresh

Rebuild the portal when any of these happen and you want the change reflected:

Change Why refresh
Architecture doc updated in doc/architecture/ Trail / as-built / comparison pages may have new facts
New runbook added Runbook index + categorisation should update
RCA published Trails referencing RCAs should pick it up
agent_policy.yaml rule change Governance + policy-enforcement pages should reflect it
Phase transition in Phase_Readiness_Tracker.md Roadmap / readiness pages should update
New SKU seeded Capacity-shapes + slice trail should mention it
Major work-queue restructure Roadmap / active-queue stats should refresh

If you're just doing day-to-day code work, no refresh is needed. The portal is for reviewer-facing state, not engineer-facing state.

How to refresh

The portal auto-stamps itself with the current date + git SHA at build time. Refreshing is a single make invocation.

cd tmp-ux/portal
make docker-up   # rebuilds the image, stamps with current date + sha

The Makefile populates:

  • SNAPSHOT_DATE from date -u +%Y-%m-%d at build time
  • SNAPSHOT_SHA from git -C <repo> rev-parse --short HEAD

Both get substituted into mkdocs.yml (footer) and docs/index.md + this page via sed inside the Dockerfile.

Build flow (under the hood)

sequenceDiagram
    autonumber
    participant DEV as You
    participant MK as Makefile
    participant DC as docker compose
    participant DK as Dockerfile build
    participant SED as sed substitutions
    participant MD as MkDocs
    participant NX as nginx
    participant FN as Tailscale Funnel

    DEV->>MK: make docker-up
    MK->>MK: capture SNAPSHOT_DATE + SNAPSHOT_SHA
    MK->>DC: docker compose up -d --build<br/>(with --build-arg)
    DC->>DK: docker build
    DK->>SED: sed 2026-05-13 → current date<br/>sed 8a10eae3 → current SHA
    SED->>MD: mkdocs build
    MD-->>DK: static site
    DK->>NX: COPY site → /usr/share/nginx/html
    DK-->>DC: image ready
    DC->>NX: container starts on port 80
    DC->>FN: tailscale sidecar funnels public URL
    FN-->>DEV: refreshed portal available

Verify a refresh worked

After running make docker-up:

  1. Open the URL — the footer should show today's date.
  2. Bottom of the landing shows the snapshot block with the same date + SHA.
  3. This /portal-meta page shows the same.
  4. Any new content from doc/ is now indexed (try the search bar).

Snapshot date vs page status badges

These are two different things — both shown on each detail page:

Surface What it tells you
Snapshot date (this page) When the portal was last rebuilt from the source repo
Status badge per page (IMPLEMENTED, DESIGNED, …) What level of evidence backs that page's claims, as of the snapshot

A page can be IMPLEMENTED (code exists today) but show a 2-month-old snapshot date — meaning that snapshot's facts about that page are still accurate to the platform's state when this was built, but newer commits might have added more.

When NOT to refresh

If a reviewer is mid-walkthrough of the portal and you don't want the diagrams to shift under them, don't refresh. The point of the snapshot is stability. Refresh between review cycles, not during them.

Where to look next