akw-factory-floorsfloors.akwlabs.com · ga

ADR 0017 — Role and connector floors are orthogonal axes, so reception routes to role floors only

ga · floor-software-engineer

Decision

Role and connector floors are orthogonal axes, so reception routes to role floors only

Why

A role floor answers who does this; a connector floor answers what system does this touch. Make a connector a destination and 'pull the Q2 pipeline from Salesforce' is ambiguous between floor-sales and floor-salesforce with nothing to break the tie -- the Outreach-the-tool against outreach-the-noun collision, moved into the router. Process floors are excluded for a sharper reason: a router that can route to the router is a loop that looks like a successful route.

Measured

87 floors declared, 20 routable. The keyword scan first used includes(), so 'post the release notes to Slack' routed to customer support because slack contains sla; then 'pull requests' fell to the default floor because pull request is whole-word. Both pinned by regression tests. A merge gate on five conditions read from artifacts the process already produces: routed, reasoned, staged, green, attributed. Against the 12 open PRs: all pass the first three, all block on the last two.

Inputs and outputs

This decision declares none. Every name in this section, when present, resolves against the capability vocabulary or the floor registry -- a typo fails the generator rather than rendering.

Where it is

Floor floor-software-engineer
Stage ga
Pull request akwlabs-ai/akw-factory-floors#10
Routed 2026-09-02
Id f1dc9b49431b08e3