Open app
Moonborn — Developers

Multi-locale brand persona (workflow)

Step-by-step brand workflow for the canonical-plus-locales pattern. Who does what, in what order, with what gates.

The Multi-locale brand persona use case covers the why. This guide is the how — week-by-week ownership.

Week 1 — canonical

Owner: brand director.

  • Write the canonical brief — 200-300 words. Mention the brand's promise, its anti-pattern, its three signature phrases.
  • Generate the persona:
    const canonical = await client.personas.createPersona({ intent: brief, workspaceId });
  • Audit must score ≥ 4.5/5. Refine until it does.
  • Lock the canonical: archive on revisions is preferred over edit (preserves lineage).

Week 2 — pin distinctiveness baseline

Owner: brand director + ops.

await client.config.setItem({
  key: 'consistency.distinctiveness.custom_baseline_persona_id',
  value: canonical.id,
  scope: 'workspace',
});
 
await client.config.setItem({
  key: 'consistency.distinctiveness.min_score',
  value: 0.65,
  scope: 'workspace',
});

Every variant now scores against the canonical, not chatgpt-default.

Week 3 — locale forks

Owner: regional brand lead.

For each locale (DE, FR, ES, PT, ...):

const de = await client.personas.fork({
  id: canonical.id,
  refine: {
    mode: 'lock',
    lockLayers: ['soul', 'self', 'mask'],
    edits: { 'surface.language': 'de', 'surface.location': 'Berlin, Germany' },
  },
});

Constraints:

  • Soul + Self + Mask are locked. Only Surface (language + locale details) changes.
  • Run the audit per locale; ≥ 4.0/5 required.
  • Distinctiveness vs canonical: 0.20-0.40 ideal. Below 0.20 = the variant is the canonical translated. Above 0.40 = the variant escaped the brand.

Week 4 — tone variants (optional)

Owner: per-locale marketing.

Forks of a locale, refining Mask for register (formal / casual / support / sales).

Week 5+ — monitoring

Owner: brand ops.

  • Webhook subscription on persona.audit_failed.
  • Periodic provocation suite (Team+).
  • Quarterly distinctiveness sweep — re-score every variant vs the canonical. Anything that drifted past 0.40 enters the review queue.

Anti-patterns

  • Editing Soul in a variant: produces a sibling, not a variant.
  • Skipping the canonical: every locale ends up generic — there's no anchor.
  • No webhook: drift goes uncaught for months.

Tier

Team and up (custom baseline + distinctiveness gates).

Related