agentType: the default, not an option

PR: flip workflow fan-out authoring from opt-in specialist routing to default-on. Data: 30d spawn telemetry, 2026-08-17.

Where 6,386 spawns actually went

workflow-subagent
2,612 · 41%
general-purpose
1,499 · 23%
Explore
296 · 5%
ork:* specialists
~332 · 5.2%
hq-ext:*
~185 · 2.9%

The generic workflow-subagent bucket grew 394 → 2,612 (6.6×) since the 2026-06-23 baseline; specialist share of the addressable set fell 44.2% → 25.6%. Descriptions are not the lever — an A/B scored 18/18 both ways, Δ0. The authoring default is.

The flip

Before — opt-in
"Set opts.agentType when a stage has an OBVIOUS specialist owner — and only then." Advisor hook muted by a single typed stage anywhere in the script.
After — default
Every agent() stage names a specialist. A generic stage carries a one-line comment saying why. Advisor counts N of M untyped; silent only at full coverage.

Stage shape → specialist (synced doc ↔ hook STAGE_MAP)

Stage shapeagentType
Security findings: produce or adversarially verifyork:security-auditor
Test generation / coverage / repair passesork:test-generator
Code-review dimensions over a diffork:code-quality-reviewer
Web/competitive research fan-outork:web-research-analyst
Backend/API/schema designork:backend-system-architect
Frontend component workork:frontend-ui-developer
Genuinely cross-domain / glueomit — with a comment saying why

What changed in this PR

SurfaceChange
workflow-agenttype-advisor hookPartial typing no longer mutes the nudge; counts N-of-M; states the default
dynamic-workflow-patterns.md§agentType flipped to default-first, table expanded to 6 rows + exception
heal-loop.jsRun stage typed ork:test-generator (repair stage already was)
skill-fitness.jsDocumented deliberate-generic exception (rubric scoring, no curated owner)

Follow-up if the 30d number does not move: escalate the advisory to a gate. Not part of this PR.