Files
blackroad-os-docs/docs/portals/roadwork.md
Alexa Louise efbdc3ea5a docs: add RoadWork Education Portal specification
- Adaptive learning with knowledge graph navigation
- Socratic dialogue tutoring system
- Spaced repetition and active recall
- Learner model with knowledge state tracking
- Project-based learning and certification
- API endpoints for sessions, learner model, credentials
- Competitive differentiation analysis
- Pricing tiers and roadmap

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 20:33:09 -06:00

543 lines
20 KiB
Markdown

# RoadWork — Adaptive Education Portal
> *"Education that evolves with your understanding."*
**Portal ID:** `portal.roadwork`
**Status:** Planning
**Primary Domain:** Adaptive Learning & Education
---
## Overview
RoadWork is BlackRoad OS's education portal — an AI-powered learning platform that adapts to how you think, not just what you know. Unlike traditional courses that treat every learner the same, RoadWork builds a model of your understanding and adjusts in real-time.
Whether you're learning to code, studying physics, or mastering a new language, RoadWork meets you where you are and guides you where you need to go.
---
## Core Value Proposition
### The Problem with Traditional Education
1. **One-size-fits-all** — Same content, same pace for everyone
2. **Fixed curricula** — Can't adapt to individual gaps or interests
3. **Passive learning** — Watch videos, read text, hope it sticks
4. **Poor feedback loops** — Weeks between learning and assessment
5. **No persistence** — Each platform starts fresh, no continuity
### The RoadWork Solution
| Problem | RoadWork Solution |
|---------|-------------------|
| One-size-fits-all | Adaptive difficulty and pacing |
| Fixed curricula | Dynamic knowledge graph navigation |
| Passive learning | Active recall, Socratic dialogue |
| Poor feedback | Real-time understanding assessment |
| No persistence | Persistent learner model across topics |
---
## Key Features
### 1. Knowledge Graph Learning
RoadWork maps knowledge as a connected graph, not linear chapters.
```
┌─────────────┐
│ Calculus │
└──────┬──────┘
┌──────────────┼──────────────┐
│ │ │
┌──────▼──────┐ ┌─────▼─────┐ ┌──────▼──────┐
│ Derivatives │ │ Integrals │ │ Limits │
└──────┬──────┘ └─────┬─────┘ └──────┬──────┘
│ │ │
┌──────▼──────┐ ┌─────▼─────┐ ┌──────▼──────┐
│ Chain Rule │ │ Area Under│ │ Epsilon- │
│ │ │ Curve │ │ Delta │
└─────────────┘ └───────────┘ └─────────────┘
```
- **Navigate freely** — Jump to what interests you
- **See prerequisites** — Know what you need first
- **Track mastery** — Visual progress across the graph
- **Find connections** — See how concepts relate
### 2. Adaptive Tutoring
RoadWork adjusts to your understanding in real-time.
**Adaptation Dimensions:**
| Dimension | How It Adapts |
|-----------|---------------|
| **Difficulty** | Easier examples when struggling, harder when cruising |
| **Pace** | Slow down for complex topics, speed up for familiar ones |
| **Style** | Visual, textual, interactive based on what works for you |
| **Depth** | High-level overview vs. deep dive based on goals |
| **Examples** | Domain-relevant (code for devs, business for MBAs) |
### 3. Socratic Dialogue
Learning through conversation, not consumption.
```
RoadWork: What do you think happens to f(x) = 1/x as x approaches 0?
You: It gets really big?
RoadWork: Yes! Can you be more precise? What happens from the
positive side vs. the negative side?
You: Oh... from positive it goes to positive infinity, from
negative it goes to negative infinity?
RoadWork: Exactly! This is why we say the limit "does not exist"
at x=0 — the left and right limits don't agree. Let me show you
a visualization...
```
### 4. Spaced Repetition + Active Recall
Retention through scientifically-proven techniques:
- **Spaced repetition** — Review at optimal intervals
- **Active recall** — Generate answers, don't just recognize
- **Interleaving** — Mix topics to strengthen connections
- **Desirable difficulty** — Challenge strengthens memory
```
┌─────────────────────────────────────────────────┐
│ RETENTION CURVE │
│ │
│ 100% ─┐ │
│ │\ │
│ │ \ Review 1 Review 2 Review 3 │
│ │ \ │ │ │ │
│ 50% ─│ \─────┼───────────┼───────────┼── │
│ │ \ │\ │\ │\ │
│ │ \ │ \ │ \ │ \ │
│ 0% ─┴─────────┴───────────┴───────────┴──── │
│ Day 1 Day 3 Day 7 Day 21 │
└─────────────────────────────────────────────────┘
```
### 5. Project-Based Learning
Apply knowledge through real projects:
- **Guided projects** — Step-by-step with AI assistance
- **Open projects** — Define your own with AI feedback
- **Portfolio building** — Shareable proof of skills
- **Peer collaboration** — Work with others at similar levels
### 6. Certification & Credentials
Earn verifiable proof of mastery:
- **Skill badges** — Granular competency markers
- **Course certificates** — Completion with assessment
- **Blockchain verification** — Tamper-proof credentials
- **LinkedIn integration** — Share achievements
---
## Architecture
### Component Diagram
```
┌─────────────────────────────────────────────────────────────┐
│ ROADWORK PORTAL │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Course UI │ │ Lab UI │ │ Mobile UI │ │
│ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ │
│ │ │ │ │
│ ┌──────▼─────────────────▼─────────────────▼──────┐ │
│ │ LEARNING ENGINE │ │
│ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌────────┐ │ │
│ │ │Adaptive │ │Socratic │ │Spaced │ │Project │ │ │
│ │ │Tutor │ │Dialogue │ │Review │ │Engine │ │ │
│ │ └─────────┘ └─────────┘ └─────────┘ └────────┘ │ │
│ └──────────────────────┬──────────────────────────┘ │
│ │ │
│ ┌──────────────────────▼──────────────────────────┐ │
│ │ LEARNER MODEL │ │
│ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌────────┐ │ │
│ │ │Knowledge│ │Learning │ │Retention│ │Goals │ │ │
│ │ │State │ │Style │ │Schedule │ │Tracker │ │ │
│ │ └─────────┘ └─────────┘ └─────────┘ └────────┘ │ │
│ └──────────────────────┬──────────────────────────┘ │
│ │ │
│ ┌──────────────────────▼──────────────────────────┐ │
│ │ CONTENT ENGINE │ │
│ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌────────┐ │ │
│ │ │Knowledge│ │Content │ │Problem │ │Project │ │ │
│ │ │Graph │ │Library │ │Bank │ │Catalog │ │ │
│ │ └─────────┘ └─────────┘ └─────────┘ └────────┘ │ │
│ └─────────────────────────────────────────────────┘ │
│ │
├──────────────────────────────────────────────────────────────┤
│ GOVERNANCE LAYER │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ Cece │ │ Policy │ │ Ledger │ │ Intent │ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
└─────────────────────────────────────────────────────────────┘
```
### Learner Model
```typescript
interface LearnerModel {
learner_id: string;
created_at: string;
// Knowledge state
knowledge_graph: {
nodes: KnowledgeNode[];
edges: KnowledgeEdge[];
};
// Learning style
style: {
preferred_modality: 'visual' | 'textual' | 'interactive' | 'mixed';
pace_preference: 'slow' | 'moderate' | 'fast';
depth_preference: 'overview' | 'balanced' | 'deep';
example_domains: string[]; // e.g., ["programming", "business"]
};
// Retention tracking
retention: {
items: RetentionItem[];
schedule: ReviewSchedule;
};
// Goals and progress
goals: LearningGoal[];
streaks: StreakData;
achievements: Achievement[];
}
interface KnowledgeNode {
concept_id: string;
name: string;
mastery_level: number; // 0-100
last_practiced: string;
practice_count: number;
difficulty_rating: number; // How hard this is for this learner
prerequisites: string[];
status: 'locked' | 'available' | 'in_progress' | 'mastered';
}
interface RetentionItem {
item_id: string;
concept_id: string;
question: string;
last_review: string;
next_review: string;
ease_factor: number; // SM-2 algorithm parameter
interval: number; // Days until next review
repetitions: number;
}
```
---
## Learning Domains
### Launch Domains
| Domain | Topics | Target Audience |
|--------|--------|-----------------|
| **Programming** | Python, JavaScript, SQL, Data Structures | Beginners to intermediate |
| **Mathematics** | Algebra, Calculus, Statistics, Linear Algebra | Students, professionals |
| **Data Science** | ML basics, pandas, visualization, modeling | Career changers |
| **Languages** | Spanish, French, Japanese, Mandarin | All levels |
### Future Domains
- Sciences (Physics, Chemistry, Biology)
- Business (Finance, Marketing, Strategy)
- Design (UI/UX, Graphic Design)
- Music (Theory, Instruments)
- Writing (Creative, Technical, Academic)
---
## User Experience
### Learning Flow
```
1. ONBOARDING
├── Diagnostic assessment (optional)
├── Learning style survey
└── Goal setting
2. EXPLORATION
├── Browse knowledge graph
├── AI-recommended paths
└── Search specific topics
3. LEARNING
├── Adaptive lessons
├── Socratic dialogue
├── Practice problems
└── Hands-on labs
4. REINFORCEMENT
├── Daily review (spaced repetition)
├── Interleaved practice
└── Application projects
5. CERTIFICATION
├── Mastery assessment
├── Badge/certificate issuance
└── Portfolio update
```
### Example Session: Learning Python
```
RoadWork: Welcome back! You've been working on Python functions.
Your retention is strong on basic syntax, but let's reinforce
the concept of scope. Ready for a quick challenge?
You: Sure!
RoadWork: Look at this code:
x = 10
def modify():
x = 20
return x
result = modify()
print(x)
What gets printed?
You: 20?
RoadWork: Good guess, but let's think about it. When you write
`x = 20` inside the function, are you modifying the outer `x`
or creating a new local `x`?
You: Oh... creating a new local one?
RoadWork: Exactly! So the outer `x` is still 10. This is called
"variable shadowing." The local `x` shadows the global one.
If you wanted to modify the global `x`, you'd need to use the
`global` keyword. Want to see an example?
```
### Daily Review
```
┌─────────────────────────────────────────────────────────────┐
│ 📚 Daily Review 12 cards due │
├─────────────────────────────────────────────────────────────┤
│ │
│ What is the time complexity of binary search? │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ [Show Answer] │ │
│ │ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ ───────────────────────────────────────────────────────── │
│ │
│ O(log n) — because we halve the search space each step │
│ │
│ How well did you remember? │
│ │
│ [Again] [Hard] [Good] [Easy] │
│ (1 min) (6 min) (10 min) (4 days) │
│ │
└─────────────────────────────────────────────────────────────┘
```
---
## Governance Integration
### Learning Analytics Policies
```yaml
policies:
- scope: roadwork.analytics.collect
rules:
- condition: "data_type == 'performance'"
action: allow
reason: "Performance data needed for adaptation"
- condition: "data_type == 'biometric'"
action: deny
reason: "No biometric data collection"
- scope: roadwork.content.generate
rules:
- condition: "content_type == 'assessment'"
action: require_human_approval
reason: "Assessments need curriculum review"
```
### Credential Verification
All certificates are logged to the ledger:
```json
{
"event_id": "evt-20251130-cert001",
"intent_id": "int-20251130-learn",
"agent_id": "roadwork.certifier.v1",
"tool": "credential",
"action": "issue",
"inputs_hash": "sha256:learner+course+assessment",
"outputs_hash": "sha256:certificate_hash",
"metadata": {
"learner_id": "user:alexa",
"course_id": "python-fundamentals",
"mastery_score": 92,
"issued_at": "2025-11-30T14:32:01Z"
}
}
```
---
## API Endpoints
### Learning
```bash
# Start learning session
POST /portal/roadwork/sessions
{
"concept_id": "python-functions",
"mode": "adaptive" # or "review", "practice", "project"
}
# Submit response
POST /portal/roadwork/sessions/{session_id}/responses
{
"question_id": "q-12345",
"response": "O(log n)",
"time_taken_ms": 4500
}
# Get next content
GET /portal/roadwork/sessions/{session_id}/next
```
### Learner Model
```bash
# Get knowledge state
GET /portal/roadwork/learner/knowledge
# Get due reviews
GET /portal/roadwork/learner/reviews/due
# Update learning preferences
PATCH /portal/roadwork/learner/preferences
{
"pace": "fast",
"depth": "deep"
}
```
### Credentials
```bash
# Get certificates
GET /portal/roadwork/credentials
# Verify certificate
GET /portal/roadwork/credentials/{cert_id}/verify
# Share certificate
POST /portal/roadwork/credentials/{cert_id}/share
{
"platform": "linkedin"
}
```
---
## Pricing Tiers
| Tier | Price | Features |
|------|-------|----------|
| **Free** | $0/mo | 1 course at a time, basic review, no certificates |
| **Learner** | $15/mo | Unlimited courses, full review system, certificates |
| **Pro** | $30/mo | Priority AI tutoring, 1:1 sessions, career guidance |
| **Team** | $25/user/mo | Team learning, admin dashboard, progress tracking |
| **Enterprise** | Custom | Custom content, LMS integration, dedicated support |
---
## Roadmap
### MVP (Phase 1)
- [ ] Python fundamentals course
- [ ] Basic adaptive difficulty
- [ ] Spaced repetition system
- [ ] Simple knowledge graph
### Beta (Phase 2)
- [ ] 5+ courses
- [ ] Full Socratic dialogue
- [ ] Projects and labs
- [ ] Mobile app
### v1.0 (Phase 3)
- [ ] 20+ courses
- [ ] Certification system
- [ ] Peer learning
- [ ] Instructor tools
### Future
- [ ] VR/AR learning environments
- [ ] AI-generated personalized curriculum
- [ ] Corporate training platform
- [ ] Credential marketplace
---
## Competitive Differentiation
| Feature | RoadWork | Coursera | Duolingo | Khan Academy |
|---------|----------|----------|----------|--------------|
| Adaptive difficulty | ✅ Real-time | ❌ Fixed | ✅ Basic | ❌ Fixed |
| Knowledge graph | ✅ Visual | ❌ Linear | ❌ Linear | ✅ Basic |
| Socratic dialogue | ✅ AI-powered | ❌ None | ❌ None | ❌ None |
| Spaced repetition | ✅ Advanced | ❌ None | ✅ Basic | ❌ None |
| Governance/audit | ✅ Full | ❌ None | ❌ None | ❌ None |
| Cross-topic memory | ✅ Yes | ❌ No | ❌ No | ❌ No |
---
## References
- [Lucidia Portal](./lucidia.md)
- [Architecture Overview](../meta/vision/architecture.md)
- [Governance Layer](../governance/cece-agent-mode.md)