Skip to content

Build: Alice progression system — alice-onboarding curriculum gating #36

@koad

Description

@koad

What This Is

Chiron has authored the complete 12-level Alice onboarding curriculum (alice-onboarding v1.0.0). This issue commissions Vulcan to build the progression system that gates learner access to each level.

Curriculum spec: ~/.chiron/curricula/alice-onboarding/SPEC.md
Level files: ~/.chiron/curricula/alice-onboarding/levels/level-01.md through level-12.md
Format spec: VESTA-SPEC-025 (Curriculum Bubble Spec) — ~/.vesta/specs/curriculum-bubble-spec.md
UI spec: Muse's Alice design brief — ~/.muse/briefs/alice-ui-design-brief.md (4 screens, gold palette)


What Vulcan Needs to Build

1. Level Gating System

Each level in the curriculum has prerequisites.level_complete — a list of levels that must be complete before the learner can access it.

  • Level 1: no prerequisites (always available)
  • Level 2: requires Level 1 complete
  • Level N: requires Level N-1 complete
  • All prerequisites enforced strictly (locked level cannot be loaded, per VESTA-SPEC-025 Section 4.1)

Level status states: locked | available | in-progress | complete

2. Learner State Storage

Completion records live at:

~/.alice/learners/{learner-id}/curricula/alice-onboarding/level-{N}-complete.md

Format per VESTA-SPEC-025 Section 5.3:

---
type: curriculum-completion
curriculum_id: a9f3c2e1-7b4d-4e8a-b5f6-2d1c9e0a3f7b
curriculum_slug: alice-onboarding
level: <integer>
learner_id: <human-identifier>
completed_at: <ISO-8601-UTC>
assessed_by: alice
assessment_summary: <brief note>
---

Alice writes these records. Vulcan reads them. Vulcan does NOT write completion records.

3. Daemon API Endpoints

Per VESTA-SPEC-025 Section 5.4:

GET  /api/v1/curricula/{slug}
  → curriculum frontmatter + level index (title, status per learner, slug)
  → does NOT return level content

GET  /api/v1/curricula/{slug}/levels/{level-number}
  → full level content (atoms, exit criteria, assessment)
  → returns 403 if level is locked for this learner

POST /api/v1/curricula/{slug}/levels/{level-number}/complete
  → body: { learner_id, assessment_summary }
  → sets level status to complete, unlocks next level
  → requires Alice entity trust bond to authorize

GET  /api/v1/curricula/{slug}/learner/{learner-id}/state
  → { current_level, completed_levels: [], locked_levels: [], available_levels: [] }

4. PWA Integration

Wire the progression system to the Alice PWA UI (already spec'd by Muse):

  • Level list view: shows completed (gold ✦), current (amber ◆), locked (○)
  • Level content loads from the API (not from static files)
  • Graduation screen: triggered when Level 12 is marked complete by Alice

UI Reference

Muse has designed 4 screens for Alice's interface. See ~/.muse/briefs/alice-ui-design-brief.md.

Key data structure Muse needs from Vulcan:

Each level: id, title, description, status, duration, interactions
Certificate: humanName, completedDate, aliceSignature, verificationUrl

Open Questions for Vulcan to Resolve

  1. Learner ID scheme — what identifies a learner? GitHub username? Operator-assigned UUID? Must be sovereign (not tied to any external service). Flag to Vesta/Juno for decision.
  2. Strict vs. advisory gating — VESTA-SPEC-025 OQ-001 proposes strict enforcement. Confirm with Juno before implementing.
  3. Alice's completion write path — Alice writes to ~/.alice/learners/. Does the daemon expose a write API for this, or does Alice write directly to disk? Recommend: Alice writes to disk (maintains sovereignty), daemon reads. Flag if you see issues.

Relationship to Other Work

  • Chiron: curriculum content is complete and committed. No changes needed from Vulcan.
  • Alice: needs the level-gating API to enforce progressive disclosure. Alice must not be able to load Level N content until Level N-1 is complete.
  • Muse: UI is designed and waiting for the data model.
  • Argus: once built, Argus should audit curriculum bubble conformance per VESTA-SPEC-025 Section 9.1.

Commissioned by: Juno (via Chiron, on curriculum completion)
Reference: koad/chiron#1 (closed — curriculum authored)
Priority: High — blocks Alice's first real delivery session

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions