{"schemaVersion":1,"url":"/mika-avatar/api/live2d/mika/delivery-readiness","ready":true,"selectedDeliveryDir":"/app/deliveries/mika-live2d","candidateDeliveryDirs":["/app/deliveries/mika-live2d","/app/dist/mika-live2d-delivery","/app/mika-live2d-delivery"],"deliveryValidation":{"schemaVersion":1,"avatarId":"mika_live2d","runtime":"live2d","deliveryDir":"/app/deliveries/mika-live2d","readyForIntake":true,"filePlanStatus":[{"id":"runtimeModelJson","path":"runtime/mika_live2d.model3.json","required":true,"description":"Live2D model3.json runtime entry.","present":true,"ready":true,"blockingReasons":[]},{"id":"moc3","path":"runtime/*.moc3","required":true,"description":"Live2D Cubism moc3 model.","present":true,"ready":true,"blockingReasons":[]},{"id":"textures","path":"runtime/textures/","required":true,"description":"Runtime texture atlas files.","present":true,"ready":true,"blockingReasons":[]},{"id":"displayInfo","path":"runtime/*.cdi3.json","required":true,"description":"Cubism DisplayInfo file listing model-native parameters like mao_pro.","present":true,"ready":true,"blockingReasons":[]},{"id":"physics","path":"runtime/*.physics3.json","required":true,"description":"Cubism Physics file for hair, accessories, and natural secondary motion.","present":true,"ready":true,"blockingReasons":[]},{"id":"pose","path":"runtime/*.pose3.json","required":true,"description":"Cubism Pose file for model part visibility and pose switching like mao_pro.","present":true,"ready":true,"blockingReasons":[]},{"id":"expressions","path":"runtime/expressions/","required":true,"description":"Model-native Cubism expression files for vowels and face states.","present":true,"ready":true,"blockingReasons":[]},{"id":"motions","path":"runtime/motions/","required":true,"description":"Motion files for idle, lyric reading, gestures, and rhythm movement.","present":true,"ready":true,"blockingReasons":[]},{"id":"sourceProject","path":"source/","required":true,"description":"Editable Cubism source and layered art source.","present":true,"ready":true,"blockingReasons":[]},{"id":"deliveryManifest","path":"DELIVERY_MANIFEST.json","required":true,"description":"Machine-readable delivery manifest.","present":true,"ready":true,"blockingReasons":[]},{"id":"modelProductionRequest","path":"MODEL_PRODUCTION_REQUEST.md","required":true,"description":"Production request and acceptance contract.","present":true,"ready":true,"blockingReasons":[]},{"id":"psdLayerSpec","path":"PSD_LAYER_SPEC.md","required":true,"description":"PSD/source layer split production specification.","present":true,"ready":true,"blockingReasons":[]},{"id":"sourceManifest","path":"SOURCE_MANIFEST.json","required":true,"description":"Machine-readable source file inventory with provenance and sha256 evidence.","present":true,"ready":true,"blockingReasons":[]},{"id":"psdLayerManifest","path":"PSD_LAYER_MANIFEST.json","required":true,"description":"Machine-readable per-layer source contract proving Mika is split for Cubism rigging.","present":true,"ready":true,"blockingReasons":[]},{"id":"partsMap","path":"PARTS_MAP.json","required":true,"description":"Machine-readable source part map proving mao_pro-like split parts.","present":true,"ready":true,"blockingReasons":[]},{"id":"riggingSpec","path":"RIGGING_SPEC.json","required":true,"description":"Machine-readable rigging target spec connecting split source parts to model-native parameters.","present":true,"ready":true,"blockingReasons":[]},{"id":"license","path":"LICENSE.md","required":true,"description":"Model, art, texture, and tool license notes with commercial, public web, and LearnMore usage grants.","present":true,"ready":true,"blockingReasons":[]},{"id":"artSources","path":"ART_SOURCES.md","required":true,"description":"Source notes for art, textures, generated inputs, references, and producer provenance.","present":true,"ready":true,"blockingReasons":[]},{"id":"attributionManifest","path":"ATTRIBUTION_MANIFEST.json","required":true,"description":"Machine-readable license grants, attribution text, and site display locations.","present":true,"ready":true,"blockingReasons":[]},{"id":"expressionMap","path":"EXPRESSION_MAP.json","required":true,"description":"Mika vowel/expression key to Live2D expression/motion mapping.","present":true,"ready":true,"blockingReasons":[]},{"id":"motionMap","path":"MOTION_MAP.json","required":true,"description":"LearnMore action to Live2D motion group mapping.","present":true,"ready":true,"blockingReasons":[]},{"id":"parameterMap","path":"PARAMETER_MAP.json","required":true,"description":"Live2D model-native mouth and motion parameter contract.","present":true,"ready":true,"blockingReasons":[]},{"id":"parameterDriverContract","path":"PARAMETER_DRIVER_CONTRACT.json","required":true,"description":"Machine-readable mouth and motion parameter driver contract.","present":true,"ready":true,"blockingReasons":[]},{"id":"runtimeModelContract","path":"RUNTIME_MODEL_CONTRACT.json","required":true,"description":"Machine-readable runtime model3/FileReferences contract.","present":true,"ready":true,"blockingReasons":[]},{"id":"runtimeExportManifest","path":"RUNTIME_EXPORT_MANIFEST.json","required":true,"description":"Machine-readable inventory of the actual Cubism runtime export files.","present":true,"ready":true,"blockingReasons":[]},{"id":"visualQa","path":"VISUAL_QA.json","required":true,"description":"Manual visual quality approval.","present":true,"ready":true,"blockingReasons":[]},{"id":"acceptanceChecklist","path":"ACCEPTANCE_CHECKLIST.md","required":true,"description":"Desktop/mobile LearnMore acceptance checklist.","present":true,"ready":true,"blockingReasons":[]},{"id":"layerSplitChecklist","path":"LAYER_SPLIT_CHECKLIST.md","required":true,"description":"PSD/source layer split checklist required for mao_pro-like model-native motion.","present":true,"ready":true,"blockingReasons":[]},{"id":"acceptanceMedia","path":"acceptance/","required":true,"description":"Screenshots or video proving the model in LearnMore.","present":true,"ready":true,"blockingReasons":[]}],"filePlanCount":29,"blockingReasons":[],"blockingReasonCount":0},"deliveryFilePlanSummary":{"totalCount":29,"presentCount":29,"readyCount":29,"missingCount":0,"blockedCount":0,"presentIds":["runtimeModelJson","moc3","textures","displayInfo","physics","pose","expressions","motions","sourceProject","deliveryManifest","modelProductionRequest","psdLayerSpec","sourceManifest","psdLayerManifest","partsMap","riggingSpec","license","artSources","attributionManifest","expressionMap","motionMap","parameterMap","parameterDriverContract","runtimeModelContract","runtimeExportManifest","visualQa","acceptanceChecklist","layerSplitChecklist","acceptanceMedia"],"readyIds":["runtimeModelJson","moc3","textures","displayInfo","physics","pose","expressions","motions","sourceProject","deliveryManifest","modelProductionRequest","psdLayerSpec","sourceManifest","psdLayerManifest","partsMap","riggingSpec","license","artSources","attributionManifest","expressionMap","motionMap","parameterMap","parameterDriverContract","runtimeModelContract","runtimeExportManifest","visualQa","acceptanceChecklist","layerSplitChecklist","acceptanceMedia"],"missingIds":[],"blockedIds":[]},"deliveryMilestoneSummary":[{"id":"runtime","label":"Live2D runtime export","fileIds":["runtimeModelJson","moc3","textures","displayInfo","physics","pose","runtimeModelContract","runtimeExportManifest"],"ready":true,"totalCount":8,"presentCount":8,"readyCount":8,"missingCount":0,"blockedCount":0,"readyIds":["runtimeModelJson","moc3","textures","displayInfo","physics","pose","runtimeModelContract","runtimeExportManifest"],"missingIds":[],"blockedIds":[],"blockingReasons":[],"blockingReasonCount":0},{"id":"source","label":"Layered source and part map","fileIds":["sourceProject","sourceManifest","psdLayerManifest","partsMap","riggingSpec"],"ready":true,"totalCount":5,"presentCount":5,"readyCount":5,"missingCount":0,"blockedCount":0,"readyIds":["sourceProject","sourceManifest","psdLayerManifest","partsMap","riggingSpec"],"missingIds":[],"blockedIds":[],"blockingReasons":[],"blockingReasonCount":0},{"id":"expressions","label":"Model-native expressions","fileIds":["expressions","expressionMap"],"ready":true,"totalCount":2,"presentCount":2,"readyCount":2,"missingCount":0,"blockedCount":0,"readyIds":["expressions","expressionMap"],"missingIds":[],"blockedIds":[],"blockingReasons":[],"blockingReasonCount":0},{"id":"motions","label":"Model-native motions","fileIds":["motions","motionMap"],"ready":true,"totalCount":2,"presentCount":2,"readyCount":2,"missingCount":0,"blockedCount":0,"readyIds":["motions","motionMap"],"missingIds":[],"blockedIds":[],"blockingReasons":[],"blockingReasonCount":0},{"id":"parameters","label":"Mao-pro-compatible parameter map","fileIds":["parameterMap","parameterDriverContract"],"ready":true,"totalCount":2,"presentCount":2,"readyCount":2,"missingCount":0,"blockedCount":0,"readyIds":["parameterMap","parameterDriverContract"],"missingIds":[],"blockedIds":[],"blockingReasons":[],"blockingReasonCount":0},{"id":"license","label":"License, source, and attribution","fileIds":["license","artSources","attributionManifest"],"ready":true,"totalCount":3,"presentCount":3,"readyCount":3,"missingCount":0,"blockedCount":0,"readyIds":["license","artSources","attributionManifest"],"missingIds":[],"blockedIds":[],"blockingReasons":[],"blockingReasonCount":0},{"id":"acceptance","label":"Desktop and mobile acceptance","fileIds":["visualQa","acceptanceChecklist","acceptanceMedia"],"ready":true,"totalCount":3,"presentCount":3,"readyCount":3,"missingCount":0,"blockedCount":0,"readyIds":["visualQa","acceptanceChecklist","acceptanceMedia"],"missingIds":[],"blockedIds":[],"blockingReasons":[],"blockingReasonCount":0}],"sourceReviewProgress":{"ready":false,"sourceReviewLedgerReady":false,"evidenceWorkspaceReady":false,"sourceConfirmed":false,"sourceAcceptanceReady":false,"releaseReady":false,"ledgerRelativePath":"source/cubism-source-review-ledger/SOURCE_REVIEW_LEDGER.json","ledgerPath":"/app/deliveries/mika-live2d/source/cubism-source-review-ledger/SOURCE_REVIEW_LEDGER.json","ledgerUrl":"/mika-avatar/api/live2d/mika/cubism-source-review-ledger","ledgerMarkdownUrl":"/mika-avatar/handoff/mika-live2d/cubism-source-review-ledger.md","evidenceWorkspaceRelativePath":"source/cubism-source-review-evidence-workspace","evidenceWorkspacePath":"/app/deliveries/mika-live2d/source/cubism-source-review-evidence-workspace","evidenceValidationUrl":"/mika-avatar/api/live2d/mika/cubism-source-review-evidence-validation","evidenceValidationMarkdownUrl":"/mika-avatar/handoff/mika-live2d/cubism-source-review-evidence-validation.md","rowCount":0,"reviewCompleteRowCount":0,"incompleteReviewRowCount":0,"missingEvidenceRowCount":0,"evidenceWorkspaceReadyRowCount":0,"requiredEvidenceItemCount":0,"capturedEvidenceItemCount":0,"missingEvidenceItemCount":0,"pendingManualCubismMergeCount":0,"pendingUnchangedSourceReviewCount":0,"sourceConfirmedLayerCount":0,"nextSourceReviewPassId":"","nextReviewRows":[],"passSummary":[],"blockingReasons":["SOURCE_REVIEW_LEDGER.json sourceConfirmed 仍是 false"]},"nextMilestoneId":"","blockingReasons":[],"nextActions":["將 runtime/ 內容複製到 live2d-models/mika_live2d/runtime 並註冊 model_dict.json"]}