Validated 2026-07-18 at commit 0808b8cb5b (working tree). Every link in
proposal Section 29 was resolved from docs/proposals/ and every §29.3
primitive was opened and its exact export surface recorded, replacing
directory-level claims with named symbols.
Link validation result#
All 30 links resolve — 5 ADRs (§29.1), 10 domain docs (§29.2), 15 implementation primitives (§29.3). No stale paths; no replacements required. Re-run the check with the command recorded in the evidence log (YSD-0102 entry).
§29.3 exact reusable symbols, services, and contracts#
Aja reference-video (apps/aja/svc-reference-video/src/)#
types.ts— 87 exports. Branded IDs + generators:VideoId,SegmentId,AnnotationId,ClipId,CategoryId,TagId,WorkspaceId,UserId,CommentId,ReviewId,AssignmentId,VersionId,EmbeddingIdwithgenerate*Id()factories. Media identity:VideoCodec,AudioCodec,ContainerFormat,ColorSpace,PixelFormat,VideoStreamMetadata,AudioStreamMetadata,VideoMetadata,VideoRendition,ThumbnailSprite,Video,VideoSourceType,VideoStatus. Analysis:DetectedScene,SceneDetectionAlgorithm,SceneTransitionType,SceneDetectionConfig,SceneDetectionResult,DetectedPerson,ActivityClassification,SkeletonJoint,SkeletonPose,BoundingBox,PolygonPoint. Study objects:Segment,SegmentType,Annotation,AnnotationType,Clip,Category,Tag,VideoEmbedding,EmbeddingType,SearchQuery,SearchResult. Collaboration:Workspace,WorkspaceRole,WorkspaceMember,Comment,Review,ReviewStatus,Assignment,Version. Upload:UploadRequest,BatchUploadRequest,UploadProgress. Errors:ReferenceVideoErrorCode,ReferenceVideoError. Reuse posture: the type vocabulary is a strong starting shape for YSD-2020–2052 contracts, but IDs are service-local (no tenant scoping), rights are absent, and review states do not match the YSD-2005 vocabulary — treat as input, not as the shared contract.scene-detection.ts—SceneDetectionService,MotionSegmentationService,HSVColor,FrameStats,FrameDifference, configs (DEFAULT_SCENE_CONFIG,CONTENT_AWARE_CONFIG,ADAPTIVE_CONFIG,THRESHOLD_CONFIG), factoriescreateSceneDetectionService,createMotionSegmentationService,detectScenes. Caveat: frame statistics and scene changes are simulated (generateSimulatedFrameStats/generateSimulatedSceneChanges, lines 271–334); the algorithmic scaffolding (HSV histogram diffing, threshold configs) is real but has no real frame source. Per YSD-1007 wrap behind the Aja adapter asunsupported/unavailableuntil real decoding exists.metadata-extraction.ts—MetadataExtractor,ThumbnailGenerator,MetadataExtractionConfig,ThumbnailConfig, defaults, factories,extractVideoMetadata. Caveat: FFprobe execution is simulated from the filename (getSimulatedFFprobeOutput, lines 259–282/508–511; markedstub:legitimateV2-deferred per V1-P2-0331). Same adapter posture as above.
Yemaya creative agents (libs/yemaya/agents/src/creative/)#
performance-reference-library.ts—PerformanceReferenceLibrary(class),createPerformanceReferenceLibrary,PerformanceReferenceClip,BenchmarkPerformance,StyleExemplar,PerformanceDimension(facial / vocal / timing / chemistry / intention / subtext dimensions),PerformanceDimensionScores,PerformanceReferenceSearch,PerformanceCalibrationProfile,PerformanceComparisonInput/Result. Caveats: storage is in-memoryMaps (lines 183–185); rights are a four-value enum (line 36). The dimension vocabulary is the reusable part.- Study-relevant analyzers (each a
.tsmodule with a primary class):facial-expression-analyzer,vocal-performance-analyzer,timing-rhythm-analyzer,chemistry-analyzer,body-language-evaluator,scene-intention-analyzer,subtext-analysis-communication-engine,emotional-arc-tracker,emotional-mapping-engine,take-comparison-matrix,comparative-take-analyzer,take-ranking-system,best-segment-extractor,performance-highlight-extractor,segment-boundary-detector,continuity-violation-detector,timing-rhythm-analyzer. Caveat: these analyzers largely consume pre-extracted features; none owns reliable media extraction (proposal §5.2). - Prohibited-inference risk (flag for YSD-4052/YSD-9 lens work):
eye-contact-gaze-monitor,fatigue-stress-detector,engagement-authenticity-scorer,actor-response-detection-systeminfer real internal states (gaze, fatigue/stress, authenticity). Reusing them as-is in the study workspace would violate the proposal's prohibition on real-state emotion inference and biometric-truth claims; they require behavior-observation reframing or exclusion, decided per-lens during Section 9 work — do not import them via a blanket adapter. - The directory also contains ~60 production-direction modules (
ai-director-*, drone display, scheduling, reshoot workflow, writers' agents) that are out of study-workspace scope.
Sophia transcript ingestion (libs/sophia/ingestion/src/adapters/video-transcript.ts)#
VideoTranscriptAdapter implements SourceAdapter,VideoTranscriber(interface seam for real ASR),VideoTranscriptEnvelope,VideoSegment,VideoAdapterOptions,VIDEO_ADAPTER_VERSION = '1.0.0'. Reuse posture: the proposal's cited timestamp-anchored evidence pattern; theSourceAdaptercontract it implements is the integration point for YSD-2029 anchors.
Metis learning (libs/metis/adaptive/src/)#
profiling/knowledge-tracker.ts—KnowledgeTracker(Bayesian mastery over a prerequisite graph),KnowledgeObservation,PrerequisiteEdge,KnowledgeTrackerConfig, factoriescreateKnowledgeTracker,createKnowledgeTrackerWithDecay,createStrictKnowledgeTracker. Maps to YSD-2047 MasteryRecord and YSD-14xxx mastery flows.path/fsrs.ts—FSRS(FSRS-5 scheduler),FSRSCard,FSRSConfig,FSRSRating,FSRSState,FSRS5_DEFAULT_WEIGHTS,DECAY,FACTOR, factoriescreateFSRS,createHighRetentionFSRS,createRelaxedFSRS. Direct fit for YSD-2048 SpacedReviewItem scheduling (scheduler version = FSRS-5 weights vector).
Shared content signing (libs/shared/content-signing/src/)#
index.ts—ED25519_ALGORITHM,sha256Hex,generateEd25519SigningKeyPair,ed25519Sign,ed25519Verify,ed25519SignBase64,ed25519VerifyBase64,ClaimSigner,ClaimVerifier(interfaces),Ed25519ClaimSigner,Ed25519ClaimVerifier;browser.tsprovides the browser-side verifier. Fit for YSD-4125/4126 signed study packs and YSD-5008 signed session manifests.
Nisaba standards (libs/nisaba/standards/src/reference-linked-data.ts)#
- CTS/citation machinery:
CTSUrn,CTSTextGroup,CTSWork,CTSEdition,CTSTranslation,CTSPassage,CTS_NAMESPACE_REGISTRY,parseCTSUrn,formatCTSUrn,validateCTSUrn,buildGetPassageRequest,buildGetValidReffRequest,buildGetCapabilitiesRequest,parseCTSResponse; bibliography contractsBibTeXEntry(+Type/Database),RISRecord,CSLName/CSLDate/CSLItemType. Caveat (YSD-0113): the edition model here is philology-shaped (critical editions of texts, CTS URNs); it proves Nisaba's durable-citation competence but is not a media cut/build model. The bibliography/citation exports are directly reusable for YSD-15xxx citation formats.
Aphrodite game replay (libs/aphrodite/game-runtime/src/replay/)#
input-recorder.ts—InputRecorder,createInputRecorder{,30fps,120fps}.replay-player.ts—ReplayPlayer,createReplayPlayer/createSlowMotionPlayer/createFastForwardPlayer.state-snapshotter.ts—StateSnapshotter,computeDiff,applyDiff,createStateSnapshotter/createFrequentSnapshotter/createSparseSnapshotter.replay-system.ts—ReplayFile,ReplayFileHeader,ReplayFileMagic = 'OSHRPLY',ReplayFileVersion = 1,CompressedInputFrame,ReplayCameraMode,ReplayFindingSeverity.replay-exporter.ts—ReplayExporter. Reuse posture: deterministic input-replay + snapshot/diff primitives for YSD-2077 replay identity and Section 12 Tier B/C study; product-specific (aphrodite), so consumed via the Bellona/product-runtime adapter boundary (YSD-0158), not imported directly.
V2 player-behavior heatmaps (apps/v2/player-behavior-heatmaps/src/)#
buildV2PlayerBehaviorHeatmapsSurface,V2PlayerBehaviorHeatmapsSurface,V2PlayerBehaviorHeatmapMap/Cell/Voxel,V2PlayerBehaviorPositionSample,V2PlayerBehaviorHeatmapEventKind = 'movement' | 'death' | 'linger', binding/policy IDs (v2.telemetry.player-behavior-heatmaps,v2-player-behavior-heatmaps-v1). Telemetry-aggregation shape for Section 12 instrumented study; per-title, so again adapter-mediated.
Fixture-backed Studio/product surfaces (interaction concepts only)#
apps/oshun/web/src/components/studio/StudioHathorDirectorPerformanceReplaySystemPanel.tsx— fixture-driven replay/readiness panel; reusable as interaction reference for Section 8, not as a primitive.apps/yemaya/studio-web/src/pages/AnimationLearningPage.tsx— hard-coded learning material.apps/yemaya/studio-web/src/pages/DailiesReviewPage.tsx— fixture-backed review interaction.
Notes feeding later items#
- The YSD-4052 conflict list above (gaze/fatigue/authenticity analyzers) must be carried into the Section 4.4 safeguards and the Section 9 lens decisions.
- The reuse-versus-wrap-versus-replace decision per primitive is YSD-0103's ledger, which builds on this record.