# Preserve Creative Rules Within The Gateway Budget

The full production plan and the executable prompt are separate artifacts. Keep the
full plan, source-specific rules and exact script under the project; submit a prompt
that expresses those decisions within the selected route's actual limit.

Read the offline capability's prompt constraint when exposed. On 2026-09-15, live
Sunburst Create rejected more than **5,000 characters** with code `400038` before a
task ID, although the offline schema did not prevent submission. Use a conservative
5,000-character local budget for this CLI when its route omits a limit; this is a
submission precaution, not evidence that every model has the same provider ceiling.
Use a smaller documented route limit when required. Count characters in the actual
UTF-8 prompt file, including spaces, headings and newlines, before preflight:

```python
text = prompt_path.read_text(encoding="utf-8")
assert len(text) <= prompt_limit
```

Compact repeated phrasing, never the effect-critical instructions:

- State shared identity, product locks, reference roles, light and prohibitions once.
- Keep every shot, its cumulative fractional range, framing, action/state change and
  cut/continuous-transition marker. Preserve the recipe's four-to-ten useful sentences
  per cut and at least five integrated micro-observations using concise sentences.
- Keep both hands' roles, actual mechanisms, exact speech, lip-sync versus VO allocation,
  voice onset, final-word completion, macro rules and the selected ending.
- Refer to the actual reference's exact design instead of restating long descriptions;
  never use this to conceal missing evidence or contradictory references.
- Keep the full fixed panel count and required refinement, and verify the compact
  prompt against the full plan before submitting. Do not apply a generic 200-token
  writing tip to a recipe that requires a detailed multi-shot prompt.

Use short complete sentences and remove redundant adjectives first. Never solve a
length error by silently dropping shots, lines, physical steps or output requirements.
If the complete constraints still do not fit, stop that submission and prepare an
explicit compatible multi-request plan; do not claim that an incomplete prompt is
equivalent. Re-preflight the changed batch under existing authorization preferences.

A prompt-length rejection is an input error, not moderation or a model-quality result.
Keep successful sibling tasks and repair only the rejected request. Record whether a
task ID/charge exists; never infer a paid generation from a failed submission alone.
