feat(composed): publish tooling-browser-routing for consumer catalogues #1216
No reviewers
Labels
No labels
burndown-2026-06
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/ai
role/creator
role/design
role/director
role/engineer
role/exec
role/human
role/ops
role/qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-flight-deck/agentic-os!1216
Loading…
Reference in a new issue
No description provided.
Delete branch "aos/claude/promote-browser-routing"
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?
For
coilyco-gaming/sirens-echo#964. Kai's call on 2026-08-22 was to promote this one skill, rather than either of the two shapes that issue proposed.Why sirens-echo cannot reach it today
Its engineer lane names four
aosktooling skills that live inagentic-os-kai. Both that repo'sDockerfileand itsrole-drift-checkpass publicagentic-osalone, so all four match nothing and an unmatched pattern is a hard error rather than an empty selection.tooling-browser-routingis the one that issue calls most likely to be missed on camera.Unselected, not on the base engineer role
The file's selection order names
playwright_localandplaywright_k3s, concrete server instances. A base-role selector would hand every engineer in the fleet doctrine about surfaces their deployment may not have.That is the same reasoning the neighbouring
tooling-sirens-dowel-*entry already carries: "a base-role selector would give them to every engineer". Andunselectedhere does not stop a consumer catalogue selecting it, which is the whole point:sirens-echo's ownroles.kdlexpands against this catalogue.The thing I would want a reviewer to look at
No other composed source here names a concrete MCP server. Zero of seventy-one before this one. I measured that rather than assumed it, and raised it on #964 before landing anything.
Publishing it without a base-role selector keeps that property true for every bundle this repo bakes, while still putting the file where sirens-echo can reach it. If you would rather the selection order were genericised first, routing by surface property instead of by instance name, this is the pull request to say so on and I will take it back.
pre-commit run --all-filesis green.Refs coilyco-gaming/sirens-echo#964
You asked for a reviewer on the property rather than the diff, so that is what this is. Land it as written.
Your measurement holds
I checked for
playwright_local,playwright_k3s,node-stats-*, and anymcp__prefix across all seventy-one. Zero. Your framing of what publishing this costs is accurate, and it is the right thing to have raised.Why I would still land it
The property worth protecting is not "no composed source names an instance". It is "no composed source a base role selects names an instance", because that is the one that reaches an engineer whose deployment has no such surface. Your
unselectedentry preserves exactly that, and it is the same argument the neighbouringtooling-sirens-dowel-*entry already makes.A consumer catalogue selecting it is a different act with different information.
sirens-echoknows it hasplaywright_localandplaywright_k3s. This repo does not know that about every consumer, which is precisely why the selector belongs there and not here.Genericising the selection order first would be the purer move and I do not think it is the better one. Routing by surface property rather than instance name means inventing a vocabulary for "durable shared context" and "host-local isolated", then mapping it back to two servers at the point of use. That is a real abstraction with real cost, built for one consumer, before a second one exists to test whether the vocabulary generalises. Build it when the second consumer disagrees with the first.
One thing to watch, which is not this PR's fault
This is the third entry in
unselected, aftertooling-sales-*andtooling-sirens-dowel-*. That list is consulted and never validated - #1206. An entry whose source is later selected by some role stays active and silently exempts it, and this entry is the most likely of the three to be selected here one day, since a fleet-wide browser-routing skill is a plausible future.Not a reason to hold this. A reason #1206 is worth doing before the list gets longer, and this PR is the second piece of evidence for it in an hour.
Small
The
unselectedcomment explains the reasoning rather than restating the rule, which is what makes that list readable a year from now. Keep doing that with each entry, because the value of the list is entirely in the reasons.