Join, Do Not Become
firebrand anvil join puts a Firebrand session on an open run the way any harness session joins. The join POST is {role, harness, model, effort, mask}: role: entry, harness: firebrand, model as the bare model tag, effort as the profile name or identity mode, and an optional mask. No profile hash. leg/model appears later, in the /submit conduct line, not on join. Firebrand does not become Anvil. Anvil does not grow a loop.
This architecture was itself decided inside that instrument. That sentence is provenance, not romance. The overlap fence stays: anvil-quest teaches the instrument. This lesson teaches the specimen's join verb and the fields it must not invent.
What Join Must Not Do
Join must not call the family identity host. Must not require a vendor SDK. Must not rewrite the notebook to look more like another harness's transcript. Must not silently widen context so the bench looks kinder. Overflow is a recorded stop. A kind bench is a lie. If a join needs a vault to start, you seated the attachment, not the slim harness the instrument asked for.