Add GLB stage manifests
This commit is contained in:
1
.trellis/tasks/08-04-add-stage-manifests/check.jsonl
Normal file
1
.trellis/tasks/08-04-add-stage-manifests/check.jsonl
Normal file
@@ -0,0 +1 @@
|
||||
{"_example": "Fill with {\"file\": \"<path>\", \"reason\": \"<why>\"}. Put spec/research files only — no code paths. Run `python3 .trellis/scripts/get_context.py --mode packages` to list available specs. Delete this line once real entries are added."}
|
||||
1
.trellis/tasks/08-04-add-stage-manifests/implement.jsonl
Normal file
1
.trellis/tasks/08-04-add-stage-manifests/implement.jsonl
Normal file
@@ -0,0 +1 @@
|
||||
{"_example": "Fill with {\"file\": \"<path>\", \"reason\": \"<why>\"}. Put spec/research files only — no code paths. Run `python3 .trellis/scripts/get_context.py --mode packages` to list available specs. Delete this line once real entries are added."}
|
||||
41
.trellis/tasks/08-04-add-stage-manifests/prd.md
Normal file
41
.trellis/tasks/08-04-add-stage-manifests/prd.md
Normal file
@@ -0,0 +1,41 @@
|
||||
# Add stage manifests
|
||||
|
||||
## Goal
|
||||
|
||||
Add first-version machine-readable stage manifests for build outputs and diagnostics.
|
||||
|
||||
## Requirements
|
||||
|
||||
- Add a first-version stage manifest contract for build pipeline outputs.
|
||||
- Manifest files must live under the area `_pipeline/` directory and be JSON.
|
||||
- The first implementation must cover:
|
||||
- `cesium` stage: record blend input, GLB / metadata / preview outputs, GLB
|
||||
digest summary, duration, and warnings.
|
||||
- `compress` stage: record source GLB / metadata / preview inputs, compressed
|
||||
GLB / metadata / preview outputs, compression summary, duration, and
|
||||
warnings.
|
||||
- Manifest writing must not replace or rename existing baseline artifacts.
|
||||
- Diagnostics must report discovered stage manifest status so stale/missing
|
||||
stage contracts become visible.
|
||||
- Shared helpers should prevent duplicate path/stat/hash/manifest formatting
|
||||
rules across scripts.
|
||||
- README and pipeline spec must document the manifest location and contract.
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
- [x] Running `npm run build:area -- --config config/areas/nantaizi-lake-innovation-valley.json --stages cesium`
|
||||
writes a `cesium` manifest under `_pipeline`.
|
||||
- [x] Running `npm run build:area -- --config config/areas/nantaizi-lake-innovation-valley.json --stages compress`
|
||||
writes a `compress` manifest under `_pipeline`.
|
||||
- [x] Manifest JSON records input/output file stats and machine-readable summary
|
||||
counts for GLB-producing stages.
|
||||
- [x] `npm run diagnose:area -- --config config/areas/nantaizi-lake-innovation-valley.json`
|
||||
displays stage manifest status.
|
||||
- [x] Syntax checks pass for changed Node scripts.
|
||||
- [x] README and Trellis pipeline spec document the new contract.
|
||||
|
||||
## Notes
|
||||
|
||||
- Keep `prd.md` focused on requirements, constraints, and acceptance criteria.
|
||||
- Lightweight tasks can remain PRD-only.
|
||||
- For complex tasks, add `design.md` for technical design and `implement.md` for execution planning before `task.py start`.
|
||||
26
.trellis/tasks/08-04-add-stage-manifests/task.json
Normal file
26
.trellis/tasks/08-04-add-stage-manifests/task.json
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"id": "add-stage-manifests",
|
||||
"name": "add-stage-manifests",
|
||||
"title": "Add stage manifests",
|
||||
"description": "Add first-version machine-readable stage manifests for build outputs and diagnostics.",
|
||||
"status": "in_progress",
|
||||
"dev_type": null,
|
||||
"scope": null,
|
||||
"package": null,
|
||||
"priority": "P2",
|
||||
"creator": "dingkang",
|
||||
"assignee": "dingkang",
|
||||
"createdAt": "2026-08-04",
|
||||
"completedAt": null,
|
||||
"branch": null,
|
||||
"base_branch": "main",
|
||||
"worktree_path": null,
|
||||
"commit": null,
|
||||
"pr_url": null,
|
||||
"subtasks": [],
|
||||
"children": [],
|
||||
"parent": null,
|
||||
"relatedFiles": [],
|
||||
"notes": "",
|
||||
"meta": {}
|
||||
}
|
||||
Reference in New Issue
Block a user