After the simulated gate runs, Canon Boundary Guard applies exactly one deterministic save label to any output that contains a save trigger. The label tells the operator what they can safely do with the content — whether it can be committed to canon immediately, held as a draft, used only for recovery, or discarded as a working artifact. Labels are never ambiguous and never stacked: one trigger, one label.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/xxyoudeadpunkxx/canon-boundary-guard-for-gpt-project/llms.txt
Use this file to discover all available pages before exploring further.
The four labels
- [SAFE TO SAVE]
- [DO NOT SAVE - L1/L3 PRESENT]
- [STATE DELTA - SAVE/PASTE ONLY AS RECOVERY MATERIAL]
- [DRAFT - REQUIRES OPERATOR APPROVAL]
When applied: The gate passed. All material in the output is L0 or explicitly authorized L1A. The output was produced in Mode A or Mode B with an approved compact dossier, or in Mode C with a full dossier that the operator explicitly authorized.What it means: The output can be downloaded, saved as a Project Source, or pasted into canon without further review. The gate has already verified provenance.Hard constraint: Never mark
[SAFE TO SAVE] unless the simulated gate passed. Applying this label to unverified output is a protocol violation.Trigger conditions
Labels are applied only when deterministic triggers are present in the response. If no trigger is present, no label is applied regardless of content. The following conditions each constitute a trigger:- Response contains a markdown code block
- Response contains JSON, YAML, TOML, XML, SQL, Python, shell, or schema-like content
- Response defines protocol, policy, architecture, naming, workflow, state, invariants, or operating rules
- Response contains file contents intended for copy/save
- Response contains Project Instructions text
- Response contains GPT Project adapter text
- Response contains
SESSION_STATEorCANON_STATE_DELTA - Response is produced after “Promote this draft to canon”
- Operator explicitly asked for final/spec/saveable/canon output
- Response creates or modifies a reusable artifact specification
No-label cases
The following response types do not receive a label unless a deterministic trigger listed above is also present:- Ordinary conversational replies
- Critique or feedback on existing content
- Planning and exploration
- Clarification questions and answers
A planning reply that happens to contain a markdown code block does carry a trigger. The content type alone does not exempt a response from labeling — check for triggers first.
Exactly one label
Every triggered response receives exactly one save label. Labels are never combined, stacked, or made conditional. If multiple conditions apply, use the most restrictive label that accurately reflects the gate result:
[DO NOT SAVE - L1/L3 PRESENT] takes precedence over [DRAFT - REQUIRES OPERATOR APPROVAL], which takes precedence over [STATE DELTA - SAVE/PASTE ONLY AS RECOVERY MATERIAL], which takes precedence over [SAFE TO SAVE].