CAP-101: Knowledge Adaptation

Structured Data

Capability Metadata

FieldValue
IDCAP-101
Versionv1.27
DomainSpecialist Domains
GroupKnowledge Packs
StatusDocumented
RelatedCAP-100, CAP-102, CAP-103
Mastery levelsnovice, practitioner, expert
State storage.claude/knowledge/learner-state.json

Configuration Reference

Mastery levels: novice / practitioner / expert

Adaptation triggers: exercise completion, error rate, concept re-query

Content depth per mastery level:

novice — overview first; full scaffolding; conceptual explanations

practitioner — standard depth; partial scaffolding; technical reference

expert — technical reference first; no scaffolding; API-level detail

interface LearnerState {
  domain: string;
  pack: string;
  mastery: 'novice' | 'practitioner' | 'expert';
  concept_scores: Map; // 0-1 per concept
  exercise_history: ExerciseResult[];
  last_seen: Date;
  session_count: number;
}

// Adaptation: adjust section depth based on mastery
function selectContent(state: LearnerState, section: Section) {
  if (state.mastery === 'novice') return section.overview;
  if (state.mastery === 'expert') return section.technical_reference;
  return section.standard;
}

Technical Specifications

Learner model: per-learner state persisted in .claude/knowledge/learner-state.json

Adaptive content selection: novice gets overview first, expert gets technical reference

Exercise difficulty scaling: based on error history from knowledge patterns (CAP-100)

Mastery promotion: concept_score >= 0.8 across 3 sessions triggers mastery level upgrade

Overview

Knowledge Adaptation transforms static domain documentation into a responsive learning experience. The same knowledge pack shows different depth to a novice and an expert, meeting each where they are. A novice encountering an AGC knowledge pack for the first time gets the overview section first, with conceptual explanations and full scaffolding on exercises. An expert gets the technical reference section, with API-level detail and no hand-holding.

The learner model — a per-learner state object tracking mastery level, concept scores, and exercise history — is the engine of adaptation. As a learner completes exercises, their concept scores update. When scores exceed the mastery threshold consistently across sessions, their mastery level upgrades from novice to practitioner, or practitioner to expert. Content selection automatically adjusts to the new level on the next session.

Knowledge Adaptation works in concert with Knowledge Patterns (CAP-100) and Knowledge Scaffolding (CAP-102). Patterns identify what the learner is struggling with; adaptation decides what depth of content to show; scaffolding provides the appropriate level of support for exercises at that depth.

History

The mastery model was motivated by observing that GSD skills served both beginners (who needed concepts explained) and experts (who needed API reference) — but static documentation served neither well. Beginners were overwhelmed by technical detail; experts were frustrated by excessive explanation. A single static document couldn't satisfy both audiences.

The three-level mastery model (novice / practitioner / expert) was chosen over a continuous score specifically because three discrete levels map cleanly to distinct content strategies. A continuous score would require a continuous content selection function — far more complex to author and validate. With three levels, knowledge pack authors write three variants of each section (overview, standard, technical_reference), and the adaptation layer selects the right one. The discrete levels also communicate clearly to the learner: "you are a practitioner in this domain."

Key Concepts

For Students & Teachers

A good tutor doesn't give the same explanation to every student — they pay attention to what each student already knows and adjust their teaching accordingly. Knowledge Adaptation gives the knowledge pack system that same situational awareness.

The mastery level is like a difficulty setting that adjusts itself automatically based on what you demonstrate you know. You start as a novice, and the system explains things from first principles. As you complete exercises successfully and your concept scores improve, the system recognises you've levelled up and starts giving you more advanced content without being asked.

Usage Examples

Example 1: Checking learner state

const state = await learnerStateManager.getState({
  learnerId: 'user-123',
  domain: 'apollo-agc',
  pack: 'apollo-agc-basics'
});

console.log(state.mastery);         // 'practitioner'
console.log(state.session_count);  // 7
console.log(state.concept_scores); // Map { 'CCS instruction': 0.85, 'TC instruction': 0.92 }

Example 2: Content selected based on mastery

Learner: novice
Selected content: section.overview
→ "The TC instruction (Transfer Control) is AGC's version of a
   function call. It loads the next instruction address into the
   program counter. Think of it like a road sign directing traffic..."

Learner: expert
Selected content: section.technical_reference
→ "TC addr: loads addr into Z register (program counter). Execution
   time: 1 MCT (11.7 µs). Returns from subroutine: TCF NORET..."

Related Capabilities