A rule that must be remembered will be forgotten
Before Avatars, the rules for a journal cover or a channel thumbnail lived in playbooks: no lettering on covers, English-only lettering on thumbnails, no clickbait, faces faithful to the reference. A brain making a thumbnail had to open the right note, read it and carry it through a long session. A few dozen tokens of rule competing with thousands of tokens of conversation lose often enough to matter. Avatars moves those rules into the app, where code appends them to the prompt every time, whichever brain is asking.
Two kinds of remembered rule became data.
- Appearance rules belong to a subject: how this soul or person must look, and what must never appear.
- Workflow templates belong to a kind of image: what every journal cover, thumbnail or clip must obey.
Appearance rules live in the profile
Each reference profile carries appearance, free prose of up to 2000 characters, and each named look may carry its own. The architecture lists the kinds of detail that belong there, and what must never appear. Any standing rule about how a subject is drawn fits the same field. Take an invented one: always framed from the shoulders up, lit softly from the left, never by a hard light overhead. The reference images carry the face. The rule names the details a model tends to drift on, so nobody has to repeat them in a prompt.
look_rule picks the text: the named look's own rule if it has one, otherwise the subject's. It prefixes the display name so each rule says whom it is about, and the resolver keeps each distinct rule once, in the order the subjects were named.
Templates: house rules per workflow
The content workflows are studio, diary, thumbnail and clip. Each has a template seeded in code, and studio starts empty because a general composition has no house style. The comment above the seeds states the arrangement: Dad edits the rules in the app, and the defaults are the seed, not a second copy of a playbook.
| Workflow | What the seed insists on | Recommended ratio |
|---|---|---|
studio | Nothing: the prompt stands alone | None |
diary | No readable text anywhere; the same characters as the references; describe only scene, mood and light | 16:9 |
thumbnail | Legible at feed size on a phone; English-only lettering, exactly the words given; honest framing, never clickbait | 16:9 |
clip | One continuous shot in present tense; identity kept from the references; no on-screen text unless the words are given | 16:9 |
An edited template is stored as a template record, one per workflow. Saving is version-checked like every other record, so two editors cannot silently overwrite each other: the second save, carrying a stale version, gets This record changed. Refresh before saving again. A save that misjudges whether a stored edit exists at all gets The template changed. Refresh first. instead, and Reset to default deletes the record and returns the seed. On the Create image page the rules sit in a collapsible panel under the prompt, labelled with the workflow and whether its rules are edited or default. Set workflows (create, regenerate, remix) have no template. Their frame rules stay in code, and an attempt to save a template for one is refused with 404.
Composition: three shapes, one tail
compose_prompt builds the text Ember receives, in one of three shapes.
- Remix: a fixed instruction that reference image 1 is the exact original for this emotion, then
Requested changes:and the prompt. Only the requested change may move. - Set create or regenerate: exactly one named frame, no contact sheet, grid or captions, then the prompt.
- Content workflows: the template, a blank line, then the prompt.
Every shape gets the same tail when there are rules: a blank line, the heading Identity rules (Avatars keeps these for every depicted subject):, and one bullet per rule. A set workflow also adds the collection soul's own rule even when no subject was named, because a set always depicts its soul.
The test that guards this, test_prompts_carry_workflow_rules_and_identity_rules, checks that a thumbnail prompt starts with the seed template, contains the scene and ends with the depicted subject's rule. Then it saves an edited thumbnail template and checks that the next plan made on Pippa's behalf starts with the edit. One edit in the app, and every brain's next thumbnail obeys it.
Shown before anything is spent
Because the app composes the prompt, the app can show it. The review step of Create image has a section called Prompt sent to Ember (first image) with the exact composed text, and the package attached to every task carries it as well, so Dad can read what a model was really told. The usage text a brain receives closes the loop from the other side: Avatars appends these rules, so do not restate them. A brain that restated them anyway would only add a second copy that drifts.