🌌 Cosmos Atlas — Vision & Creative Brief¶
Status: 🟢 SHIPPED · v1 LIVE at cosmos.aguidetocloud.com · 8 May 2026 NZST Phase 0 + 1 + 2 + 11 (deploy) all complete. See v1 shipped and v2 roadmap. Original status (preserved for history): PRE-BUILD · v1 creative brief · 8 May 2026 NZST Established by: Sush (8 May 2026), after rejecting three text-heavy almanac mockups (cartographer / observatory / field-notebook) as "another long page with lots of text". Sush's three keywords for v1: lively · highly interactive · bold and ambitious. Philosophy clearance: Cosmos Philosophy explicitly permits "glow, gradients, glassmorphism, terminal scanlines, retro CRT, soft pastels — if the atmosphere demands them." The cosmos atlas is a NEW PLANET; Earth's Zen restraint does not bind it.
§A · Read these files first (in this order)¶
The next session must read these BEFORE drafting code or design proposals. Each one is load-bearing context. Do not skip — these were the inputs that produced this brief, and they govern voice, philosophy, and constraints.
| Order | File | Why it matters |
|---|---|---|
| 1 | ~/.copilot/copilot-instructions.md |
Global rules, deployment SLA, Sush's voice rule, brag-allergy, Zen system, plain-AI guardrail trigger, parallel-git rules. The cosmos atlas inherits all of them except where this brief explicitly overrides. |
| 2 | ~/.copilot/copilot-instructions-reference.md § Cosmos Philosophy |
The Earth + Moon + planets + stars + nebulae metaphor. Universal laws. The atmosphere autonomy rule that lets us go bold. |
| 3 | C:\ssClawy\learning-docs\docs\reference\cosmos-philosophy.md |
The full philosophy. Critical clearance line: "Aesthetic constraints — Zen-style restraint is Earth's law, not the cosmos's. A planet can have glow, gradients, glassmorphism, terminal scanlines, retro CRT, soft pastels — if its atmosphere demands them." |
| 4 | C:\ssClawy\learning-docs\docs\reference\cosmos-audit.md |
Single source of truth on every planet. GUARDRAIL § (10 rules). Locked decisions §. Atlas inherits all of GUARDRAIL except #2 (atlas docs live under cosmos/atlas/, which is correct). |
| 5 | C:\ssClawy\learning-docs\docs\reference\voice-and-tone.md |
Sush's voice fingerprints, brag-allergy, voice library (testimonials), tensions to push back on. Card copy on the atlas must echo this. |
| 6 | ~/.copilot/plain-ai-voice-guardrail.md |
Forbidden-words list (frontier · ecosystem · vendor · agentic · etc.). The atlas applies these forbidden words even though the atlas is not Plain AI — Sush's brag-allergy is cosmos-wide. |
| 7 | ~/.copilot/plain-ai-curriculum-philosophy.md |
The constitution that makes Plain AI Curriculum a moon. The atlas MUST surface its 🌱 free forever · no money angle, ever badge prominently on Plain AI's card. Non-negotiable. |
| 8 | C:\ssClawy\learning-docs\docs\cosmos\voice-drift-2026-05-08.md |
Phase 2 audit (per-planet voice verdict). Useful when filling in card copy in voice. |
| 9 | This file (vision.md) |
The creative brief — read top-to-bottom |
| 10 | index.md (sibling of this file) |
The atlas planet overview, written in the docs-portal format. Read second. |
| 11 | The originating session's plan.md |
At C:\Users\ssutheesh\.copilot\session-state\2d6287c4-c2d9-4a49-bf68-a9b874aae308\plan.md. Has the spec evolution + decision history that produced this brief. |
| 12 | The three rejected mockups | At C:\Users\ssutheesh\.copilot\session-state\2d6287c4-c2d9-4a49-bf68-a9b874aae308\files\cosmos-mockups\. Open them once to feel what NOT to ship. They are docs pages; we want a cosmos. |
§A.1 · The first 5 things the new session should do¶
- Read the files in §A in order. Do not draft a single line of code or design proposal until §A 1-9 are read.
- Open the three rejected mockups at
files/cosmos-mockups/index.html(or runpython -m http.server 4280in that folder). Sit with them for 2 minutes. Internalise "this is the wrong category." - Re-read §0 (Sush's verbatim quote) below. The keywords lively · highly interactive · bold and ambitious are the gauge for every decision.
- Confirm the atmosphere call with Sush before writing code — see §12 (deferred decisions). Specifically: Sun representation (invisible glow vs AGTC sigil) · canvas palette · whether ambient sound is in v1 · whether the 3-question router survives.
- Spike the static
?view=listHTML fallback first (Phase 1 in §9). It's the SEO surface, the a11y surface, the "did the data shape work" surface. Build that before the canvas. Deploy it. Then start the canvas with confidence.
§B · Locked decisions (do not relitigate without Sush)¶
These were resolved between Sush and the originating session. The next session inherits them as committed.
| # | Decision | Locked when | Source |
|---|---|---|---|
| 1 | Subdomain: cosmos.aguidetocloud.com — neutral overlook, all planets equal |
8 May 2026 | Option D selection |
| 2 | Scope: planets + moons + content/purpose ONLY. Atlas does NOT list individual tools, certs, blog posts, or mind maps. Each planet's site lists its own content; atlas's job ends at the planet. | 8 May 2026 | Sush's clarification |
| 3 | Plain AI Curriculum is a moon of Plain AI. Earned moon status via own constitution + own audience + own content type + own voice gate. | 8 May 2026 | Sush confirmed |
| 4 | Forward-compatibility for future moons. Agentic and Claw will carve out moons later. Atlas data model supports moons[] per planet so adding a moon is a data edit only — no UI change. |
8 May 2026 | Sush flagged |
| 5 | MCP Star + Constellation gets its own dedicated section — collective MCP Move + per-planet MCP endpoints (live and planned). Justified exception to "no individual tools" because MCPs are infrastructure. | 8 May 2026 | Sush flagged |
| 6 | Atlas is its own planet. Per Cosmos Philosophy, gets full atmospheric autonomy. NOT bound by Earth's Zen-system bans on glow/gradients/glassmorphism. | 8 May 2026 (philosophy) | cosmos-philosophy.md |
| 7 | Three mockups (cartographer / observatory / field-notebook) are REJECTED as the wrong category — too document-shaped, not cosmos-shaped. The atlas is a canvas, not a page. | 8 May 2026 | Sush rejected |
| 8 | Three keywords for v1: lively · highly interactive · bold and ambitious. Anything that doesn't visibly serve all three is wrong. | 8 May 2026 | Sush set |
| 9 | Plain AI's 🌱 free forever · no money angle, ever badge must appear at the TOP of its card and its moon's card. Non-negotiable per the curriculum constitution. |
8 May 2026 | Cosmos law inherited |
| 10 | Forbidden words apply cosmos-wide — frontier · ecosystem · vendor · agentic · robust · scalable · AI-powered · best-in-class · world-class · game changer · synergies · holistic · mission-critical · empowering · unlocking · enabling · in layman's terms. None of these on the atlas. | 8 May 2026 | Brand inherited |
| 11 | Brag-allergy applies. No subscriber counts. No "trusted by". Voices (testimonials with handles) only, sourced from voice-and-tone.md voice library. |
8 May 2026 | Brand inherited |
| 12 | Don't disturb parallel sessions working on voice unification / logo unification / nav changes / planet documentation. Atlas builds in a NEW repo. Reads planets.json. Writes nothing those sessions own. Cross-linking from planet footers to the atlas is deferred until parallel work settles. |
8 May 2026 | Sush's standing constraint |
§C · The 7 worlds — atlas data snapshot (8 May 2026)¶
For convenience. The canonical source is planets.json — atlas reads from there. Use this as the seed for atlas.json:
| # | Slug | Name | Type | URL | Tagline | Atmosphere |
|---|---|---|---|---|---|---|
| 1 | earth |
A Guide to Cloud | 🌍 Home planet | aguidetocloud.com | the home — certs, tools, mind maps | Zen — indigo · Inter |
| 1a | guided |
Guided | 🌑 Moon of Earth | aguidetocloud.com/guided/ | cert prep — affordable practice exams | inherits Earth Zen + own crescent kit |
| 2 | brainbar |
CMD | 🪐 Planet | cmd.aguidetocloud.com | Microsoft jargon decoder | Terminal — phosphor · JetBrains Mono · $_ |
| 3 | shift |
Shift | 🪐 Planet | shift.aguidetocloud.com | the AI job-change wire | Newspaper — cream paper · orange · Playfair |
| 4 | plainai |
Plain AI | 🪐 Planet | plainai.aguidetocloud.com | museum of AI, in plain English | Museum — charcoal · cyan · gradient covers |
| 4a | curriculum |
Plain AI Curriculum | 🌑 Moon of Plain AI | plainai.aguidetocloud.com/learn/ | free-forever lessons, voluntary | inherits Plain AI museum + green commons accent |
| 5 | agentic |
Agentic | 🪐 Planet (standalone physics) | agents.aguidetocloud.com | agent cockpit — for techies | Cockpit — #07090E ink · signal palette |
| 6 | claw |
Claw | 🪐 Planet (standalone physics) | claw.aguidetocloud.com | OpenClaw study reference — plain English | Study reference — light/dark · OpenClaw red |
| ★ | mcp |
MCP Move | ⭐ Star (invisible Star) | mcp.aguidetocloud.com | machine-readable cosmos | n/a — it's the Star |
Per-planet MCP endpoint constellation (live as of 8 May 2026; rest are planned):
- ★ MCP Move — collective — LIVE
- 🪐 CMD — cmd-index.json — LIVE
- 🪐 Agentic — data feed — LIVE (confirm with Sush)
- 🌍 Earth — planned
- 🪐 Plain AI — planned
- 🪐 Shift — planned
- 🪐 Claw — planned
§0 · The vision in Sush's own words (8 May 2026, ~10:45 NZST)¶
"What I had in mind was an abstract — like dots or logos circling the sun with physics. Users can click or zoom into a planet — it will reveal the moon and a card showing what that planet is. Lively, highly interactive, very bold and ambitious. The most boldest attempt with physics and interactive and groundbreaking way of representation."
Translation into design-speak: - A living solar system — orbits actually rotating, not a static diagram. - Each planet is a glowing body / icon orbiting at its own distance, speed, gravitational ID. - Click a planet → camera zooms / planet expands → moons reveal → card slides in. - Physics-feel, not literal Newtonian sim: stylized Kepler orbits with eased motion. - The whole page IS the map. Reading happens on demand, not on scroll.
What the visitor experiences in 3 seconds of landing: 1. "Whoa, what is this?" — visceral, unlike any other docs / project portal. 2. The cosmos is alive — planets visibly orbit; stars twinkle; depth implied via parallax. 3. Hovering a body lights it up. Clicking it pulls the visitor in. 4. No reading required to understand the structure. The visual is the explanation.
§1 · Why the three mockups failed¶
The first three mockups (cartographer / observatory / notebook) all defaulted to a document register: - Long-page scrolling - Hero → headings → cards → tables → footer - Reader goes top-to-bottom - The "atmosphere" was just font + colour palette + voice
Sush's rejection: "this look like another long page with lots of text and iteration. In my mind I had an abstract..."
The category mistake: I treated the atlas as a docs page about the cosmos. Sush wants the atlas to be the cosmos. The page is not about a map — the page is the map.
Future sessions: do not propose another long-form layout. The atlas is a canvas, not a page.
§2 · The 30-second elevator pitch¶
A first-time visitor opens
cosmos.aguidetocloud.comand sees a dark, alive expanse. At the centre, a soft pulsing source. Around it, seven luminous bodies orbit in stylised concentric ellipses. Each body has its own colour, glyph, and orbital speed. A small moon orbits Earth. Another orbits Plain AI. Tiny stars twinkle in the background — the MCP constellation. Hover a planet and it lights up; the orbit highlights; its name floats. Click and the camera glides toward it; the planet expands to fill a third of the screen; a card slides in with one paragraph of who-it-for and a "Visit →" CTA. Click empty space and you're back in the overview, planets resuming their dance.
That's the whole product. No long-form text. No scroll. Map first, content on demand.
§3 · Inspirations to mine (with sharp pointers)¶
These are the closest references for what we want to feel like — not what to copy. Each gets a one-line "what to steal":
Solar-system / cosmos visualisations¶
- NASA Eyes on the Solar System (eyes.nasa.gov) — steal: click any body to focus, real orbital data, depth via 3D camera. Their site has accessibility issues; we'll do better.
- Stellarium Web (stellariumweb.org) — steal: the deep-time mood, drag to pan, low-chrome UI overlay.
- Solar System Scope (solarsystemscope.com) — steal: the "feel of weight" via lighting and shadow on planets, even small ones.
- Pieter Levels — Nomadlist's bygone solar visualization — steal: indie, opinionated, doesn't take itself too seriously.
WebGL portfolio sites that broke the rules¶
- Bruno Simon — bruno-simon.com — steal: the audacity. He drives a car around his portfolio. We can have you fly a small ship through the cosmos. (Don't actually do that — but match the energy.)
- Robby Leonardi — rleonardi.com — steal: horizontal scroll storytelling, custom controls.
- awwwards.com WebGL of the Year winners — survey-only, then steal interaction motifs (parallax depth, particle bursts on click).
Non-solar but groundbreaking¶
- Google Arts & Culture's "Visiting the Last Polar Bears" — steal: the way they zoom from a global map down to a single subject with a connective animation.
- The Pudding's interactive essays (pudding.cool) — steal: tasteful data-viz baked into the visual itself, no chart legend required.
- Linear's homepage hero — steal: the ambient parallax that suggests depth without overwhelming.
- Stripe's "Press" page — steal: dense info hidden behind tiny interactions, never overwhelming on first view.
- Apple's homepage product transitions — steal: the camera-language of "click → glide → focus → return".
From the world of literal universe metaphors¶
- xkcd's What If? "Umwelt" (the comic) — steal: every visitor sees a slightly different cosmos based on signals (use sparingly; don't break shareability).
- Cosmos by Carl Sagan (the original 1980 series) — steal: the awe pacing. Don't rush. Each planet deserves a beat of silence.
Soundscape (open question for Sush)¶
- Brian Eno's Apollo: Atmospheres and Soundtracks — if we add ambient sound, this is the reference. Off by default, opt-in toggle. Avoid by default — perf + accessibility + autoplay rules.
§4 · The visual model (proposed v1)¶
The stage¶
- Full-bleed dark canvas. No header, no footer in the initial view — just the cosmos.
- Subtle starfield background — CSS-only first, particles if we have perf headroom.
- Light fog/nebula gradient at the edges — depth, not noise.
- Tiny minimal HUD in one corner: a small "?" for help, a "list view" toggle for accessibility, a "↗ visit" indicator on hover.
The Sun (centre)¶
- Per Cosmos Philosophy: ☀️ Sun = AI co-founder, invisible, feeds everything.
- Render it as a soft pulsing orb — no label, no name. It just is.
- Or: render the AGTC brand sigil as the gravitational anchor, with a hover tooltip "the cosmos is held together here."
- Sush decides this in the new session. Both are defensible.
The orbits¶
- Seven concentric ellipses (slight tilt — not perfect circles, not boring).
- Each orbit has a soft glowing trail showing path-of-travel.
- Inner orbit closest to Sun: Earth (with its moon Guided as a small body orbiting Earth).
- Outer orbits: CMD, Shift, Plain AI (with moon Curriculum), Agentic, Claw — at varied distances.
- Each planet moves at its own stylised angular velocity (faster inner, slower outer — Kepler-flavoured but tuned for visual rhythm, not physics correctness).
- Planets carry their own glow colour matching their atmosphere:
- Earth: warm indigo (Zen)
- Guided (moon): silver-cream (its crescent kit colours)
- CMD: phosphor green/amber (terminal)
- Shift: warm orange (newspaper)
- Plain AI: cyan/cool white (museum)
- Plain AI Curriculum (moon): soft green (its constitutional voluntary-work colour, TBD)
- Agentic: cool steel + signal accents (cockpit)
- Claw: red (OpenClaw red)
The stars (background)¶
- The MCP Constellation lives in the background — twinkling stars at fixed coordinates.
- Hover a star: small label "MCP — machine-readable surface."
- Click a star: opens the MCP Constellation card (a nested overview, similar to a planet card).
- Visual differentiation: stars are smaller, twinkle, no orbit ring.
Interaction states¶
| State | What it looks like |
|---|---|
| Idle | All planets orbit at their own pace; ambient drift; no UI overlays |
| Hover planet | Orbit ring highlights; planet glows brighter; floating label appears beside the body with name + tagline |
| Click planet | Camera glides toward the body (~600ms ease-out); planet expands; orbit motion pauses; other planets dim; CARD slides in from the right (or up on mobile) with content; close-X visible |
| Card open | Card has: name, type badge, tagline, "who it's for" (one line), "what you'll find" (one line), atmosphere note, status badge, founder note (one sentence), moons (if any, expandable inline), [Visit →] CTA. NO long text. |
| Click moon (when planet card is open) | Moon expands inline with its own mini-card |
| Click empty space / X / Esc | Reverse animation; back to overview |
Reduced-motion (prefers-reduced-motion) |
Static SVG layout: planets in fixed positions in their orbits; no animation; click still works; cards slide without ease |
| Mobile (<720px) | Smaller orbits, simpler interactions, "list view" toggle prominent in the HUD as fallback |
Voice on the cards¶
The card register stays Sush's voice fingerprints — same voice rules as the rejected mockups, just way less text per card. See §6 below.
List-view fallback (always available)¶
- Sush's accessibility commitment + SEO commitment: a
?view=listquery param renders a fully static HTML version with all the same content, no canvas, no JS required. - Search engines crawl this. Screen readers consume this. Keyboard-only users use this. Slow connections use this.
- The list view is honest about the cosmos: "Static map for accessibility, low-bandwidth, and bots. The interactive version lives at /."
- This keeps the page accessible AND lets the visual be ambitious.
§5 · Tech stack proposal¶
Core libraries (proposed; final call lives with the build session)¶
| Layer | Choice | Why |
|---|---|---|
| Rendering | Canvas 2D (recommended for v1) — promotes to PixiJS if we hit perf limits | Lighter than Three.js, easier to debug, plenty for 7 planets + 2 moons + stars. Three.js is overkill unless we go full 3D camera. |
| Animation | GSAP for camera/card transitions, requestAnimationFrame loop for orbit motion |
GSAP is mature, accessible (respects prefers-reduced-motion), tiny when tree-shaken |
| Layout | Astro (already in the cosmos toolchain) for HTML shell + accessible static fallback | Astro lets us SSR the list-view fallback for free; canvas mounts client-side |
| Build | Vite (Astro's default) | Already familiar |
| Data | planets.json (mirrored from existing 5-file manifest) |
Single source of truth; per Cosmos Audit GUARDRAIL #10 |
| Type | TypeScript for the canvas controller | Catches geometry bugs early |
Alternative: full Three.js if Sush wants 3D camera¶
- Pros: real depth, can tilt/pan, planets-as-spheres-with-textures
- Cons: heavier (~150kb gzipped), harder to debug, overkill for 7 bodies
- Recommendation: v1 = Canvas 2D. v2 (if we want it grander) = Three.js port.
Performance budget¶
- 60fps on mid-range Android (Pixel 6, iPhone 12)
- Total page weight ≤ 250 KB (HTML + CSS + JS + fonts) — generous because of the canvas
- First Contentful Paint < 1.5s
- Time-to-interactive < 2.5s
- Lighthouse Performance ≥ 90
Accessibility budget (NON-NEGOTIABLE)¶
- Keyboard navigation: Tab through planets in orbit order. Enter opens. Esc closes. Arrow keys can rotate focus.
- ARIA: every body has
role="button"+aria-label="Earth — A Guide to Cloud, the home". - Screen reader fallback: auto-redirect to
?view=listif a screen reader is detected (heuristic — best effort) OR just a prominent "list view" link in HUD. prefers-reduced-motion: orbits stop moving; card transitions have no easing.- Contrast: all visible text ≥ WCAG AA on the dark background.
- No autoplaying audio. Ever.
- Focus rings: visible on keyboard navigation.
- Skip-link: "Skip to list view" as the very first focusable element.
SEO budget¶
- Static
?view=listHTML must be the default for crawlers (User-Agent sniff or<link rel="alternate">). - All planet content on the static fallback.
<title>,<meta description>, OG tags,SiteNavigationElementJSON-LD.- The interactive canvas does NOT block SEO.
§6 · Voice — same belief, way less text¶
The brag-allergy and forbidden-word rules apply to every word on the cards. What changes from the mockups: drastically less text per card.
| Element | Word budget per card |
|---|---|
| Planet name | 1-3 words |
| Tagline | 5-9 words |
| "Who it's for" | 1 sentence (≤ 18 words) |
| "What you'll find" | 1 sentence (≤ 22 words) |
| Founder note | 1 sentence in Sush's voice (≤ 22 words) |
| Moon note (if present) | 1 sentence each |
| Status / atmosphere / type badges | 1-2 words each |
Total card body ≤ 100 words. Anything longer breaks the contract — atlas's job ends at the planet.
Forbidden words (cosmos-wide): ecosystem · frontier · vendor · agentic · robust · scalable · AI-powered · best-in-class · world-class · game changer · synergies · holistic · mission-critical · empowering · unlocking · enabling · in layman's terms.
Sush's phrasing fingerprints to use (from voice-and-tone.md):
- "What overflows lands here."
- "For people like us."
- "In my head, I'm still the curious intern."
- "Honest take?"
§7 · The Plain AI constitutional firewall (still applies)¶
When the Plain AI card opens, the badge 🌱 free forever · no money angle, ever must be visible at the top of the card, NOT buried below the fold. Same goes for the Plain AI Curriculum moon card.
This is non-negotiable per ~/.copilot/plain-ai-curriculum-philosophy.md — "a session that ships a feature violating §0 has shipped a brand violation, not a feature."
§8 · Cosmos data model (locked from this session)¶
The atlas reads planets.json and adds atlas-specific fields in a sibling atlas.json (so we don't pollute the canonical manifest). Atlas-specific fields per planet:
{
"slug": "earth", // matches planets.json
"orbit": {
"radius": 220, // pixel-ish, scales to viewport
"ecc": 0.05, // eccentricity (0 = circle, 0.3 = elongated)
"tilt": 8, // orbit-plane tilt in degrees
"speedSec": 90, // seconds per full orbit
"phase": 0 // starting angle in degrees
},
"body": {
"size": 14, // pixel radius
"glow": "#6366F1", // atmosphere accent
"icon": "/icons/earth.svg" // existing planet-icon SVG
},
"moons": [
{ "slug": "guided", "orbit": { "radius": 28, "speedSec": 18 }, "body": { "size": 6, "glow": "#E0D7BE" } }
],
"card": {
"type": "🌍 Home planet",
"atmosphere": "Zen",
"status": "live",
"tagline": "the home — soft, patient, giving",
"audience": "Anyone learning Microsoft cloud or AI for the first time, especially from a non-developer background.",
"content": "Tools, mind maps, certification paths, and a long-running blog. Each one started because Sush needed it himself, then it overflowed.",
"founder": "In my head, I'm still the curious intern. Earth is where everything overflows.",
"url": "https://www.aguidetocloud.com/"
}
}
Future moons drop in by adding to moons[]. Future planets drop in by adding a top-level entry. No UI refactor needed.
§9 · Build phases (for the session that picks this up)¶
- Phase 0 — Vision lock with Sush (pre-build call): confirm interactive solar system as the right metaphor; lock atmosphere palette; sign off on tech stack
- Phase 1 — Static skeleton (Astro shell +
?view=listfallback): build the accessible HTML version FIRST. Voice-pass it. Deploy to a staging URL. This is also the SEO version. - Phase 2 — Canvas hello-world: render 7 planets in fixed positions on a dark canvas. No motion yet. Use placeholder dots for icons.
- Phase 3 — Orbital motion: stylized Kepler orbits. Tune speeds for visual rhythm. Add starfield.
- Phase 4 — Interaction: hover states, click-to-zoom, card slide-in, close behaviour.
- Phase 5 — Voice + content: fill cards with real content from
atlas.json(curated by Sush fromplanets.json+ new fields). - Phase 6 — Per-planet glyph: replace placeholder dots with the actual planet icon SVGs.
- Phase 7 — Moons: Guided orbiting Earth, Curriculum orbiting Plain AI; click behaviour.
- Phase 8 — Stars / MCP Constellation: background twinkling stars; click → MCP card.
- Phase 9 — Accessibility audit: keyboard nav, ARIA, reduced-motion, screen-reader fallback, contrast, focus rings.
- Phase 10 — Performance pass: framerate on mobile, lighthouse, lazy-load icons, code-split.
- Phase 11 — Deploy: new Cloudflare Pages project
cosmos-atlas, DNS forcosmos.aguidetocloud.com, OG image, sitemap. - Phase 12 — Cross-link (only after parallel voice/logo/nav/parity sessions land): add a single link from each planet's footer pointing to
cosmos.aguidetocloud.com.
§10 · Risks and mitigations¶
| Risk | Mitigation |
|---|---|
| Canvas / WebGL inaccessible | Static ?view=list fallback ships in Phase 1 BEFORE the canvas. SEO + a11y land first. |
| Performance on low-end mobile | Reduce to ≤6 stars on small screens; pause orbits on prefers-reduced-motion; lazy-load if scrolled into view. |
| Visitors don't understand the metaphor | Tiny "?" HUD opens a 30-second guided tour overlay (skippable). Plus the static list view is one click away. |
| Voice drift into "wow look at me" marketing | Apply the four voice tests + brag-allergy at every card edit. Forbidden-words list enforced via lint. |
| Plain AI brand contamination | Constitutional firewall badge visible immediately on the Plain AI / Curriculum cards. |
| Other in-flight sessions (voice/logo/nav/parity) collide | Atlas builds in a NEW REPO. Reads planets.json. Writes nothing other sessions own. |
| Future planets / moons require refactor | Data model designed for it (§8). New planets = data edit only. |
| Sush wants 3D after launch | Canvas 2D → PixiJS → Three.js is a forward-compatible upgrade path. |
| It feels gimmicky / once-only | Make the orbits useful — let the visitor genuinely navigate. Add subtle reasons to come back (status changes, last-updated halos, "what's been updated" pulse). |
| Dependence on JS for SEO | Static fallback ?view=list is the indexable surface. The interactive canvas is progressive enhancement. |
§11 · What success looks like¶
Within 30 seconds of opening cosmos.aguidetocloud.com, a first-time visitor can:
1. Feel the cosmos is alive, not a brochure
2. Understand there are seven worlds + the relationships between them, without reading
3. Identify which world is for them — visually, before reading a single sentence
4. Click into the relevant world and read ≤ 100 words to confirm
5. Visit the relevant planet via a clear CTA
Within 24 hours of launch, the project should: - Pass Lighthouse a11y ≥ 95, perf ≥ 90 - Show up in Google with the static fallback indexed - Get someone to send Sush a Teams DM saying "this is the coolest thing I've ever seen for a docs site" - Trigger at least one "I didn't know about [Plain AI / CMD / Shift]" discovery from existing fans
If any of those fail, we iterate. If two or more fail, we revisit the metaphor.
§12 · What this brief explicitly does NOT decide (deferred)¶
These are decisions for the next session: - Sun representation — invisible glow vs AGTC sigil at centre - Whether ambient sound is a v1 feature (default off, opt-in) - Mobile interaction model — same as desktop with simpler orbits, or fully different list-first layout - Atlas's own font / palette specifics (per Cosmos Philosophy, atlas gets its own atmosphere — but the canvas BG and accent palette are TBD; current hint is dark cosmic with multi-coloured glow per planet) - The 3-question router quiz from earlier specs — does it still apply? Probably yes, lives as a HUD overlay or first-time-visitor tour - Curated journal-public.json (Open Laboratory) — keep, or skip for v1? - Voices block — keep, or skip for v1?
The build session asks Sush these one at a time as it builds.
§13 · The single most important thing for the build session to remember¶
The atlas is not a webpage. It's the cosmos.
If at any point the build session feels like it's writing a docs page, stop. Go back to the canvas. Make the visual carry more weight, the text carry less. The bar is "someone screenshots this for fun."
End of vision brief. Sister files: index.md (planet overview for learning-docs/docs/cosmos/atlas/), resume-prompt.md (starter prompt for the new session). Locked decisions log lives in plan.md of the originating session (state ID 2d6287c4-c2d9-4a49-bf68-a9b874aae308).