Redraw the banner tagline, now that the repository description names a composer #372
Labels
No labels
burndown-2026-08
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
coherence-core
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
qa-fixture
role/advocate
role/director
role/exec
role/frontend
role/gamedev
role/human
role/platform
role/qa
role/science
role/sysadmin
state
ambient
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-flight-deck/agent-compose#372
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Design Engineer lane. Commissioned by Kai, handed over from the Developer Advocate seat with the wording settled and the layout call left open.
Why
The repository description changed in
add90ca, fromEval driven agent roles and personastoAn eval driven composer for agent roles and personas. The banner carries the old tagline baked into the image, so it now contradicts the repository page it heads.The substantive half of that change is composer. housecast's description had been reading as a component of this project because it opened on "composition engine", so the word went back to the project named for it. A banner still saying "agent roles and personas" loses the half the change was for. The article is not the point and should not reach the banner.
The wording, settled
Do not take the new description verbatim. A banner tagline is a shortened lockup variant rather than a copy, which is umbra's existing precedent in this estate: its banner reads
a config driven occlusion frameworkwhile its description readsA config driven occlusion framework for your CLIs and APIs. The trailing phrase is dropped because the lockup does not need it.Current tagline is 36 characters. Options, with the width consequence stated, since the type sits directly under a wordmark line it must not outrun:
Eval driven composer for roles and personas(43, +19%). Keeps both nouns and drops "agent", which the wordmark immediately above already says. That is umbra's habit applied here: drop what the context supplies.Eval driven composer for agent roles(36, +0%). A true drop-in if width turns out to be tight. Loses "personas", which is a real loss rather than a trim.Eval driven composer for agent roles and personas(49, +36%).An eval driven composer for agent roles and personas(52, +44%) is the description verbatim and is not recommended. An article reads wrong in a lockup, and at constant point size this line would render wider than theagent-compose // $ acomposeline above it, inverting the hierarchy.Wording is the Developer Advocate seat's and the above is settled. Whether the recommendation fits is the Design Engineer's call, and a shorter option is available above rather than needing a new round trip. Take one and say which.
Where it lives
assets/banner/agent-compose-banner.jpg, 2560x1280, one file and no other form.scripts/banners/agent_compose_banner.pyinagentic-os-xxx, not in this repository. Its working record is in that repo'skai-comfyui-agenticskill.docs/compose-marks.md. Its### Typesection describes the lockup without quoting the tagline, so it needs no edit unless the layout changes.Downstream, in coilysiren/website
Seven places carry the old string. All are content rather than behaviour, and the derived images come from one recipe.
just derive-project-assetsregeneratesagent-compose.jpg,-2x.jpg,-card.jpg, and-texture.jpgfrom the banner.-card.jpgis theogImage, so a stale one is what a link preview shows.src/data/projects.js:29- thealtstring, a faithful transcription of the rendered banner.src/projects/agent-compose.njk-title(line 4),ogImageAlt(9),softwareSchema.claim(12), and the renderedproject__claim(32).src/llms.njk:22.src/data/docs-manifest-agent-compose.js:15- the docs front-door description, written this morning in 007ae11.Those five text sites are microcopy inside a surface the Design Engineer owns, so they travel with the redraw rather than needing a separate handoff. Flagging them because a redraw that stops at the image leaves the page contradicting its own banner, which is the defect this issue exists to close.
Acceptance criteria
assets/banner/agent-compose-banner.jpgrenders the settled tagline, still 2560x1280 and under the 1 MB social-preview cap.agent-compose // $ acomposeline above it.Not in scope
The repository's social preview is a setting rather than a file and stays an operator action, per
docs/compose-marks.md. The mark itself does not change.Ownership
Filed from the Developer Advocate seat, which owns the wording and does not own the drawing. Redrawing the asset and deciding the layout is Design Engineer work. Handing it to the Design Engineer seat.
Tagline settled:
Eval driven composer for roles and personas. Delphi measured every candidate rather than taking the ratio on faith, and is redrawing now.Measured widths, against the heading line
The generator's own docstring holds the constraint: the tagline stays narrower than the name. Delphi's numbers, Avenir Next at the real sizes:
SHIPPED, heading 709px:
Eval driven composer for agent roles, 36ch - 519px - 73%, fitsEval driven composer for agent roles and personas, 49ch - 718px - 101%, over by 9pxTILE and BESIDE clear everything, the settled line at 57% and 70%.
The finding worth keeping past this issue
SHIPPED binds, and the intuition runs the other way. TILE and BESIDE use
heading_fitto scale the heading up to fill the frame, reaching 86% and 77% of the width. SHIPPED uses fixed sizes and its heading spans only 55%, so it has the narrowest heading relative to its frame and a long tagline fails there first. A line that survives the tile can still break the banner.This issue costed the change as a single render, because
docs/compose-marks.mddescribes the 2560 as "the only form, one file, not four". That is true of what ships and not of what the generator draws. Size a future tagline against SHIPPED rather than against whichever form is in front of you.On keeping "agent"
Eval driven composer for agent roles and personasmisses by nine pixels in one preset, not by a mile, and a tagline size drop from 31/1280 to 30/1280 would seat it without touching the 31/50 contrast the docstring defends. Recording it so the option is visible rather than quietly foreclosed.Not taking it. The settled line drops "agent" because the wordmark directly above already says it, which is the same reason umbra's banner drops "for your CLIs and APIs", and buying a size reduction to keep a word the lockup supplies is the wrong trade. Kai can overrule this cheaply if she wants the word back.
Website strings, settled
Handed to Delphi in full so they travel with the regenerated images rather than landing a commit apart, which would leave the page contradicting its own banner. Two registers on purpose.
Lockup form, matching the tagline:
src/data/projects.js:29, andsrc/projects/agent-compose.njkat lines 4, 9, 12, and 32.Description form, where it is prose and unconstrained:
src/llms.njk:22andsrc/data/docs-manifest-agent-compose.js:15.Line 4 takes the lockup form rather than the fuller one because the description version puts that title tag at 84 characters and results truncate near 60.
Both halves landed.
agentic-os-xxx@9ef7bdacoilyco-flight-deck/agent-compose@870d396, one file replaced in placecoilysiren/website@92f9f99, one commit so the page never contradicted itselfShipped tagline:
Eval driven composer for roles and personas, verified by eye in the rendered 1280 as well as by measurement. It seats under the wordmark, stays narrower, hierarchy holds.Acceptance criteria
Correction to this issue's own framing
This issue said "one file". The estate carries two forms of this banner on purpose, and the issue would have sent a reader to the wrong one.
assets/banner/.src/images/banners/.docs/compose-marks.mdsays "one file, not four", which is true of what this repository ships and not of what the generator draws for other consumers. The precedent iscoilysiren/website@e97dc5con 2026-08-14, the same operation for the same reason, which names the BESIDE layout and those two frames explicitly. Copying the 2:1 into the website's 2.6:1 slot would have been the silent failure here, and checking dimensions rather than filenames is what caught it.The decision not to commit the other five forms into this repository still stands and is unaffected. No surface asked.
Two findings worth keeping
SHIPPED binds, against intuition. TILE and BESIDE use
heading_fitto scale the heading up to fill the frame, reaching 86% and 77% of width. SHIPPED uses fixed sizes and its heading spans only 55%, so it has the narrowest heading relative to its frame and a long tagline fails there first. Size a future tagline against SHIPPED.The redraw was surgical, and it shows downstream. Every changed pixel falls inside x 0.48-0.88, y 0.48-0.59, the tagline band exactly. Field, mark and wordmark are pixel-identical, which is stronger than the generator docstring's own 0.0075 RMSE rebuild tolerance. The consequence:
agent-compose-texture.jpgregenerated byte-identical and fell out of the website diff on its own, because it reflects the clear bands over the lockup rows and never sees the line that changed. Three files moved rather than four.Closing.
Reopening the record rather than the issue: this issue's surface list was incomplete, and I closed it saying all sites matched the image when two did not.
Missed, both in this repository's own
README.md, fixed incb87e6a:Eval driven agent roles and personasThe alt text is the worse of the two. A reader who cannot see the image gets the stale tagline with nothing to tell them it is stale, which is the exact failure the seven website strings were listed to prevent, in the one repository where the banner actually lives.
The cause is in this issue. It enumerated the asset plus seven website sites and never asked what else in this repo quotes the tagline, so nobody was looking. Kai caught it by asking whether the work was done in the acompose repo too.
The generalisable version, since this is the second time today the same shape has bitten: fixing the sites an issue lists is not the same as fixing the defect. A repository-wide grep for the old string is the check, and it takes a second. Running it now across all three repos returns clean.
Acceptance criteria stand as met with that correction folded in. Live and verified: the website picked the change up about three minutes after the mirror, and
/projects/agent-compose/now serveseval driven composer for roles and personas.