custom
code
sovereign-compute
pax-coder / docs /adr /0007-codex-security-preservation.md
SNAPKITTYWEST's picture
chore: push pax-coder from SNAPKITTYWEST GitHub
ef6eb55 verified
|
Raw
History Blame Contribute Delete
2.89 kB

ADR-0007: Codex Security Preservation Policy

Status: Accepted
Date: 2026-08-18


Decision

All modifications to the PAX-Coder security and provenance layer MUST:

  1. Read applicable ADRs first β€” Understand architectural constraints
  2. Propose new ADR or update β€” If changing security decisions
  3. Pass CI validation β€” Commits that violate accepted ADRs are rejected
  4. Preserve existing artifacts β€” No deletions without explicit ADR justification
  5. Document security claims clearly β€” No unverifiable assertions

ADR CI Gate

Before accepting security-layer changes, CI validates:

βœ“ ADR syntax (valid YAML)
βœ“ ADR IDs (no duplicates)
βœ“ Status transitions (accepted/superseded/etc)
βœ“ Required fields (context, decision, rules, consequences)
βœ“ No private keys in commits
βœ“ No embedded secrets
βœ“ Prohibited patterns not in code
βœ“ Verification artifacts present

Commits violating ADRs are rejected with:

COMMIT REJECTED: Violates ADR-0002 (Authorization Boundary)
Violation: Authorization check is client-side conditional only

See: docs/adr/0002-authorization-boundary.md

To proceed:
1. Update the authorization implementation
2. Create/update ADR explaining the change
3. Resubmit

What Codex Must NOT Do

  • Delete existing security artifacts (proofs, kernels, manifests)
  • Implement authorization as removable Python conditionals
  • Embed private keys in code or binaries
  • Use silent corruption for security failures
  • Make unverifiable security claims
  • Bypass ADR constraints without new ADR

What Codex Can Do

  • Implement new ADRs (with justification)
  • Update verification logic (if ADR-compliant)
  • Add authorization service integration (following ADR-0006)
  • Improve documentation (more precise, not weaker)
  • Refactor verification (same boundaries, clearer code)

Process

Proposed Change
    ↓
Does it modify security layer?
    β”œβ”€ NO β†’ Standard PR review
    └─ YES β†’ Check ADRs
         ↓
Does it align with accepted ADRs?
    β”œβ”€ YES β†’ CI validation
    β”‚    ↓
    β”‚ Pass CI β†’ Approve
    └─ NO β†’ New ADR required
         ↓
    Propose new ADR
         ↓
    ADR-0001/0002/etc conflict resolution
         ↓
    Accept new ADR or modify existing
         ↓
    Re-submit with updated ADR

Codex Authorization

Codex is authorized to:

  • Create new ADRs for security features
  • Update ADRs to reflect agreed changes
  • Reject changes that violate accepted ADRs
  • Propose ADR supersessions with justification

Codex is NOT authorized to:

  • Silently ignore violated ADRs
  • Implement unspecified security properties
  • Delete or rename ADRs
  • Bypass the ADR process

Related ADRs:

  • All other ADRs in docs/adr/