diff --git a/memory/midjourney_bridge.md b/memory/midjourney_bridge.md index 03eb603..7b1fbba 100644 --- a/memory/midjourney_bridge.md +++ b/memory/midjourney_bridge.md @@ -5,6 +5,7 @@ metadata: node_type: memory type: reference originSessionId: fa4ca039-8c0e-4b9c-aee8-b6d7a81482b5 + modified: 2026-07-19T13:45:17.670Z --- # Midjourney bridge (`mj-gen`) @@ -40,6 +41,25 @@ mj-gen "Ink sketch, lone figure standing on a flooded London street at dawn, ... Then read the resulting PNG back to verify it matches the brief before placing it into game files. If the user dislikes U1, re-run `mj-gen` (cheap re-roll) or — if the same grid is still in the channel — manually post the other U-button custom_ids; the script currently only auto-clicks one upscale per call. +## Prompt gotchas (learned in production) + +- MJ's moderation blocks prompts containing banned words **even in negation** + ("no visible gore") — the grid never arrives and `mj-gen` times out with no + error. Reword positively ("understated, nothing graphic"). +- Scene prompts drift photorealistic; for illustration styles lead with + "hand-drawn pen and ink illustration, NOT a photograph" and append + `--no photography, photorealism`. +- Saved files get a `-u1` (upscale-button) suffix — rename to canonical names. +- Don't run two `mj-gen` calls concurrently in one channel: each polls the + channel for the newest grid and they can grab each other's jobs. +- **Out-of-fast-hours is invisible to the bridge**: MJ declines the job in an + ephemeral reply the channel-poller can never see, so `mj-gen` waits out its + full timeout on nothing. Signature: several successes, then consecutive + timeouts with NO new bot messages in the channel (check via the messages + API). Fix is account-side (top up fast hours or switch to relax); retries + are wasted until then. `timeout_seconds` in config.json is 1800 as of + 19 Jul 2026 (was 600) to survive relax-queue waits. + ## Known fragility - If MJ changes the `/imagine` slash command schema, run `mj-capture-command` to refresh. diff --git a/skills/rpg/references/lessons.md b/skills/rpg/references/lessons.md index 6d4f95f..aa83bad 100644 --- a/skills/rpg/references/lessons.md +++ b/skills/rpg/references/lessons.md @@ -78,3 +78,20 @@ pass. geography; a hand-styled SVG (rough displacement filter, handwriting font, cream paper) passes visually as sketch art and stays correct. Expect two or three label-collision passes in a browser before it's clean. + +## 2026-07 — The Vain Crown build (house-system debut package) + +- **A rulebook's pregens are not con pregens.** VANITY's five shipped without + Vices — the system's own core engine. When packaging an included adventure + for a slot, audit the pregens against the system's *incentive* mechanics, + not just their stat legality. +- **Debut systems need a dice primer baked into the Intro** — one staged + practice roll per player that doubles as the arrival scene, so teaching + costs zero extra minutes and the first Stumble happens somewhere safe. +- **Give the villain a countdown table.** "Where is he now" per session-clock + row makes lost time (a failed pathfinding roll) mean something concrete and + lets fast tables genuinely change the finale's staging. +- **Silence from a generation pipeline is a diagnosis, not a delay.** When a + batch goes quiet, check the actual channel/API for what the service said + before waiting again — and keep a fallback asset source (the system's own + existing art) so the package ships regardless.