feat(aterm): render the roster's window background instead of deriving one (#1245) #1280

Merged
coilysiren merged 1 commit from aos/claude/mu55-derived-background into main 2026-08-26 09:46:31 +00:00
Member

The aterm half of coilyco-flight-deck/agent-compose#358. The upstream half landed on agent-compose main as 32c972d.

Why it could not be solved here

Separation is a property of the set. A launcher holding one overlay sees one role, so it can only tint that role's accent into a shared near-black and hope. Seven accents tinted the same way land inside the side-by-side JND of each other:

tinted (today)   closest pair 0.0109 OKLab
solved upstream  closest pair 0.0386        3.5x

Only the roster sees all seven at once, which is the correctness argument for landing the solve there rather than adding a smarter tint here.

What changed here

buildBrand renders document.Background when the overlay carries one:

platform  #1f2000     sysadmin  #00242e     eval    #002616
frontend  #28152f     gamedev   #111d38     tpm     #331119
devrel    #301700

The 8 percent tint stays as the fallback, because every installed agent-compose is too old to ship the key, including the v2.54.0 this was developed against. That fallback disappears on its own once the release lands, and nothing has to change here when it does.

An unparsable background is refused rather than quietly tinted over, since a bad value from the roster is a contract break and not a reason to guess.

The accent is untouched. favorite_color is authored identity; this adds a derived value beside it, exactly as the issue asks.

Verification

  • just aterm-test, just aterm-contract, just aterm-fmt, just aterm-lint clean; pre-commit run --all-files clean
  • new test covers all three branches: no background still tints to #1b1c18, a background wins and is lowercased, an unparsable one is refused, and the accent does not move in any of them
  • the live contract suite still passes against the installed v2.54.0, which exercises the fallback path
The aterm half of coilyco-flight-deck/agent-compose#358. The upstream half landed on agent-compose `main` as `32c972d`. ## Why it could not be solved here Separation is a property of the set. A launcher holding one overlay sees one role, so it can only tint that role's accent into a shared near-black and hope. Seven accents tinted the same way land inside the side-by-side JND of each other: ``` tinted (today) closest pair 0.0109 OKLab solved upstream closest pair 0.0386 3.5x ``` Only the roster sees all seven at once, which is the correctness argument for landing the solve there rather than adding a smarter tint here. ## What changed here `buildBrand` renders `document.Background` when the overlay carries one: ``` platform #1f2000 sysadmin #00242e eval #002616 frontend #28152f gamedev #111d38 tpm #331119 devrel #301700 ``` The 8 percent tint stays as the fallback, because every **installed** agent-compose is too old to ship the key, including the v2.54.0 this was developed against. That fallback disappears on its own once the release lands, and nothing has to change here when it does. An unparsable `background` is refused rather than quietly tinted over, since a bad value from the roster is a contract break and not a reason to guess. The accent is untouched. `favorite_color` is authored identity; this adds a derived value beside it, exactly as the issue asks. ## Verification * `just aterm-test`, `just aterm-contract`, `just aterm-fmt`, `just aterm-lint` clean; `pre-commit run --all-files` clean * new test covers all three branches: no `background` still tints to `#1b1c18`, a `background` wins and is lowercased, an unparsable one is refused, and the accent does not move in any of them * the live contract suite still passes against the installed v2.54.0, which exercises the fallback path
feat(aterm): render the roster's window background instead of deriving one (#1245)
All checks were successful
ci / aos-eval-tests (pull_request) Successful in 8s
ci / aos-cli-tests (pull_request) Successful in 32s
ci / gate (pull_request) Successful in 1m2s
ci / ward-doctor (pull_request) Successful in 3m16s
dc4016dc50
agent-compose#358 lands the solve upstream, because separation is a property of
the set and a launcher holding one overlay cannot compute it. Seven accents
tinted the same 8 percent into a near-black land inside the side-by-side JND of
each other, measured 0.0109 in OKLab against a solved 0.0386.

aterm now renders `background` when the overlay carries one. The old tint stays
as the fallback for an agent-compose too old to ship it, which is every
installed one until that release lands, and an unparsable value is refused
rather than quietly tinted over.

The accent is untouched. It is authored identity, not a derived value.

Refs agent-compose#358

Co-authored-by: Kai Siren <coilysiren@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
Agent-Role: platform
coilysiren deleted branch aos/claude/mu55-derived-background 2026-08-26 09:46:31 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
coilyco-flight-deck/agentic-os!1280
No description provided.