kvisi/Decisions
SB

Decisions

Architecture decision records · authoritative source for design choices

Accepted
4
Partial
2
Stub
1
Superseded
1
ADR-0001
FP stack (neverthrow + Remeda + ts-pattern on NestJS)accepted

neverthrow Result monads, Remeda, ts-pattern on NestJS — not full Effect-TS runtime.

2026-05-12
ADR-0003
Architecture shape — 2 deployablesaccepted

Core API on ECS Fargate + Async Workers on Lambda+SQS. EventBridge deferred to Phase 3 (amended 2026-05-13).

2026-05-12
ADR-0004
AI/RAG readiness primitivessuperseded

AI/RAG out of v1 scope — future milestone. Only the outbox carries forward.

2026-05-12
ADR-0005
Auth & authz modelaccepted

Role set, JWT claim shape, refresh-token rotation, B2B row scoping (RBAC baseline, ABAC later).

2026-05-12
ADR-0006
B2B multi-tenancypartial

Phase-0 minimum ratified: shared-schema + company_id column. Authz/bulk-import/pricing deferred to pre-Phase-4.

gatesE4.3
2026-05-13
ADR-0007
DR & retentionpartialCutover blocker

Phase-0 minimum ratified: HA VPN, circuit breaker, baseline RPO/RTO. Retention/cross-region DR/PII anon deferred.

gatesE5.2
2026-05-13
ADR-0008
SQL Server connection poolingstubPhase-0 blocker

Only remaining hard Phase-0 blocker. Sizing vs on-prem headroom, flap behavior, TDS-aware circuit breaker.

gatesE0.1
2026-05-12
ADR-0009
IaC tool choiceaccepted

CDK + SST on top, 3 stacks (shared + core-api + async-workers), Organizations multi-account.

2026-05-13