Skip to content
emergent engineering
Search
Ctrl
K
Cancel
Select theme
Dark
Light
Auto
Start here
System overview & repo tour
Dev environment
Build & deploy
Engineering docs (index)
ADRs
ADRs
QTI 3 ASI as the canonical assessment model
Headless QTI runtime core (MIT) + Mantine skin
Hybrid scoring locus, item bank, and immutable item versions
WYSIWYG item authoring on TipTap/ProseMirror
Unified learning + research: one construct, three axes, one selection policy
Delivery Profile: unified scoring/selection loci and offline regime
Session and telemetry model
Consent and research governance
Imported-standard boundary: ingest QTI and Common Cartridge, keep H5P/SCORM/cmi5 opaque
Converge native assessment authoring onto QTI
Teacher-portal data layer: router loaders now, pgxsinkit later — never react-query or TanStack DB
OneRoster 1.2 is an interchange projection, not the roster core
Person-rooted identity: every external identifier is a binding
Erasure is anonymization: the GDPR data-lifecycle model
Per-organization issuer profiles with platform-custodial keys
Credential proof format: VC-JOSE (JWT) with Ed25519, Data Integrity later
Issuer key custody: Supabase Vault with a KeySigner seam, transit KMS reserved
CASE 1.1 is a boundary adapter; competency nodes become durable referents
Server-anchored delivery: authoritative grading on an offline-first substrate
Rich QTI assessmentTest authoring: bring authoring up to the delivery engine
QTI 3.0: demonstrable conformance and full platform coverage
Common Cartridge 1.4 import: decompose into native structures + a QTI 1.2→3 bridge
QTI authoring asset pipeline: media for the graphic/media interaction kinds
QTI graphic-interaction authoring: the coordinate/shape editor
QTI 3.0 residual coverage: generic PCI host, XInclude, rich results, CAT
In-app EPUB/PDF reading: opaque External-Package delivery + a generic Reading State overlay
Assignments are human-scored Assessments — no separate submission domain
Conformance tracking: cited-evidence overlay, CI gate, and generated readiness render
Discussion is a native capability on the sync rail — not a vendored forum
Notifications and messaging system
Unified TypeScript release, versioning, and tooling standard (emergent / conform-ed / pgxsinkit)
The "English Planet" Captivate/OLX corpus lands as cmi5 AUs on the External Package runtime — not repackaged, not fanned-out
emergent is a content & LTI *provider*, not consumer-only — and the conformance board must track the provider roles it already plays
Offering duplication is a *forking copy* of the authored aggregate; provisioning is a *tracking copy* — one deep-copy engine, two semantics
A canonical entity image is a *resolved* URL — uploaded, else external, else a generated title-card — served from one polymorphic endpoint
The issuer Profile's descriptive fields are *authored* into `issuer_profile.profileMeta`, *derived* where the data already exists, and emitted into every OB/CLR Profile node
Basic computer-adaptive testing: in-process Rasch engine behind the CAT 1.0 seam
Capability B: emergent as credential holder and Badge Connect host
QTI 3.0.1 authored-content ARIA accessibility, and honest disposition of the QTI model-coverage gaps
emergent as an LTI 1.3 Platform
Caliper as a second analytics rail via a shared telemetry projection seam
Pseudonymous-by-default governance for external telemetry emission
LTI Proctoring Assessment Control Service (both roles)
Grade-category weighting (computed final grade)
Media playback as a Caliper-native product feature
Surveys & questionnaires as a Caliper-native product feature
Europass / ELM European Digital Credential consumption — verify, hold, display (issuance deferred)
Caliper aggregate measures + membership status (closing CAL-VOCAB-2)
Caliper emission worker host — a long-lived Bun loop, not a cron
Surface-layout engine and Surface Experiences
Two documentation sites: end-user docs and engineering docs
Fine-grained knowledge items as first-class competency referents
Offline-first boot contract and demolition of the provider snapshot layer
Helm chart type-level defaults with per-entry overrides
Architecture
Architecture Documentation
CASE / competency lane — design (v1)
CASE / competency lane milestone — starting brief (v1)
CLR export — design (v1)
Competency Framework Model
Core Model
Credential export — design (v1)
Credential lane milestone — starting brief (v1)
Data Invariants
Entity Lifecycle
Extension Architecture
Externalisation boundary — what ships to conform-ed (OSS) vs stays in emergent
Identity linking — design (v1)
Language Module Migration V1
Migration Sequencing V1
Monorepo shape
OneRoster consumer — design (v1)
OneRoster milestone — starting brief (v1)
OneRoster gradebook + resource services — design brief (v1)
OneRoster provider + REST consumer — design (v1)
Person–auth decoupling — design (v1)
Relational Blueprint V1
Schema Strategy
Project standards
Surface Layout and Subject Packs
Sync Topology
Sync Write Enforcement V1 (Lite)
Sync Write Model V1
Conformance
Conformance status
Caliper Analytics 1.2 — conformance program plan (v1)
CALIPER 1.2 — conformance status
CASE 1.1 — conformance status
CAT 1.0 — conformance status
CLR 2.0 — conformance status
CMI5 1.0 — conformance status
CC 1.3 — conformance status
CC 1.4 — conformance status
dossier
Certification dossiers
CALIPER 1.2 — certification dossier
CASE 1.1 — certification dossier
CAT 1.0 — certification dossier
CLR 2.0 — certification dossier
CMI5 1.0 — certification dossier
CC 1.3 — certification dossier
CC 1.4 — certification dossier
ELM 3.3 — certification dossier
H5P 1 — certification dossier
LTI 1.3 — certification dossier
OR 1.2 — certification dossier
OB 3.0 — certification dossier
QTI 2.1 — certification dossier
QTI 2.2 — certification dossier
QTI 3.0.1 — certification dossier
VC 2.0 — certification dossier
XAPI 1.0.3 — certification dossier
XAPI 2.0 — certification dossier
ELM 3.3 — conformance status
H5P 1 — conformance status
LTI 1.3 — conformance status
maps
Pinned Coverage Maps
OR 1.2 — conformance status
OB 3.0 — conformance status
QTI 2.1 — conformance status
QTI 2.2 — conformance status
QTI 3.0.1 — conformance status
Conformance tracking
VC 2.0 — conformance status
XAPI 1.0.3 — conformance status
XAPI 2.0 — conformance status
Design
Design
Admin sync client — full build plan
CAT delivery onto the sync rail — build plan (administered-window, Slice E)
Common Cartridge long-tail landing — analysis & plan
Common Cartridge 1.4 import — implementation plan
Discussion capability — sliced build/integration plan
In-app EPUB/PDF reading — implementation plan
Europass / ELM EDC consumption — design & implementation plan
QTI 3.0 authoring breadth — §6 plan (PNP / feedback / adaptive / stimulus / rubric)
QTI 3.0 conformance + coverage — implementation plan
Rich QTI assessmentTest authoring — implementation plan
Roster invite on the sync rail — the GoTrue side-effect design call
Secure / adaptive item delivery on the sync rail — the single-item (administered-window) shape
Server-anchored delivery — phased implementation plan
Surface Experience v1 — build plan
Org-scoped teacher read filter — build plan (Wave-2 prerequisite #2)
REST → sync migration — disposition
Integration
Integration Mappings
LRS and CLR Record Mapping
LTI Advantage Mapping
Roster and Grade Exchange
xAPI and cmi5 Event Model
Patterns
Implementation Patterns
Architecture to Code Mapping
Supabase Auth Rollout
Runbooks
Runbooks
cmi5 Conformance Suite Runbook
Runbook: configuration reference (environment variables)
Consuming `@conform-ed/*` and `@pgxsinkit/*`
Runbook: credential issuer keys (provisioning, custody, rotation)
Erasure and restore-replay runbook
Identity issuer setting (`app.identity_issuer`)
LRS Conformance Suite Runbook
LRS Operational Readiness Runbook
Open Badges 3.0 Conformance Suite Runbook
Runbook: regenerate migrations from scratch (no-users phase)
Sync Write Enforcement Lite Runbook
Backlog
Backlog
0001 — Electric-proxy auth verification posture
0002 — Provisioning and onboarding UI gaps (admin-console / learner-web)
0003 — Per-learner Assessment targeting
0004 — `astro check` unusable under TypeScript 7
0005 — Guard for non-DNS `.Values.apps` keys in the emergent chart
0006 — One-vocabulary sweep residuals (copy & naming)
0007 — typesafe-i18n generator unusable under TypeScript 7
0008 — Gate the learner-web Sync monitor to admins
0009 — Brocrobes browser-extension port
0010 — A grouping-unit screen in the Surface Experience
Backlog
Select theme
Dark
Light
Auto
Engineering Documentation
This documentation set is for engineering architecture and implementation.
Primary Entry Points
Section titled “Primary Entry Points”
Architecture
Integration Mappings
Implementation Patterns
Runbooks
Suggested First Pass
Section titled “Suggested First Pass”
Architecture
Core Model
Relational Blueprint V1
Data Invariants
Sync Write Model V1
Integration Mappings