Skip to content

Design

Design documentation for SystemForge lives in two folders with different rules.

Folder Holds Rule
architecture/ How the system is: one page per area, describing the implementation as it stands Edited in place; a page is rewritten as the code changes
adrs/ Why it is that way: architecture decision records with their context and consequences Append-only; a later ADR amends or supersedes an earlier one and says so, and the earlier one is never rewritten

An architecture page lists the ADRs that decide its area in a Decisions line. When an ADR is implemented, the page is edited to describe the implementation and the ADR is unchanged.

Architecture

Page Scope
Organizations and Membership Organization types, memberships and roles, invites, ownership transfer, slugs, why there is no plan, application roles, marketplace entitlements, how relying parties get memberships, claims, token freshness
Managed Principals and Manager Relationships Managed principals, invariants, guardian and educator roles, login tokens and their exchange, claims, sessions and manager visibility, attaching an email
Authorization The two-gate model, application vocabularies, the base schema, the role-based and relationship-based providers and what each can answer, conformance, syncing

Decisions

Architecture Decision Records lists every ADR with its status. ADR-001 to ADR-010 are Accepted; the architecture pages above describe their implementation.

Proposed

These ADRs are drafts under review. They are design proposals only: nothing in them is implemented, and the architecture pages and release notes do not describe them as features.

ADR Proposal
ADR-011 Lifecycle states, data classification and privacy rights (would amend ADR-009)
ADR-012 Data governance catalog, legal holds and enforcement
ADR-013 Key management
ADR-014 Application roles and marketplace seat assignments are separate records (would amend ADR-007 decision 8)

Guides

How-to guides for the implemented behavior are under Guides: invites, application roles and entitlements, collaborators and resource grants, organization slugs, personal-to-team conversion, access-change invalidation and the authorization mode.