2.2 KiB
2.2 KiB
M6 Autonomy Boundaries
Codex may change without asking
Codex may freely improve:
- internal service decomposition when public contracts remain compatible;
- helper functions and utility modules;
- validation functions;
- error messages;
- unit tests;
- smoke tests;
- docs that clarify existing decisions;
- small UI layout improvements that follow the design system;
- fixtures that support documented demo cases;
- logging details that follow observability guidance;
- type names if the change is applied consistently;
- generated API clients if contracts remain stable.
Codex may change only with explicit rationale in the handoff
Codex may adjust:
- exact internal table indexes;
- pagination defaults;
- threshold defaults for demo inference;
- frontend component split;
- worker retry counts;
- cache invalidation strategy;
- validation strictness;
- local development scripts.
Every such change must include:
- what changed;
- why it improves the project;
- which contract remains unchanged;
- whether docs were updated.
Codex must not change without approval
Codex must not change:
- core stack;
- V1 module list;
- product positioning;
- GRB reference role;
- geospatial CRS strategy;
- API route prefixes once implemented;
- database primary key strategy;
- storage root layout;
- security assumptions;
- license assumptions;
- model class catalog unless documented as proposal;
- public export formats;
- Docker service names;
- environment variable names once introduced.
Codex may add proposal documents
When Codex sees a meaningful improvement outside scope, it may create a proposal in:
rfc/RFC-next-<topic>.md
The proposal must contain:
- problem;
- proposed change;
- affected modules;
- benefits;
- risks;
- migration effort;
- recommendation.
It must not implement that proposal in the same pass unless it is inside the allowed autonomy boundaries.
Interpretation rule
When the docs disagree, Codex must apply this priority order:
V1_SCOPE_FREEZE.md- ADRs
M6_AUTONOMY_BOUNDARIES.md- API contracts
- database contracts
- module contracts
- UI specs
- roadmap / backlog
When still ambiguous, Codex must choose the smallest implementation that preserves future extensibility and document the assumption.