Skip to main content

Architecture Decision Records / ADR

Trace of major technical decisions. One page each: status, context, decision, consequences. Decisions may be overturned, but a new ADR must explain why — never edit history in place.

IDDecisionStatus
0001Migrate designer canvas to ReactFlowAccepted
0002Backend upgrade path: Boot 2.7 first, then 3.x as a separate milestoneAccepted
0003Docs publishing stack: DocusaurusAccepted
0004Keep MIT licenseAccepted
0005UI architecture: antd for CRUD, custom design in designer domainAccepted
0006Multi-DB reverse Dialect SPI (P0 four DBs + Generic fallback)Accepted
0007Read-only project share linksAccepted
0008Datasource isolation from projectJSON (not stored in profile.dbs)Accepted
0009Collaboration presence: backend SocketIO + short ticketAccepted
0010Defer dark mode (does not block P2)Accepted
0011Defer composite FK fields[] change (additive constraint metadata allowed)Accepted
0012Upgrade to "AI-era data structure platform" (Git+Figma+agent source of truth)Accepted · B
0013Public API / MCP (auth · rate limit · scope)🚧 In progress (slices 1–5 + write REST/MCP + Redis + OAuth A+B + client/PAT management UI ✅; consent page remaining)
0014@ant-design/pro-components Strangler removal (dependency removed)✅ Shipped · B
0015Boot 3 raise max-http-request-header-size (JWT header overflow → HTML 400)Accepted
0016Experience-first: "shareable beautiful diagrams" main line (ICP hybrid)Accepted
0017Multiple relation diagrams + entity editor (including in-diagram Frame grouping)Accepted · phased
0018Hosting topology: GitHub + Cloudflare free tier, no production VPSAccepted
0019Official Demo runtime: Railway-only (real MySQL 8); reject three-vendor stack; Zeabur as CN fallbackAccepted
0020Single business DB erd (drop martin/erd dual DB); init schema-only; seeds via FlywayAccepted
0021Third-party login IdP federation (GitHub + Google OIDC + WeChat Open Platform QR)✅ Accepted · MVP
0022Dual-layer consistency (workspace ↔ version ↔ live DB); no automatic bidirectional sync✅ Accepted
0023i18n foundation: default zh-CN; English-first ≠ switch default; one slice after B layerAccepted
0024Datasource credential encryption at rest (AES-256-GCM, ERD_DB_CONFIG_SECRET)Accepted
0025OG / social unfurl cardsAccepted
0026Precision tooling visual language (dark marketing + light precision app; ≠ global dark mode)Accepted
0027Product chrome IA (global theme + status instrument + single browse + table-design hierarchy)Accepted