Skip to main content

Change Management Policy (A.8.32)

Document ID: change-management-policy
Version: 1.0
Effective from: 2025-01-01
Owner: Founder / CEO
Review cycle: Annual


Purpose

Ensure that changes to production systems are assessed, authorised, and documented to prevent unintended disruption or security degradation.

Change categories

CategoryExamplesAuthorization required
Standard (pre-approved)Dependency updates, documentation, non-logic configurationPR review + CI pass
NormalNew features, schema migrations, new collectorsPR review + CI pass + self-review checklist
EmergencyCritical security patch (CVE), production breakDeploy immediately, document within 24h
MajorNew service, new trust boundary, new data categoryPR review + threat model update + rollout plan

Change process

  1. Plan — Create PR with description of the change and its motivation
  2. Review — Self-review using the code review checklist (Secure Development Policy)
  3. Test — CI: bun run typecheck:all && bun run test:all
  4. Approve — Merge requires at least one approving review (founder is sole approver during solo phase)
  5. Deploybun run deploy via guarded deploy script (requires clean tree vs origin/main)
  6. Verifybun run compliance:dev and post-deploy evidence check

Deploy guard

All Cloudflare Worker deployments go through shared/agent-config/scripts/deploy-guarded.sh which refuses wrangler deploy if any tracked file differs from origin/main. This prevents deploying local divergent state.

Schema migrations

D1 migrations are numbered sequentially (migrations/NNNN_*.sql) and applied via wrangler d1 migrations apply. Migrations are append-only; no destructive column drops.

Rollback

  • Worker code: Deploy previous version via wrangler rollback
  • Schema: Rollback migrations are not supported in D1; design migrations to be additive
  • Evidence: Evidence objects are immutable (R2 Object Lock); no rollback needed

Evidence

CollectorCadenceControl
merge-activityDailyA.8.25, A.8.32
deploymentsWeeklyA.5.8, A.8.32
branch-protectionDailyA.8.19, A.8.25, A.8.31