Normalization Prompt Template

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

Prompt contract должен:

  • менять semantic style without unnecessary drift;

  • сохранять meaning as much as possible;

  • для block normalization сохранять placeholders и structural constraints;

  • возвращать rewritten text, а не explanation.

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

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

  • target semantic changes;

  • правила сохранения смысла;

  • запрет на лишние изменения вне requested style shift;

  • explicit instruction возвращать только normalized text;

  • для block normalization - сохранение placeholders exactly.

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

В runtime есть два разных prompt contracts:

  • text normalization

  • block normalization

Текущий system prompt для text normalization требует:

  • normalize rendered TextFoundry output;

  • preserve meaning;

  • apply only requested semantic style changes;

  • respect rewrite strength and preservation constraints;

  • do not add explanations, metadata, markdown fences or commentary;

  • return only normalized text.

Текущий system prompt для block normalization требует:

  • cosmetically normalize a TextFoundry block template;

  • делать только light editorial changes;

  • closely preserve block structure;

  • preserve every placeholder exactly;

  • do not add or remove placeholders;

  • do not collapse sections;

  • return only normalized template text.

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

  • Normalize the following raw text snapshot.

  • Requested semantic style:

  • style directives from SemanticStyle

  • Text:

  • source text

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

  • Normalize the following block template conservatively.

  • Block id

  • Block type

  • Preserve these placeholders exactly:

  • список placeholders

  • Requested semantic style:

  • style directives

  • Template:

  • source template

4. Специфика text normalization

Text normalization contract должен:

  • работать поверх raw text snapshot;

  • не добавлять комментарии и metadata;

  • применять только requested semantic style changes.

5. Специфика block/composition normalization

Block/composition normalization contract должен:

  • выполнять более консервативный rewrite;

  • сохранять block structure closely;

  • не менять placeholders;

  • не разрушать section layout без достаточного основания.

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

Output должен:

  • быть plain rewritten text;

  • не включать explanations;

  • быть пригодным для derived composition/block workflows;

  • не предполагать hidden persistence.

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

  • plain normalized text for text normalization

  • plain normalized template text for block normalization

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

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

Кодовый source of truth:

  • src/textfoundry_ai/prompt_constants.h

  • src/textfoundry_ai/openai_compatible_normalizer.*