This document is the canonical in-repo contract for OpenRustClaw's public GitHub surface.
It covers:
- the desired repo About description and homepage
- the canonical GitHub topic set
- the repeatable admin flow for checking or applying that metadata
- the verification path for repo-facing GitHub Actions and badges
- the repeatable workflow-health checks for the public GitHub Actions surface
The desired public repo metadata lives in:
.github/repository-metadata.json
That file is the source of truth for:
- repo description
- homepage
- GitHub topics
OpenRustClaw currently publishes this canonical GitHub topic set:
rustself-hostedassistantai-assistantopen-sourcellmmcpbrowser-automationvoice-assistantenterprise
Keep the topic set in .github/repository-metadata.json aligned with the current shipped product story.
If the product claim changes, update the metadata file first, then re-run the repo-admin sync.
Use the repo-admin helper:
bash scripts/github-repo-admin.sh show-desired
bash scripts/github-repo-admin.sh validate-local
bash scripts/github-repo-admin.sh show-live
bash scripts/github-repo-admin.sh check-live
bash scripts/github-repo-admin.sh apply-liveshow-desired and validate-local do not require GitHub auth.
show-live, check-live, and apply-live require GitHub auth for aihxp/OpenRustClaw.
The helper resolves auth in this order:
GH_TOKENgh auth tokenfrom the localghkeyring loginGITHUB_TOKEN
Minimum local verification:
bash scripts/github-repo-admin.sh validate-localMinimum live verification when GitHub auth is available:
bash scripts/github-repo-admin.sh check-live
bash scripts/github-actions-admin.sh recent-runs
bash scripts/github-actions-admin.sh check-main-ci
bash scripts/github-actions-admin.sh check-release-binaries- If GitHub auth is unavailable, keep
.github/repository-metadata.jsoncurrent and treat live repo-surface sync as blocked, not silently complete. - GitHub topics and the About panel are not stored in git by default; this doc plus
scripts/github-repo-admin.shmake that admin surface repeatable.
Use the Actions helper for the public automation surface:
bash scripts/github-actions-admin.sh workflows
bash scripts/github-actions-admin.sh recent-runs
bash scripts/github-actions-admin.sh check-main-ci
bash scripts/github-actions-admin.sh check-release-binariescheck-main-ci currently expects the latest main runs for:
Shipped Surface CIShipped Surface E2E Tests
to be either success or skipped.
Within Shipped Surface CI, the current hard gate is the shipped-surface verification bundle:
- parity inventory
- cargo check
- cargo test
- rustfmt
- runtime budget checks
Shipped Surface Clippy (Informational) and Shipped Surface Security Audit stay visible in the run, but they are currently advisory signals rather than workflow-failing gates because they still reflect broader workspace lint and upstream dependency debt outside this GitHub-recovery milestone.
check-release-binaries inspects the latest Release Binaries run, or the latest run for a specific branch or tag when you pass a ref:
bash scripts/github-actions-admin.sh check-release-binaries
bash scripts/github-actions-admin.sh check-release-binaries v1.10
bash scripts/github-actions-admin.sh check-release-binaries mainFor non-tag workflow_dispatch runs, it requires all build jobs to pass and allows the publish job to stay skipped. For tag runs, it also requires Publish GitHub Release Assets to succeed.