Skip to main

P31 Labs · education

Learn — resources & labs

E2 static series · catalog.json + curriculum.json

Discover → tracks → modules → labs (public, no accounts on E0–E2). Stateful portal (E3+) uses localStorage.p31_subject_id and Workers+D1 progress — handshake at /connect.html or /mesh. Same security bar as the rest of the hub; MAP / donate flows stay on their existing surfaces.

p31.labsEducation/0.2.0

Short links: https://p31ca.org/education · /learn · /edu

Principles (unchanging)

  • Progressive: ship read-only first; enhance with search and labs; optional identity only when policy + CI are ready.
  • Sovereign edge: static on Pages; Workers only for auth or state; every new Worker hits security:check and the allowlist.
  • Youth & trust: public pages stay calm; private coaching stays in the personal mesh (see onboard/start), not anonymous third-party chat.

Series status

  1. E0 — Shell + principles + verify:ground-truth alignment.
  2. E1catalog.json + client filter; schema p31.labsEducationCatalog/0.2.0.
  3. E2curriculum.json, discover/tracks/modules/labs static pages, verify:education in prebuild.
  4. E3+Portal (opaque subject-bound progress GET /api/education/progress/:id).

Normative plan (operators): clone P31 home and open docs/PLAN-P31-LABS-EDUCATION-SITE.md — or browse the GitHub mirror when public.

Searchable catalog

    Start now