Files
water/tmp/hatch-pet/omen-cat/run/imagegen-jobs.json
yuhaiming 70e2356f22 fix(app): 修复 AppController 安全与查询问题
- 加强异常处理、类型安全和图片上传校验
- 优化设备相关查询,避免重复访问数据源
- 补充并记录并发测试与审查修复实施计划
2026-07-17 08:20:44 +08:00

596 lines
18 KiB
JSON

{
"schema_version": 1,
"created_at": "2026-07-16T06:34:52.640872+00:00",
"run_dir": "D:\\code\\water\\tmp\\hatch-pet\\omen-cat\\run",
"primary_generation_skill": "$imagegen",
"jobs": [
{
"id": "base",
"kind": "base-pet",
"status": "pending",
"prompt_file": "prompts/base-pet.md",
"input_images": [
{
"path": "references\\reference-01.png",
"role": "pet reference"
}
],
"output_path": "decoded/base.png",
"depends_on": [],
"generation_skill": "$imagegen",
"requires_grounded_generation": true,
"allow_prompt_only_generation": false
},
{
"id": "idle",
"kind": "row-strip",
"status": "pending",
"prompt_file": "prompts/rows/idle.md",
"retry_prompt_file": "prompts/row-retries/idle.md",
"input_images": [
{
"path": "references\\reference-01.png",
"role": "pet reference"
},
{
"path": "references/layout-guides/idle.png",
"role": "layout guide for 6 frame slots; use for spacing only, do not copy guide lines"
},
{
"path": "references/canonical-base.png",
"role": "canonical identity reference"
}
],
"output_path": "decoded/idle.png",
"depends_on": [
"base"
],
"generation_skill": "$imagegen",
"requires_grounded_generation": true,
"allow_prompt_only_generation": false,
"identity_reference_paths": [
"references/canonical-base.png"
],
"parallelizable_after": [
"base"
],
"derivation_policy": {
"may_derive": false,
"reason": "no deterministic derivation is configured for this state"
},
"mirror_policy": {}
},
{
"id": "running-right",
"kind": "row-strip",
"status": "pending",
"prompt_file": "prompts/rows/running-right.md",
"retry_prompt_file": "prompts/row-retries/running-right.md",
"input_images": [
{
"path": "references\\reference-01.png",
"role": "pet reference"
},
{
"path": "references/layout-guides/running-right.png",
"role": "layout guide for 8 frame slots; use for spacing only, do not copy guide lines"
},
{
"path": "references/canonical-base.png",
"role": "canonical identity reference"
}
],
"output_path": "decoded/running-right.png",
"depends_on": [
"base"
],
"generation_skill": "$imagegen",
"requires_grounded_generation": true,
"allow_prompt_only_generation": false,
"identity_reference_paths": [
"references/canonical-base.png"
],
"parallelizable_after": [
"base"
],
"derivation_policy": {
"may_derive": false,
"reason": "no deterministic derivation is configured for this state"
},
"mirror_policy": {}
},
{
"id": "running-left",
"kind": "row-strip",
"status": "pending",
"prompt_file": "prompts/rows/running-left.md",
"retry_prompt_file": "prompts/row-retries/running-left.md",
"input_images": [
{
"path": "references\\reference-01.png",
"role": "pet reference"
},
{
"path": "references/layout-guides/running-left.png",
"role": "layout guide for 8 frame slots; use for spacing only, do not copy guide lines"
},
{
"path": "references/canonical-base.png",
"role": "canonical identity reference"
},
{
"path": "decoded/running-right.png",
"role": "rightward gait reference for leftward row decision"
}
],
"output_path": "decoded/running-left.png",
"depends_on": [
"base",
"running-right"
],
"generation_skill": "$imagegen",
"requires_grounded_generation": true,
"allow_prompt_only_generation": false,
"identity_reference_paths": [
"references/canonical-base.png"
],
"parallelizable_after": [
"base",
"running-right"
],
"derivation_policy": {
"may_derive": true,
"may_derive_from": "running-right",
"derivation": "framewise-horizontal-mirror-preserving-order",
"requires_explicit_approval": true,
"fallback_generation_skill": "$imagegen"
},
"mirror_policy": {
"may_derive": true,
"may_derive_from": "running-right",
"derivation": "framewise-horizontal-mirror-preserving-order",
"requires_explicit_approval": true,
"fallback_generation_skill": "$imagegen"
}
},
{
"id": "waving",
"kind": "row-strip",
"status": "pending",
"prompt_file": "prompts/rows/waving.md",
"retry_prompt_file": "prompts/row-retries/waving.md",
"input_images": [
{
"path": "references\\reference-01.png",
"role": "pet reference"
},
{
"path": "references/layout-guides/waving.png",
"role": "layout guide for 4 frame slots; use for spacing only, do not copy guide lines"
},
{
"path": "references/canonical-base.png",
"role": "canonical identity reference"
}
],
"output_path": "decoded/waving.png",
"depends_on": [
"base"
],
"generation_skill": "$imagegen",
"requires_grounded_generation": true,
"allow_prompt_only_generation": false,
"identity_reference_paths": [
"references/canonical-base.png"
],
"parallelizable_after": [
"base"
],
"derivation_policy": {
"may_derive": false,
"reason": "state requires its own generated animation semantics"
},
"mirror_policy": {}
},
{
"id": "jumping",
"kind": "row-strip",
"status": "pending",
"prompt_file": "prompts/rows/jumping.md",
"retry_prompt_file": "prompts/row-retries/jumping.md",
"input_images": [
{
"path": "references\\reference-01.png",
"role": "pet reference"
},
{
"path": "references/layout-guides/jumping.png",
"role": "layout guide for 5 frame slots; use for spacing only, do not copy guide lines"
},
{
"path": "references/canonical-base.png",
"role": "canonical identity reference"
}
],
"output_path": "decoded/jumping.png",
"depends_on": [
"base"
],
"generation_skill": "$imagegen",
"requires_grounded_generation": true,
"allow_prompt_only_generation": false,
"identity_reference_paths": [
"references/canonical-base.png"
],
"parallelizable_after": [
"base"
],
"derivation_policy": {
"may_derive": false,
"reason": "state requires its own generated animation semantics"
},
"mirror_policy": {}
},
{
"id": "failed",
"kind": "row-strip",
"status": "pending",
"prompt_file": "prompts/rows/failed.md",
"retry_prompt_file": "prompts/row-retries/failed.md",
"input_images": [
{
"path": "references\\reference-01.png",
"role": "pet reference"
},
{
"path": "references/layout-guides/failed.png",
"role": "layout guide for 8 frame slots; use for spacing only, do not copy guide lines"
},
{
"path": "references/canonical-base.png",
"role": "canonical identity reference"
}
],
"output_path": "decoded/failed.png",
"depends_on": [
"base"
],
"generation_skill": "$imagegen",
"requires_grounded_generation": true,
"allow_prompt_only_generation": false,
"identity_reference_paths": [
"references/canonical-base.png"
],
"parallelizable_after": [
"base"
],
"derivation_policy": {
"may_derive": false,
"reason": "state requires its own generated animation semantics"
},
"mirror_policy": {}
},
{
"id": "waiting",
"kind": "row-strip",
"status": "pending",
"prompt_file": "prompts/rows/waiting.md",
"retry_prompt_file": "prompts/row-retries/waiting.md",
"input_images": [
{
"path": "references\\reference-01.png",
"role": "pet reference"
},
{
"path": "references/layout-guides/waiting.png",
"role": "layout guide for 6 frame slots; use for spacing only, do not copy guide lines"
},
{
"path": "references/canonical-base.png",
"role": "canonical identity reference"
}
],
"output_path": "decoded/waiting.png",
"depends_on": [
"base"
],
"generation_skill": "$imagegen",
"requires_grounded_generation": true,
"allow_prompt_only_generation": false,
"identity_reference_paths": [
"references/canonical-base.png"
],
"parallelizable_after": [
"base"
],
"derivation_policy": {
"may_derive": false,
"reason": "state requires its own generated animation semantics"
},
"mirror_policy": {}
},
{
"id": "running",
"kind": "row-strip",
"status": "pending",
"prompt_file": "prompts/rows/running.md",
"retry_prompt_file": "prompts/row-retries/running.md",
"input_images": [
{
"path": "references\\reference-01.png",
"role": "pet reference"
},
{
"path": "references/layout-guides/running.png",
"role": "layout guide for 6 frame slots; use for spacing only, do not copy guide lines"
},
{
"path": "references/canonical-base.png",
"role": "canonical identity reference"
}
],
"output_path": "decoded/running.png",
"depends_on": [
"base"
],
"generation_skill": "$imagegen",
"requires_grounded_generation": true,
"allow_prompt_only_generation": false,
"identity_reference_paths": [
"references/canonical-base.png"
],
"parallelizable_after": [
"base"
],
"derivation_policy": {
"may_derive": false,
"reason": "state requires its own generated animation semantics"
},
"mirror_policy": {}
},
{
"id": "review",
"kind": "row-strip",
"status": "pending",
"prompt_file": "prompts/rows/review.md",
"retry_prompt_file": "prompts/row-retries/review.md",
"input_images": [
{
"path": "references\\reference-01.png",
"role": "pet reference"
},
{
"path": "references/layout-guides/review.png",
"role": "layout guide for 6 frame slots; use for spacing only, do not copy guide lines"
},
{
"path": "references/canonical-base.png",
"role": "canonical identity reference"
}
],
"output_path": "decoded/review.png",
"depends_on": [
"base"
],
"generation_skill": "$imagegen",
"requires_grounded_generation": true,
"allow_prompt_only_generation": false,
"identity_reference_paths": [
"references/canonical-base.png"
],
"parallelizable_after": [
"base"
],
"derivation_policy": {
"may_derive": false,
"reason": "state requires its own generated animation semantics"
},
"mirror_policy": {}
},
{
"id": "look-cardinals",
"kind": "look-cardinal-strip",
"status": "pending",
"prompt_file": "prompts/look-cardinals.md",
"repair_prompt_files": {
"000": "prompts/look-anchor-repairs/000.md",
"090": "prompts/look-anchor-repairs/090.md",
"180": "prompts/look-anchor-repairs/180.md",
"270": "prompts/look-anchor-repairs/270.md"
},
"input_images": [
{
"path": "references\\reference-01.png",
"role": "pet reference"
},
{
"path": "references/layout-guides/look-cardinals.png",
"role": "layout guide for four cardinal slots; use for spacing only, do not copy guide lines"
},
{
"path": "references/canonical-base.png",
"role": "canonical identity reference"
},
{
"path": "qa/contact-sheet.png",
"role": "approved standard-row identity, scale, and baseline reference"
}
],
"output_path": "decoded/look-cardinals.png",
"extracted_output_paths": [
"decoded/look-anchors/000.png",
"decoded/look-anchors/090.png",
"decoded/look-anchors/180.png",
"decoded/look-anchors/270.png"
],
"approved_strip_path": "decoded/look-anchors-approved.png",
"depends_on": [
"idle",
"running-right",
"running-left",
"waving",
"jumping",
"failed",
"waiting",
"running",
"review"
],
"generation_skill": "$imagegen",
"requires_grounded_generation": true,
"allow_prompt_only_generation": false,
"identity_reference_paths": [
"references/canonical-base.png"
],
"look_mechanics_file": "qa/look-mechanics.md",
"directions": [
"000",
"090",
"180",
"270"
],
"packaging_eligible": false,
"parallelizable_after": [
"idle",
"running-right",
"running-left",
"waving",
"jumping",
"failed",
"waiting",
"running",
"review"
],
"derivation_policy": {
"may_derive": false,
"reason": "cardinal directions require grounded pet-specific generation"
}
},
{
"id": "look-row-9",
"kind": "look-row-strip",
"status": "pending",
"prompt_file": "prompts/rows/look-row-9.md",
"retry_prompt_file": "prompts/row-retries/look-row-9.md",
"input_images": [
{
"path": "references\\reference-01.png",
"role": "pet reference"
},
{
"path": "references/layout-guides/look-row-9.png",
"role": "layout guide for 8 direction slots; use for spacing only, do not copy guide lines"
},
{
"path": "references/canonical-base.png",
"role": "canonical identity reference"
},
{
"path": "qa/contact-sheet.png",
"role": "approved standard-row identity, scale, and baseline reference"
},
{
"path": "decoded/look-anchors-approved.png",
"role": "approved cardinal reference strip in order 000 up, 090 screen-right, 180 down, 270 screen-left; interpolate intermediate directions evenly"
}
],
"output_path": "decoded/look-row-9.png",
"depends_on": [
"look-cardinals"
],
"generation_skill": "$imagegen",
"requires_grounded_generation": true,
"allow_prompt_only_generation": false,
"identity_reference_paths": [
"references/canonical-base.png"
],
"look_mechanics_file": "qa/look-mechanics.md",
"directions": [
"000",
"022.5",
"045",
"067.5",
"090",
"112.5",
"135",
"157.5"
],
"parallelizable_after": [
"look-cardinals"
],
"derivation_policy": {
"may_derive": false,
"reason": "look directions require grounded pet-specific generation"
},
"coherent_synthesis_required": true,
"individual_cell_packaging_allowed": false,
"packaging_eligible": true
},
{
"id": "look-row-10",
"kind": "look-row-strip",
"status": "pending",
"prompt_file": "prompts/rows/look-row-10.md",
"retry_prompt_file": "prompts/row-retries/look-row-10.md",
"input_images": [
{
"path": "references\\reference-01.png",
"role": "pet reference"
},
{
"path": "references/layout-guides/look-row-10.png",
"role": "layout guide for 8 direction slots; use for spacing only, do not copy guide lines"
},
{
"path": "references/canonical-base.png",
"role": "canonical identity reference"
},
{
"path": "qa/contact-sheet.png",
"role": "approved standard-row identity, scale, and baseline reference"
},
{
"path": "decoded/look-anchors-approved.png",
"role": "approved cardinal reference strip in order 000 up, 090 screen-right, 180 down, 270 screen-left; interpolate intermediate directions evenly"
},
{
"path": "decoded/look-row-9.png",
"role": "completed first half of the clockwise look loop for row 10 continuity"
}
],
"output_path": "decoded/look-row-10.png",
"depends_on": [
"look-cardinals",
"look-row-9"
],
"generation_skill": "$imagegen",
"requires_grounded_generation": true,
"allow_prompt_only_generation": false,
"identity_reference_paths": [
"references/canonical-base.png"
],
"look_mechanics_file": "qa/look-mechanics.md",
"directions": [
"180",
"202.5",
"225",
"247.5",
"270",
"292.5",
"315",
"337.5"
],
"parallelizable_after": [
"look-cardinals",
"look-row-9"
],
"derivation_policy": {
"may_derive": false,
"reason": "look directions require grounded pet-specific generation"
},
"coherent_synthesis_required": true,
"individual_cell_packaging_allowed": false,
"packaging_eligible": true
}
]
}