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.getProgress

Project the latest adaptive journey progress for one track.

  • Type: operation (query)
  • Version: 1.0.0
  • Stability: stable
  • Tags: adaptive-learning, journey, progress
  • File: packages/modules/learning-journey/src/contracts/journey.ts
  • field.key.label
    learning.journey.getProgress
    field.version.label
    1.0.0
    field.type.label
    operation (query)
    field.title.label
    learning.journey.getProgress
    field.description.label

    Project the latest adaptive journey progress for one track.

  • Type: operation (query)
  • Version: 1.0.0
  • Stability: stable
  • Tags: adaptive-learning, journey, progress
  • File: packages/modules/learning-journey/src/contracts/journey.ts
  • field.tags.label
    adaptive-learning,journey,progress
    field.owners.label
    field.stability.label
    stable

    Project the latest adaptive journey progress for one track.

    Goal

    Render next-step, branch, and reward state consistently.

    Context

    Called by widgets, journey detail pages, and adaptive shells.

    Source Definition

    import { defineCommand, defineQuery } from '@lssm-tech/lib.contracts-spec';
    import { defineSchemaModel, ScalarTypeEnum } from '@lssm-tech/lib.schema';
    import { LEARNING_JOURNEY_OWNERS } from './shared';
    
    export const GetJourneyProgressContract = defineQuery({
    	meta: {
    		key: 'learning.journey.getProgress',
    		version: '1.0.0',
    		stability: 'stable',
    		owners: [...LEARNING_JOURNEY_OWNERS],
    		tags: ['adaptive-learning', 'journey', 'progress'],
    		description: 'Project the latest adaptive journey progress for one track.',
    		goal: 'Render next-step, branch, and reward state consistently.',
    		context: 'Called by widgets, journey detail pages, and adaptive shells.',
    	},
    	io: { input: JourneyProgressInput, output: JourneyProgressModel },
    	policy: { auth: 'user' },
    });