ContractSpec docs

OSS-first docs

These docs teach the open system first: contracts, generated surfaces, runtimes, governance, and incremental adoption. Studio shows up as the operating layer on top, not as the source of truth.

learning-journey

Learning platform with courses, onboarding, flashcards, and gamification

  • Type: feature
  • Version: 1.0.0
  • Stability: stable
  • Owners: @platform.learning-journey
  • Tags: learning, onboarding, courses, flashcards, gamification
  • field.key.label
    learning-journey
    field.version.label
    1.0.0
    field.type.label
    feature
    field.title.label
    learning-journey
    field.description.label

    Learning platform with courses, onboarding, flashcards, and gamification

  • Type: feature
  • Version: 1.0.0
  • Stability: stable
  • Owners: @platform.learning-journey
  • Tags: learning, onboarding, courses, flashcards, gamification
  • field.tags.label
    learning,onboarding,courses,flashcards,gamification
    field.owners.label
    @platform.learning-journey
    field.stability.label
    stable

    Learning platform with courses, onboarding, flashcards, and gamification

    Operations (8)

    `learning.journey.recordEvent` (v1.0.0)

    `learning.journey.listTracks` (v1.0.0)

    `learning.journey.getProgress` (v1.0.0)

    `learning.enroll` (v1.0.0)

    `learning.completeLesson` (v1.0.0)

    `learning.submitCardReview` (v1.0.0)

    `learning.getDueCards` (v1.0.0)

    `learning.getDashboard` (v1.0.0)

    Events (16)

    `course.published` (v1.0.0)

    `course.completed` (v1.0.0)

    `enrollment.created` (v1.0.0)

    `lesson.completed` (v1.0.0)

    `onboarding.started` (v1.0.0)

    `onboarding.step_completed` (v1.0.0)

    `onboarding.completed` (v1.0.0)

    `flashcard.reviewed` (v1.0.0)

    `quiz.started` (v1.0.0)

    `quiz.completed` (v1.0.0)

    `xp.earned` (v1.0.0)

    `level.up` (v1.0.0)

    `streak.updated` (v1.0.0)

    `achievement.unlocked` (v1.0.0)

    `daily_goal.completed` (v1.0.0)

    `certificate.issued` (v1.0.0)

    Source Definition

    /**
     * Learning Journey Feature Module Specification
     *
     * Defines the feature module for learning, onboarding, and gamification.
     */
    import { defineFeature } from '@lssm-tech/lib.contracts-spec';
    
    /**
     * Learning Journey feature module that bundles course enrollment,
     * onboarding tracks, flashcard review, and gamification capabilities.
     */
    export const LearningJourneyFeature = defineFeature({
    	meta: {
    		key: 'learning-journey',
    		version: '1.0.0',
    		title: 'Learning Journey',
    		description:
    			'Learning platform with courses, onboarding, flashcards, and gamification',
    		domain: 'learning',
    		owners: ['@platform.learning-journey'],
    		tags: ['learning', 'onboarding', 'courses', 'flashcards', 'gamification'],
    		stability: 'stable',
    	},
    
    	// All contract operations included in this feature
    	operations: [
    		// Onboarding operations
    		{ key: 'learning.journey.recordEvent', version: '1.0.0' },
    		{ key: 'learning.journey.listTracks', version: '1.0.0' },
    		{ key: 'learning.journey.getProgress', version: '1.0.0' },
    
    		// Core learning operations
    		{ key: 'learning.enroll', version: '1.0.0' },
    		{ key: 'learning.completeLesson', version: '1.0.0' },
    		{ key: 'learning.submitCardReview', version: '1.0.0' },
    		{ key: 'learning.getDueCards', version: '1.0.0' },
    		{ key: 'learning.getDashboard', version: '1.0.0' },
    	],
    
    	// Events emitted by this feature
    	events: [
    		// Course events
    		{ key: 'course.published', version: '1.0.0' },
    		{ key: 'course.completed', version: '1.0.0' },
    
    		// Enrollment events
    		{ key: 'enrollment.created', version: '1.0.0' },
    
    		// Progress events
    		{ key: 'lesson.completed', version: '1.0.0' },
    
    		// Onboarding events
    		{ key: 'onboarding.started', version: '1.0.0' },
    		{ key: 'onboarding.step_completed', version: '1.0.0' },
    		{ key: 'onboarding.completed', version: '1.0.0' },
    
    		// Flashcard events
    		{ key: 'flashcard.reviewed', version: '1.0.0' },
    
    		// Quiz events
    		{ key: 'quiz.started', version: '1.0.0' },
    		{ key: 'quiz.completed', version: '1.0.0' },
    
    		// Gamification events
    		{ key: 'xp.earned', version: '1.0.0' },
    		{ key: 'level.up', version: '1.0.0' },
    		{ key: 'streak.updated', version: '1.0.0' },
    		{ key: 'achievement.unlocked', version: '1.0.0' },
    		{ key: 'daily_goal.completed', version: '1.0.0' },
    
    		// Certificate events
    		{ key: 'certificate.issued', version: '1.0.0' },
    	],
    
    	// No presentations for this module feature
    	presentations: [],
    	opToPresentation: [],
    	presentationsTargets: [],
    
    	// Capability definitions
    	capabilities: {
    		provides: [
    			{ key: 'learning-journey', version: '1.0.0' },
    			{ key: 'onboarding', version: '1.0.0' },
    			{ key: 'gamification', version: '1.0.0' },
    		],
    		requires: [{ key: 'identity', version: '1.0.0' }],
    	},
    });