Ownership, status, versioning and quality
A design system becomes durable through ownership, review and evidence — proportionate, practical and visible enough to prevent uncontrolled variation.
Component lifecycle
Proposed → Experimental → Approved → Core → (Legacy / Deprecated). A component enters the approved system only when its purpose, use rules, anatomy, variants, accessibility, responsive behaviour, implementation type, status and owner are documented.
Status definitions
| Status | Meaning | Course-builder action |
|---|---|---|
| Foundation | A stable token or rule used across the system. | High confidence; change centrally and infrequently. |
| Core | Widely used, structural, proven behaviour. | Use as the default where the learning job matches. |
| Approved | Defined and tested for specified contexts. | Use according to its documented rules. |
| Experimental | Being trialled; specifications may change. | Use only in an agreed pilot. |
| Course-specific | Valid within a named course family, not yet generalised. | Do not reuse without review. |
| Legacy | Supported only for existing content. | Do not select for new work. |
| Deprecated | Scheduled for removal or replacement. | Do not add; follow migration guidance. |
Contribution model
Propose → Prototype → Review → Document → Approve → Release → Evaluate. A proposal must identify the recurring need, existing options already considered, proposed anatomy, accessibility implications, likely reuse and ownership cost — before any code is written.
Ownership
| System owner | Maintains strategic direction, architecture, documentation hierarchy and roadmap. |
|---|---|
| Design and development steward | Maintains components, source code, versioning, implementation standards and technical quality. |
| Learning design reviewer | Confirms patterns and interactions support a real learning purpose. |
| Accessibility reviewer | Checks semantics, keyboard use, contrast, focus, responsive behaviour and alternatives. |
One person may hold several roles during early stages — the responsibilities must still be named, not assumed to happen automatically. No formal system owner has been confirmed yet (see Open decisions).
Versioning
Token changes are major versions and require a visual regression check across everything. Component additions are minor versions, affecting only what adopts them. Binding fixes are patches. Never silently overwrite a stylesheet a published course already depends on — release a new immutable version.
Accessibility claim wording
Source-of-truth hierarchy
The umbrella publication decides what the system is. Platform guides decide how it's implemented. Production code governs the current rendered implementation and must be reconciled with documentation at release. This live catalogue demonstrates the current approved system — see Overview for the full document family.
Audit findings (July 2026, this release)
Findings from reconciling the six source documents against the production CSS, the supplied screenshots and the supplied HTML source examples.
- Undocumented shipped component.
.isq-self-assessment(14 classes) exists in the production CSS and renders in the live Child Protection course, but appeared in none of the six governing documents. A first specification has been drafted for this release from the CSS and a supplied screenshot — see Self-assessment. It ships as Course-specific pending verification against real exported markup. - Course-specific comparisons bypass the shared component. The live course's "Significant harm / Parent test" flip cards and "Able / Willing" comparison use bespoke, inline-styled markup (
.isq-test-cards,.isq-able-willing) with locally redefined tokens (e.g. a gold value of#D9A928, distinct from the shared--isq-yellow: #FFC72A) rather than the shared.isq-role-splitcomponent. This is exactly the drift Document 2's "do not duplicate shared CSS" rule exists to prevent — flagged for migration, not fixed silently. - Status vocabulary mismatch. Document 2 labels the Divider component "Restricted," a status outside the seven confirmed in Document 1's lifecycle model. Folded into Experimental here, matching Document 1's own component-audit note.
- Naming instability. Document 1's own audit flags
.isq-role-splitas "confirm naming." This catalogue settles on Role split, matching the CSS class. - Missing class-index entries.
.isq-band,.isq-grid/--two/--threeand.isq-processare named as primitives in Document 2's prose but were absent from its technical class index. Corrected in this catalogue's component data. - Colour-value drift between sibling documents. The Connect & Learn 2027 blueprint's indicative palette (e.g. Positive
#1E6B45, Negative#A03232) differs slightly from the production Rise CSS (--isq-success: #266141,--isq-error: #A22B2A). This site renders the CSS values as the current source of truth; the blueprint's figures remain explicitly indicative-only.
Open decisions
| Decision | Why it matters |
|---|---|
| Formal system owner and approval path | Determines decision rights and ongoing maintenance. |
--isq-warning sharing its value with charcoal | Confirm this is intentional before treating it as settled. |
| Self-assessment component sign-off | Currently a drafted spec, not a verified one. |
| Able/Willing and test-card migration to Role split | Prevents further token drift in the live course. |
| Next CSS release number and immutable hosting path | Protects published courses from unplanned visual change. |