Back to corpus
proposalexperiment writeup candidatescore 24

TrajectoryOS iOS - Production Roadmap

Add new entities to schema: ```swift let schema = Schema([ // Existing LifeStateEntity.self, SkillEntity.self, SkillEvidenceEntity.self, TransitionEntity.self, ProjectEntity.self, ConstraintEntity.self, // NEW - Skills System SkillDecayConfigEntity.self, SkillRelationshipEntity.self, SkillTargetEntity.self, SkillTargetRequirementEntity.self, LearningPathEntity.self, SkillPracticeLogEntity.self, SkillAssessmentEntity.self, SkillDecayAlertEntity.self, ]) ```

Full HTML reader

Read the full artifact

Open in new tab

Extracted abstract or opening context

### ✅ Completed - **SwiftData Entities** (7): SkillDecayConfig, SkillRelationship, SkillTarget, LearningPath, SkillPracticeLog, SkillAssessment, SkillDecayAlert - **Services** (6): SkillDecay, SkillRelationship, LearningPath, SkillPractice, SkillAssessment, SkillGraph (facade) - **ViewModel**: SkillsViewModel with @Observable pattern ### 🔴 Critical Gaps for Production 1. No UI views for Skills System 2. New entities not registered in app schema 3. SkillsViewModel uses sample data (not connected to SkillEntity) 4. No navigation to Skills from main app 5. No notifications for decay alerts 6. No backend sync | View | Purpose | Complexity | |------|---------|------------| | **SkillsDashboardView** | Overview with health score, at-risk skills, recommendations | Medium | | **SkillDetailView** | Single skill detail with decay, practice, relationships | High | | **PracticeLogSheet** | Log practice modal | Low | | **SkillGraphView** | Visual skill relationship graph | High | | **LearningPathsView** | Active paths, gap analysis | Medium | | **AssessmentView** | Take self-assessments | Medium | Trigger points: - Daily decay check finds critical skill - Skill becomes "at risk" status - Streak about to break (no practice yesterday) ### 2.2 Haptics & Animations - Practice logged → Success haptic + confetti animation - Streak milestone reached → Celebration animation - Skill level up → Level-up sound + animation

Promotion decision

What has to happen next

Attach run IDs, datasets, metrics, and reproduction commands.

Why this is not always a full paper yet

Corpus pages are public-safe readers for discovered workspace artifacts. They are not automatically final papers. A corpus item becomes a polished paper only after the editable source, evidence checkpoints, references, figures, render path, and release status are attached through the paper schema.