Skip to content
Architecture · Decisions

Decision Records.

Design rationale behind every major technical choice in the kit.

#TitleStatus
K1CF-native runtime & deployment topologyAccepted
K2Ctx-injection dependency seamAccepted
K3Expansions architecture (core/addon, severability, headless)Accepted
K4Identity, membership & tenancy modelAccepted
K5Data model & persistence conventionsAccepted
K6Typed error channel (`Result`)Accepted
K7Satellite service seam (Worker↔sidecar)Accepted
K8Expansion contribution seams (kernel reads the union, forks never edit the kernel)Accepted
P1Authorization (`ctx.can`)Accepted
P2Money — integer minor units + per-row currencyAccepted
P3Notification email channelAccepted
P4Per-record resource sharing (`resource_shares`, `decideOwnedResource`)Accepted
C1Frontend stack & design systemAccepted
C2i18n — Paraglide + ALS bridge + locale chainAccepted
C3Testing strategyAccepted
C4Toolchain — OXC (oxlint + oxfmt)Accepted
C5CI pipeline + local rehearsalAccepted
C6Fork setup baselineAccepted
C7Fork maintenance: sync + rebrandAccepted
C8Rate-limit architectureAccepted
C9Routing & error-page conventionsAccepted
C10Dev orchestration (superpowers + /workflows)Accepted
C11Free-tier graceful degradationAccepted
C12Page header & breadcrumb conventionsAccepted
C13Page Kit composition layer (new primitives, templates, AuthShell)Accepted
C14Cloudflare setup automation: token isolation + tier-aware doctor gateAccepted
C15CI deploy gating: provisioned repo variable + explicit operator consentAccepted
C16Script surface (manifest, not a CLI)Accepted
C17Tenant nav sections are contributed, not special-casedAccepted
C18The keyset cursor codec belongs to the kernel package, not the app layerAccepted
C19Account settings surface: host-branching layout, not a per-host route splitAccepted
C20Notifications surface consolidationAccepted
C21Settings pages may commit several groups at onceAccepted
C22Self-service workspace deletion for the sole memberAccepted
C23Profile and avatar commit through one endpoint, amending C21Accepted
C24Core migrations as a discovered sourceAccepted
C25Tokens are surface-relative, not ramp-indexedAccepted
C26Branding page commits marks and palette through one endpoint, amending C21/C23Accepted
X1Versioning & breaking-change policyAccepted
X2Public-seam stability contractAccepted
X3Security & tenant-isolation guaranteesAccepted