Skip to content

Repository files navigation

SEK Modules (TypeScript)

Special Education Kernel için resmi eklenti modülleri: mevcut motorları kernel sözleşmesine bağlayan ince adaptörler + platform kanal şemaları. Swift karşılığı birebir aynı mimariyi paylaşır.

Bu paketle birlikte platform ilk kez uçtan uca gerçek veriyle çalışır:

Öğretmen gözlemi (assessment-sessions kanalı, tohum veri)
        │
        ▼
┌─────────────────────────────┐
│ SEKTaskAnalysisModule        │  → skill-performance (oturum bazlı kayıtlar)
│ (Task Analysis Engine)       │  → assessment-reports (gerekçeli özet)
└──────────────┬───────────────┘
               ▼
┌─────────────────────────────┐
│ SEKGoalRecommendationModule  │  → goal-recommendations (gerekçeli öneriler)
│ (Goal Recommendation Engine) │
└──────────────────────────────┘

İki modül birbirini bilmez — yalnızca kernel kanallarından okur/yazar. Motorların çekirdek kodu değişmemiştir; her adaptör envelope ↔ motor tipi dönüşümü yapan ince bir katmandır.

İçerik

Dosya İçerik
src/channels.ts Kanal kimlikleri + motor-bağımsız wire şemaları (AssessmentSessionRecord@1, SkillPerformanceRecord@1, AssessmentReportRecord@1, GoalRecommendationRecord@1)
src/taskAnalysisModule.ts task-analysis-assessment-engine adaptörü
src/goalRecommendationModule.ts goal-recommendation-engine adaptörü

Kurulum

npm install github:rootayb/sek-modules-ts

Bağımlılıklar (kernel + iki motor) GitHub üzerinden çekilir ve prepare script'iyle otomatik derlenir.

Kullanım

import { ChannelCatalog, Kernel, ModuleRegistry, studentId } from "special-education-kernel";
import { SEKChannels, SEKTaskAnalysisModule, SEKGoalRecommendationModule } from "sek-modules";

const catalog = new ChannelCatalog();
catalog.define({ id: SEKChannels.assessmentSessions, requiresExplanation: false, description: "Ham oturumlar" });
catalog.define({ id: SEKChannels.skillPerformance, requiresExplanation: false, description: "Performans kayıtları" });
catalog.define({ id: SEKChannels.assessmentReports, requiresExplanation: true, description: "Raporlar" });
catalog.define({ id: SEKChannels.goalRecommendations, requiresExplanation: true, description: "Öneriler" });

const registry = new ModuleRegistry(catalog);
registry.register(new SEKTaskAnalysisModule(), JSON.stringify(taaConfig));       // beceri/basamak tanımları
registry.register(new SEKGoalRecommendationModule(), JSON.stringify(greConfig)); // beceri grafiği

const kernel = new Kernel(registry);
const report = kernel.run(studentId("student-1"), teacherSessionEnvelopes);

Beceri tanımları statik veri olduğundan kanal yerine modül config'i olarak taşınır ve kayıt anında doğrulanır (boş liste, döngülü graf, geçersiz eşikler kayıtta reddedilir).

Test

npm install
npm test   # kernel üzerinde uçtan uca gerçek pipeline testleri (5 test)

Lisans

MIT — bkz. LICENSE

About

Official plugin modules for the Special Education Kernel — Task Analysis and Goal Recommendation adapters (TypeScript)

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages