Skip to content

docs(brand): add the Astra logo and use it in the README header - #809

Merged
mergify[bot] merged 1 commit into
matrixorigin:mainfrom
dengn:docs/brand-logo
Sep 18, 2026
Merged

mergify[bot] merged 1 commit into
matrixorigin:mainfrom
dengn:docs/brand-logo

Conversation

@dengn

@dengn dengn commented Sep 18, 2026

Copy link
Copy Markdown
Collaborator

Summary

Adds an Astra logo and puts it at the top of the README.

  • Mark: an A crossed by an orbit. The A is Astra and the durable Work it holds; the orbit is the agent runtime loop (context → decision → execution → evidence → context), passing in front of the A and behind it; the blue node on the orbit is the running agent.
  • Wordmark: monoline lowercase astra whose t is a plan branch (├─●), the same glyph the Explain Analyze DAG prints.
  • Lockups: mark + wordmark, and mark + wordmark + an AGENT RUNTIME descriptor.
  • Colors: one hue. Structure #0A1A3A on light / #E8F0FF on dark; the parts that run (orbit, agent node, node on the t) #2F6BFF / #5B93FF. Both blues clear 4.5:1 against their background.

13 SVG files live in docs/assets/logo/, in light, dark and (for the mark) currentColor mono variants, plus a heavier cut for 32px and below. All are plain geometry with no font dependency, each under 3 KB. docs/assets/logo/README.md records which file to use where and the usage rules.

The README header uses the plain lockup and switches to the dark file under prefers-color-scheme: dark, the same <picture> pattern the diagrams already use. The descriptor lockup is left out of the README on purpose: the subtitle directly below already reads "An agent runtime", so the header would say it twice.

Related issue

None.

Change type

  • Feature
  • Bug fix
  • Documentation
  • Refactor or performance improvement
  • Test
  • Build, CI, or maintenance

User and compatibility impact

None. Documentation assets and the README header only. The # Astra heading is replaced by the logo image with alt="Astra"; nothing in the repository links to the #astra anchor.

Architecture and complexity delta

N/A

Verification

  • Commands and results: python3 scripts/ci/validate_repository.pyrepository metadata: ok, including the local-link check over the new docs/assets/logo/README.md. xmllint --noout passes on all 13 SVGs.
  • Visual check: every file rendered in headless Chrome at 170, 64, 32 and 16 px on white and on #081225; the 32 px and 16 px checks use the favicon cut.
  • Public entrypoint exercised: N/A (docs).
  • Unhappy paths exercised: N/A.
  • Database verification: N/A.

Final checklist

  • No test needed (static assets and README).
  • No design documentation change needed.
  • I checked the diff for credentials, private URLs, customer data, generated files, and other sensitive information.
  • The PR title follows the repository's Conventional Commit format.

Before this is used beyond the repository (website, stickers, social accounts), it is worth a trademark search: "Astra" is a crowded name in software.

🤖 Generated with Claude Code

Add the logo system under docs/assets/logo: the mark (an A crossed by an
orbit, where the orbit is the agent runtime loop and the blue node is the
running agent), a heavier cut for 32px and below, the wordmark whose t is
a plan branch, and lockups with and without the AGENT RUNTIME descriptor,
each in light, dark and where useful mono variants. All files are plain
geometry SVG with no font dependency. A short README next to the files
records which file to use where, the colors, and the usage rules.

The README header now shows the horizontal lockup, switching to the dark
variant under prefers-color-scheme: dark. The plain lockup is used rather
than the descriptor lockup because the subtitle directly below already
says "An agent runtime".

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@dengn
dengn requested a review from XuPeng-SH as a code owner September 18, 2026 01:29
@mergify mergify Bot added the queued label Sep 18, 2026
@mergify

mergify Bot commented Sep 18, 2026

Copy link
Copy Markdown
Contributor

Merge Queue Status

  • Entered queue2026-09-18 01:42 UTC · Rule: main · triggered by rule Automatic queue on approval for main
  • Checks skipped · PR is already up-to-date
  • Merged2026-09-18 01:43 UTC · at b0c5a6e22bfd35cafaac995fe0ff7ff7958a9f41 · squash

This pull request spent 14 seconds in the queue, including 3 seconds running CI.

Required conditions to merge
  • #review-threads-unresolved = 0 [🛡 GitHub branch protection]
  • github-review-approved [🛡 GitHub branch protection]
  • any of [🛡 GitHub branch protection]:
    • check-success = Check PR title
    • check-neutral = Check PR title
    • check-skipped = Check PR title
  • any of [🛡 GitHub branch protection]:
    • check-success = check
    • check-neutral = check
    • check-skipped = check
  • any of [🛡 GitHub branch protection]:
    • check-skipped = Test: core crates + bridge hooks
    • check-neutral = Test: core crates + bridge hooks
    • check-success = Test: core crates + bridge hooks
  • any of [🛡 GitHub branch protection]:
    • check-skipped = Test: astra-runtime
    • check-neutral = Test: astra-runtime
    • check-success = Test: astra-runtime
  • any of [🛡 GitHub branch protection]:
    • check-success = Test: astra-cli (edge-fs-tools)
    • check-neutral = Test: astra-cli (edge-fs-tools)
    • check-skipped = Test: astra-cli (edge-fs-tools)
  • any of [🛡 GitHub branch protection]:
    • check-success = Test: astra-cli (edge-git-gix)
    • check-neutral = Test: astra-cli (edge-git-gix)
    • check-skipped = Test: astra-cli (edge-git-gix)
  • any of [🛡 GitHub branch protection]:
    • check-success = Test: astra-cli (edge-rest)
    • check-neutral = Test: astra-cli (edge-rest)
    • check-skipped = Test: astra-cli (edge-rest)
  • any of [🛡 GitHub branch protection]:
    • check-success = Test: astra-cli (edge-shell)
    • check-neutral = Test: astra-cli (edge-shell)
    • check-skipped = Test: astra-cli (edge-shell)
  • any of [🛡 GitHub branch protection]:
    • check-success = Test: astra-cli (non-edge)
    • check-neutral = Test: astra-cli (non-edge)
    • check-skipped = Test: astra-cli (non-edge)
  • any of [🛡 GitHub branch protection]:
    • check-success = Test: online (core)
    • check-neutral = Test: online (core)
    • check-skipped = Test: online (core)
  • any of [🛡 GitHub branch protection]:
    • check-success = Test: online (integration)
    • check-neutral = Test: online (integration)
    • check-skipped = Test: online (integration)
  • any of [🛡 GitHub branch protection]:
    • check-skipped = Test: turn-core + services + plan
    • check-neutral = Test: turn-core + services + plan
    • check-success = Test: turn-core + services + plan
  • any of [🛡 GitHub branch protection]:
    • check-skipped = web (typecheck, test, build)
    • check-neutral = web (typecheck, test, build)
    • check-success = web (typecheck, test, build)
  • any of [🛡 GitHub branch protection]:
    • check-skipped = Astra SDK (typecheck, test+coverage, build)
    • check-neutral = Astra SDK (typecheck, test+coverage, build)
    • check-success = Astra SDK (typecheck, test+coverage, build)

@mergify
mergify Bot merged commit b0c5a6e into matrixorigin:main Sep 18, 2026
23 of 24 checks passed
@mergify mergify Bot removed the queued label Sep 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants