rig-create 0.0.0-stage → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (555) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +169 -2
  3. package/docs/CHECKS.md +1682 -0
  4. package/docs/COLLECTIONS.md +337 -0
  5. package/docs/CRAFT.md +277 -0
  6. package/docs/INTERVIEW.md +886 -0
  7. package/docs/LESSONS.md +172 -0
  8. package/docs/PROJECT.md +2657 -0
  9. package/docs/SOURCE.md +225 -0
  10. package/package.json +44 -4
  11. package/src/agent-bounce.ts +27 -0
  12. package/src/agent-guide.ts +237 -0
  13. package/src/amend.ts +193 -0
  14. package/src/applied-review.ts +104 -0
  15. package/src/ask-coverage.ts +69 -0
  16. package/src/assemble-answers.ts +53 -0
  17. package/src/cg-gates.ts +211 -0
  18. package/src/check-reads.ts +106 -0
  19. package/src/check.ts +1059 -0
  20. package/src/checkpoint-evidence-writer.ts +125 -0
  21. package/src/checkpoint-evidence.ts +152 -0
  22. package/src/choice-writers.ts +271 -0
  23. package/src/choices.ts +378 -0
  24. package/src/cli.ts +371 -0
  25. package/src/collection-answer.ts +136 -0
  26. package/src/collection-binding-reader.ts +496 -0
  27. package/src/collection-binding.ts +478 -0
  28. package/src/collection.ts +348 -0
  29. package/src/config-inputs.ts +155 -0
  30. package/src/config-lost.ts +135 -0
  31. package/src/correction-writers.ts +207 -0
  32. package/src/corrections.ts +685 -0
  33. package/src/diff-classes.ts +219 -0
  34. package/src/diff-map.ts +248 -0
  35. package/src/direction-citation.ts +13 -0
  36. package/src/direction-writers.ts +119 -0
  37. package/src/direction.ts +266 -0
  38. package/src/drafts.ts +363 -0
  39. package/src/feedback.ts +744 -0
  40. package/src/figure-mask.ts +143 -0
  41. package/src/fix-ledger.ts +355 -0
  42. package/src/init.ts +265 -0
  43. package/src/inputs.ts +160 -0
  44. package/src/intake.ts +158 -0
  45. package/src/interview.ts +53 -0
  46. package/src/invariants.ts +132 -0
  47. package/src/job-acts.ts +80 -0
  48. package/src/job-advance.ts +65 -0
  49. package/src/job-close.ts +226 -0
  50. package/src/job-host.ts +529 -0
  51. package/src/job-outbox.ts +383 -0
  52. package/src/job-publication.ts +701 -0
  53. package/src/job-runtime.ts +99 -0
  54. package/src/job-writer.ts +123 -0
  55. package/src/meshes-bust.ts +63 -0
  56. package/src/next.ts +1506 -0
  57. package/src/overrides.ts +42 -0
  58. package/src/package-upgrades.ts +32 -0
  59. package/src/packages-upgrade-check.ts +6 -0
  60. package/src/packages-upgrade.ts +168 -0
  61. package/src/parts-act.ts +96 -0
  62. package/src/parts-check.ts +242 -0
  63. package/src/parts-review.ts +196 -0
  64. package/src/parts-sections.ts +98 -0
  65. package/src/parts-verdict-record.ts +265 -0
  66. package/src/parts-verdict.ts +33 -0
  67. package/src/pause.ts +118 -0
  68. package/src/pins-check.ts +619 -0
  69. package/src/pins.ts +17 -0
  70. package/src/plan-bar-amendments.ts +54 -0
  71. package/src/plan-history.ts +147 -0
  72. package/src/plan-writers.ts +202 -0
  73. package/src/plate-receipt.ts +110 -0
  74. package/src/pre-interview.ts +302 -0
  75. package/src/prepared-inputs.ts +113 -0
  76. package/src/progress-writers.ts +181 -0
  77. package/src/provenance.ts +301 -0
  78. package/src/record-direction-target.ts +26 -0
  79. package/src/record-input.ts +18 -0
  80. package/src/refusal-baseline.ts +55 -0
  81. package/src/refusal.ts +30 -0
  82. package/src/reopen-lapses.ts +80 -0
  83. package/src/reopen.ts +144 -0
  84. package/src/republish.ts +93 -0
  85. package/src/restart.ts +141 -0
  86. package/src/review-act-runtime.ts +16 -0
  87. package/src/review-act.ts +592 -0
  88. package/src/review-package.ts +524 -0
  89. package/src/review-read.ts +238 -0
  90. package/src/review.ts +432 -0
  91. package/src/rig-version-date.ts +22 -0
  92. package/src/rig-version.ts +1047 -0
  93. package/src/run-record.ts +232 -0
  94. package/src/scene-authority.ts +410 -0
  95. package/src/scene-writers.ts +144 -0
  96. package/src/scene.ts +284 -0
  97. package/src/setup-painting.ts +46 -0
  98. package/src/signable.ts +65 -0
  99. package/src/signoff-answers.ts +76 -0
  100. package/src/signoff-checkpoint-act.ts +95 -0
  101. package/src/signoff-target.ts +127 -0
  102. package/src/signoff.ts +331 -0
  103. package/src/split-captions.ts +154 -0
  104. package/src/stage-progress.ts +379 -0
  105. package/src/stages.ts +148 -0
  106. package/src/step-hash.ts +19 -0
  107. package/src/structure-snapshot.ts +109 -0
  108. package/src/structure.ts +166 -0
  109. package/src/templates.ts +16 -0
  110. package/src/waypoints.ts +163 -0
  111. package/templates/agent-guide.md +108 -0
  112. package/templates/collection-agent-guide.md +72 -0
  113. package/templates/collection.json +252 -0
  114. package/templates/example-chain/AGENTS.md +134 -0
  115. package/templates/example-chain/CLAUDE.md +3 -0
  116. package/templates/example-chain/README.md +13 -0
  117. package/templates/example-chain/chain.json +2869 -0
  118. package/templates/example-chain/checkpoints/0a-interview-options/AGENTS.md +134 -0
  119. package/templates/example-chain/checkpoints/0a-interview-options/CLAUDE.md +3 -0
  120. package/templates/example-chain/checkpoints/0a-interview-options/evidence/.gitkeep +0 -0
  121. package/templates/example-chain/checkpoints/0a-interview-options/evidence/approval.txt +1 -0
  122. package/templates/example-chain/checkpoints/0a-interview-options/evidence/interview/rig_type.json +59 -0
  123. package/templates/example-chain/checkpoints/0a-interview-options/evidence/split-config.json +1 -0
  124. package/templates/example-chain/checkpoints/0a-interview-options/inputs/painting.png +0 -0
  125. package/templates/example-chain/checkpoints/0a-interview-options/inputs/references/.gitkeep +0 -0
  126. package/templates/example-chain/checkpoints/0a-interview-options/package.json +9 -0
  127. package/templates/example-chain/checkpoints/0a-interview-options/project.json +295 -0
  128. package/templates/example-chain/checkpoints/0a-interview-options.json +127 -0
  129. package/templates/example-chain/checkpoints/0b-plan-pending/AGENTS.md +134 -0
  130. package/templates/example-chain/checkpoints/0b-plan-pending/CLAUDE.md +3 -0
  131. package/templates/example-chain/checkpoints/0b-plan-pending/evidence/.gitkeep +0 -0
  132. package/templates/example-chain/checkpoints/0b-plan-pending/evidence/approval.txt +1 -0
  133. package/templates/example-chain/checkpoints/0b-plan-pending/evidence/interview/assemble.json +309 -0
  134. package/templates/example-chain/checkpoints/0b-plan-pending/evidence/interview/reference.json +59 -0
  135. package/templates/example-chain/checkpoints/0b-plan-pending/evidence/interview/rig_type.json +59 -0
  136. package/templates/example-chain/checkpoints/0b-plan-pending/evidence/interview/seethrough.json +186 -0
  137. package/templates/example-chain/checkpoints/0b-plan-pending/evidence/split-config.json +1 -0
  138. package/templates/example-chain/checkpoints/0b-plan-pending/inputs/painting.png +0 -0
  139. package/templates/example-chain/checkpoints/0b-plan-pending/inputs/references/.gitkeep +0 -0
  140. package/templates/example-chain/checkpoints/0b-plan-pending/package.json +9 -0
  141. package/templates/example-chain/checkpoints/0b-plan-pending/project.json +685 -0
  142. package/templates/example-chain/checkpoints/0b-plan-pending.json +81 -0
  143. package/templates/example-chain/checkpoints/1-parts-verdict/AGENTS.md +134 -0
  144. package/templates/example-chain/checkpoints/1-parts-verdict/CLAUDE.md +3 -0
  145. package/templates/example-chain/checkpoints/1-parts-verdict/evidence/.gitkeep +0 -0
  146. package/templates/example-chain/checkpoints/1-parts-verdict/evidence/approval.txt +1 -0
  147. package/templates/example-chain/checkpoints/1-parts-verdict/evidence/interview/assemble.json +309 -0
  148. package/templates/example-chain/checkpoints/1-parts-verdict/evidence/interview/reference.json +59 -0
  149. package/templates/example-chain/checkpoints/1-parts-verdict/evidence/interview/rig_type.json +59 -0
  150. package/templates/example-chain/checkpoints/1-parts-verdict/evidence/interview/seethrough.json +186 -0
  151. package/templates/example-chain/checkpoints/1-parts-verdict/evidence/parts-check.json +127 -0
  152. package/templates/example-chain/checkpoints/1-parts-verdict/evidence/split-config.json +1 -0
  153. package/templates/example-chain/checkpoints/1-parts-verdict/inputs/painting.png +0 -0
  154. package/templates/example-chain/checkpoints/1-parts-verdict/inputs/references/.gitkeep +0 -0
  155. package/templates/example-chain/checkpoints/1-parts-verdict/package.json +9 -0
  156. package/templates/example-chain/checkpoints/1-parts-verdict/project.json +955 -0
  157. package/templates/example-chain/checkpoints/1-parts-verdict.json +204 -0
  158. package/templates/example-chain/checkpoints/2-rigging-answers/AGENTS.md +134 -0
  159. package/templates/example-chain/checkpoints/2-rigging-answers/CLAUDE.md +3 -0
  160. package/templates/example-chain/checkpoints/2-rigging-answers/evidence/.gitkeep +0 -0
  161. package/templates/example-chain/checkpoints/2-rigging-answers/evidence/approval.txt +1 -0
  162. package/templates/example-chain/checkpoints/2-rigging-answers/evidence/diff-components.json +34 -0
  163. package/templates/example-chain/checkpoints/2-rigging-answers/evidence/interview/assemble.json +309 -0
  164. package/templates/example-chain/checkpoints/2-rigging-answers/evidence/interview/bones.json +190 -0
  165. package/templates/example-chain/checkpoints/2-rigging-answers/evidence/interview/reference.json +59 -0
  166. package/templates/example-chain/checkpoints/2-rigging-answers/evidence/interview/rig_type.json +59 -0
  167. package/templates/example-chain/checkpoints/2-rigging-answers/evidence/interview/seethrough.json +186 -0
  168. package/templates/example-chain/checkpoints/2-rigging-answers/evidence/parts-check.json +127 -0
  169. package/templates/example-chain/checkpoints/2-rigging-answers/evidence/parts-review.json +88 -0
  170. package/templates/example-chain/checkpoints/2-rigging-answers/evidence/review-reads/a12dea02d32508acc99386f894af76a14f1c85f45f804db2aa6b4dea5297973f.json +59 -0
  171. package/templates/example-chain/checkpoints/2-rigging-answers/evidence/split-config.json +1 -0
  172. package/templates/example-chain/checkpoints/2-rigging-answers/evidence/structure.json +30 -0
  173. package/templates/example-chain/checkpoints/2-rigging-answers/inputs/painting.png +0 -0
  174. package/templates/example-chain/checkpoints/2-rigging-answers/inputs/references/.gitkeep +0 -0
  175. package/templates/example-chain/checkpoints/2-rigging-answers/package.json +9 -0
  176. package/templates/example-chain/checkpoints/2-rigging-answers/project.json +1198 -0
  177. package/templates/example-chain/checkpoints/2-rigging-answers.json +254 -0
  178. package/templates/example-chain/checkpoints/3-rig-review/AGENTS.md +134 -0
  179. package/templates/example-chain/checkpoints/3-rig-review/CLAUDE.md +3 -0
  180. package/templates/example-chain/checkpoints/3-rig-review/evidence/.gitkeep +0 -0
  181. package/templates/example-chain/checkpoints/3-rig-review/evidence/approval.txt +1 -0
  182. package/templates/example-chain/checkpoints/3-rig-review/evidence/diff-components.json +34 -0
  183. package/templates/example-chain/checkpoints/3-rig-review/evidence/interview/assemble.json +309 -0
  184. package/templates/example-chain/checkpoints/3-rig-review/evidence/interview/bones.json +190 -0
  185. package/templates/example-chain/checkpoints/3-rig-review/evidence/interview/constraints.json +272 -0
  186. package/templates/example-chain/checkpoints/3-rig-review/evidence/interview/meshes.json +190 -0
  187. package/templates/example-chain/checkpoints/3-rig-review/evidence/interview/motion.json +272 -0
  188. package/templates/example-chain/checkpoints/3-rig-review/evidence/interview/reference.json +59 -0
  189. package/templates/example-chain/checkpoints/3-rig-review/evidence/interview/rig_type.json +59 -0
  190. package/templates/example-chain/checkpoints/3-rig-review/evidence/interview/seethrough.json +186 -0
  191. package/templates/example-chain/checkpoints/3-rig-review/evidence/parts-check.json +127 -0
  192. package/templates/example-chain/checkpoints/3-rig-review/evidence/parts-review.json +88 -0
  193. package/templates/example-chain/checkpoints/3-rig-review/evidence/review-reads/a12dea02d32508acc99386f894af76a14f1c85f45f804db2aa6b4dea5297973f.json +59 -0
  194. package/templates/example-chain/checkpoints/3-rig-review/evidence/setup.png +0 -0
  195. package/templates/example-chain/checkpoints/3-rig-review/evidence/split-config.json +1 -0
  196. package/templates/example-chain/checkpoints/3-rig-review/evidence/structure.json +30 -0
  197. package/templates/example-chain/checkpoints/3-rig-review/evidence/v1/config.json +88 -0
  198. package/templates/example-chain/checkpoints/3-rig-review/evidence/v1/interview-requirements.json +8 -0
  199. package/templates/example-chain/checkpoints/3-rig-review/inputs/painting.png +0 -0
  200. package/templates/example-chain/checkpoints/3-rig-review/inputs/references/.gitkeep +0 -0
  201. package/templates/example-chain/checkpoints/3-rig-review/package.json +9 -0
  202. package/templates/example-chain/checkpoints/3-rig-review/project.json +1909 -0
  203. package/templates/example-chain/checkpoints/3-rig-review.json +424 -0
  204. package/templates/example-chain/checkpoints/4-direction-post/AGENTS.md +134 -0
  205. package/templates/example-chain/checkpoints/4-direction-post/CLAUDE.md +3 -0
  206. package/templates/example-chain/checkpoints/4-direction-post/evidence/.gitkeep +0 -0
  207. package/templates/example-chain/checkpoints/4-direction-post/evidence/approval.txt +1 -0
  208. package/templates/example-chain/checkpoints/4-direction-post/evidence/diff-components.json +34 -0
  209. package/templates/example-chain/checkpoints/4-direction-post/evidence/interview/assemble.json +309 -0
  210. package/templates/example-chain/checkpoints/4-direction-post/evidence/interview/bones.json +190 -0
  211. package/templates/example-chain/checkpoints/4-direction-post/evidence/interview/camera_depth.json +102 -0
  212. package/templates/example-chain/checkpoints/4-direction-post/evidence/interview/constraints.json +272 -0
  213. package/templates/example-chain/checkpoints/4-direction-post/evidence/interview/meshes.json +190 -0
  214. package/templates/example-chain/checkpoints/4-direction-post/evidence/interview/motion.json +272 -0
  215. package/templates/example-chain/checkpoints/4-direction-post/evidence/interview/post_composition.json +122 -0
  216. package/templates/example-chain/checkpoints/4-direction-post/evidence/interview/post_timing.json +102 -0
  217. package/templates/example-chain/checkpoints/4-direction-post/evidence/interview/reference.json +59 -0
  218. package/templates/example-chain/checkpoints/4-direction-post/evidence/interview/rig_type.json +59 -0
  219. package/templates/example-chain/checkpoints/4-direction-post/evidence/interview/seethrough.json +186 -0
  220. package/templates/example-chain/checkpoints/4-direction-post/evidence/parts-check.json +127 -0
  221. package/templates/example-chain/checkpoints/4-direction-post/evidence/parts-review.json +88 -0
  222. package/templates/example-chain/checkpoints/4-direction-post/evidence/review-reads/a12dea02d32508acc99386f894af76a14f1c85f45f804db2aa6b4dea5297973f.json +59 -0
  223. package/templates/example-chain/checkpoints/4-direction-post/evidence/setup.png +0 -0
  224. package/templates/example-chain/checkpoints/4-direction-post/evidence/split-config.json +1 -0
  225. package/templates/example-chain/checkpoints/4-direction-post/evidence/structure.json +30 -0
  226. package/templates/example-chain/checkpoints/4-direction-post/evidence/v1/config.json +88 -0
  227. package/templates/example-chain/checkpoints/4-direction-post/evidence/v1/interview-requirements.json +8 -0
  228. package/templates/example-chain/checkpoints/4-direction-post/inputs/painting.png +0 -0
  229. package/templates/example-chain/checkpoints/4-direction-post/inputs/references/.gitkeep +0 -0
  230. package/templates/example-chain/checkpoints/4-direction-post/package.json +9 -0
  231. package/templates/example-chain/checkpoints/4-direction-post/project.json +2302 -0
  232. package/templates/example-chain/checkpoints/4-direction-post.json +456 -0
  233. package/templates/example-chain/evidence/.gitkeep +0 -0
  234. package/templates/example-chain/evidence/approval.txt +1 -0
  235. package/templates/example-chain/evidence/captions.json +101 -0
  236. package/templates/example-chain/evidence/diff-components.json +34 -0
  237. package/templates/example-chain/evidence/direction/v2.json +74 -0
  238. package/templates/example-chain/evidence/direction-input.json +74 -0
  239. package/templates/example-chain/evidence/interview/assemble.json +309 -0
  240. package/templates/example-chain/evidence/interview/bones.json +190 -0
  241. package/templates/example-chain/evidence/interview/camera_depth.json +102 -0
  242. package/templates/example-chain/evidence/interview/constraints.json +272 -0
  243. package/templates/example-chain/evidence/interview/meshes.json +190 -0
  244. package/templates/example-chain/evidence/interview/motion.json +272 -0
  245. package/templates/example-chain/evidence/interview/post_composition.json +122 -0
  246. package/templates/example-chain/evidence/interview/post_timing.json +102 -0
  247. package/templates/example-chain/evidence/interview/reference.json +59 -0
  248. package/templates/example-chain/evidence/interview/rig_type.json +59 -0
  249. package/templates/example-chain/evidence/interview/seethrough.json +186 -0
  250. package/templates/example-chain/evidence/parts-check.json +127 -0
  251. package/templates/example-chain/evidence/parts-review.json +88 -0
  252. package/templates/example-chain/evidence/review-reads/a12dea02d32508acc99386f894af76a14f1c85f45f804db2aa6b4dea5297973f.json +59 -0
  253. package/templates/example-chain/evidence/scene/s1.json +65 -0
  254. package/templates/example-chain/evidence/scene-citations.json +9 -0
  255. package/templates/example-chain/evidence/setup.png +0 -0
  256. package/templates/example-chain/evidence/split-config.json +1 -0
  257. package/templates/example-chain/evidence/structure.json +30 -0
  258. package/templates/example-chain/evidence/v1/config.json +88 -0
  259. package/templates/example-chain/evidence/v1/interview-requirements.json +8 -0
  260. package/templates/example-chain/inputs/background.png +0 -0
  261. package/templates/example-chain/inputs/painting.png +0 -0
  262. package/templates/example-chain/inputs/references/.gitkeep +0 -0
  263. package/templates/example-chain/package.json +9 -0
  264. package/templates/example-chain/project.json +2593 -0
  265. package/templates/example-diff/diff-components.json +71 -0
  266. package/templates/example-diff/recomposite_rig.png +0 -0
  267. package/templates/example-direction/approval.txt +1 -0
  268. package/templates/example-direction/derived/review/v1/out/check/build/rectangle.png +0 -0
  269. package/templates/example-direction/derived/review/v1/out/check/build/run.json +40 -0
  270. package/templates/example-direction/derived/review/v1/out/check/build/skeleton.atlas +8 -0
  271. package/templates/example-direction/derived/review/v1/out/check/build/skeleton.json +73 -0
  272. package/templates/example-direction/derived/review/v1/out/check/build/skeleton.model.json +195 -0
  273. package/templates/example-direction/evidence/direction/v2.json +69 -0
  274. package/templates/example-direction/evidence/direction/v3.json +59 -0
  275. package/templates/example-direction/evidence/images/rectangle.png +0 -0
  276. package/templates/example-direction/evidence/input.json +69 -0
  277. package/templates/example-direction/evidence/motion.json +33 -0
  278. package/templates/example-direction/evidence/patch.json +23 -0
  279. package/templates/example-direction/evidence/rig-config.json +55 -0
  280. package/templates/example-direction/evidence/still.png +0 -0
  281. package/templates/example-direction/project.json +372 -0
  282. package/templates/example-direction/reasoning.txt +1 -0
  283. package/templates/example-direction/words.txt +1 -0
  284. package/templates/example-draft/README.md +28 -0
  285. package/templates/example-draft/config.json +71 -0
  286. package/templates/example-draft/derived/drafts/lantern/config.json +71 -0
  287. package/templates/example-draft/derived/drafts/lantern/input/painting_in_rig.png +0 -0
  288. package/templates/example-draft/derived/drafts/lantern/input/parts/background.png +0 -0
  289. package/templates/example-draft/derived/drafts/lantern/input/parts/eye_l.png +0 -0
  290. package/templates/example-draft/derived/drafts/lantern/input/parts/eye_r.png +0 -0
  291. package/templates/example-draft/derived/drafts/lantern/input/parts/face.png +0 -0
  292. package/templates/example-draft/derived/drafts/lantern/input/parts/lantern.png +0 -0
  293. package/templates/example-draft/derived/drafts/lantern/input/parts/torso.png +0 -0
  294. package/templates/example-draft/derived/drafts/lantern/input/parts.json +188 -0
  295. package/templates/example-draft/derived/drafts/lantern/input/recomposite_rig.png +0 -0
  296. package/templates/example-draft/derived/drafts/lantern/interview-requirements.json +8 -0
  297. package/templates/example-draft/derived/drafts/lantern/out/check/build/run.json +40 -0
  298. package/templates/example-draft/derived/drafts/lantern/out/check/build/skeleton.atlas +28 -0
  299. package/templates/example-draft/derived/drafts/lantern/out/check/build/skeleton.json +193 -0
  300. package/templates/example-draft/derived/drafts/lantern/out/check/build/skeleton.model.json +483 -0
  301. package/templates/example-draft/derived/drafts/lantern/out/check/build/skeleton.png +0 -0
  302. package/templates/example-draft/derived/drafts/lantern/out/images/background.png +0 -0
  303. package/templates/example-draft/derived/drafts/lantern/out/images/eye_l.png +0 -0
  304. package/templates/example-draft/derived/drafts/lantern/out/images/eye_r.png +0 -0
  305. package/templates/example-draft/derived/drafts/lantern/out/images/face.png +0 -0
  306. package/templates/example-draft/derived/drafts/lantern/out/images/lantern.png +0 -0
  307. package/templates/example-draft/derived/drafts/lantern/out/images/torso.png +0 -0
  308. package/templates/example-draft/derived/drafts/lantern/out/mesh_report.json +1 -0
  309. package/templates/example-draft/derived/drafts/lantern/out/motion.json +137 -0
  310. package/templates/example-draft/derived/drafts/lantern/out/rig.json +102 -0
  311. package/templates/example-draft/derived/drafts/lantern/out/run.json +52 -0
  312. package/templates/example-draft/derived/parts/rig/painting_in_rig.png +0 -0
  313. package/templates/example-draft/derived/parts/rig/parts/background.png +0 -0
  314. package/templates/example-draft/derived/parts/rig/parts/eye_l.png +0 -0
  315. package/templates/example-draft/derived/parts/rig/parts/eye_r.png +0 -0
  316. package/templates/example-draft/derived/parts/rig/parts/face.png +0 -0
  317. package/templates/example-draft/derived/parts/rig/parts/lantern.png +0 -0
  318. package/templates/example-draft/derived/parts/rig/parts/torso.png +0 -0
  319. package/templates/example-draft/derived/parts/rig/parts.json +188 -0
  320. package/templates/example-draft/derived/parts/rig/recomposite_rig.png +0 -0
  321. package/templates/example-draft/derived/review/v1/config.json +71 -0
  322. package/templates/example-draft/derived/review/v1/interview-requirements.json +8 -0
  323. package/templates/example-draft/derived/review/v1/out/check/build/run.json +40 -0
  324. package/templates/example-draft/derived/review/v1/out/check/build/skeleton.atlas +28 -0
  325. package/templates/example-draft/derived/review/v1/out/check/build/skeleton.json +193 -0
  326. package/templates/example-draft/derived/review/v1/out/check/build/skeleton.model.json +483 -0
  327. package/templates/example-draft/derived/review/v1/out/check/build/skeleton.png +0 -0
  328. package/templates/example-draft/derived/review/v1/out/parts/background.png +0 -0
  329. package/templates/example-draft/derived/review/v1/out/parts/eye_l.png +0 -0
  330. package/templates/example-draft/derived/review/v1/out/parts/eye_r.png +0 -0
  331. package/templates/example-draft/derived/review/v1/out/parts/face.png +0 -0
  332. package/templates/example-draft/derived/review/v1/out/parts/lantern.png +0 -0
  333. package/templates/example-draft/derived/review/v1/out/parts/torso.png +0 -0
  334. package/templates/example-draft/derived/review/v1/out/parts.json +188 -0
  335. package/templates/example-draft/derived/review/v1/out/rig/images/background.png +0 -0
  336. package/templates/example-draft/derived/review/v1/out/rig/images/eye_l.png +0 -0
  337. package/templates/example-draft/derived/review/v1/out/rig/images/eye_r.png +0 -0
  338. package/templates/example-draft/derived/review/v1/out/rig/images/face.png +0 -0
  339. package/templates/example-draft/derived/review/v1/out/rig/images/lantern.png +0 -0
  340. package/templates/example-draft/derived/review/v1/out/rig/images/torso.png +0 -0
  341. package/templates/example-draft/derived/review/v1/out/rig/mesh_report.json +1 -0
  342. package/templates/example-draft/derived/review/v1/out/rig/motion.json +137 -0
  343. package/templates/example-draft/derived/review/v1/out/rig/rig.json +102 -0
  344. package/templates/example-draft/derived/review/v1/out/rig/run.json +52 -0
  345. package/templates/example-draft/derived/review/v2/config.json +71 -0
  346. package/templates/example-draft/derived/review/v2/interview-requirements.json +8 -0
  347. package/templates/example-draft/derived/review/v2/out/check/build/run.json +40 -0
  348. package/templates/example-draft/derived/review/v2/out/check/build/skeleton.atlas +28 -0
  349. package/templates/example-draft/derived/review/v2/out/check/build/skeleton.json +193 -0
  350. package/templates/example-draft/derived/review/v2/out/check/build/skeleton.model.json +483 -0
  351. package/templates/example-draft/derived/review/v2/out/check/build/skeleton.png +0 -0
  352. package/templates/example-draft/derived/review/v2/out/parts/background.png +0 -0
  353. package/templates/example-draft/derived/review/v2/out/parts/eye_l.png +0 -0
  354. package/templates/example-draft/derived/review/v2/out/parts/eye_r.png +0 -0
  355. package/templates/example-draft/derived/review/v2/out/parts/face.png +0 -0
  356. package/templates/example-draft/derived/review/v2/out/parts/lantern.png +0 -0
  357. package/templates/example-draft/derived/review/v2/out/parts/torso.png +0 -0
  358. package/templates/example-draft/derived/review/v2/out/parts.json +188 -0
  359. package/templates/example-draft/derived/review/v2/out/rig/images/background.png +0 -0
  360. package/templates/example-draft/derived/review/v2/out/rig/images/eye_l.png +0 -0
  361. package/templates/example-draft/derived/review/v2/out/rig/images/eye_r.png +0 -0
  362. package/templates/example-draft/derived/review/v2/out/rig/images/face.png +0 -0
  363. package/templates/example-draft/derived/review/v2/out/rig/images/lantern.png +0 -0
  364. package/templates/example-draft/derived/review/v2/out/rig/images/torso.png +0 -0
  365. package/templates/example-draft/derived/review/v2/out/rig/mesh_report.json +1 -0
  366. package/templates/example-draft/derived/review/v2/out/rig/motion.json +137 -0
  367. package/templates/example-draft/derived/review/v2/out/rig/rig.json +102 -0
  368. package/templates/example-draft/derived/review/v2/out/rig/run.json +52 -0
  369. package/templates/example-draft/evidence/diff-components.json +71 -0
  370. package/templates/example-draft/evidence/direction/v4.json +64 -0
  371. package/templates/example-draft/evidence/direction-input-v4.json +64 -0
  372. package/templates/example-draft/evidence/fix-ledger/lantern.json +17 -0
  373. package/templates/example-draft/evidence/parts-check.json +127 -0
  374. package/templates/example-draft/evidence/parts-review.json +88 -0
  375. package/templates/example-draft/evidence/review-reads/4ed0507381809746443021554e012032be5b5f8417da0f2e525e9b6df16e9f05.json +59 -0
  376. package/templates/example-draft/evidence/scene/s1.json +65 -0
  377. package/templates/example-draft/evidence/scene-background.png +0 -0
  378. package/templates/example-draft/evidence/scene-citations.json +9 -0
  379. package/templates/example-draft/evidence/structure-decisions.json +9 -0
  380. package/templates/example-draft/evidence/v1/interview-config.json +71 -0
  381. package/templates/example-draft/evidence/v1/interview-requirements.json +8 -0
  382. package/templates/example-draft/evidence/v1/review-config.json +71 -0
  383. package/templates/example-draft/evidence/v2/interview-config.json +71 -0
  384. package/templates/example-draft/evidence/v2/interview-requirements.json +8 -0
  385. package/templates/example-draft/evidence/v2/review-config.json +71 -0
  386. package/templates/example-draft/input/painting_in_rig.png +0 -0
  387. package/templates/example-draft/input/parts/background.png +0 -0
  388. package/templates/example-draft/input/parts/eye_l.png +0 -0
  389. package/templates/example-draft/input/parts/eye_r.png +0 -0
  390. package/templates/example-draft/input/parts/face.png +0 -0
  391. package/templates/example-draft/input/parts/lantern.png +0 -0
  392. package/templates/example-draft/input/parts/torso.png +0 -0
  393. package/templates/example-draft/input/parts.json +188 -0
  394. package/templates/example-draft/input/recomposite_rig.png +0 -0
  395. package/templates/example-draft/inputs/painting.png +0 -0
  396. package/templates/example-draft/interview-requirements.json +8 -0
  397. package/templates/example-draft/out/check/build/run.json +40 -0
  398. package/templates/example-draft/out/check/build/skeleton.atlas +28 -0
  399. package/templates/example-draft/out/check/build/skeleton.json +193 -0
  400. package/templates/example-draft/out/check/build/skeleton.model.json +483 -0
  401. package/templates/example-draft/out/check/build/skeleton.png +0 -0
  402. package/templates/example-draft/out/images/background.png +0 -0
  403. package/templates/example-draft/out/images/eye_l.png +0 -0
  404. package/templates/example-draft/out/images/eye_r.png +0 -0
  405. package/templates/example-draft/out/images/face.png +0 -0
  406. package/templates/example-draft/out/images/lantern.png +0 -0
  407. package/templates/example-draft/out/images/torso.png +0 -0
  408. package/templates/example-draft/out/mesh_report.json +1 -0
  409. package/templates/example-draft/out/motion.json +137 -0
  410. package/templates/example-draft/out/rig.json +102 -0
  411. package/templates/example-draft/out/run.json +52 -0
  412. package/templates/example-draft/outputs/v1/out/check/build/run.json +40 -0
  413. package/templates/example-draft/outputs/v1/out/check/build/skeleton.atlas +28 -0
  414. package/templates/example-draft/outputs/v1/out/check/build/skeleton.json +193 -0
  415. package/templates/example-draft/outputs/v1/out/check/build/skeleton.model.json +483 -0
  416. package/templates/example-draft/outputs/v1/out/check/build/skeleton.png +0 -0
  417. package/templates/example-draft/outputs/v1/out/painting_in_rig.png +0 -0
  418. package/templates/example-draft/outputs/v1/out/parts/background.png +0 -0
  419. package/templates/example-draft/outputs/v1/out/parts/eye_l.png +0 -0
  420. package/templates/example-draft/outputs/v1/out/parts/eye_r.png +0 -0
  421. package/templates/example-draft/outputs/v1/out/parts/face.png +0 -0
  422. package/templates/example-draft/outputs/v1/out/parts/lantern.png +0 -0
  423. package/templates/example-draft/outputs/v1/out/parts/torso.png +0 -0
  424. package/templates/example-draft/outputs/v1/out/parts.json +188 -0
  425. package/templates/example-draft/outputs/v1/out/rig/images/background.png +0 -0
  426. package/templates/example-draft/outputs/v1/out/rig/images/eye_l.png +0 -0
  427. package/templates/example-draft/outputs/v1/out/rig/images/eye_r.png +0 -0
  428. package/templates/example-draft/outputs/v1/out/rig/images/face.png +0 -0
  429. package/templates/example-draft/outputs/v1/out/rig/images/lantern.png +0 -0
  430. package/templates/example-draft/outputs/v1/out/rig/images/torso.png +0 -0
  431. package/templates/example-draft/outputs/v1/out/rig/mesh_report.json +1 -0
  432. package/templates/example-draft/outputs/v1/out/rig/motion.json +137 -0
  433. package/templates/example-draft/outputs/v1/out/rig/rig.json +102 -0
  434. package/templates/example-draft/outputs/v1/out/rig/run.json +52 -0
  435. package/templates/example-draft/outputs/v2/out/check/build/run.json +40 -0
  436. package/templates/example-draft/outputs/v2/out/check/build/skeleton.atlas +28 -0
  437. package/templates/example-draft/outputs/v2/out/check/build/skeleton.json +193 -0
  438. package/templates/example-draft/outputs/v2/out/check/build/skeleton.model.json +483 -0
  439. package/templates/example-draft/outputs/v2/out/check/build/skeleton.png +0 -0
  440. package/templates/example-draft/outputs/v2/out/painting_in_rig.png +0 -0
  441. package/templates/example-draft/outputs/v2/out/parts/background.png +0 -0
  442. package/templates/example-draft/outputs/v2/out/parts/eye_l.png +0 -0
  443. package/templates/example-draft/outputs/v2/out/parts/eye_r.png +0 -0
  444. package/templates/example-draft/outputs/v2/out/parts/face.png +0 -0
  445. package/templates/example-draft/outputs/v2/out/parts/lantern.png +0 -0
  446. package/templates/example-draft/outputs/v2/out/parts/torso.png +0 -0
  447. package/templates/example-draft/outputs/v2/out/parts.json +188 -0
  448. package/templates/example-draft/outputs/v2/out/rig/images/background.png +0 -0
  449. package/templates/example-draft/outputs/v2/out/rig/images/eye_l.png +0 -0
  450. package/templates/example-draft/outputs/v2/out/rig/images/eye_r.png +0 -0
  451. package/templates/example-draft/outputs/v2/out/rig/images/face.png +0 -0
  452. package/templates/example-draft/outputs/v2/out/rig/images/lantern.png +0 -0
  453. package/templates/example-draft/outputs/v2/out/rig/images/torso.png +0 -0
  454. package/templates/example-draft/outputs/v2/out/rig/mesh_report.json +1 -0
  455. package/templates/example-draft/outputs/v2/out/rig/motion.json +137 -0
  456. package/templates/example-draft/outputs/v2/out/rig/rig.json +102 -0
  457. package/templates/example-draft/outputs/v2/out/rig/run.json +52 -0
  458. package/templates/example-interview-choice.json +1068 -0
  459. package/templates/example-interview-options/constraint.json +376 -0
  460. package/templates/example-interview-options/example-assemble.json +376 -0
  461. package/templates/example-interview-options/example-bones.json +190 -0
  462. package/templates/example-interview-options/example-camera-depth.json +99 -0
  463. package/templates/example-interview-options/example-constraints.json +272 -0
  464. package/templates/example-interview-options/example-meshes.json +190 -0
  465. package/templates/example-interview-options/example-motion.json +272 -0
  466. package/templates/example-interview-options/example-picks.json +15 -0
  467. package/templates/example-interview-options/example-post-composition.json +110 -0
  468. package/templates/example-interview-options/example-post-timing.json +105 -0
  469. package/templates/example-interview-options/example-reference.json +63 -0
  470. package/templates/example-interview-options/example-rig-type.json +63 -0
  471. package/templates/example-interview-options/example-seethrough.json +190 -0
  472. package/templates/example-interview-options/fullscreen.json +63 -0
  473. package/templates/example-interview-options/other-explicit.json +63 -0
  474. package/templates/example-interview-options/other-pending.json +63 -0
  475. package/templates/example-interview-options/other-picks.json +16 -0
  476. package/templates/example-interview.md +213 -0
  477. package/templates/example-invariants/invariants.json +1339 -0
  478. package/templates/example-prepared/prepared.svg +1 -0
  479. package/templates/example-prepared/source.svg +1 -0
  480. package/templates/example-project.json +4259 -0
  481. package/templates/example-remesh/AGENTS.md +134 -0
  482. package/templates/example-remesh/CLAUDE.md +3 -0
  483. package/templates/example-remesh/evidence/.gitkeep +0 -0
  484. package/templates/example-remesh/evidence/approval.txt +1 -0
  485. package/templates/example-remesh/evidence/captions.json +101 -0
  486. package/templates/example-remesh/evidence/diff-components.json +34 -0
  487. package/templates/example-remesh/evidence/direction/v4.json +74 -0
  488. package/templates/example-remesh/evidence/direction/v5.json +74 -0
  489. package/templates/example-remesh/evidence/direction-input-v4.json +74 -0
  490. package/templates/example-remesh/evidence/direction-input-v5.json +74 -0
  491. package/templates/example-remesh/evidence/interview/assemble.json +309 -0
  492. package/templates/example-remesh/evidence/interview/bones.json +190 -0
  493. package/templates/example-remesh/evidence/interview/camera_depth.json +103 -0
  494. package/templates/example-remesh/evidence/interview/constraints.json +272 -0
  495. package/templates/example-remesh/evidence/interview/meshes.json +190 -0
  496. package/templates/example-remesh/evidence/interview/motion.json +272 -0
  497. package/templates/example-remesh/evidence/interview/post_composition.json +123 -0
  498. package/templates/example-remesh/evidence/interview/post_timing.json +103 -0
  499. package/templates/example-remesh/evidence/interview/reference.json +59 -0
  500. package/templates/example-remesh/evidence/interview/rig_type.json +59 -0
  501. package/templates/example-remesh/evidence/interview/seethrough.json +186 -0
  502. package/templates/example-remesh/evidence/parts-check.json +127 -0
  503. package/templates/example-remesh/evidence/parts-review.json +88 -0
  504. package/templates/example-remesh/evidence/reopen.txt +1 -0
  505. package/templates/example-remesh/evidence/review-reads/6a17db694db96f1b6049a61a017e0c8e66757b982b8851e0187e561cfcf9af68.json +59 -0
  506. package/templates/example-remesh/evidence/scene/s1.json +69 -0
  507. package/templates/example-remesh/evidence/scene-citations.json +9 -0
  508. package/templates/example-remesh/evidence/setup.png +0 -0
  509. package/templates/example-remesh/evidence/split-config.json +1 -0
  510. package/templates/example-remesh/evidence/structure.json +30 -0
  511. package/templates/example-remesh/evidence/v1/registration/at-source.json +44 -0
  512. package/templates/example-remesh/evidence/v1/registration/citations.json +68 -0
  513. package/templates/example-remesh/evidence/v1/registration/compile-report.json +368 -0
  514. package/templates/example-remesh/evidence/v1/registration/config-source.json +88 -0
  515. package/templates/example-remesh/evidence/v1/registration/config.json +88 -0
  516. package/templates/example-remesh/evidence/v1/registration/interview-requirements.json +8 -0
  517. package/templates/example-remesh/evidence/v1/registration/package-lock.json +11 -0
  518. package/templates/example-remesh/evidence/v1/registration/path-adapter.json +1 -0
  519. package/templates/example-remesh/evidence/v1/registration/rigc-run-1.json +44 -0
  520. package/templates/example-remesh/evidence/v2/registration/at-source.json +44 -0
  521. package/templates/example-remesh/evidence/v2/registration/citations.json +68 -0
  522. package/templates/example-remesh/evidence/v2/registration/compile-report.json +368 -0
  523. package/templates/example-remesh/evidence/v2/registration/config-source.json +88 -0
  524. package/templates/example-remesh/evidence/v2/registration/config.json +88 -0
  525. package/templates/example-remesh/evidence/v2/registration/interview-requirements.json +8 -0
  526. package/templates/example-remesh/evidence/v2/registration/package-lock.json +11 -0
  527. package/templates/example-remesh/evidence/v2/registration/path-adapter.json +1 -0
  528. package/templates/example-remesh/evidence/v2/registration/rigc-run-1.json +44 -0
  529. package/templates/example-remesh/evidence/v3/registration/at-source.json +44 -0
  530. package/templates/example-remesh/evidence/v3/registration/citations.json +68 -0
  531. package/templates/example-remesh/evidence/v3/registration/compile-report.json +368 -0
  532. package/templates/example-remesh/evidence/v3/registration/config-source.json +88 -0
  533. package/templates/example-remesh/evidence/v3/registration/config.json +88 -0
  534. package/templates/example-remesh/evidence/v3/registration/interview-requirements.json +8 -0
  535. package/templates/example-remesh/evidence/v3/registration/package-lock.json +11 -0
  536. package/templates/example-remesh/evidence/v3/registration/path-adapter.json +1 -0
  537. package/templates/example-remesh/evidence/v3/registration/rigc-run-1.json +44 -0
  538. package/templates/example-remesh/inputs/background.png +0 -0
  539. package/templates/example-remesh/inputs/painting.png +0 -0
  540. package/templates/example-remesh/inputs/references/.gitkeep +0 -0
  541. package/templates/example-remesh/package.json +9 -0
  542. package/templates/example-remesh/project.json +3916 -0
  543. package/templates/example-reopened/project.json +4568 -0
  544. package/templates/example-review/config.json +1 -0
  545. package/templates/example-review/out/check/build/skeleton.model.json +1 -0
  546. package/templates/example-review/out/parts/piece.svg +1 -0
  547. package/templates/example-review/out/parts.json +1 -0
  548. package/templates/example-review/out/rig/mesh_report.json +1 -0
  549. package/templates/example-review/out/rig/motion.json +1 -0
  550. package/templates/example-review/out/rig/rig.json +1 -0
  551. package/templates/example-split/captions.json +357 -0
  552. package/templates/example-split/config.json +215 -0
  553. package/templates/legacy-example-project.json +1071 -0
  554. package/templates/project.json +199 -0
  555. package/templates/shared/conventions.json +23 -0
@@ -0,0 +1,1909 @@
1
+ {
2
+ "schema": "rig-create/project@0",
3
+ "corrections_contract": {
4
+ "schema": "rig-create/corrections@1",
5
+ "adopted_at": "2026-11-06T01:00:01.000Z"
6
+ },
7
+ "corrections": [],
8
+ "name": "project",
9
+ "title": null,
10
+ "stage": "rig-review",
11
+ "stage_values": [
12
+ "interview",
13
+ "plan-approved",
14
+ "parts",
15
+ "parts-review",
16
+ "rigging-interview",
17
+ "rigging",
18
+ "rig-review",
19
+ "post-interview",
20
+ "post",
21
+ "direction-review",
22
+ "accepted",
23
+ "paused"
24
+ ],
25
+ "signoffs": [
26
+ {
27
+ "stage": "interview",
28
+ "checkpoint": null,
29
+ "by": "user",
30
+ "at": "2026-11-06T01:00:21.000Z",
31
+ "verbatim": "Approve this synthetic geometric example.\n",
32
+ "answer_hashes": {
33
+ "rig_type": "5f741d7c36a11897a1f1e8f108ec1a089258a6390f837915fad94301d87fe3f3",
34
+ "reference": "08d709d680d4f1e8a178f14fbc80330f11fe6ced49c7a7a0b087eed37b47feba",
35
+ "seethrough": "8da1be870160a01fd156628fcc5ce0ee6f0ad56b7ff90886fd2303133a2a3fe7",
36
+ "assemble": "a022d00700a4437c3f976225d12aefff2f47bf31c46bde1853b2336832ffa91b"
37
+ }
38
+ },
39
+ {
40
+ "stage": "plan-approved",
41
+ "checkpoint": null,
42
+ "by": "user",
43
+ "at": "2026-11-06T01:00:23.000Z",
44
+ "verbatim": "Approve this synthetic geometric example.\n",
45
+ "steps": [
46
+ "seethrough",
47
+ "assemble"
48
+ ],
49
+ "step_hashes": {
50
+ "seethrough": "6418a3b3bf15732da730c343a9f9f2bbee36ae0de3db66184af9fb1c7f406278",
51
+ "assemble": "7722f4a7c55fe6b37bb254c3901019b01de3343b888fde33780ae4cdfa234752"
52
+ },
53
+ "answer_hashes": {
54
+ "seethrough": "8da1be870160a01fd156628fcc5ce0ee6f0ad56b7ff90886fd2303133a2a3fe7",
55
+ "assemble": "a022d00700a4437c3f976225d12aefff2f47bf31c46bde1853b2336832ffa91b"
56
+ }
57
+ },
58
+ {
59
+ "stage": "parts",
60
+ "checkpoint": "assemble",
61
+ "by": "user",
62
+ "at": "2026-11-06T01:00:30.000Z",
63
+ "verbatim": "Approve this synthetic geometric example.\n"
64
+ },
65
+ {
66
+ "stage": "parts-review",
67
+ "checkpoint": null,
68
+ "by": "user",
69
+ "at": "2026-11-06T01:00:37.000Z",
70
+ "verbatim": "Approve this synthetic geometric example.\n",
71
+ "evidence": {
72
+ "kind": "parts-verdict",
73
+ "path": "evidence/review-reads/a12dea02d32508acc99386f894af76a14f1c85f45f804db2aa6b4dea5297973f.json",
74
+ "sha256": "a12dea02d32508acc99386f894af76a14f1c85f45f804db2aa6b4dea5297973f",
75
+ "spec": "rig-create/parts-verdict-cli@1"
76
+ },
77
+ "draft_id": "chain",
78
+ "structure": {
79
+ "path": "evidence/structure.json",
80
+ "sha256": "41b532a263a8f40997a9c5d3c155e2fa943b26c2b3e61ed03ddcf29ee0d8011d"
81
+ }
82
+ },
83
+ {
84
+ "stage": "rigging-interview",
85
+ "checkpoint": null,
86
+ "by": "user",
87
+ "at": "2026-11-06T01:00:51.000Z",
88
+ "verbatim": "Approve this synthetic geometric example.\n",
89
+ "steps": [
90
+ "bones",
91
+ "meshes",
92
+ "constraints",
93
+ "motion"
94
+ ],
95
+ "step_hashes": {
96
+ "bones": "01538a971af3e2660d16e09dd134ead4315d96f95f1881fbb5390c60f190b277",
97
+ "meshes": "b295b8235a32067981729ccd6964f640ebecbf26c4be3cffbdafbdf0e94255ac",
98
+ "constraints": "02981c08d2222596034d35266369323a42043e97e2528d2a193888510406084a",
99
+ "motion": "b64611dc943b8a8b98a10a33eb47eded09f8386ae4390c2ee971f2907c26447e"
100
+ },
101
+ "answer_hashes": {
102
+ "bones": "a5b71f01dfef5f46671e2c9a1c6516771ef41aa5eaf561bd0fc530b98348248f",
103
+ "meshes": "de83fc1e842143cdfd6b17555320df765dbaa3629d5e0e996255a596bff2831f",
104
+ "constraints": "42d3713ca972e1e06f87595aff5df9b581b273582a06ea9415b0ffc18688494b",
105
+ "motion": "d4e6254c466379b13f88f75c3cd53baf6326b2095ecf39aba8fcf8cddb543fee"
106
+ },
107
+ "accepted_parts": {
108
+ "signoff_at": "2026-11-06T01:00:37.000Z",
109
+ "evidence": {
110
+ "kind": "parts-verdict",
111
+ "path": "evidence/review-reads/a12dea02d32508acc99386f894af76a14f1c85f45f804db2aa6b4dea5297973f.json",
112
+ "sha256": "a12dea02d32508acc99386f894af76a14f1c85f45f804db2aa6b4dea5297973f",
113
+ "spec": "rig-create/parts-verdict-cli@1"
114
+ }
115
+ },
116
+ "structure": {
117
+ "path": "evidence/structure.json",
118
+ "sha256": "41b532a263a8f40997a9c5d3c155e2fa943b26c2b3e61ed03ddcf29ee0d8011d"
119
+ }
120
+ }
121
+ ],
122
+ "interview": {
123
+ "question_set": "rig-create/interview@2 (waypoints read from @rig-c/parts 2.37.0)",
124
+ "held": false,
125
+ "date": null,
126
+ "interviewer": null,
127
+ "respondent": null,
128
+ "framing": [
129
+ {
130
+ "id": "rig_type",
131
+ "text": "What is this: a character rig (standing idle / complex motion / a monster with its own moves) or a full-screen scene (minimal motion: breath, blink / motion tied to game logic)?",
132
+ "source": "rig-create",
133
+ "required_for": [
134
+ "all"
135
+ ],
136
+ "answer": {
137
+ "delegated": false,
138
+ "by": "user",
139
+ "at": "2026-11-06T01:00:05.000Z",
140
+ "verbatim": "Use the synthetic rig_type\nKeep the declared geometric example.",
141
+ "source": "review questionnaire",
142
+ "choice": {
143
+ "spec": "rig-create/interview-choice@1",
144
+ "set": {
145
+ "path": "evidence/interview/rig_type.json",
146
+ "sha256": "be6ce065cede003d5df3dc2d1392b403e7bec174a90182afe7280e7b926bc931"
147
+ },
148
+ "picks": [
149
+ {
150
+ "ask": "rig_type",
151
+ "option_id": "keep",
152
+ "shown": {
153
+ "label": "Use the synthetic rig_type",
154
+ "effect": "Keep the declared geometric example."
155
+ }
156
+ }
157
+ ]
158
+ },
159
+ "asks": [
160
+ {
161
+ "id": "rig_type",
162
+ "state": "user"
163
+ }
164
+ ],
165
+ "value": "character.idle"
166
+ },
167
+ "history": []
168
+ },
169
+ {
170
+ "id": "reference",
171
+ "text": "'Make it feel like this': a video, an existing demo, a game you have in mind?",
172
+ "source": "rig-create",
173
+ "required_for": [
174
+ "all"
175
+ ],
176
+ "answer": {
177
+ "delegated": false,
178
+ "by": "user",
179
+ "at": "2026-11-06T01:00:08.000Z",
180
+ "verbatim": "Use the synthetic reference\nKeep the declared geometric example.",
181
+ "source": "review questionnaire",
182
+ "choice": {
183
+ "spec": "rig-create/interview-choice@1",
184
+ "set": {
185
+ "path": "evidence/interview/reference.json",
186
+ "sha256": "00fd672f2125a1879249a57726f7fbc2f0ec9510587b7c6433caae1686ec6b9a"
187
+ },
188
+ "picks": [
189
+ {
190
+ "ask": "reference",
191
+ "option_id": "keep",
192
+ "shown": {
193
+ "label": "Use the synthetic reference",
194
+ "effect": "Keep the declared geometric example."
195
+ }
196
+ }
197
+ ]
198
+ },
199
+ "asks": [
200
+ {
201
+ "id": "reference",
202
+ "state": "user"
203
+ }
204
+ ],
205
+ "value": "none"
206
+ },
207
+ "history": []
208
+ }
209
+ ],
210
+ "waypoints": [
211
+ {
212
+ "id": "seethrough",
213
+ "config": [
214
+ "seethrough"
215
+ ],
216
+ "prompts": [
217
+ {
218
+ "id": "x_layers",
219
+ "text": "Is there anything the layer split must keep together or keep apart: a hat with the head, a held object on its own?",
220
+ "source": "rig-create",
221
+ "required_for": [
222
+ "all"
223
+ ]
224
+ }
225
+ ],
226
+ "guide": {
227
+ "delegated": false,
228
+ "by": "user",
229
+ "at": "2026-11-06T01:00:11.000Z",
230
+ "verbatim": "Use the synthetic layers\nKeep the declared geometric example.\n\nUse the synthetic resolution\nKeep the declared geometric example.\n\nUse the synthetic head_crop\nKeep the declared geometric example.\n\nUse the synthetic seed\nKeep the declared geometric example.",
231
+ "source": "review questionnaire",
232
+ "choice": {
233
+ "spec": "rig-create/interview-choice@1",
234
+ "set": {
235
+ "path": "evidence/interview/seethrough.json",
236
+ "sha256": "2f66f51b295c2fab3a362ff48df3322c346b9f2f84de23c9b736226c2fb030d0"
237
+ },
238
+ "picks": [
239
+ {
240
+ "ask": "layers",
241
+ "option_id": "keep",
242
+ "shown": {
243
+ "label": "Use the synthetic layers",
244
+ "effect": "Keep the declared geometric example."
245
+ }
246
+ },
247
+ {
248
+ "ask": "resolution",
249
+ "option_id": "keep",
250
+ "shown": {
251
+ "label": "Use the synthetic resolution",
252
+ "effect": "Keep the declared geometric example."
253
+ }
254
+ },
255
+ {
256
+ "ask": "head_crop",
257
+ "option_id": "keep",
258
+ "shown": {
259
+ "label": "Use the synthetic head_crop",
260
+ "effect": "Keep the declared geometric example."
261
+ }
262
+ },
263
+ {
264
+ "ask": "seed",
265
+ "option_id": "keep",
266
+ "shown": {
267
+ "label": "Use the synthetic seed",
268
+ "effect": "Keep the declared geometric example."
269
+ }
270
+ }
271
+ ]
272
+ },
273
+ "asks": [
274
+ {
275
+ "id": "layers",
276
+ "state": "user"
277
+ },
278
+ {
279
+ "id": "resolution",
280
+ "state": "user"
281
+ },
282
+ {
283
+ "id": "head_crop",
284
+ "state": "user"
285
+ },
286
+ {
287
+ "id": "seed",
288
+ "state": "user"
289
+ }
290
+ ],
291
+ "value": {
292
+ "layers": "synthetic layers",
293
+ "resolution": "synthetic resolution",
294
+ "head_crop": "synthetic head_crop",
295
+ "seed": "synthetic seed"
296
+ }
297
+ },
298
+ "history": []
299
+ },
300
+ {
301
+ "id": "assemble",
302
+ "config": [
303
+ "assemble",
304
+ "limbs",
305
+ "scene",
306
+ "waist"
307
+ ],
308
+ "prompts": [
309
+ {
310
+ "id": "split_granularity",
311
+ "text": "How finely should it be cut?",
312
+ "source": "rig-create",
313
+ "required_for": [
314
+ "all"
315
+ ]
316
+ },
317
+ {
318
+ "id": "split_emphasis",
319
+ "text": "Which parts matter most: more detail, or kept exactly as painted?",
320
+ "source": "rig-create",
321
+ "required_for": [
322
+ "all"
323
+ ]
324
+ }
325
+ ],
326
+ "guide": {
327
+ "delegated": false,
328
+ "by": "user",
329
+ "at": "2026-11-06T01:00:14.000Z",
330
+ "verbatim": "Use the synthetic projection\nKeep the declared geometric example.\n\nUse the synthetic cut\nKeep the declared geometric example.\n\nUse the synthetic emphasis\nKeep the declared geometric example.\n\nUse the synthetic draw_order\nKeep the declared geometric example.\n\nUse the synthetic authored\nKeep the declared geometric example.\n\nUse the synthetic occluders\nKeep the declared geometric example.\n\nUse the synthetic outfits\nKeep the declared geometric example.",
331
+ "source": "review questionnaire",
332
+ "choice": {
333
+ "spec": "rig-create/interview-choice@1",
334
+ "set": {
335
+ "path": "evidence/interview/assemble.json",
336
+ "sha256": "ad043df33c7ca22710d61b7f26676ead657cfbbd76c57d5c56a255340f3ddc38"
337
+ },
338
+ "picks": [
339
+ {
340
+ "ask": "projection",
341
+ "option_id": "keep",
342
+ "shown": {
343
+ "label": "Use the synthetic projection",
344
+ "effect": "Keep the declared geometric example."
345
+ }
346
+ },
347
+ {
348
+ "ask": "cut",
349
+ "option_id": "keep",
350
+ "shown": {
351
+ "label": "Use the synthetic cut",
352
+ "effect": "Keep the declared geometric example."
353
+ }
354
+ },
355
+ {
356
+ "ask": "emphasis",
357
+ "option_id": "keep",
358
+ "shown": {
359
+ "label": "Use the synthetic emphasis",
360
+ "effect": "Keep the declared geometric example."
361
+ }
362
+ },
363
+ {
364
+ "ask": "draw_order",
365
+ "option_id": "keep",
366
+ "shown": {
367
+ "label": "Use the synthetic draw_order",
368
+ "effect": "Keep the declared geometric example."
369
+ }
370
+ },
371
+ {
372
+ "ask": "authored",
373
+ "option_id": "keep",
374
+ "shown": {
375
+ "label": "Use the synthetic authored",
376
+ "effect": "Keep the declared geometric example."
377
+ }
378
+ },
379
+ {
380
+ "ask": "occluders",
381
+ "option_id": "keep",
382
+ "shown": {
383
+ "label": "Use the synthetic occluders",
384
+ "effect": "Keep the declared geometric example."
385
+ }
386
+ },
387
+ {
388
+ "ask": "outfits",
389
+ "option_id": "keep",
390
+ "shown": {
391
+ "label": "Use the synthetic outfits",
392
+ "effect": "Keep the declared geometric example."
393
+ }
394
+ }
395
+ ]
396
+ },
397
+ "asks": [
398
+ {
399
+ "id": "projection",
400
+ "state": "user"
401
+ },
402
+ {
403
+ "id": "cut",
404
+ "state": "user"
405
+ },
406
+ {
407
+ "id": "emphasis",
408
+ "state": "user"
409
+ },
410
+ {
411
+ "id": "draw_order",
412
+ "state": "user"
413
+ },
414
+ {
415
+ "id": "authored",
416
+ "state": "user"
417
+ },
418
+ {
419
+ "id": "occluders",
420
+ "state": "user"
421
+ },
422
+ {
423
+ "id": "outfits",
424
+ "state": "user"
425
+ }
426
+ ],
427
+ "value": {
428
+ "project": "core",
429
+ "cut": "synthetic cut",
430
+ "emphasis": "synthetic emphasis",
431
+ "draw_order": "synthetic draw_order",
432
+ "authored": "synthetic authored",
433
+ "occluders": "synthetic occluders",
434
+ "outfits": "synthetic outfits"
435
+ }
436
+ },
437
+ "history": []
438
+ },
439
+ {
440
+ "id": "bones",
441
+ "config": [
442
+ "bones"
443
+ ],
444
+ "prompts": [
445
+ {
446
+ "id": "x_chains",
447
+ "text": "What moves on its own: hair strands, coat tails, sleeves, held things?",
448
+ "source": "rig-create",
449
+ "required_for": [
450
+ "all"
451
+ ]
452
+ }
453
+ ],
454
+ "guide": {
455
+ "delegated": false,
456
+ "by": "user",
457
+ "at": "2026-11-06T01:00:41.000Z",
458
+ "verbatim": "Use the synthetic chains\nKeep the declared geometric example.\n\nUse the synthetic placement\nKeep the declared geometric example.\n\nUse the synthetic length\nKeep the declared geometric example.",
459
+ "source": "review questionnaire",
460
+ "choice": {
461
+ "spec": "rig-create/interview-choice@1",
462
+ "set": {
463
+ "path": "evidence/interview/bones.json",
464
+ "sha256": "ec52614827d9fe6931e7593595f2c11f58a4861db579d725615be8928e9722df"
465
+ },
466
+ "picks": [
467
+ {
468
+ "ask": "chains",
469
+ "option_id": "keep",
470
+ "shown": {
471
+ "label": "Use the synthetic chains",
472
+ "effect": "Keep the declared geometric example."
473
+ }
474
+ },
475
+ {
476
+ "ask": "placement",
477
+ "option_id": "keep",
478
+ "shown": {
479
+ "label": "Use the synthetic placement",
480
+ "effect": "Keep the declared geometric example."
481
+ }
482
+ },
483
+ {
484
+ "ask": "length",
485
+ "option_id": "keep",
486
+ "shown": {
487
+ "label": "Use the synthetic length",
488
+ "effect": "Keep the declared geometric example."
489
+ }
490
+ }
491
+ ]
492
+ },
493
+ "asks": [
494
+ {
495
+ "id": "chains",
496
+ "state": "user"
497
+ },
498
+ {
499
+ "id": "placement",
500
+ "state": "user"
501
+ },
502
+ {
503
+ "id": "length",
504
+ "state": "user"
505
+ }
506
+ ],
507
+ "value": {
508
+ "chains": "synthetic chains",
509
+ "placement": "synthetic placement",
510
+ "length": "synthetic length"
511
+ }
512
+ },
513
+ "history": []
514
+ },
515
+ {
516
+ "id": "meshes",
517
+ "config": [
518
+ "meshes",
519
+ "regions"
520
+ ],
521
+ "prompts": [
522
+ {
523
+ "id": "x_deform",
524
+ "text": "What must bend smoothly as one piece, and what must stay rigid?",
525
+ "source": "rig-create",
526
+ "required_for": [
527
+ "all"
528
+ ]
529
+ }
530
+ ],
531
+ "guide": {
532
+ "delegated": false,
533
+ "by": "user",
534
+ "at": "2026-11-06T01:00:44.000Z",
535
+ "verbatim": "Use the synthetic bend\nKeep the declared geometric example.\n\nUse the synthetic rigid\nKeep the declared geometric example.\n\nUse the synthetic density\nKeep the declared geometric example.",
536
+ "source": "review questionnaire",
537
+ "choice": {
538
+ "spec": "rig-create/interview-choice@1",
539
+ "set": {
540
+ "path": "evidence/interview/meshes.json",
541
+ "sha256": "035cd9b43b52bae6e1de98063d7e87d42e198dab3655a61bdf564f88cdc8c3c9"
542
+ },
543
+ "picks": [
544
+ {
545
+ "ask": "bend",
546
+ "option_id": "keep",
547
+ "shown": {
548
+ "label": "Use the synthetic bend",
549
+ "effect": "Keep the declared geometric example."
550
+ }
551
+ },
552
+ {
553
+ "ask": "rigid",
554
+ "option_id": "keep",
555
+ "shown": {
556
+ "label": "Use the synthetic rigid",
557
+ "effect": "Keep the declared geometric example."
558
+ }
559
+ },
560
+ {
561
+ "ask": "density",
562
+ "option_id": "keep",
563
+ "shown": {
564
+ "label": "Use the synthetic density",
565
+ "effect": "Keep the declared geometric example."
566
+ }
567
+ }
568
+ ]
569
+ },
570
+ "asks": [
571
+ {
572
+ "id": "bend",
573
+ "state": "user"
574
+ },
575
+ {
576
+ "id": "rigid",
577
+ "state": "user"
578
+ },
579
+ {
580
+ "id": "density",
581
+ "state": "user"
582
+ }
583
+ ],
584
+ "value": {
585
+ "bend": "synthetic bend",
586
+ "rigid": "synthetic rigid",
587
+ "density": "synthetic density"
588
+ }
589
+ },
590
+ "history": []
591
+ },
592
+ {
593
+ "id": "constraints",
594
+ "config": [
595
+ "constraints",
596
+ "stops",
597
+ "cloth"
598
+ ],
599
+ "prompts": [
600
+ {
601
+ "id": "split_effects",
602
+ "text": "Which parts have special effects (sway on physics, move in wind, jiggle, glow, flicker), and how far do they move?",
603
+ "source": "rig-create",
604
+ "required_for": [
605
+ "all"
606
+ ]
607
+ }
608
+ ],
609
+ "guide": {
610
+ "delegated": false,
611
+ "by": "user",
612
+ "at": "2026-11-06T01:00:47.000Z",
613
+ "verbatim": "Use the synthetic effects\nKeep the declared geometric example.\n\nUse the synthetic strength\nKeep the declared geometric example.\n\nUse the synthetic extent\nKeep the declared geometric example.\n\nUse the synthetic gravity\nKeep the declared geometric example.\n\nUse the synthetic stops\nKeep the declared geometric example.",
614
+ "source": "review questionnaire",
615
+ "choice": {
616
+ "spec": "rig-create/interview-choice@1",
617
+ "set": {
618
+ "path": "evidence/interview/constraints.json",
619
+ "sha256": "f848462e9b4098f67389aab6bc3478d0a990edf793efe4d61a6a60ac0a87ad00"
620
+ },
621
+ "picks": [
622
+ {
623
+ "ask": "effects",
624
+ "option_id": "keep",
625
+ "shown": {
626
+ "label": "Use the synthetic effects",
627
+ "effect": "Keep the declared geometric example."
628
+ }
629
+ },
630
+ {
631
+ "ask": "strength",
632
+ "option_id": "keep",
633
+ "shown": {
634
+ "label": "Use the synthetic strength",
635
+ "effect": "Keep the declared geometric example."
636
+ }
637
+ },
638
+ {
639
+ "ask": "extent",
640
+ "option_id": "keep",
641
+ "shown": {
642
+ "label": "Use the synthetic extent",
643
+ "effect": "Keep the declared geometric example."
644
+ }
645
+ },
646
+ {
647
+ "ask": "gravity",
648
+ "option_id": "keep",
649
+ "shown": {
650
+ "label": "Use the synthetic gravity",
651
+ "effect": "Keep the declared geometric example."
652
+ }
653
+ },
654
+ {
655
+ "ask": "stops",
656
+ "option_id": "keep",
657
+ "shown": {
658
+ "label": "Use the synthetic stops",
659
+ "effect": "Keep the declared geometric example."
660
+ }
661
+ }
662
+ ]
663
+ },
664
+ "asks": [
665
+ {
666
+ "id": "effects",
667
+ "state": "user"
668
+ },
669
+ {
670
+ "id": "strength",
671
+ "state": "user"
672
+ },
673
+ {
674
+ "id": "extent",
675
+ "state": "user"
676
+ },
677
+ {
678
+ "id": "gravity",
679
+ "state": "user"
680
+ },
681
+ {
682
+ "id": "stops",
683
+ "state": "user"
684
+ }
685
+ ],
686
+ "value": {
687
+ "effects": "synthetic effects",
688
+ "strength": "synthetic strength",
689
+ "extent": "synthetic extent",
690
+ "gravity": "synthetic gravity",
691
+ "stops": "synthetic stops"
692
+ }
693
+ },
694
+ "history": []
695
+ },
696
+ {
697
+ "id": "motion",
698
+ "config": [
699
+ "motion"
700
+ ],
701
+ "prompts": [
702
+ {
703
+ "id": "motions",
704
+ "text": "Which moves? Name each one.",
705
+ "source": "rig-create",
706
+ "required_for": [
707
+ "character.idle",
708
+ "character.complex",
709
+ "character.monster",
710
+ "fullscreen.minimal"
711
+ ]
712
+ },
713
+ {
714
+ "id": "game_states",
715
+ "text": "Which states, and what moves it from one to the next?",
716
+ "source": "rig-create",
717
+ "required_for": [
718
+ "fullscreen.game_logic"
719
+ ]
720
+ }
721
+ ],
722
+ "guide": {
723
+ "delegated": false,
724
+ "by": "user",
725
+ "at": "2026-11-06T01:00:50.000Z",
726
+ "verbatim": "Use the synthetic tracks\nKeep the declared geometric example.\n\nUse the synthetic extent\nKeep the declared geometric example.\n\nUse the synthetic speed\nKeep the declared geometric example.\n\nUse the synthetic loop\nKeep the declared geometric example.\n\nUse the synthetic blink\nKeep the declared geometric example.",
727
+ "source": "review questionnaire",
728
+ "choice": {
729
+ "spec": "rig-create/interview-choice@1",
730
+ "set": {
731
+ "path": "evidence/interview/motion.json",
732
+ "sha256": "82a3831e8f95abee27c19bdcb81cd7448d9d20cb84b43b45fcee121bd77d4373"
733
+ },
734
+ "picks": [
735
+ {
736
+ "ask": "tracks",
737
+ "option_id": "keep",
738
+ "shown": {
739
+ "label": "Use the synthetic tracks",
740
+ "effect": "Keep the declared geometric example."
741
+ }
742
+ },
743
+ {
744
+ "ask": "extent",
745
+ "option_id": "keep",
746
+ "shown": {
747
+ "label": "Use the synthetic extent",
748
+ "effect": "Keep the declared geometric example."
749
+ }
750
+ },
751
+ {
752
+ "ask": "speed",
753
+ "option_id": "keep",
754
+ "shown": {
755
+ "label": "Use the synthetic speed",
756
+ "effect": "Keep the declared geometric example."
757
+ }
758
+ },
759
+ {
760
+ "ask": "loop",
761
+ "option_id": "keep",
762
+ "shown": {
763
+ "label": "Use the synthetic loop",
764
+ "effect": "Keep the declared geometric example."
765
+ }
766
+ },
767
+ {
768
+ "ask": "blink",
769
+ "option_id": "keep",
770
+ "shown": {
771
+ "label": "Use the synthetic blink",
772
+ "effect": "Keep the declared geometric example."
773
+ }
774
+ }
775
+ ]
776
+ },
777
+ "asks": [
778
+ {
779
+ "id": "tracks",
780
+ "state": "user"
781
+ },
782
+ {
783
+ "id": "extent",
784
+ "state": "user"
785
+ },
786
+ {
787
+ "id": "speed",
788
+ "state": "user"
789
+ },
790
+ {
791
+ "id": "loop",
792
+ "state": "user"
793
+ },
794
+ {
795
+ "id": "blink",
796
+ "state": "user"
797
+ }
798
+ ],
799
+ "value": {
800
+ "tracks": "synthetic tracks",
801
+ "extent": "synthetic extent",
802
+ "speed": "synthetic speed",
803
+ "loop": "synthetic loop",
804
+ "blink": "synthetic blink"
805
+ }
806
+ },
807
+ "history": []
808
+ }
809
+ ],
810
+ "post": {
811
+ "held": false,
812
+ "date": null,
813
+ "items": [
814
+ {
815
+ "id": "camera_depth",
816
+ "config": [
817
+ "turn",
818
+ "depth"
819
+ ],
820
+ "text": "Does the view move (a 2.5D head-turn with parallax, a push-in) or is it fixed?",
821
+ "source": "rig-create",
822
+ "guide": null,
823
+ "history": []
824
+ },
825
+ {
826
+ "id": "post_timing",
827
+ "config": [],
828
+ "text": "How long, does it loop, and where are the beats?",
829
+ "source": "rig-create",
830
+ "guide": null,
831
+ "history": []
832
+ },
833
+ {
834
+ "id": "post_composition",
835
+ "config": [],
836
+ "text": "What is around the figure: background, framing, other figures, light?",
837
+ "source": "rig-create",
838
+ "guide": null,
839
+ "history": []
840
+ }
841
+ ]
842
+ },
843
+ "order": {
844
+ "spec": "rig-create/stage-order@2",
845
+ "adopted_at": "2026-11-06T01:00:01.000Z",
846
+ "choices_adopted_at": "2026-11-06T01:00:01.000Z"
847
+ },
848
+ "rigging_context": {
849
+ "accepted_parts": {
850
+ "signoff_at": "2026-11-06T01:00:37.000Z",
851
+ "evidence": {
852
+ "kind": "parts-verdict",
853
+ "path": "evidence/review-reads/a12dea02d32508acc99386f894af76a14f1c85f45f804db2aa6b4dea5297973f.json",
854
+ "sha256": "a12dea02d32508acc99386f894af76a14f1c85f45f804db2aa6b4dea5297973f",
855
+ "spec": "rig-create/parts-verdict-cli@1"
856
+ }
857
+ },
858
+ "structure": {
859
+ "path": "evidence/structure.json",
860
+ "sha256": "41b532a263a8f40997a9c5d3c155e2fa943b26c2b3e61ed03ddcf29ee0d8011d"
861
+ }
862
+ }
863
+ },
864
+ "plan": {
865
+ "drafted_by": "agent",
866
+ "drafted_at": "2026-11-06T01:00:16.000Z",
867
+ "steps": [
868
+ {
869
+ "id": "seethrough",
870
+ "phase": "rig",
871
+ "order": 1,
872
+ "does": "Execute synthetic seethrough",
873
+ "produces": "Synthetic seethrough output",
874
+ "rests_on": [
875
+ "seethrough"
876
+ ],
877
+ "bar": "The synthetic output matches its declared input.",
878
+ "checkpoint_proposed": false,
879
+ "checkpoint": {
880
+ "delegated": false,
881
+ "by": "user",
882
+ "at": "2026-11-06T01:00:23.000Z",
883
+ "verbatim": "Approve this synthetic geometric example.\n",
884
+ "value": false
885
+ },
886
+ "status": "done",
887
+ "status_history": [
888
+ {
889
+ "from_status": "pending",
890
+ "status": "in-progress",
891
+ "by": "agent",
892
+ "at": "2026-11-06T01:00:25.000Z",
893
+ "checkpoint_required": false,
894
+ "signoff": null
895
+ },
896
+ {
897
+ "from_status": "in-progress",
898
+ "status": "at-checkpoint",
899
+ "by": "agent",
900
+ "at": "2026-11-06T01:00:26.000Z",
901
+ "checkpoint_required": false,
902
+ "signoff": null
903
+ },
904
+ {
905
+ "from_status": "at-checkpoint",
906
+ "status": "done",
907
+ "by": "agent",
908
+ "at": "2026-11-06T01:00:27.000Z",
909
+ "checkpoint_required": false,
910
+ "signoff": null
911
+ }
912
+ ]
913
+ },
914
+ {
915
+ "id": "assemble",
916
+ "phase": "rig",
917
+ "order": 2,
918
+ "does": "Execute synthetic assemble",
919
+ "produces": "Synthetic assemble output",
920
+ "rests_on": [
921
+ "assemble"
922
+ ],
923
+ "bar": "The synthetic output matches its declared input.",
924
+ "checkpoint_proposed": true,
925
+ "checkpoint": {
926
+ "delegated": false,
927
+ "by": "user",
928
+ "at": "2026-11-06T01:00:23.000Z",
929
+ "verbatim": "Approve this synthetic geometric example.\n",
930
+ "value": true
931
+ },
932
+ "status": "done",
933
+ "status_history": [
934
+ {
935
+ "from_status": "pending",
936
+ "status": "in-progress",
937
+ "by": "agent",
938
+ "at": "2026-11-06T01:00:28.000Z",
939
+ "checkpoint_required": true,
940
+ "signoff": null
941
+ },
942
+ {
943
+ "from_status": "in-progress",
944
+ "status": "at-checkpoint",
945
+ "by": "agent",
946
+ "at": "2026-11-06T01:00:29.000Z",
947
+ "checkpoint_required": true,
948
+ "signoff": null
949
+ },
950
+ {
951
+ "from_status": "at-checkpoint",
952
+ "status": "done",
953
+ "by": "agent",
954
+ "at": "2026-11-06T01:00:31.000Z",
955
+ "checkpoint_required": true,
956
+ "signoff": {
957
+ "stage": "parts",
958
+ "checkpoint": "assemble",
959
+ "at": "2026-11-06T01:00:30.000Z"
960
+ }
961
+ }
962
+ ]
963
+ },
964
+ {
965
+ "id": "bones",
966
+ "phase": "rig",
967
+ "order": 3,
968
+ "does": "Execute synthetic bones",
969
+ "produces": "Synthetic bones output",
970
+ "rests_on": [
971
+ "bones"
972
+ ],
973
+ "bar": "The synthetic output matches its declared input.",
974
+ "checkpoint_proposed": false,
975
+ "checkpoint": {
976
+ "delegated": false,
977
+ "by": "user",
978
+ "at": "2026-11-06T01:00:51.000Z",
979
+ "verbatim": "Approve this synthetic geometric example.\n",
980
+ "value": false
981
+ },
982
+ "status": "done"
983
+ },
984
+ {
985
+ "id": "meshes",
986
+ "phase": "rig",
987
+ "order": 4,
988
+ "does": "Execute synthetic meshes",
989
+ "produces": "Synthetic meshes output",
990
+ "rests_on": [
991
+ "meshes"
992
+ ],
993
+ "bar": "The synthetic output matches its declared input.",
994
+ "checkpoint_proposed": false,
995
+ "checkpoint": {
996
+ "delegated": false,
997
+ "by": "user",
998
+ "at": "2026-11-06T01:00:51.000Z",
999
+ "verbatim": "Approve this synthetic geometric example.\n",
1000
+ "value": false
1001
+ },
1002
+ "status": "done"
1003
+ },
1004
+ {
1005
+ "id": "constraints",
1006
+ "phase": "rig",
1007
+ "order": 5,
1008
+ "does": "Execute synthetic constraints",
1009
+ "produces": "Synthetic constraints output",
1010
+ "rests_on": [
1011
+ "constraints"
1012
+ ],
1013
+ "bar": "The synthetic output matches its declared input.",
1014
+ "checkpoint_proposed": false,
1015
+ "checkpoint": {
1016
+ "delegated": false,
1017
+ "by": "user",
1018
+ "at": "2026-11-06T01:00:51.000Z",
1019
+ "verbatim": "Approve this synthetic geometric example.\n",
1020
+ "value": false
1021
+ },
1022
+ "status": "done"
1023
+ },
1024
+ {
1025
+ "id": "motion",
1026
+ "phase": "rig",
1027
+ "order": 6,
1028
+ "does": "Execute synthetic motion",
1029
+ "produces": "Synthetic motion output",
1030
+ "rests_on": [
1031
+ "motion"
1032
+ ],
1033
+ "bar": "The synthetic output matches its declared input.",
1034
+ "checkpoint_proposed": false,
1035
+ "checkpoint": {
1036
+ "delegated": false,
1037
+ "by": "user",
1038
+ "at": "2026-11-06T01:00:51.000Z",
1039
+ "verbatim": "Approve this synthetic geometric example.\n",
1040
+ "value": false
1041
+ },
1042
+ "status": "done"
1043
+ }
1044
+ ],
1045
+ "rigging_drafted_at": "2026-11-06T01:00:20.000Z"
1046
+ },
1047
+ "split": {
1048
+ "label_values": [
1049
+ "physics",
1050
+ "wind",
1051
+ "jiggle",
1052
+ "rigid",
1053
+ "still"
1054
+ ],
1055
+ "proposal_image": null,
1056
+ "proposed_by": null,
1057
+ "proposed_at": null,
1058
+ "parts": [
1059
+ {
1060
+ "name": "background",
1061
+ "label": "rigid",
1062
+ "note": "Synthetic geometric block."
1063
+ },
1064
+ {
1065
+ "name": "torso",
1066
+ "label": "rigid",
1067
+ "note": "Synthetic geometric block."
1068
+ },
1069
+ {
1070
+ "name": "lantern",
1071
+ "label": "rigid",
1072
+ "note": "Synthetic geometric block."
1073
+ },
1074
+ {
1075
+ "name": "face",
1076
+ "label": "rigid",
1077
+ "note": "Synthetic geometric block."
1078
+ },
1079
+ {
1080
+ "name": "eye_r",
1081
+ "label": "rigid",
1082
+ "note": "Synthetic geometric block."
1083
+ },
1084
+ {
1085
+ "name": "eye_l",
1086
+ "label": "rigid",
1087
+ "note": "Synthetic geometric block."
1088
+ }
1089
+ ]
1090
+ },
1091
+ "inputs": [
1092
+ {
1093
+ "path": "inputs/painting.png",
1094
+ "sha256": "02e6ea41dfec89a7eced0f66b98e0fea048846c6f4174fa1cc7631fe360e614f",
1095
+ "bytes": 421,
1096
+ "origin": "synthetic, generated by generateExampleParts",
1097
+ "at": "2026-11-06T01:00:02.000Z"
1098
+ }
1099
+ ],
1100
+ "fix_ledger": [],
1101
+ "derived": [],
1102
+ "versions": [
1103
+ {
1104
+ "n": 1,
1105
+ "kind": "rig",
1106
+ "rig_version": null,
1107
+ "at": "2026-11-06T01:00:53.000Z",
1108
+ "built_by": "agent",
1109
+ "built_with": {
1110
+ "@rig-c/parts": "2.37.0",
1111
+ "@rig-c/core": "3.7.0"
1112
+ },
1113
+ "changed": "Build the synthetic approved parts.",
1114
+ "outputs": [
1115
+ {
1116
+ "path": "outputs/v1/out/check/build/skeleton.model.json",
1117
+ "sha256": "3c899fedb29f61722790c7ae54686d92dad2980699c416b0912dc7883c016d46",
1118
+ "bytes": 22757
1119
+ }
1120
+ ],
1121
+ "evidence": [
1122
+ {
1123
+ "kind": "still",
1124
+ "path": "evidence/setup.png",
1125
+ "sha256": "02e6ea41dfec89a7eced0f66b98e0fea048846c6f4174fa1cc7631fe360e614f",
1126
+ "camera": "fixed",
1127
+ "frame": "setup"
1128
+ }
1129
+ ],
1130
+ "verdicts": [],
1131
+ "answers_feedback": [],
1132
+ "review_origin": null,
1133
+ "provenance": {
1134
+ "config": {
1135
+ "path": "evidence/v1/config.json",
1136
+ "sha256": "740f7d38e7f4242cea692602f501a69fec4ed8c11adb048607054d795c12c4e3"
1137
+ },
1138
+ "sections": {
1139
+ "assemble": [
1140
+ {
1141
+ "entry": "assemble",
1142
+ "guide": "assemble",
1143
+ "quote": "Use the synthetic projection\nKeep the declared geometric example.\n\nUse the synthetic cut\nKeep the declared geometric example.\n\nUse the synthetic emphasis\nKeep the declared geometric example.\n\nUse the synthetic draw_order\nKeep the declared geometric example.\n\nUse the synthetic authored\nKeep the declared geometric example.\n\nUse the synthetic occluders\nKeep the declared geometric example.\n\nUse the synthetic outfits\nKeep the declared geometric example.",
1144
+ "asks": [
1145
+ "projection",
1146
+ "cut",
1147
+ "emphasis",
1148
+ "draw_order",
1149
+ "authored",
1150
+ "occluders",
1151
+ "outfits"
1152
+ ]
1153
+ }
1154
+ ],
1155
+ "bones": [
1156
+ {
1157
+ "entry": "bones",
1158
+ "guide": "bones",
1159
+ "quote": "Use the synthetic chains\nKeep the declared geometric example.\n\nUse the synthetic placement\nKeep the declared geometric example.\n\nUse the synthetic length\nKeep the declared geometric example.",
1160
+ "asks": [
1161
+ "chains",
1162
+ "placement",
1163
+ "length"
1164
+ ]
1165
+ }
1166
+ ],
1167
+ "meshes": [
1168
+ {
1169
+ "entry": "meshes",
1170
+ "guide": "meshes",
1171
+ "quote": "Use the synthetic bend\nKeep the declared geometric example.\n\nUse the synthetic rigid\nKeep the declared geometric example.\n\nUse the synthetic density\nKeep the declared geometric example.",
1172
+ "asks": [
1173
+ "bend",
1174
+ "rigid",
1175
+ "density"
1176
+ ]
1177
+ }
1178
+ ],
1179
+ "regions": [
1180
+ {
1181
+ "entry": "regions",
1182
+ "guide": "meshes",
1183
+ "quote": "Use the synthetic bend\nKeep the declared geometric example.\n\nUse the synthetic rigid\nKeep the declared geometric example.\n\nUse the synthetic density\nKeep the declared geometric example.",
1184
+ "asks": [
1185
+ "bend",
1186
+ "rigid",
1187
+ "density"
1188
+ ]
1189
+ }
1190
+ ],
1191
+ "motion": [
1192
+ {
1193
+ "entry": "motion",
1194
+ "guide": "motion",
1195
+ "quote": "Use the synthetic tracks\nKeep the declared geometric example.\n\nUse the synthetic extent\nKeep the declared geometric example.\n\nUse the synthetic speed\nKeep the declared geometric example.\n\nUse the synthetic loop\nKeep the declared geometric example.\n\nUse the synthetic blink\nKeep the declared geometric example.",
1196
+ "asks": [
1197
+ "tracks",
1198
+ "extent",
1199
+ "speed",
1200
+ "loop",
1201
+ "blink"
1202
+ ]
1203
+ }
1204
+ ]
1205
+ }
1206
+ },
1207
+ "review_package": {
1208
+ "config": {
1209
+ "path": "evidence/v1/config.json",
1210
+ "sha256": "740f7d38e7f4242cea692602f501a69fec4ed8c11adb048607054d795c12c4e3"
1211
+ },
1212
+ "from": "outputs/v1/out",
1213
+ "files": [
1214
+ {
1215
+ "path": "config.json",
1216
+ "sha256": "740f7d38e7f4242cea692602f501a69fec4ed8c11adb048607054d795c12c4e3"
1217
+ },
1218
+ {
1219
+ "path": "interview-requirements.json",
1220
+ "sha256": "214ddb880e94a575cd4afb35f99ddfa3d90198b88095550f20e0b980d2fd0cff"
1221
+ },
1222
+ {
1223
+ "path": "out/check/build/run.json",
1224
+ "sha256": "9ff4b765bc7f84587c8f0d1c7dbdde2f5c4ba36cc1924948e5ef6b28f439b796"
1225
+ },
1226
+ {
1227
+ "path": "out/check/build/skeleton.atlas",
1228
+ "sha256": "68f9cb5eea7a194d59fb14d5c2363894b2eca78c26bf9aee67a760955a6125f3"
1229
+ },
1230
+ {
1231
+ "path": "out/check/build/skeleton.json",
1232
+ "sha256": "8e2b5edae8cce48ca98587ddb458f38406d28ba7fb7ade02dbd2a0bc8f28e03d"
1233
+ },
1234
+ {
1235
+ "path": "out/check/build/skeleton.model.json",
1236
+ "sha256": "3c899fedb29f61722790c7ae54686d92dad2980699c416b0912dc7883c016d46"
1237
+ },
1238
+ {
1239
+ "path": "out/check/build/skeleton.png",
1240
+ "sha256": "1b1836dc1a2700302723ebfebc8fd2be918ba69dff41029788a90595c426c6b2"
1241
+ },
1242
+ {
1243
+ "path": "out/parts.json",
1244
+ "sha256": "fb0b74d03b7e71d1c2bb2a6fe0ca1ef7415239863ea8eb95fc271b6eee38a0b7"
1245
+ },
1246
+ {
1247
+ "path": "out/parts/background.png",
1248
+ "sha256": "c180182b6666fb4d90d4f91e210bda103a4081f1ad7c45006db392fa6c4eaf36"
1249
+ },
1250
+ {
1251
+ "path": "out/parts/eye_l.png",
1252
+ "sha256": "c080dceac3b4d8fbc824ebb0ebffe61047f10af4e2cdd8d51b32bf779691617e"
1253
+ },
1254
+ {
1255
+ "path": "out/parts/eye_r.png",
1256
+ "sha256": "c080dceac3b4d8fbc824ebb0ebffe61047f10af4e2cdd8d51b32bf779691617e"
1257
+ },
1258
+ {
1259
+ "path": "out/parts/face.png",
1260
+ "sha256": "9626a5008eb90b22ab7623cb79048ed521c6aa651254287bbc9df8606b9f0bf7"
1261
+ },
1262
+ {
1263
+ "path": "out/parts/lantern.png",
1264
+ "sha256": "79ff42136a509e98032352ef9f8c0857a5d7f16667eb629bc048b9b8ef24d96a"
1265
+ },
1266
+ {
1267
+ "path": "out/parts/torso.png",
1268
+ "sha256": "adf6cd5d92568c5f51028df2874b69f4df5ff1d0e3a94484784c867e543cd912"
1269
+ },
1270
+ {
1271
+ "path": "out/rig/images/background.png",
1272
+ "sha256": "24eb570320b9e27ce6449b54e82abd811043b9a63f48387f13cbba2dbed5c5f8"
1273
+ },
1274
+ {
1275
+ "path": "out/rig/images/eye_l.png",
1276
+ "sha256": "97da226ecba85a1af18173df4eb28d72b0828cda8c171f8d4a2995a3da9cc733"
1277
+ },
1278
+ {
1279
+ "path": "out/rig/images/eye_r.png",
1280
+ "sha256": "97da226ecba85a1af18173df4eb28d72b0828cda8c171f8d4a2995a3da9cc733"
1281
+ },
1282
+ {
1283
+ "path": "out/rig/images/face.png",
1284
+ "sha256": "e2bd0d0736b3ecda20d6a08840468a2d46738c226631fd73e280dab3719c9e4c"
1285
+ },
1286
+ {
1287
+ "path": "out/rig/images/lantern.png",
1288
+ "sha256": "733d1cc36c0d1a01f1d330085316f8bcccb8d4331e2f20b9a3dfe2a3407a7041"
1289
+ },
1290
+ {
1291
+ "path": "out/rig/images/torso.png",
1292
+ "sha256": "356a2a89f530ef7ab5719eefa2cfbff37f8f39a274f41689f13a9c7a2d76adf5"
1293
+ },
1294
+ {
1295
+ "path": "out/rig/mesh_report.json",
1296
+ "sha256": "06a55efc24facba602ba370a225f5835ce6a95e210a3760707977d2f1a8e36db"
1297
+ },
1298
+ {
1299
+ "path": "out/rig/motion.json",
1300
+ "sha256": "727746f1a894513ea33c26b984ceb637f7eef06e935cb174ad99ad65826ec5c9"
1301
+ },
1302
+ {
1303
+ "path": "out/rig/rig.json",
1304
+ "sha256": "d266d58324d252e7c932ad41f856284a277e3c84204f7a081de7a5e1d3935de3"
1305
+ },
1306
+ {
1307
+ "path": "out/rig/run.json",
1308
+ "sha256": "15cb992b723fc182c0e8d82d840cb85faaac32d4498b850a20f68fe0a263c1b9"
1309
+ }
1310
+ ],
1311
+ "open": "rig-review open 'derived/review/v1/out'"
1312
+ }
1313
+ }
1314
+ ],
1315
+ "archive": null,
1316
+ "notes": [],
1317
+ "advances": [
1318
+ {
1319
+ "stage": "plan-approved",
1320
+ "from_stage": "interview",
1321
+ "at": "2026-11-06T01:00:22.000Z",
1322
+ "post_not_passed": false,
1323
+ "order": "split",
1324
+ "signoffs_before": [
1325
+ {
1326
+ "stage": "interview",
1327
+ "checkpoint": null,
1328
+ "at": "2026-11-06T01:00:21.000Z"
1329
+ }
1330
+ ],
1331
+ "signoff": {
1332
+ "stage": "interview",
1333
+ "checkpoint": null,
1334
+ "at": "2026-11-06T01:00:21.000Z"
1335
+ },
1336
+ "steps_before": [
1337
+ {
1338
+ "id": "seethrough",
1339
+ "phase": "rig",
1340
+ "status": "pending"
1341
+ },
1342
+ {
1343
+ "id": "assemble",
1344
+ "phase": "rig",
1345
+ "status": "pending"
1346
+ },
1347
+ {
1348
+ "id": "bones",
1349
+ "phase": "rig",
1350
+ "status": "pending"
1351
+ },
1352
+ {
1353
+ "id": "meshes",
1354
+ "phase": "rig",
1355
+ "status": "pending"
1356
+ },
1357
+ {
1358
+ "id": "constraints",
1359
+ "phase": "rig",
1360
+ "status": "pending"
1361
+ },
1362
+ {
1363
+ "id": "motion",
1364
+ "phase": "rig",
1365
+ "status": "pending"
1366
+ }
1367
+ ]
1368
+ },
1369
+ {
1370
+ "stage": "parts",
1371
+ "from_stage": "plan-approved",
1372
+ "at": "2026-11-06T01:00:24.000Z",
1373
+ "post_not_passed": false,
1374
+ "order": "split",
1375
+ "signoffs_before": [
1376
+ {
1377
+ "stage": "interview",
1378
+ "checkpoint": null,
1379
+ "at": "2026-11-06T01:00:21.000Z"
1380
+ },
1381
+ {
1382
+ "stage": "plan-approved",
1383
+ "checkpoint": null,
1384
+ "at": "2026-11-06T01:00:23.000Z"
1385
+ }
1386
+ ],
1387
+ "signoff": {
1388
+ "stage": "plan-approved",
1389
+ "checkpoint": null,
1390
+ "at": "2026-11-06T01:00:23.000Z"
1391
+ },
1392
+ "steps_before": [
1393
+ {
1394
+ "id": "seethrough",
1395
+ "phase": "rig",
1396
+ "status": "pending"
1397
+ },
1398
+ {
1399
+ "id": "assemble",
1400
+ "phase": "rig",
1401
+ "status": "pending"
1402
+ },
1403
+ {
1404
+ "id": "bones",
1405
+ "phase": "rig",
1406
+ "status": "pending"
1407
+ },
1408
+ {
1409
+ "id": "meshes",
1410
+ "phase": "rig",
1411
+ "status": "pending"
1412
+ },
1413
+ {
1414
+ "id": "constraints",
1415
+ "phase": "rig",
1416
+ "status": "pending"
1417
+ },
1418
+ {
1419
+ "id": "motion",
1420
+ "phase": "rig",
1421
+ "status": "pending"
1422
+ }
1423
+ ]
1424
+ },
1425
+ {
1426
+ "stage": "parts-review",
1427
+ "from_stage": "parts",
1428
+ "at": "2026-11-06T01:00:35.000Z",
1429
+ "post_not_passed": false,
1430
+ "order": "split",
1431
+ "signoffs_before": [
1432
+ {
1433
+ "stage": "interview",
1434
+ "checkpoint": null,
1435
+ "at": "2026-11-06T01:00:21.000Z"
1436
+ },
1437
+ {
1438
+ "stage": "plan-approved",
1439
+ "checkpoint": null,
1440
+ "at": "2026-11-06T01:00:23.000Z"
1441
+ },
1442
+ {
1443
+ "stage": "parts",
1444
+ "checkpoint": "assemble",
1445
+ "at": "2026-11-06T01:00:30.000Z"
1446
+ }
1447
+ ],
1448
+ "signoff": {
1449
+ "stage": "plan-approved",
1450
+ "checkpoint": null,
1451
+ "at": "2026-11-06T01:00:23.000Z"
1452
+ },
1453
+ "steps_before": [
1454
+ {
1455
+ "id": "seethrough",
1456
+ "phase": "rig",
1457
+ "status": "done"
1458
+ },
1459
+ {
1460
+ "id": "assemble",
1461
+ "phase": "rig",
1462
+ "status": "done"
1463
+ },
1464
+ {
1465
+ "id": "bones",
1466
+ "phase": "rig",
1467
+ "status": "pending"
1468
+ },
1469
+ {
1470
+ "id": "meshes",
1471
+ "phase": "rig",
1472
+ "status": "pending"
1473
+ },
1474
+ {
1475
+ "id": "constraints",
1476
+ "phase": "rig",
1477
+ "status": "pending"
1478
+ },
1479
+ {
1480
+ "id": "motion",
1481
+ "phase": "rig",
1482
+ "status": "pending"
1483
+ }
1484
+ ],
1485
+ "parts_check": {
1486
+ "path": "evidence/parts-check.json",
1487
+ "sha256": "9b1527d1426c313c2ca1322f92530972e3fd0b109aba25f18877171af35b2ba1",
1488
+ "spec": "rig-parts-parts-check/1",
1489
+ "parts": "derived/drafts/chain/input",
1490
+ "exit_code": 0,
1491
+ "holes": [
1492
+ {
1493
+ "code": "PARTS_PLATE_GHOST",
1494
+ "object": "parts",
1495
+ "reason": "no adopted plate-ghost discriminator; assemble outputs do not bind a background plate or composed figure outline",
1496
+ "line": "PARTS_PLATE_GHOST: HOLE — no adopted plate-ghost discriminator; assemble outputs do not bind a background plate or composed figure outline"
1497
+ },
1498
+ {
1499
+ "code": "PARTS_PLATE_STRUCTURE",
1500
+ "object": "parts",
1501
+ "reason": "no adopted background-structure continuation measure or reference",
1502
+ "line": "PARTS_PLATE_STRUCTURE: HOLE — no adopted background-structure continuation measure or reference"
1503
+ },
1504
+ {
1505
+ "code": "PARTS_PLATE_SMEAR",
1506
+ "object": "parts",
1507
+ "reason": "no adopted plate-smear discriminator",
1508
+ "line": "PARTS_PLATE_SMEAR: HOLE — no adopted plate-smear discriminator"
1509
+ },
1510
+ {
1511
+ "code": "PARTS_PLATE_STEPS",
1512
+ "object": "parts",
1513
+ "reason": "no adopted plate-fill continuity measure",
1514
+ "line": "PARTS_PLATE_STEPS: HOLE — no adopted plate-fill continuity measure"
1515
+ },
1516
+ {
1517
+ "code": "PARTS_INVENTED_MATERIAL",
1518
+ "object": "parts",
1519
+ "reason": "no validated producer-bound per-pixel painted-versus-invented record",
1520
+ "line": "PARTS_INVENTED_MATERIAL: HOLE — no validated producer-bound per-pixel painted-versus-invented record"
1521
+ },
1522
+ {
1523
+ "code": "PARTS_INVENTED_EXPOSURE",
1524
+ "object": "parts",
1525
+ "reason": "invented-material identity and posed-frame observations are unavailable at the parts stage",
1526
+ "line": "PARTS_INVENTED_EXPOSURE: HOLE — invented-material identity and posed-frame observations are unavailable at the parts stage"
1527
+ },
1528
+ {
1529
+ "code": "PARTS_SOURCE_COVER",
1530
+ "object": "source_cover.json",
1531
+ "reason": "source_cover.json is absent; direct unplanned source cover is unavailable",
1532
+ "line": "PARTS_SOURCE_COVER: HOLE — source_cover.json is absent; direct unplanned source cover is unavailable"
1533
+ },
1534
+ {
1535
+ "code": "PARTS_PAINTING_ALLOCATION",
1536
+ "object": "painting_allocation.json",
1537
+ "reason": "painting_allocation.json is absent; painting-edge transfer membership is unavailable",
1538
+ "line": "PARTS_PAINTING_ALLOCATION: HOLE — painting_allocation.json is absent; painting-edge transfer membership is unavailable"
1539
+ }
1540
+ ],
1541
+ "reported": []
1542
+ }
1543
+ },
1544
+ {
1545
+ "stage": "rigging-interview",
1546
+ "from_stage": "parts-review",
1547
+ "at": "2026-11-06T01:00:38.000Z",
1548
+ "post_not_passed": false,
1549
+ "order": "split",
1550
+ "signoffs_before": [
1551
+ {
1552
+ "stage": "interview",
1553
+ "checkpoint": null,
1554
+ "at": "2026-11-06T01:00:21.000Z"
1555
+ },
1556
+ {
1557
+ "stage": "plan-approved",
1558
+ "checkpoint": null,
1559
+ "at": "2026-11-06T01:00:23.000Z"
1560
+ },
1561
+ {
1562
+ "stage": "parts",
1563
+ "checkpoint": "assemble",
1564
+ "at": "2026-11-06T01:00:30.000Z"
1565
+ },
1566
+ {
1567
+ "stage": "parts-review",
1568
+ "checkpoint": null,
1569
+ "at": "2026-11-06T01:00:37.000Z"
1570
+ }
1571
+ ],
1572
+ "signoff": {
1573
+ "stage": "parts-review",
1574
+ "checkpoint": null,
1575
+ "at": "2026-11-06T01:00:37.000Z"
1576
+ },
1577
+ "steps_before": [
1578
+ {
1579
+ "id": "seethrough",
1580
+ "phase": "rig",
1581
+ "status": "done"
1582
+ },
1583
+ {
1584
+ "id": "assemble",
1585
+ "phase": "rig",
1586
+ "status": "done"
1587
+ },
1588
+ {
1589
+ "id": "bones",
1590
+ "phase": "rig",
1591
+ "status": "pending"
1592
+ },
1593
+ {
1594
+ "id": "meshes",
1595
+ "phase": "rig",
1596
+ "status": "pending"
1597
+ },
1598
+ {
1599
+ "id": "constraints",
1600
+ "phase": "rig",
1601
+ "status": "pending"
1602
+ },
1603
+ {
1604
+ "id": "motion",
1605
+ "phase": "rig",
1606
+ "status": "pending"
1607
+ }
1608
+ ]
1609
+ },
1610
+ {
1611
+ "stage": "rigging",
1612
+ "from_stage": "rigging-interview",
1613
+ "at": "2026-11-06T01:00:52.000Z",
1614
+ "post_not_passed": false,
1615
+ "order": "split",
1616
+ "signoffs_before": [
1617
+ {
1618
+ "stage": "interview",
1619
+ "checkpoint": null,
1620
+ "at": "2026-11-06T01:00:21.000Z"
1621
+ },
1622
+ {
1623
+ "stage": "plan-approved",
1624
+ "checkpoint": null,
1625
+ "at": "2026-11-06T01:00:23.000Z"
1626
+ },
1627
+ {
1628
+ "stage": "parts",
1629
+ "checkpoint": "assemble",
1630
+ "at": "2026-11-06T01:00:30.000Z"
1631
+ },
1632
+ {
1633
+ "stage": "parts-review",
1634
+ "checkpoint": null,
1635
+ "at": "2026-11-06T01:00:37.000Z"
1636
+ },
1637
+ {
1638
+ "stage": "rigging-interview",
1639
+ "checkpoint": null,
1640
+ "at": "2026-11-06T01:00:51.000Z"
1641
+ }
1642
+ ],
1643
+ "signoff": {
1644
+ "stage": "rigging-interview",
1645
+ "checkpoint": null,
1646
+ "at": "2026-11-06T01:00:51.000Z"
1647
+ },
1648
+ "steps_before": [
1649
+ {
1650
+ "id": "seethrough",
1651
+ "phase": "rig",
1652
+ "status": "done"
1653
+ },
1654
+ {
1655
+ "id": "assemble",
1656
+ "phase": "rig",
1657
+ "status": "done"
1658
+ },
1659
+ {
1660
+ "id": "bones",
1661
+ "phase": "rig",
1662
+ "status": "pending"
1663
+ },
1664
+ {
1665
+ "id": "meshes",
1666
+ "phase": "rig",
1667
+ "status": "pending"
1668
+ },
1669
+ {
1670
+ "id": "constraints",
1671
+ "phase": "rig",
1672
+ "status": "pending"
1673
+ },
1674
+ {
1675
+ "id": "motion",
1676
+ "phase": "rig",
1677
+ "status": "pending"
1678
+ }
1679
+ ]
1680
+ },
1681
+ {
1682
+ "stage": "rig-review",
1683
+ "from_stage": "rigging",
1684
+ "at": "2026-11-06T01:00:55.000Z",
1685
+ "post_not_passed": false,
1686
+ "order": "split",
1687
+ "signoffs_before": [
1688
+ {
1689
+ "stage": "interview",
1690
+ "checkpoint": null,
1691
+ "at": "2026-11-06T01:00:21.000Z"
1692
+ },
1693
+ {
1694
+ "stage": "plan-approved",
1695
+ "checkpoint": null,
1696
+ "at": "2026-11-06T01:00:23.000Z"
1697
+ },
1698
+ {
1699
+ "stage": "parts",
1700
+ "checkpoint": "assemble",
1701
+ "at": "2026-11-06T01:00:30.000Z"
1702
+ },
1703
+ {
1704
+ "stage": "parts-review",
1705
+ "checkpoint": null,
1706
+ "at": "2026-11-06T01:00:37.000Z"
1707
+ },
1708
+ {
1709
+ "stage": "rigging-interview",
1710
+ "checkpoint": null,
1711
+ "at": "2026-11-06T01:00:51.000Z"
1712
+ }
1713
+ ],
1714
+ "signoff": {
1715
+ "stage": "rigging-interview",
1716
+ "checkpoint": null,
1717
+ "at": "2026-11-06T01:00:51.000Z"
1718
+ },
1719
+ "steps_before": [
1720
+ {
1721
+ "id": "seethrough",
1722
+ "phase": "rig",
1723
+ "status": "done"
1724
+ },
1725
+ {
1726
+ "id": "assemble",
1727
+ "phase": "rig",
1728
+ "status": "done"
1729
+ },
1730
+ {
1731
+ "id": "bones",
1732
+ "phase": "rig",
1733
+ "status": "done"
1734
+ },
1735
+ {
1736
+ "id": "meshes",
1737
+ "phase": "rig",
1738
+ "status": "done"
1739
+ },
1740
+ {
1741
+ "id": "constraints",
1742
+ "phase": "rig",
1743
+ "status": "done"
1744
+ },
1745
+ {
1746
+ "id": "motion",
1747
+ "phase": "rig",
1748
+ "status": "done"
1749
+ }
1750
+ ]
1751
+ }
1752
+ ],
1753
+ "drafts": [
1754
+ {
1755
+ "id": "chain",
1756
+ "kind": "draft-rig",
1757
+ "at": "2026-11-06T01:00:32.000Z",
1758
+ "producer": {
1759
+ "name": "@rig-c/parts",
1760
+ "version": "2.37.0"
1761
+ },
1762
+ "config": {
1763
+ "path": "derived/drafts/chain/config.json",
1764
+ "sha256": "740f7d38e7f4242cea692602f501a69fec4ed8c11adb048607054d795c12c4e3"
1765
+ },
1766
+ "parts": {
1767
+ "path": "derived/drafts/chain/input",
1768
+ "files": [
1769
+ {
1770
+ "path": "derived/drafts/chain/input/painting_in_rig.png",
1771
+ "sha256": "02e6ea41dfec89a7eced0f66b98e0fea048846c6f4174fa1cc7631fe360e614f"
1772
+ },
1773
+ {
1774
+ "path": "derived/drafts/chain/input/parts/background.png",
1775
+ "sha256": "c180182b6666fb4d90d4f91e210bda103a4081f1ad7c45006db392fa6c4eaf36"
1776
+ },
1777
+ {
1778
+ "path": "derived/drafts/chain/input/parts/eye_l.png",
1779
+ "sha256": "c080dceac3b4d8fbc824ebb0ebffe61047f10af4e2cdd8d51b32bf779691617e"
1780
+ },
1781
+ {
1782
+ "path": "derived/drafts/chain/input/parts/eye_r.png",
1783
+ "sha256": "c080dceac3b4d8fbc824ebb0ebffe61047f10af4e2cdd8d51b32bf779691617e"
1784
+ },
1785
+ {
1786
+ "path": "derived/drafts/chain/input/parts/face.png",
1787
+ "sha256": "9626a5008eb90b22ab7623cb79048ed521c6aa651254287bbc9df8606b9f0bf7"
1788
+ },
1789
+ {
1790
+ "path": "derived/drafts/chain/input/parts/lantern.png",
1791
+ "sha256": "79ff42136a509e98032352ef9f8c0857a5d7f16667eb629bc048b9b8ef24d96a"
1792
+ },
1793
+ {
1794
+ "path": "derived/drafts/chain/input/parts/torso.png",
1795
+ "sha256": "adf6cd5d92568c5f51028df2874b69f4df5ff1d0e3a94484784c867e543cd912"
1796
+ },
1797
+ {
1798
+ "path": "derived/drafts/chain/input/parts.json",
1799
+ "sha256": "fb0b74d03b7e71d1c2bb2a6fe0ca1ef7415239863ea8eb95fc271b6eee38a0b7"
1800
+ }
1801
+ ]
1802
+ },
1803
+ "files": [
1804
+ {
1805
+ "path": "derived/drafts/chain/out/check/build/run.json",
1806
+ "sha256": "9ff4b765bc7f84587c8f0d1c7dbdde2f5c4ba36cc1924948e5ef6b28f439b796"
1807
+ },
1808
+ {
1809
+ "path": "derived/drafts/chain/out/check/build/skeleton.atlas",
1810
+ "sha256": "68f9cb5eea7a194d59fb14d5c2363894b2eca78c26bf9aee67a760955a6125f3"
1811
+ },
1812
+ {
1813
+ "path": "derived/drafts/chain/out/check/build/skeleton.json",
1814
+ "sha256": "8e2b5edae8cce48ca98587ddb458f38406d28ba7fb7ade02dbd2a0bc8f28e03d"
1815
+ },
1816
+ {
1817
+ "path": "derived/drafts/chain/out/check/build/skeleton.model.json",
1818
+ "sha256": "3c899fedb29f61722790c7ae54686d92dad2980699c416b0912dc7883c016d46"
1819
+ },
1820
+ {
1821
+ "path": "derived/drafts/chain/out/check/build/skeleton.png",
1822
+ "sha256": "1b1836dc1a2700302723ebfebc8fd2be918ba69dff41029788a90595c426c6b2"
1823
+ },
1824
+ {
1825
+ "path": "derived/drafts/chain/out/images/background.png",
1826
+ "sha256": "24eb570320b9e27ce6449b54e82abd811043b9a63f48387f13cbba2dbed5c5f8"
1827
+ },
1828
+ {
1829
+ "path": "derived/drafts/chain/out/images/eye_l.png",
1830
+ "sha256": "97da226ecba85a1af18173df4eb28d72b0828cda8c171f8d4a2995a3da9cc733"
1831
+ },
1832
+ {
1833
+ "path": "derived/drafts/chain/out/images/eye_r.png",
1834
+ "sha256": "97da226ecba85a1af18173df4eb28d72b0828cda8c171f8d4a2995a3da9cc733"
1835
+ },
1836
+ {
1837
+ "path": "derived/drafts/chain/out/images/face.png",
1838
+ "sha256": "e2bd0d0736b3ecda20d6a08840468a2d46738c226631fd73e280dab3719c9e4c"
1839
+ },
1840
+ {
1841
+ "path": "derived/drafts/chain/out/images/lantern.png",
1842
+ "sha256": "733d1cc36c0d1a01f1d330085316f8bcccb8d4331e2f20b9a3dfe2a3407a7041"
1843
+ },
1844
+ {
1845
+ "path": "derived/drafts/chain/out/images/torso.png",
1846
+ "sha256": "356a2a89f530ef7ab5719eefa2cfbff37f8f39a274f41689f13a9c7a2d76adf5"
1847
+ },
1848
+ {
1849
+ "path": "derived/drafts/chain/out/mesh_report.json",
1850
+ "sha256": "06a55efc24facba602ba370a225f5835ce6a95e210a3760707977d2f1a8e36db"
1851
+ },
1852
+ {
1853
+ "path": "derived/drafts/chain/out/motion.json",
1854
+ "sha256": "727746f1a894513ea33c26b984ceb637f7eef06e935cb174ad99ad65826ec5c9"
1855
+ },
1856
+ {
1857
+ "path": "derived/drafts/chain/out/rig.json",
1858
+ "sha256": "d266d58324d252e7c932ad41f856284a277e3c84204f7a081de7a5e1d3935de3"
1859
+ },
1860
+ {
1861
+ "path": "derived/drafts/chain/out/run.json",
1862
+ "sha256": "15cb992b723fc182c0e8d82d840cb85faaac32d4498b850a20f68fe0a263c1b9"
1863
+ }
1864
+ ],
1865
+ "config_inputs": [
1866
+ {
1867
+ "path": "derived/drafts/chain/interview-requirements.json",
1868
+ "sha256": "214ddb880e94a575cd4afb35f99ddfa3d90198b88095550f20e0b980d2fd0cff"
1869
+ }
1870
+ ]
1871
+ }
1872
+ ],
1873
+ "review_acts": [
1874
+ {
1875
+ "schema": "rig-create/parts-verdict-cli@1",
1876
+ "kind": "parts-verdict",
1877
+ "draft_id": "chain",
1878
+ "evidence": {
1879
+ "kind": "parts-verdict",
1880
+ "path": "evidence/review-reads/a12dea02d32508acc99386f894af76a14f1c85f45f804db2aa6b4dea5297973f.json",
1881
+ "sha256": "a12dea02d32508acc99386f894af76a14f1c85f45f804db2aa6b4dea5297973f"
1882
+ },
1883
+ "route": "cli",
1884
+ "argv": [
1885
+ "derived/drafts/chain/input",
1886
+ "--verdict",
1887
+ "evidence/parts-review.json"
1888
+ ],
1889
+ "tool": {
1890
+ "name": "@rig-c/review",
1891
+ "version": "0.0.0-synthetic"
1892
+ },
1893
+ "status": "approved",
1894
+ "flagged": [],
1895
+ "noted": [],
1896
+ "by": "user",
1897
+ "at": "2026-11-06T01:00:33.000Z"
1898
+ }
1899
+ ],
1900
+ "diff_map": {
1901
+ "by": "agent",
1902
+ "at": "2026-11-06T01:00:36.000Z",
1903
+ "report": {
1904
+ "path": "evidence/diff-components.json",
1905
+ "sha256": "6727d1165b72f75c2e18d7734854be6939f6339849f42378588ee90bf3a8f39d"
1906
+ },
1907
+ "components": []
1908
+ }
1909
+ }