Portal meta — when this was built, how to refresh¶
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.
The Makefile populates:
SNAPSHOT_DATEfromdate -u +%Y-%m-%dat build timeSNAPSHOT_SHAfromgit -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:
- Open the URL — the footer should show today's date.
- Bottom of the landing shows the snapshot block with the same date + SHA.
- This
/portal-metapage shows the same. - 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¶
- Landing — main portal entry
- What exists today — the most refresh-sensitive section (codebase facts)
- Active work queue — the most refresh-sensitive roadmap surface