Composition Rewrite Prompt Template

1. Назначение prompt contract

Prompt contract должен:

  • produce preservation-aware patch suggestions;

  • работать поверх existing composition context;

  • не превращаться в blind rewrite всей структуры;

  • возвращать patch-oriented output, пригодный для preview/apply model.

2. Обязательные элементы prompt policy

В contract должны быть зафиксированы:

  • допустимая сила rewrite;

  • preservation existing blocks;

  • сохранение block ids;

  • сохранение block order;

  • сохранение placeholders;

  • patch-oriented output format;

  • запрет на structural redesign.

3. Текущая runtime-структура prompt

В runtime contract состоит из:

  • system prompt

  • user prompt

Текущий system prompt требует:

  • rewrite existing TextFoundry blocks without changing composition structure;

  • return only structured patch payload matching JSON schema;

  • not add blocks;

  • not remove blocks;

  • not change block ids;

  • not change block types;

  • not redesign composition;

  • preserve language unless translation explicitly requested;

  • preserve placeholders exactly;

  • preserve useful internal structure;

  • return patches only for blocks that truly need changes.

Текущий user prompt собирается так:

  • Rewrite the following composition by patching existing blocks only.

  • User instruction:

  • пользовательская инструкция

  • Composition:

  • full ordered block context

  • Constraints: preserve structure, ids, order, placeholders, language, return patches only

4. Контекст, который должен попасть в prompt

Нужно явно учитывать:

  • user instruction;

  • source composition identity/version;

  • список relevant blocks;

  • block metadata;

  • composition-level constraints.

Реальный runtime context для каждого блока содержит:

  • block_id

  • type

  • language

  • description

  • defaults

  • tags

  • templ

5. Контракт вывода

Output должен:

  • map to preview/patch model;

  • содержать только изменения для реально затронутых blocks;

  • не предполагать blind overwrite;

  • не возвращать новый composition design целиком.

Фактический runtime output contract:

  • JSON payload, парсируемый как CompositionBlockRewritePreview

  • patch fields: block_id, optional description, optional templ, optional defaults, optional tags, rationale

6. Управление и source of truth

Документационный source of truth:

Кодовый source of truth:

  • src/textfoundry_ai/prompt_constants.h

  • src/textfoundry_ai/openai_compatible_composition_block_rewriter.*