Pick a brand, write a brief, generate both sides. The adapter side reads the brand's explicitly approved precedents at inference time and anchors on their voice. Every precedent shown is citable in the audit drawer.
POST /api/generate with useAdapter: true. The base side passes useAdapter: false. Same prompt scaffolding, same foundation model, same essence + voice + claims library. the only difference is that the adapter side reads the brand's explicitly approved precedents and tells the model to match their voice. Every approval at /admin/generations auto-promotes into the precedent library, so the adapter sharpens with every click. Each precedent shown is citable in the audit drawer.