205 lines
5.6 KiB
JSON
205 lines
5.6 KiB
JSON
{
|
||
"schemaVersion": 1,
|
||
"task": "WBV2-P1128-000",
|
||
"parentTask": "WBV2-P1127-000",
|
||
"status": "in_progress",
|
||
"goal": "使用本地 ffmpeg.wasm Worker 作为 Chromium HTML media 解码失败时的 MOVIE probe/proxy fallback;核心 JS/WASM 同源懒加载,输入和输出均 hash-bound。",
|
||
"scope": {
|
||
"gap": "workflow:sequencer_movie_codec",
|
||
"ownerFamily": "MEDIA",
|
||
"implementationClass": "LOCAL_BOUNDED"
|
||
},
|
||
"commands": [
|
||
"npm --prefix web run typecheck",
|
||
"npm --prefix web run build"
|
||
],
|
||
"inputPaths": [],
|
||
"inputSelection": {
|
||
"schemaVersion": 1,
|
||
"limits": {
|
||
"maxFiles": 12,
|
||
"evidenceBytes": 8192,
|
||
"contextRemainingBytes": 1225,
|
||
"contextRemainingTokens": 305
|
||
},
|
||
"source": {
|
||
"bytes": 8679,
|
||
"tokens": 2171
|
||
},
|
||
"selected": [],
|
||
"excluded": [
|
||
{
|
||
"path": "web/package.json",
|
||
"bytes": 36288,
|
||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||
},
|
||
{
|
||
"path": "web/package-lock.json",
|
||
"bytes": 73060,
|
||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||
},
|
||
{
|
||
"path": "web/protocol/sequencer.ts",
|
||
"bytes": 24333,
|
||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||
},
|
||
{
|
||
"path": "web/app/src/sequencer/SequencerCodecProbe.ts",
|
||
"bytes": 6435,
|
||
"reason": "CONTEXT_REMAINING_SPACE"
|
||
},
|
||
{
|
||
"path": "web/app/src/sequencer/FFmpegMovieProbe.ts",
|
||
"bytes": 3955,
|
||
"reason": "CONTEXT_REMAINING_SPACE"
|
||
},
|
||
{
|
||
"path": "web/app/src/sequencer/ffmpeg-movie-probe.worker.ts",
|
||
"bytes": 3721,
|
||
"reason": "CONTEXT_REMAINING_SPACE"
|
||
},
|
||
{
|
||
"path": "web/app/src/sequencer/SequencerMediaProxyCache.ts",
|
||
"bytes": 9116,
|
||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||
},
|
||
{
|
||
"path": "web/app/src/vendor/ffmpeg/ffmpeg-core.js",
|
||
"bytes": 111804,
|
||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||
},
|
||
{
|
||
"path": "web/app/src/vendor/ffmpeg/ffmpeg-core.wasm",
|
||
"bytes": 32232419,
|
||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||
},
|
||
{
|
||
"path": "web/app/public/vendor/ffmpeg/ffmpeg-core.js",
|
||
"bytes": 112059,
|
||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||
},
|
||
{
|
||
"path": "web/app/public/vendor/ffmpeg/ffmpeg-core.wasm",
|
||
"bytes": 32232419,
|
||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||
},
|
||
{
|
||
"path": "web/tests/e2e/ffmpeg-movie-probe-production.spec.ts",
|
||
"bytes": 2700,
|
||
"reason": "CONTEXT_REMAINING_SPACE"
|
||
}
|
||
],
|
||
"totals": {
|
||
"files": 0,
|
||
"bytes": 0,
|
||
"tokens": 0
|
||
}
|
||
},
|
||
"exitCriteria": [
|
||
"source and core-resource hashes are bound",
|
||
"positive MP4 probe and RGBA frame are proven",
|
||
"corrupt and source-identity cases are rejected",
|
||
"AbortSignal cancellation leaves no live Worker",
|
||
"full-family parity remains explicit"
|
||
],
|
||
"nextTask": null,
|
||
"sourceDocuments": {
|
||
"queue": "docs/EXECUTION_QUEUE.md",
|
||
"taskCard": "docs/tasks/WBV2-P1128-000.md",
|
||
"taskIndex": "tests/golden/WBV2/task-index.json",
|
||
"parentManifest": "tests/golden/WBV2-P1127-000/manifest.json",
|
||
"parentStatus": "docs/status/WBV2-P1127-000.md"
|
||
},
|
||
"readPolicy": {
|
||
"required": [
|
||
"docs/EXECUTION_QUEUE.md",
|
||
"docs/tasks/WBV2-P1128-000.md",
|
||
"tests/golden/WBV2-P1127-000/manifest.json",
|
||
"docs/status/WBV2-P1127-000.md"
|
||
],
|
||
"machineOnly": [
|
||
"tests/golden/WBV2/task-index.json",
|
||
"tests/golden/M15-03A/task-catalog.jsonl"
|
||
],
|
||
"optionalByNeed": [
|
||
"docs/WEB_BLENDER_MODELER_V1_SCOPE.md",
|
||
"任务卡列出的精确协议/生产路径",
|
||
"任务卡明确命名的长期计划小节"
|
||
],
|
||
"forbiddenByDefault": [
|
||
"完整 CURRENT_EXECUTION_PLAN.md",
|
||
"完整 PROJECT_STATUS_AND_NEXT_WORK.md",
|
||
"全部 docs/status/*.md",
|
||
"完整 parity/WBS 计划",
|
||
"README 历史和 test-results/"
|
||
]
|
||
},
|
||
"parent": {
|
||
"manifest": {
|
||
"schemaVersion": 1,
|
||
"task": "WBV2-P1127-000",
|
||
"parentTask": "WBV2-P1126-000",
|
||
"status": "done",
|
||
"nextTask": "WBV2-P1128-000",
|
||
"artifactCount": 14
|
||
},
|
||
"statusSummary": [
|
||
"# WBV2-P1127-000 status",
|
||
"- task: `WBV2-P1127-000`; module: `TRACKING_MASK`; status: `done`",
|
||
"- source hashes stable: `true`; commands passed: `3`",
|
||
"- positive Main mutation, negative no-mutation, recovery and Chromium gates are recorded in the module receipt",
|
||
"- full-family parity: `false`; inventory remains: `6900` total, effective `290/6609`",
|
||
"- nextTask: `NONE`"
|
||
]
|
||
},
|
||
"budgets": {
|
||
"queueBytes": 4096,
|
||
"taskBytes": 1907,
|
||
"parentManifestBytes": 24576,
|
||
"parentStatusBytes": 6144,
|
||
"evidenceFiles": 12,
|
||
"evidenceBytes": 8192,
|
||
"contextTokens": 3500,
|
||
"contextEnvelopeTokens": 1024,
|
||
"taskLines": 39,
|
||
"taskTokens": 477
|
||
},
|
||
"size": {
|
||
"documents": [
|
||
{
|
||
"path": "docs/EXECUTION_QUEUE.md",
|
||
"bytes": 3387,
|
||
"lines": 54,
|
||
"tokens": 847
|
||
},
|
||
{
|
||
"path": "docs/tasks/WBV2-P1128-000.md",
|
||
"bytes": 1907,
|
||
"lines": 39,
|
||
"tokens": 477
|
||
},
|
||
{
|
||
"path": "tests/golden/WBV2-P1127-000/manifest.json",
|
||
"bytes": 3026,
|
||
"lines": 86,
|
||
"tokens": 757
|
||
},
|
||
{
|
||
"path": "docs/status/WBV2-P1127-000.md",
|
||
"bytes": 359,
|
||
"lines": 8,
|
||
"tokens": 90
|
||
}
|
||
],
|
||
"sourceTokens": 2171,
|
||
"evidenceFiles": 0,
|
||
"evidenceBytes": 0,
|
||
"evidenceTokens": 0,
|
||
"totalTokens": 2171,
|
||
"reservedEnvelopeTokens": 1024,
|
||
"estimatedContextTokens": 3195,
|
||
"serializedContextTokens": 654,
|
||
"withinBudget": true
|
||
}
|
||
}
|