{ "schemaVersion": 1, "task": "WBV2-P14-003", "parentTask": "WBV2-P14-002", "status": "done", "goal": "Close the coverage gate with a limited declaration and machine-checkable batching policy.", "scope": { "gap": "workflow:close_inventory_coverage_gate", "ownerFamily": "RELEASE", "implementationClass": "LOCAL_BOUNDED" }, "commands": [ "node tools/web/generate-wbv2-inventory-coverage-gate.mjs --write", "node tools/web/check-task-context.mjs --task WBV2-P14-003 --write" ], "inputPaths": [ "tests/golden/WBV2-P14-002/capability-evidence-report.json" ], "inputSelection": { "schemaVersion": 1, "limits": { "maxFiles": 12, "evidenceBytes": 8192, "contextRemainingBytes": 2543, "contextRemainingTokens": 634 }, "source": { "bytes": 7361, "tokens": 1842 }, "selected": [ { "path": "tests/golden/WBV2-P14-002/capability-evidence-report.json", "bytes": 1219, "tokens": 305 } ], "excluded": [ { "path": "tests/golden/WBV2-P14-002/capability-evidence-matrix.json", "bytes": 9752, "reason": "EVIDENCE_BYTE_BUDGET" }, { "path": "tests/golden/WBV2-P14-002/manifest.json", "bytes": 0, "reason": "ALREADY_IN_CONTEXT" }, { "path": "tests/golden/WBV2-P14-003/", "bytes": null, "reason": "GENERATED_EVIDENCE_OUTPUT" }, { "path": "docs/status/WBV2-P14-003.md", "bytes": null, "reason": "GENERATED_EVIDENCE_OUTPUT" }, { "path": "tests/golden/WBV2-P14-003/manifest.json", "bytes": null, "reason": "GENERATED_EVIDENCE_OUTPUT" } ], "totals": { "files": 1, "bytes": 1219, "tokens": 305 } }, "exitCriteria": [ "all entries have a capability bucket", "feature claims remain evidence-bound", "no historical or inventory over-claim" ], "nextTask": null, "sourceDocuments": { "queue": "docs/EXECUTION_QUEUE.md", "taskCard": "docs/tasks/WBV2-P14-003.md", "taskIndex": "tests/golden/WBV2/task-index.json", "parentManifest": "tests/golden/WBV2-P14-002/manifest.json", "parentStatus": "docs/status/WBV2-P14-002.md" }, "readPolicy": { "required": [ "docs/EXECUTION_QUEUE.md", "docs/tasks/WBV2-P14-003.md", "tests/golden/WBV2-P14-002/manifest.json", "docs/status/WBV2-P14-002.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-P14-002", "parentTask": "WBV2-P14-001", "status": "done", "nextTask": "WBV2-P14-003", "artifactCount": 11 }, "statusSummary": [ "# WBV2-P14-002 status", "- task: `WBV2-P14-002`; parent: `WBV2-P14-001`; status: `done`", "- capability buckets reconciled: `15`; inventory: `6900` total, `6618` pending", "- representative-evidence buckets: `7`; unproven pending buckets: `7`; active unproven: `1`", "- engine-bound claims referenced: `8`; full-family parity claims: `0`", "- repeated Blender/Chromium validation: `0`; duplicate validation avoided: `true`", "- nextTask: `WBV2-P14-003`", "This matrix binds the P14 coverage ledger to the eight P13 feature claims. Representative receipts remain partial slices; a capability family is not complete until each entry has its own evidence." ] }, "budgets": { "queueBytes": 4096, "taskBytes": 1211, "parentManifestBytes": 24576, "parentStatusBytes": 6144, "evidenceFiles": 12, "evidenceBytes": 8192, "contextTokens": 3500, "contextEnvelopeTokens": 1024, "taskLines": 35, "taskTokens": 303 }, "size": { "documents": [ { "path": "docs/EXECUTION_QUEUE.md", "bytes": 2803, "lines": 51, "tokens": 701 }, { "path": "docs/tasks/WBV2-P14-003.md", "bytes": 1211, "lines": 35, "tokens": 303 }, { "path": "tests/golden/WBV2-P14-002/manifest.json", "bytes": 2713, "lines": 73, "tokens": 679 }, { "path": "docs/status/WBV2-P14-002.md", "bytes": 634, "lines": 11, "tokens": 159 } ], "sourceTokens": 1842, "evidenceFiles": 1, "evidenceBytes": 1219, "evidenceTokens": 305, "totalTokens": 2147, "reservedEnvelopeTokens": 1024, "estimatedContextTokens": 3171, "serializedContextTokens": 679, "withinBudget": true } }