Not every recurring observation belongs in CSBP. The compiler applies a deliberate filter during formation: candidates that do not meet a clear threshold for recurrence, scope, actionability, and authority compatibility are rejected before they can enterDocumentation 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.
shared-best-practice.txt. This filter is not a bureaucratic barrier — it is what keeps the runtime layer useful. A small set of high-quality practices that reliably apply is more valuable than a large collection of uncertain ones.
Why the filter matters
CSBP is useful because it says no. If every useful observation were admitted, the runtime layer would fill with project-specific notes, one-off corrections, vague reminders, and policy statements that do not translate into consistent runtime behavior. The admission and rejection criteria exist to preserve signal quality. A practice that fails the filter is not lost — it can become a direct operator instruction, a note in chat, or a project-level instruction — it simply does not belong in the shared runtime layer.Valid CSBP practice patterns
Before examining the criteria in detail, it helps to understand what kinds of patterns CSBP is built for:- The same mistake recurring across sessions — not a one-time error
- A repeatedly missed verification step — not a step that was missed once
- A useful working default being rediscovered — not a project-specific preference
- An environment-level constraint that affects multiple sessions — not a temporary condition
- A recurring operational correction that would otherwise have to be re-stated — not a post-failure diagnosis
Criteria
- Admit
- Reject
A candidate is admitted only when it satisfies all of the following:
- Recurring across sessions — the pattern appears repeatedly, not once or twice by coincidence
- Global or environment-global — the practice applies broadly, not only within one project or one task
- Actionable during real work — the practice produces a concrete, usable behavior during live sessions
- Preventive by default — the practice stops a recurring wrong pattern from happening, rather than recovering from it afterward
- Expressible as a short operational instruction telling what to do — the practice can be stated as a direct instruction, not a principle or explanation
- Stable across work contexts — the wording and intent hold without needing adjustment per task or project
- Not already covered by
AGENTS.md— the practice adds something not captured by a higher-authority instruction - Not already covered by a stronger local instruction — the practice does not duplicate project-level guidance
- Likely to reduce recurring waste or error — admitting the practice has a clear operational benefit
What belongs vs what stays out
The table below illustrates how the same general concern can cross the boundary between valid and invalid depending on its scope and formulation.| Pattern | Verdict | Reason |
|---|---|---|
| Codex repeatedly skips checking exit codes across sessions | Admit | Recurring, global, preventive, actionable, expressible as a short instruction |
| Codex forgot to check an exit code in yesterday’s session | Reject | One-off, session-specific |
| Always verify API calls succeed before proceeding | Admit | Recurring verification gap, global, preventive |
| Remember to use the project’s internal API wrapper instead of direct HTTP calls | Reject | Project-specific |
| Codex should generally be careful | Reject | Vague — not actionable or expressible as an operational instruction |
| After a failure, reconstruct the sequence to understand what went wrong | Reject | Recovery-only, post-failure only |
| When starting a multi-step operation, confirm the initial state before proceeding | Admit | Preventive, global, actionable, expressible as an orientation instruction |
| This project uses tabs, not spaces | Reject | Project-specific style preference |
| Codex should respect the operator’s authority | Reject | Policy statement — not an operational correction |
Admission and rejection are not permanent verdicts on the underlying observation. A rejected candidate may be revisited later if the pattern becomes clearly recurring, or reformulated more narrowly to meet the criteria. Rejection means the candidate is not ready for the shared runtime layer — it does not mean the observation was wrong.
Practice Formation
Understand how the compiler evaluates a candidate before applying admission and rejection criteria.
Normalization
See how admitted candidates are rewritten into runtime-ready practice blocks.