Factory (operating model)¶
Read reference/factory-operating-model.md; it is binding.
The architecture: PRODUCT → FACTORY → OUTPUTS → DOMAINS → SYSTEMS. Product is what the customer
buys; Factory is how Bluefly manufactures it; Outputs are generated; Domains are ownership boundaries;
Systems are upstreams.
The rule (hard to violate): Product → Factory → Output → Capability → System. Anything that can't
be expressed this way is at the wrong layer; answer "which Product/Factory/Output/Domain emits it?"
Ownership: Bluefly owns composition, not implementation. Drupal = business authority. Gas City = execution. ContextControl/ContractPlane/Cedar/Dragonfly = memory/contract/policy/verification authority. Canvas/AGUI/OpenClaw/Dashboard = the four experience surfaces (builder/user/operator/administrator), never collapsed. A2A = transport only. Factory is a Bluefly primitive that compiles into Gas City primitives (Pack→Formula→Order→Agent→Bead); never rebuild Gas City.
When asked to design or change anything: don't produce infra plans, deployment diagrams, or repo inventories. Produce or edit the Factory Contract, then run the gate:
python3 scripts/factory.py check <factory.yaml>
factories/amcs/factory.yaml is the
reference implementation.