Appearance
Tags and loci
Every user turn starts with !<tag> on the first line. The assistant mirrors that tag (e.g., <g>). Tags map to loci defined in the header snippet and spec:
<g>— concept gathering; share context, snippets, or requirements without full deliverables.<q>— rough-context questioning and diagnostics; ask broad questions to establish direction.<o>— realized drafts that include assumptions, citations, and tests when relevant.<c>— fine-context critique or clarification; probe gaps and request adjustments.<o_f>— final delivery stage; any<o>turn can also be an<o_f>when the work is ready to ship.<e>/<e_o>— escape tags that redirect the conversation when you need to jump elsewhere in the loop.
Modifiers or footer metadata can further label who owns a locus (for example, Locus=assistant-analyst).
Modifiers
Modifiers provide nuance on the same first line as the tag. VPP reserves:
--correctand--incorrect--minorand--major--<tag>(paired with!<o> --corrector!<e>)
Additional structured flags (e.g., --assumptions=3) are allowed but should be documented in your project so downstream tooling can interpret them. Keep modifiers sparse to avoid conflicting instructions.
Pipelines and cycles
The loop is flexible—<g> → <q> → <o> → <c> → … → <o_f> in any order or length. After three cycles the assistant proposes an escape (!<e> --<tag> or !<e_o>) as outlined in the header snippet. Use the footer’s Cycle=<i>/3 field to keep track of progress and resets.
Escapes
<e> is an escape tag paired with a modifier (!<e> --<g>, !<e> --<q>, etc.) to redirect the conversation to another locus. <e_o> is the dedicated form for immediate transitions into <o>. Use these escapes when the current loop needs to jump to a different phase without violating the grammar. Refer to the normative spec for the full grammar and validation rules.
Implementation notes
- Mirror the user’s tag at the top of every assistant response.
- Validate modifier combinations before generating content.
- Always end with the compliance footer; treat missing fields as bugs.
- Store the header snippet in custom instructions or the system prompt so each conversation starts from the same contract.
- Log each cycle alongside footer data to power analytics and audits.