These questions and answers are drawn directly from the CSBP source files. They cover the most common points of confusion about authority, practice formation, file immutability, and how CSBP fits alongside other instruction layers.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/XxYouDeaDPunKxX/CSBP-Codex-Shared-Best-Practice/llms.txt
Use this file to discover all available pages before exploring further.
What is the difference between CSBP and AGENTS.md?
What is the difference between CSBP and AGENTS.md?
AGENTS.md is the host contract — the primary instruction layer Codex operates under. CSBP is a lower-authority runtime practice layer that sits below it. The authority order is explicit:AGENTS.md. If a CSBP practice conflicts with AGENTS.md, the CSBP item is not applied. CSBP is designed for recurring operational practices that are strong enough to reuse across sessions but not strong enough to become part of the host contract.Can CSBP write practices automatically?
Can CSBP write practices automatically?
What happens if CSBP conflicts with an operator instruction?
What happens if CSBP conflicts with an operator instruction?
AGENTS.md, or local project instructions or project-local guidance, that item is set aside. CSBP does not create new policy authority for itself and cannot override any higher-authority layer.Can I use CSBP alongside Codex Memories?
Can I use CSBP alongside Codex Memories?
When is the compiler loaded?
When is the compiler loaded?
CSBP-entry-point.txt and shared-best-practice.txt are read. The compiler (shared-best-practice-compiler.txt) is not loaded into normal runtime behavior. If no candidate practice is under discussion, compiler logic does not enter runtime behavior.What is the difference between `global` and `environment-global` scope?
What is the difference between `global` and `environment-global` scope?
global means the practice is stable across all work contexts — it applies regardless of which environment, project, or session is active. environment-global means the practice is stable across the current working environment across sessions — it is scoped to a particular environment but is persistent within that environment. Both are valid CSBP scope values; neither is automatically more important than the other.Can I maintain shared-best-practice.txt manually?
Can I maintain shared-best-practice.txt manually?
What does `deprecated` status mean for a practice?
What does `deprecated` status mean for a practice?
status: deprecated is excluded from runtime use — it will not guide any active work decisions. However, it is not deleted. Deprecated blocks remain in shared-best-practice.txt so the practice history is preserved for review and maintenance purposes. A deprecated block may only be removed entirely on direct operator instruction.How is a practice removed entirely?
How is a practice removed entirely?
Can I modify CSBP-entry-point.txt or shared-best-practice-compiler.txt?
Can I modify CSBP-entry-point.txt or shared-best-practice-compiler.txt?
What makes a good `applies_when` condition?
What makes a good `applies_when` condition?
applies_when condition describes the operational condition — what work is currently being done — not the project. It must be stable across work contexts, meaning it should trigger reliably in any session where that kind of work is happening, regardless of which project or environment is active. It should be specific enough to match the right situations without being so narrow it only applies in one particular case. Conditions that describe project names, repository details, or session-specific facts are not valid applies_when values.What is the difference between `do` and `goal`?
What is the difference between `do` and `goal`?
goal states the intended operational effect — why the practice exists and what it is trying to achieve or prevent. do states the primary correct default action — the specific thing Codex should actually do when the practice applies. Both fields are required because they serve different functions at runtime: goal is used for interpretation (understanding the purpose before acting), and do is used for application (the concrete action to take). A practice without a clear goal can be misapplied; a practice without a clear do cannot be acted on.