Skip to content

Changelog

Each row is a merged PR and the capability it shipped. Append a row when shipping new compliance work.

PRDate mergedUnitCapabilityDeploy to devDeploy to prod
#8802026-05-07U1compliance.* schema (audit_outbox, audit_events, actor_pseudonym, export_jobs) + immutability triggers (DELETE/TRUNCATE blocked)(next deploy)(pending prod deploy)
#8872026-05-07U2Aurora roles (compliance_writer/compliance_drainer/compliance_reader) + Secrets Manager containers + GRANT migration(next deploy)(pending prod deploy)
#8902026-05-07U3emitAuditEvent helper (packages/api/src/lib/compliance/emit.ts) + per-event-type redaction allow-list(next deploy)(pending prod deploy)
#8932026-05-07U4Outbox drainer Lambda (single-writer, reserved-concurrency=1) computing per-tenant SHA-256 chain(next deploy)(pending prod deploy)
#8952026-05-07U2 fixUnblock compliance role bootstrap(next deploy)(pending prod deploy)
#9032026-05-07U5Wired emitAuditEvent at the 9 SOC2 starter-slate call sites (auth, agent CRUD, user CRUD, MCP, workspace governance, data export)(next deploy)(pending prod deploy)
#9052026-05-07infraTemporarily disabled the post-deploy migration drift gate (re-enable when stable)(next deploy)(pending prod deploy)
#9112026-05-07U6Strands runtime audit emit path (Python ComplianceClient + REST POST /api/compliance/events + idempotency on UUIDv7 event_id)(next deploy)(pending prod deploy)
#9172026-05-07U7S3 Object Lock anchor bucket Terraform module + IAM role (inert until U8a)(next deploy)(pending prod deploy)
#9212026-05-07U8aAnchor Lambda inert + EventBridge Scheduler (rate(15 minutes)) + watchdog Lambda + alarm(next deploy)(pending prod deploy)
#9252026-05-07U8a fixNormalize anchor timestamps(next deploy)(pending prod deploy)
#9272026-05-07U8bAnchor Lambda live: real S3 PutObject with Object Lock retention(next deploy)(pending prod deploy)
#9322026-05-08U9Standalone audit-verifier CLI: Merkle verification + retention check + per-tenant chain walk(next deploy)(pending prod deploy)
#9372026-05-08U10GraphQL read API + reader role + auth scoping (requireComplianceReader)(next deploy)(pending prod deploy)
#9392026-05-08U10Frontend backend extensions: complianceOperatorCheck, complianceTenants, format guard on complianceEventByHash(next deploy)(pending prod deploy)
#9412026-05-08U10Admin Compliance SPA: list, detail, walk-back, cross-tenant toggle, URL-cursor pagination(next deploy)(pending prod deploy)
#9422026-05-08UXMove Compliance above Billing in admin sidebar(next deploy)(pending prod deploy)
#9442026-05-08U11createComplianceExport mutation + complianceExports query + 10/hour rate limit + 90-day filter cap(next deploy)(pending prod deploy)
#9482026-05-08U11.U2Terraform: compliance-exports-bucket (7-day lifecycle, no Object Lock) + SQS queue + DLQ + alarm + standalone runner Lambda (inert stub)(next deploy)(pending prod deploy)
#9502026-05-08U11.U3Live runner Lambda body: pg.Cursor stream + RFC 4180 CSV / NDJSON writers + S3 multipart upload + 15-min presigned URL(next deploy)(pending prod deploy)
#9512026-05-08U11.U4Admin Exports page: request dialog + status table + 3s polling + Download/Re-export(next deploy)(pending prod deploy)
  • “Deploy to dev” populates after the first dev deploy that includes each PR.
  • “Deploy to prod” populates post-prod-launch (the master arc has not yet shipped to a production tenant).
  • A small number of fixes that touch compliance code but were not part of the master arc roster (e.g., #895, #925) are included for traceability.