Skip to content

Architecture decisions ​

Modgud records the decisions that shape it, not just their outcome. Each record states what the situation was, what was decided, and what the decision costs — including the ones that were later reversed. A decision record is history; it is not edited to match what we would decide today.

Records are numbered once and never renumbered or reused. A superseded record keeps its number and gains a pointer to the record that replaced it.

The records ​

#DecisionStatus
0001OAuth / MCP client registration: DCR now, CIMD nextAccepted
0002Public origin is derived, not configuredSuperseded by 0023
0003Persistence: hybrid event sourcing + flat documentsAccepted
0004Tenancy: database per realm, master/system splitAccepted
0005Permission model: per-app catalog, RBAC via groups, two bypass tiersAccepted
0006Identity hub, not federation proxyAccepted
0007Access tokens: reference by default, per-client JWT opt-inAccepted
0008CIMD — client-ID metadata documentsAccepted
0009Per-client WebAuthn RP-IDAccepted
0010Native cookieless token grantsAccepted
0011Application tier: a soft facet within a tenantAccepted
0012Invite-code-gated passwordless self-registrationAccepted
0013PageBuilder: named page variants and activationAccepted
0014Finish the customization core before the page builderAccepted
0015Positions, terminals and staffing are the shared-device modelAccepted
0016Policy, binding and control-plane semantics for positionsAccepted
0017Staged configuration (draft mode) with transactional applyAccepted
0018Registration before proofAccepted
0019Caller context and multi-dimensional rate limitingAccepted
0020Device-aware login throttlingAccepted
0021Back-channel logoutAccepted
0022Two-instance operationAccepted
0023The public origin is declared, not derivedAccepted
0024A manifest identifies by id, never by nameAccepted
0025Sign-in assurance is required by the target app, not by the entry URLProposed
0026Test accounts are ordinary accounts with a markerProposed

Released under the Apache-2.0 License.