Skip to content

Architecture Decision Records

This directory captures every significant architectural decision made for PrivaCI. Each ADR follows the template defined in .cursorrules ยง6.

How to use this directory

  • Read order: ADRs are numbered chronologically by acceptance date. Newer ADRs may supersede or amend older ones; that relationship is documented in the Status section of each file.
  • Adding an ADR: Copy template.md, increment the number, and fill in the sections. Submit as part of the change proposal that motivates the decision.
  • Superseding: When a new ADR replaces an old one, set the old ADR's Status to Superseded by ADR-NNNN and link both ways.

Index

# Title Status
0001 Use Elastic License 2.0 for the public engine Accepted
0002 Build the engine in Python 3.12 Accepted
0003 Bill by unique source databases Relocated to privaci-commercial
0004 Store run state in _privaci schema in the target DB Accepted
0005 Require an explicit user-supplied salt with no silent default Accepted
0006 Stream via PostgreSQL COPY ... (FORMAT BINARY) Accepted
0007 Split into public engine + private commercial layer Accepted
0008 Topological-sort FK loading with deferred constraints for cycles Accepted
0009 Support PostgreSQL native partitioning in MVP Accepted
0010 Constant-memory streaming bounds Accepted
0011 Auto-detect confidence scoring and table context Accepted