feat(hub): Agent Hub launch — Railway deployment, publish pipeline, website redesign#1564
Draft
kovtcharov wants to merge 10 commits into
Draft
feat(hub): Agent Hub launch — Railway deployment, publish pipeline, website redesign#1564kovtcharov wants to merge 10 commits into
kovtcharov wants to merge 10 commits into
Conversation
…sh pipeline The Agent Hub worker previously dropped the fields the Hub UI needs (tags, tools_count, models, permissions, readme), had no deployable container story, and publishing agents was a manual curl per agent. Now: the worker catalog carries the full website contract including per-version READMEs, it runs on Railway via a persisted-volume container, and util/publish_agents_to_hub.py packs and publishes the whole production agent set in one command (409-aware, fail-loud). Also fixes a packager bug where re-packing an unchanged version overwrote the wheel mid-snapshot and failed wheel discovery, and removes the SPA flag from the website serve command which made every /hub route serve the homepage. Validated: 52 worker vitest, 94 pytest (hub publisher/packager/ pipeline), lint clean, E2E publish of all 11 agents against a local worker with persistence across restart.
Design system approved in brainstorming: black/white foundations with AMD gold as sole accent, light+dark themes from shared tokens that the Agent UI adopts in Phase 2, aurora + living-terminal energy layers, and 'Open in GAIA' (gaia:// deep link) as the primary consumer flow. Docs site (Mintlify) gets palette/type alignment. ISV distribution program captured as future work.
…D-gold, both themes) Foundation for the redesign: CSS-variable tokens (RGB triplets, light default + data-theme=dark) and a framework-agnostic Tailwind preset the Agent UI adopts in Phase 2. Legacy gaia-* palette kept temporarily until pages migrate.
Spec/plan stay as local working docs; the PR carries the implementation, not the planning paperwork.
Light/dark themes with pre-paint script (no wrong-theme flash), minimal nav with theme toggle, and the redesign primitives: Eyebrow, AuroraBg, living TerminalBlock (IntersectionObserver typing, reduced-motion instant render), click-to-copy InstallCommand, AgentRow with the Open-in-GAIA hover affordance, FeaturedCard aurora spotlight. Mintlify docs switch from red to the same gold palette with system light/dark and the corrected main-site link.
Homepage drops from 1112 lines of dense sections to five beats (aurora hero, living terminal, pillars, featured agents, footer). Hub becomes spotlight + pill filters + scannable rows. Agent detail leads with 'Open in GAIA' (gaia:// deep link) over the CLI copy chip, readable README column, quiet metadata sidebar. Legacy red palette fully purged (securityTierClasses dead code removed, TEMP Tailwind colors dropped). Verified: build green in fixture mode (20 pages) and live-catalog mode (11 agents from a local worker).
…anger split The webui's --amd-red family doubled as brand accent AND error color, so rebranding red->gold blindly would have turned error states gold. The var family is now semantic: --accent (gold, 217 sites — links, buttons, active states, spinners, focus) and --danger (neutral red, 45 sites — error banners, terminal error stream, destructive hovers, btn-danger). White-on-gold text flipped to dark in 13 spots for contrast. Aligns the Agent UI with the website's shared design tokens ahead of the full Phase 2 restyle.
docs.json was rebranded to gold but content still hardcoded the red palette: Mermaid diagram themes across guides/playbooks/sdk/spec/cpp, the landing hero span, and the auth-gate login page in server.js. All red hexes map to the gold scale, with dark text wherever a fill became light gold (Mermaid nodes, init primaryTextColor, login button) so nothing ships white-on-light-gold. Verified: zero red-hex grep hits, mint dev serves index and eval pages 200.
Hardcoded -l 3000 502'd behind Railway's edge, which routes to $PORT.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why this matters
Until now the Agent Hub existed only as code: the catalog API dropped the fields the Hub UI needs, there was no deploy story, publishing agents meant hand-crafted curl calls, and the website rendered a bundled fixture with a generic look. After this PR: the hub runs as a real service (Railway), all production agents publish with one command (wheels + READMEs, checksummed, immutable versions), and all GAIA surfaces — website, Agent Hub, docs site, and the Agent UI's accent system — share one minimal black-white-AMD-gold design with light + dark themes and Open in GAIA (
gaia://deep link) as the primary consumer flow.The redesign
Design tokens live in a shared Tailwind preset (
website/src/design/). The Agent UI adopts the gold accent now via a semantic--accent/--dangersplit (errors stay red; brand moments go gold) ahead of its full Phase-2 restyle. Docs (Mintlify) carry the same palette — config and all 38 content files (Mermaid themes, hero, auth page) with contrast-safe text on gold fills.Test plan
cd workers/agent-hub && npm test && npm run typecheck(52 tests)python -m pytest tests/unit/test_publish_agents_to_hub.py tests/unit/test_hub_publisher.py tests/unit/test_hub_packager.pywrangler devworker →util/publish_agents_to_hub.py --hub-url http://localhost:8787publishes all 11 agents;--skip-existingrerun exits 0cd website && npm run build(fixture mode) andHUB_CATALOG_URL=<worker> npm run build(live mode, 11 agents)cd src/gaia/apps/webui && npm run build(gold accent migration)grep -rniE '#(ED1C24|C8171E|F4484D)' docs/ website/src src/gaia/apps/webui/src→ zero hits