@rig-c/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,2593 @@
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": "accepted",
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
+ "stage": "rig-review",
123
+ "checkpoint": null,
124
+ "by": "user",
125
+ "at": "2026-11-06T01:00:57.000Z",
126
+ "verbatim": "Approve this synthetic geometric example.\n",
127
+ "target": {
128
+ "version": 1,
129
+ "verdict": "versions[0].verdicts[0]",
130
+ "review_package": {
131
+ "path": "versions[0].review_package",
132
+ "sha256": "4771fc76f90a90496176e33ae0d9a3523e6eecce35a61b40ec951565ae613e06"
133
+ }
134
+ }
135
+ },
136
+ {
137
+ "stage": "post-interview",
138
+ "checkpoint": null,
139
+ "by": "user",
140
+ "at": "2026-11-06T01:01:08.000Z",
141
+ "verbatim": "Approve this synthetic geometric example.\n",
142
+ "steps": [
143
+ "camera",
144
+ "timing",
145
+ "composition"
146
+ ],
147
+ "step_hashes": {
148
+ "camera": "d564dd37e787c46fd243425611f3cedda7b3b3e85709d67796906cbdd5b5e7ab",
149
+ "timing": "835e72eae8cff57526f8d12a909007449109a80da79f1a685ba55250f0a6ad47",
150
+ "composition": "994a3d5eb7d91a8ec345428c962589375b0694fe10127f09ea68b8d8b2855b8e"
151
+ },
152
+ "answer_hashes": {
153
+ "camera_depth": "9eb0bd4081692d0b5a9319914100d06197d002dbf5bc9d2f14e8b48a5ea20e7a",
154
+ "post_timing": "c2b7c336d932093f1ec1e528ac77cbe486aa8f4d1c125705c10479808153adf4",
155
+ "post_composition": "243fdaae80f934fbaf07682a76ca5e957b148c6feaf94a81507ee774bdc71229"
156
+ }
157
+ },
158
+ {
159
+ "stage": "direction-review",
160
+ "checkpoint": null,
161
+ "by": "user",
162
+ "at": "2026-11-06T01:01:17.000Z",
163
+ "verbatim": "Approve this synthetic geometric example.\n",
164
+ "target": {
165
+ "version": 2,
166
+ "verdict": "versions[1].verdicts[0]",
167
+ "direction": {
168
+ "path": "evidence/direction/v2.json",
169
+ "sha256": "2ad4b87fa0d883f876b7d5bd978b8ac9eecf801cd95409b099c546b76f1f42db"
170
+ }
171
+ }
172
+ }
173
+ ],
174
+ "interview": {
175
+ "question_set": "rig-create/interview@2 (waypoints read from @rig-c/parts 2.37.0)",
176
+ "held": false,
177
+ "date": null,
178
+ "interviewer": null,
179
+ "respondent": null,
180
+ "framing": [
181
+ {
182
+ "id": "rig_type",
183
+ "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)?",
184
+ "source": "rig-create",
185
+ "required_for": [
186
+ "all"
187
+ ],
188
+ "answer": {
189
+ "delegated": false,
190
+ "by": "user",
191
+ "at": "2026-11-06T01:00:05.000Z",
192
+ "verbatim": "Use the synthetic rig_type\nKeep the declared geometric example.",
193
+ "source": "review questionnaire",
194
+ "choice": {
195
+ "spec": "rig-create/interview-choice@1",
196
+ "set": {
197
+ "path": "evidence/interview/rig_type.json",
198
+ "sha256": "be6ce065cede003d5df3dc2d1392b403e7bec174a90182afe7280e7b926bc931"
199
+ },
200
+ "picks": [
201
+ {
202
+ "ask": "rig_type",
203
+ "option_id": "keep",
204
+ "shown": {
205
+ "label": "Use the synthetic rig_type",
206
+ "effect": "Keep the declared geometric example."
207
+ }
208
+ }
209
+ ]
210
+ },
211
+ "asks": [
212
+ {
213
+ "id": "rig_type",
214
+ "state": "user"
215
+ }
216
+ ],
217
+ "value": "character.idle"
218
+ },
219
+ "history": []
220
+ },
221
+ {
222
+ "id": "reference",
223
+ "text": "'Make it feel like this': a video, an existing demo, a game you have in mind?",
224
+ "source": "rig-create",
225
+ "required_for": [
226
+ "all"
227
+ ],
228
+ "answer": {
229
+ "delegated": false,
230
+ "by": "user",
231
+ "at": "2026-11-06T01:00:08.000Z",
232
+ "verbatim": "Use the synthetic reference\nKeep the declared geometric example.",
233
+ "source": "review questionnaire",
234
+ "choice": {
235
+ "spec": "rig-create/interview-choice@1",
236
+ "set": {
237
+ "path": "evidence/interview/reference.json",
238
+ "sha256": "00fd672f2125a1879249a57726f7fbc2f0ec9510587b7c6433caae1686ec6b9a"
239
+ },
240
+ "picks": [
241
+ {
242
+ "ask": "reference",
243
+ "option_id": "keep",
244
+ "shown": {
245
+ "label": "Use the synthetic reference",
246
+ "effect": "Keep the declared geometric example."
247
+ }
248
+ }
249
+ ]
250
+ },
251
+ "asks": [
252
+ {
253
+ "id": "reference",
254
+ "state": "user"
255
+ }
256
+ ],
257
+ "value": "none"
258
+ },
259
+ "history": []
260
+ }
261
+ ],
262
+ "waypoints": [
263
+ {
264
+ "id": "seethrough",
265
+ "config": [
266
+ "seethrough"
267
+ ],
268
+ "prompts": [
269
+ {
270
+ "id": "x_layers",
271
+ "text": "Is there anything the layer split must keep together or keep apart: a hat with the head, a held object on its own?",
272
+ "source": "rig-create",
273
+ "required_for": [
274
+ "all"
275
+ ]
276
+ }
277
+ ],
278
+ "guide": {
279
+ "delegated": false,
280
+ "by": "user",
281
+ "at": "2026-11-06T01:00:11.000Z",
282
+ "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.",
283
+ "source": "review questionnaire",
284
+ "choice": {
285
+ "spec": "rig-create/interview-choice@1",
286
+ "set": {
287
+ "path": "evidence/interview/seethrough.json",
288
+ "sha256": "2f66f51b295c2fab3a362ff48df3322c346b9f2f84de23c9b736226c2fb030d0"
289
+ },
290
+ "picks": [
291
+ {
292
+ "ask": "layers",
293
+ "option_id": "keep",
294
+ "shown": {
295
+ "label": "Use the synthetic layers",
296
+ "effect": "Keep the declared geometric example."
297
+ }
298
+ },
299
+ {
300
+ "ask": "resolution",
301
+ "option_id": "keep",
302
+ "shown": {
303
+ "label": "Use the synthetic resolution",
304
+ "effect": "Keep the declared geometric example."
305
+ }
306
+ },
307
+ {
308
+ "ask": "head_crop",
309
+ "option_id": "keep",
310
+ "shown": {
311
+ "label": "Use the synthetic head_crop",
312
+ "effect": "Keep the declared geometric example."
313
+ }
314
+ },
315
+ {
316
+ "ask": "seed",
317
+ "option_id": "keep",
318
+ "shown": {
319
+ "label": "Use the synthetic seed",
320
+ "effect": "Keep the declared geometric example."
321
+ }
322
+ }
323
+ ]
324
+ },
325
+ "asks": [
326
+ {
327
+ "id": "layers",
328
+ "state": "user"
329
+ },
330
+ {
331
+ "id": "resolution",
332
+ "state": "user"
333
+ },
334
+ {
335
+ "id": "head_crop",
336
+ "state": "user"
337
+ },
338
+ {
339
+ "id": "seed",
340
+ "state": "user"
341
+ }
342
+ ],
343
+ "value": {
344
+ "layers": "synthetic layers",
345
+ "resolution": "synthetic resolution",
346
+ "head_crop": "synthetic head_crop",
347
+ "seed": "synthetic seed"
348
+ }
349
+ },
350
+ "history": []
351
+ },
352
+ {
353
+ "id": "assemble",
354
+ "config": [
355
+ "assemble",
356
+ "limbs",
357
+ "scene",
358
+ "waist"
359
+ ],
360
+ "prompts": [
361
+ {
362
+ "id": "split_granularity",
363
+ "text": "How finely should it be cut?",
364
+ "source": "rig-create",
365
+ "required_for": [
366
+ "all"
367
+ ]
368
+ },
369
+ {
370
+ "id": "split_emphasis",
371
+ "text": "Which parts matter most: more detail, or kept exactly as painted?",
372
+ "source": "rig-create",
373
+ "required_for": [
374
+ "all"
375
+ ]
376
+ }
377
+ ],
378
+ "guide": {
379
+ "delegated": false,
380
+ "by": "user",
381
+ "at": "2026-11-06T01:00:14.000Z",
382
+ "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.",
383
+ "source": "review questionnaire",
384
+ "choice": {
385
+ "spec": "rig-create/interview-choice@1",
386
+ "set": {
387
+ "path": "evidence/interview/assemble.json",
388
+ "sha256": "ad043df33c7ca22710d61b7f26676ead657cfbbd76c57d5c56a255340f3ddc38"
389
+ },
390
+ "picks": [
391
+ {
392
+ "ask": "projection",
393
+ "option_id": "keep",
394
+ "shown": {
395
+ "label": "Use the synthetic projection",
396
+ "effect": "Keep the declared geometric example."
397
+ }
398
+ },
399
+ {
400
+ "ask": "cut",
401
+ "option_id": "keep",
402
+ "shown": {
403
+ "label": "Use the synthetic cut",
404
+ "effect": "Keep the declared geometric example."
405
+ }
406
+ },
407
+ {
408
+ "ask": "emphasis",
409
+ "option_id": "keep",
410
+ "shown": {
411
+ "label": "Use the synthetic emphasis",
412
+ "effect": "Keep the declared geometric example."
413
+ }
414
+ },
415
+ {
416
+ "ask": "draw_order",
417
+ "option_id": "keep",
418
+ "shown": {
419
+ "label": "Use the synthetic draw_order",
420
+ "effect": "Keep the declared geometric example."
421
+ }
422
+ },
423
+ {
424
+ "ask": "authored",
425
+ "option_id": "keep",
426
+ "shown": {
427
+ "label": "Use the synthetic authored",
428
+ "effect": "Keep the declared geometric example."
429
+ }
430
+ },
431
+ {
432
+ "ask": "occluders",
433
+ "option_id": "keep",
434
+ "shown": {
435
+ "label": "Use the synthetic occluders",
436
+ "effect": "Keep the declared geometric example."
437
+ }
438
+ },
439
+ {
440
+ "ask": "outfits",
441
+ "option_id": "keep",
442
+ "shown": {
443
+ "label": "Use the synthetic outfits",
444
+ "effect": "Keep the declared geometric example."
445
+ }
446
+ }
447
+ ]
448
+ },
449
+ "asks": [
450
+ {
451
+ "id": "projection",
452
+ "state": "user"
453
+ },
454
+ {
455
+ "id": "cut",
456
+ "state": "user"
457
+ },
458
+ {
459
+ "id": "emphasis",
460
+ "state": "user"
461
+ },
462
+ {
463
+ "id": "draw_order",
464
+ "state": "user"
465
+ },
466
+ {
467
+ "id": "authored",
468
+ "state": "user"
469
+ },
470
+ {
471
+ "id": "occluders",
472
+ "state": "user"
473
+ },
474
+ {
475
+ "id": "outfits",
476
+ "state": "user"
477
+ }
478
+ ],
479
+ "value": {
480
+ "project": "core",
481
+ "cut": "synthetic cut",
482
+ "emphasis": "synthetic emphasis",
483
+ "draw_order": "synthetic draw_order",
484
+ "authored": "synthetic authored",
485
+ "occluders": "synthetic occluders",
486
+ "outfits": "synthetic outfits"
487
+ }
488
+ },
489
+ "history": []
490
+ },
491
+ {
492
+ "id": "bones",
493
+ "config": [
494
+ "bones"
495
+ ],
496
+ "prompts": [
497
+ {
498
+ "id": "x_chains",
499
+ "text": "What moves on its own: hair strands, coat tails, sleeves, held things?",
500
+ "source": "rig-create",
501
+ "required_for": [
502
+ "all"
503
+ ]
504
+ }
505
+ ],
506
+ "guide": {
507
+ "delegated": false,
508
+ "by": "user",
509
+ "at": "2026-11-06T01:00:41.000Z",
510
+ "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.",
511
+ "source": "review questionnaire",
512
+ "choice": {
513
+ "spec": "rig-create/interview-choice@1",
514
+ "set": {
515
+ "path": "evidence/interview/bones.json",
516
+ "sha256": "ec52614827d9fe6931e7593595f2c11f58a4861db579d725615be8928e9722df"
517
+ },
518
+ "picks": [
519
+ {
520
+ "ask": "chains",
521
+ "option_id": "keep",
522
+ "shown": {
523
+ "label": "Use the synthetic chains",
524
+ "effect": "Keep the declared geometric example."
525
+ }
526
+ },
527
+ {
528
+ "ask": "placement",
529
+ "option_id": "keep",
530
+ "shown": {
531
+ "label": "Use the synthetic placement",
532
+ "effect": "Keep the declared geometric example."
533
+ }
534
+ },
535
+ {
536
+ "ask": "length",
537
+ "option_id": "keep",
538
+ "shown": {
539
+ "label": "Use the synthetic length",
540
+ "effect": "Keep the declared geometric example."
541
+ }
542
+ }
543
+ ]
544
+ },
545
+ "asks": [
546
+ {
547
+ "id": "chains",
548
+ "state": "user"
549
+ },
550
+ {
551
+ "id": "placement",
552
+ "state": "user"
553
+ },
554
+ {
555
+ "id": "length",
556
+ "state": "user"
557
+ }
558
+ ],
559
+ "value": {
560
+ "chains": "synthetic chains",
561
+ "placement": "synthetic placement",
562
+ "length": "synthetic length"
563
+ }
564
+ },
565
+ "history": []
566
+ },
567
+ {
568
+ "id": "meshes",
569
+ "config": [
570
+ "meshes",
571
+ "regions"
572
+ ],
573
+ "prompts": [
574
+ {
575
+ "id": "x_deform",
576
+ "text": "What must bend smoothly as one piece, and what must stay rigid?",
577
+ "source": "rig-create",
578
+ "required_for": [
579
+ "all"
580
+ ]
581
+ }
582
+ ],
583
+ "guide": {
584
+ "delegated": false,
585
+ "by": "user",
586
+ "at": "2026-11-06T01:00:44.000Z",
587
+ "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.",
588
+ "source": "review questionnaire",
589
+ "choice": {
590
+ "spec": "rig-create/interview-choice@1",
591
+ "set": {
592
+ "path": "evidence/interview/meshes.json",
593
+ "sha256": "035cd9b43b52bae6e1de98063d7e87d42e198dab3655a61bdf564f88cdc8c3c9"
594
+ },
595
+ "picks": [
596
+ {
597
+ "ask": "bend",
598
+ "option_id": "keep",
599
+ "shown": {
600
+ "label": "Use the synthetic bend",
601
+ "effect": "Keep the declared geometric example."
602
+ }
603
+ },
604
+ {
605
+ "ask": "rigid",
606
+ "option_id": "keep",
607
+ "shown": {
608
+ "label": "Use the synthetic rigid",
609
+ "effect": "Keep the declared geometric example."
610
+ }
611
+ },
612
+ {
613
+ "ask": "density",
614
+ "option_id": "keep",
615
+ "shown": {
616
+ "label": "Use the synthetic density",
617
+ "effect": "Keep the declared geometric example."
618
+ }
619
+ }
620
+ ]
621
+ },
622
+ "asks": [
623
+ {
624
+ "id": "bend",
625
+ "state": "user"
626
+ },
627
+ {
628
+ "id": "rigid",
629
+ "state": "user"
630
+ },
631
+ {
632
+ "id": "density",
633
+ "state": "user"
634
+ }
635
+ ],
636
+ "value": {
637
+ "bend": "synthetic bend",
638
+ "rigid": "synthetic rigid",
639
+ "density": "synthetic density"
640
+ }
641
+ },
642
+ "history": []
643
+ },
644
+ {
645
+ "id": "constraints",
646
+ "config": [
647
+ "constraints",
648
+ "stops",
649
+ "cloth"
650
+ ],
651
+ "prompts": [
652
+ {
653
+ "id": "split_effects",
654
+ "text": "Which parts have special effects (sway on physics, move in wind, jiggle, glow, flicker), and how far do they move?",
655
+ "source": "rig-create",
656
+ "required_for": [
657
+ "all"
658
+ ]
659
+ }
660
+ ],
661
+ "guide": {
662
+ "delegated": false,
663
+ "by": "user",
664
+ "at": "2026-11-06T01:00:47.000Z",
665
+ "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.",
666
+ "source": "review questionnaire",
667
+ "choice": {
668
+ "spec": "rig-create/interview-choice@1",
669
+ "set": {
670
+ "path": "evidence/interview/constraints.json",
671
+ "sha256": "f848462e9b4098f67389aab6bc3478d0a990edf793efe4d61a6a60ac0a87ad00"
672
+ },
673
+ "picks": [
674
+ {
675
+ "ask": "effects",
676
+ "option_id": "keep",
677
+ "shown": {
678
+ "label": "Use the synthetic effects",
679
+ "effect": "Keep the declared geometric example."
680
+ }
681
+ },
682
+ {
683
+ "ask": "strength",
684
+ "option_id": "keep",
685
+ "shown": {
686
+ "label": "Use the synthetic strength",
687
+ "effect": "Keep the declared geometric example."
688
+ }
689
+ },
690
+ {
691
+ "ask": "extent",
692
+ "option_id": "keep",
693
+ "shown": {
694
+ "label": "Use the synthetic extent",
695
+ "effect": "Keep the declared geometric example."
696
+ }
697
+ },
698
+ {
699
+ "ask": "gravity",
700
+ "option_id": "keep",
701
+ "shown": {
702
+ "label": "Use the synthetic gravity",
703
+ "effect": "Keep the declared geometric example."
704
+ }
705
+ },
706
+ {
707
+ "ask": "stops",
708
+ "option_id": "keep",
709
+ "shown": {
710
+ "label": "Use the synthetic stops",
711
+ "effect": "Keep the declared geometric example."
712
+ }
713
+ }
714
+ ]
715
+ },
716
+ "asks": [
717
+ {
718
+ "id": "effects",
719
+ "state": "user"
720
+ },
721
+ {
722
+ "id": "strength",
723
+ "state": "user"
724
+ },
725
+ {
726
+ "id": "extent",
727
+ "state": "user"
728
+ },
729
+ {
730
+ "id": "gravity",
731
+ "state": "user"
732
+ },
733
+ {
734
+ "id": "stops",
735
+ "state": "user"
736
+ }
737
+ ],
738
+ "value": {
739
+ "effects": "synthetic effects",
740
+ "strength": "synthetic strength",
741
+ "extent": "synthetic extent",
742
+ "gravity": "synthetic gravity",
743
+ "stops": "synthetic stops"
744
+ }
745
+ },
746
+ "history": []
747
+ },
748
+ {
749
+ "id": "motion",
750
+ "config": [
751
+ "motion"
752
+ ],
753
+ "prompts": [
754
+ {
755
+ "id": "motions",
756
+ "text": "Which moves? Name each one.",
757
+ "source": "rig-create",
758
+ "required_for": [
759
+ "character.idle",
760
+ "character.complex",
761
+ "character.monster",
762
+ "fullscreen.minimal"
763
+ ]
764
+ },
765
+ {
766
+ "id": "game_states",
767
+ "text": "Which states, and what moves it from one to the next?",
768
+ "source": "rig-create",
769
+ "required_for": [
770
+ "fullscreen.game_logic"
771
+ ]
772
+ }
773
+ ],
774
+ "guide": {
775
+ "delegated": false,
776
+ "by": "user",
777
+ "at": "2026-11-06T01:00:50.000Z",
778
+ "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.",
779
+ "source": "review questionnaire",
780
+ "choice": {
781
+ "spec": "rig-create/interview-choice@1",
782
+ "set": {
783
+ "path": "evidence/interview/motion.json",
784
+ "sha256": "82a3831e8f95abee27c19bdcb81cd7448d9d20cb84b43b45fcee121bd77d4373"
785
+ },
786
+ "picks": [
787
+ {
788
+ "ask": "tracks",
789
+ "option_id": "keep",
790
+ "shown": {
791
+ "label": "Use the synthetic tracks",
792
+ "effect": "Keep the declared geometric example."
793
+ }
794
+ },
795
+ {
796
+ "ask": "extent",
797
+ "option_id": "keep",
798
+ "shown": {
799
+ "label": "Use the synthetic extent",
800
+ "effect": "Keep the declared geometric example."
801
+ }
802
+ },
803
+ {
804
+ "ask": "speed",
805
+ "option_id": "keep",
806
+ "shown": {
807
+ "label": "Use the synthetic speed",
808
+ "effect": "Keep the declared geometric example."
809
+ }
810
+ },
811
+ {
812
+ "ask": "loop",
813
+ "option_id": "keep",
814
+ "shown": {
815
+ "label": "Use the synthetic loop",
816
+ "effect": "Keep the declared geometric example."
817
+ }
818
+ },
819
+ {
820
+ "ask": "blink",
821
+ "option_id": "keep",
822
+ "shown": {
823
+ "label": "Use the synthetic blink",
824
+ "effect": "Keep the declared geometric example."
825
+ }
826
+ }
827
+ ]
828
+ },
829
+ "asks": [
830
+ {
831
+ "id": "tracks",
832
+ "state": "user"
833
+ },
834
+ {
835
+ "id": "extent",
836
+ "state": "user"
837
+ },
838
+ {
839
+ "id": "speed",
840
+ "state": "user"
841
+ },
842
+ {
843
+ "id": "loop",
844
+ "state": "user"
845
+ },
846
+ {
847
+ "id": "blink",
848
+ "state": "user"
849
+ }
850
+ ],
851
+ "value": {
852
+ "tracks": "synthetic tracks",
853
+ "extent": "synthetic extent",
854
+ "speed": "synthetic speed",
855
+ "loop": "synthetic loop",
856
+ "blink": "synthetic blink"
857
+ }
858
+ },
859
+ "history": []
860
+ }
861
+ ],
862
+ "post": {
863
+ "held": false,
864
+ "date": null,
865
+ "items": [
866
+ {
867
+ "id": "camera_depth",
868
+ "config": [
869
+ "turn",
870
+ "depth"
871
+ ],
872
+ "text": "Does the view move (a 2.5D head-turn with parallax, a push-in) or is it fixed?",
873
+ "source": "rig-create",
874
+ "guide": {
875
+ "delegated": false,
876
+ "by": "user",
877
+ "at": "2026-11-06T01:01:01.000Z",
878
+ "verbatim": "Use the synthetic camera_depth\nKeep the declared geometric example.",
879
+ "source": "review questionnaire",
880
+ "choice": {
881
+ "spec": "rig-create/interview-choice@1",
882
+ "set": {
883
+ "path": "evidence/interview/camera_depth.json",
884
+ "sha256": "b0466597a8c07ef9dc21ae415b23b68e6c56be125f40e98caf2bcf41ca4c8fcd"
885
+ },
886
+ "picks": [
887
+ {
888
+ "ask": "camera_depth",
889
+ "option_id": "keep",
890
+ "shown": {
891
+ "label": "Use the synthetic camera_depth",
892
+ "effect": "Keep the declared geometric example."
893
+ }
894
+ }
895
+ ]
896
+ },
897
+ "asks": [
898
+ {
899
+ "id": "camera_depth",
900
+ "state": "user"
901
+ }
902
+ ],
903
+ "value": {
904
+ "camera": "push_in",
905
+ "depth": false
906
+ }
907
+ },
908
+ "history": []
909
+ },
910
+ {
911
+ "id": "post_timing",
912
+ "config": [],
913
+ "text": "How long, does it loop, and where are the beats?",
914
+ "source": "rig-create",
915
+ "guide": {
916
+ "delegated": false,
917
+ "by": "user",
918
+ "at": "2026-11-06T01:01:04.000Z",
919
+ "verbatim": "Use the synthetic post_timing\nKeep the declared geometric example.",
920
+ "source": "review questionnaire",
921
+ "choice": {
922
+ "spec": "rig-create/interview-choice@1",
923
+ "set": {
924
+ "path": "evidence/interview/post_timing.json",
925
+ "sha256": "6350f87f72e89da36cbdd9690ea967343fc424d5d9e9a4b926d61457f8dad53f"
926
+ },
927
+ "picks": [
928
+ {
929
+ "ask": "post_timing",
930
+ "option_id": "keep",
931
+ "shown": {
932
+ "label": "Use the synthetic post_timing",
933
+ "effect": "Keep the declared geometric example."
934
+ }
935
+ }
936
+ ]
937
+ },
938
+ "asks": [
939
+ {
940
+ "id": "post_timing",
941
+ "state": "user"
942
+ }
943
+ ],
944
+ "value": {
945
+ "duration": 4,
946
+ "loop": false
947
+ }
948
+ },
949
+ "history": []
950
+ },
951
+ {
952
+ "id": "post_composition",
953
+ "config": [],
954
+ "text": "What is around the figure: background, framing, other figures, light?",
955
+ "source": "rig-create",
956
+ "guide": {
957
+ "delegated": false,
958
+ "by": "user",
959
+ "at": "2026-11-06T01:01:07.000Z",
960
+ "verbatim": "Use the synthetic post_composition\nKeep the declared geometric example.",
961
+ "source": "review questionnaire",
962
+ "choice": {
963
+ "spec": "rig-create/interview-choice@1",
964
+ "set": {
965
+ "path": "evidence/interview/post_composition.json",
966
+ "sha256": "8c5164f480aff0aed306a5e5e96d57cf9b16f634e1d79c43489db602ae82c8b5"
967
+ },
968
+ "picks": [
969
+ {
970
+ "ask": "post_composition",
971
+ "option_id": "keep",
972
+ "shown": {
973
+ "label": "Use the synthetic post_composition",
974
+ "effect": "Keep the declared geometric example."
975
+ }
976
+ }
977
+ ]
978
+ },
979
+ "asks": [
980
+ {
981
+ "id": "post_composition",
982
+ "state": "user"
983
+ }
984
+ ],
985
+ "value": {
986
+ "framing": "whole synthetic plate",
987
+ "scene": {
988
+ "background": {
989
+ "path": "inputs/background.png",
990
+ "rect": {
991
+ "x": -64,
992
+ "y": 0,
993
+ "width": 128,
994
+ "height": 128
995
+ }
996
+ }
997
+ }
998
+ }
999
+ },
1000
+ "history": []
1001
+ }
1002
+ ]
1003
+ },
1004
+ "order": {
1005
+ "spec": "rig-create/stage-order@2",
1006
+ "adopted_at": "2026-11-06T01:00:01.000Z",
1007
+ "choices_adopted_at": "2026-11-06T01:00:01.000Z"
1008
+ },
1009
+ "rigging_context": {
1010
+ "accepted_parts": {
1011
+ "signoff_at": "2026-11-06T01:00:37.000Z",
1012
+ "evidence": {
1013
+ "kind": "parts-verdict",
1014
+ "path": "evidence/review-reads/a12dea02d32508acc99386f894af76a14f1c85f45f804db2aa6b4dea5297973f.json",
1015
+ "sha256": "a12dea02d32508acc99386f894af76a14f1c85f45f804db2aa6b4dea5297973f",
1016
+ "spec": "rig-create/parts-verdict-cli@1"
1017
+ }
1018
+ },
1019
+ "structure": {
1020
+ "path": "evidence/structure.json",
1021
+ "sha256": "41b532a263a8f40997a9c5d3c155e2fa943b26c2b3e61ed03ddcf29ee0d8011d"
1022
+ }
1023
+ }
1024
+ },
1025
+ "plan": {
1026
+ "drafted_by": "agent",
1027
+ "drafted_at": "2026-11-06T01:00:16.000Z",
1028
+ "steps": [
1029
+ {
1030
+ "id": "seethrough",
1031
+ "phase": "rig",
1032
+ "order": 1,
1033
+ "does": "Execute synthetic seethrough",
1034
+ "produces": "Synthetic seethrough output",
1035
+ "rests_on": [
1036
+ "seethrough"
1037
+ ],
1038
+ "bar": "The synthetic output matches its declared input.",
1039
+ "checkpoint_proposed": false,
1040
+ "checkpoint": {
1041
+ "delegated": false,
1042
+ "by": "user",
1043
+ "at": "2026-11-06T01:00:23.000Z",
1044
+ "verbatim": "Approve this synthetic geometric example.\n",
1045
+ "value": false
1046
+ },
1047
+ "status": "done",
1048
+ "status_history": [
1049
+ {
1050
+ "from_status": "pending",
1051
+ "status": "in-progress",
1052
+ "by": "agent",
1053
+ "at": "2026-11-06T01:00:25.000Z",
1054
+ "checkpoint_required": false,
1055
+ "signoff": null
1056
+ },
1057
+ {
1058
+ "from_status": "in-progress",
1059
+ "status": "at-checkpoint",
1060
+ "by": "agent",
1061
+ "at": "2026-11-06T01:00:26.000Z",
1062
+ "checkpoint_required": false,
1063
+ "signoff": null
1064
+ },
1065
+ {
1066
+ "from_status": "at-checkpoint",
1067
+ "status": "done",
1068
+ "by": "agent",
1069
+ "at": "2026-11-06T01:00:27.000Z",
1070
+ "checkpoint_required": false,
1071
+ "signoff": null
1072
+ }
1073
+ ]
1074
+ },
1075
+ {
1076
+ "id": "assemble",
1077
+ "phase": "rig",
1078
+ "order": 2,
1079
+ "does": "Execute synthetic assemble",
1080
+ "produces": "Synthetic assemble output",
1081
+ "rests_on": [
1082
+ "assemble"
1083
+ ],
1084
+ "bar": "The synthetic output matches its declared input.",
1085
+ "checkpoint_proposed": true,
1086
+ "checkpoint": {
1087
+ "delegated": false,
1088
+ "by": "user",
1089
+ "at": "2026-11-06T01:00:23.000Z",
1090
+ "verbatim": "Approve this synthetic geometric example.\n",
1091
+ "value": true
1092
+ },
1093
+ "status": "done",
1094
+ "status_history": [
1095
+ {
1096
+ "from_status": "pending",
1097
+ "status": "in-progress",
1098
+ "by": "agent",
1099
+ "at": "2026-11-06T01:00:28.000Z",
1100
+ "checkpoint_required": true,
1101
+ "signoff": null
1102
+ },
1103
+ {
1104
+ "from_status": "in-progress",
1105
+ "status": "at-checkpoint",
1106
+ "by": "agent",
1107
+ "at": "2026-11-06T01:00:29.000Z",
1108
+ "checkpoint_required": true,
1109
+ "signoff": null
1110
+ },
1111
+ {
1112
+ "from_status": "at-checkpoint",
1113
+ "status": "done",
1114
+ "by": "agent",
1115
+ "at": "2026-11-06T01:00:31.000Z",
1116
+ "checkpoint_required": true,
1117
+ "signoff": {
1118
+ "stage": "parts",
1119
+ "checkpoint": "assemble",
1120
+ "at": "2026-11-06T01:00:30.000Z"
1121
+ }
1122
+ }
1123
+ ]
1124
+ },
1125
+ {
1126
+ "id": "bones",
1127
+ "phase": "rig",
1128
+ "order": 3,
1129
+ "does": "Execute synthetic bones",
1130
+ "produces": "Synthetic bones output",
1131
+ "rests_on": [
1132
+ "bones"
1133
+ ],
1134
+ "bar": "The synthetic output matches its declared input.",
1135
+ "checkpoint_proposed": false,
1136
+ "checkpoint": {
1137
+ "delegated": false,
1138
+ "by": "user",
1139
+ "at": "2026-11-06T01:00:51.000Z",
1140
+ "verbatim": "Approve this synthetic geometric example.\n",
1141
+ "value": false
1142
+ },
1143
+ "status": "done"
1144
+ },
1145
+ {
1146
+ "id": "meshes",
1147
+ "phase": "rig",
1148
+ "order": 4,
1149
+ "does": "Execute synthetic meshes",
1150
+ "produces": "Synthetic meshes output",
1151
+ "rests_on": [
1152
+ "meshes"
1153
+ ],
1154
+ "bar": "The synthetic output matches its declared input.",
1155
+ "checkpoint_proposed": false,
1156
+ "checkpoint": {
1157
+ "delegated": false,
1158
+ "by": "user",
1159
+ "at": "2026-11-06T01:00:51.000Z",
1160
+ "verbatim": "Approve this synthetic geometric example.\n",
1161
+ "value": false
1162
+ },
1163
+ "status": "done"
1164
+ },
1165
+ {
1166
+ "id": "constraints",
1167
+ "phase": "rig",
1168
+ "order": 5,
1169
+ "does": "Execute synthetic constraints",
1170
+ "produces": "Synthetic constraints output",
1171
+ "rests_on": [
1172
+ "constraints"
1173
+ ],
1174
+ "bar": "The synthetic output matches its declared input.",
1175
+ "checkpoint_proposed": false,
1176
+ "checkpoint": {
1177
+ "delegated": false,
1178
+ "by": "user",
1179
+ "at": "2026-11-06T01:00:51.000Z",
1180
+ "verbatim": "Approve this synthetic geometric example.\n",
1181
+ "value": false
1182
+ },
1183
+ "status": "done"
1184
+ },
1185
+ {
1186
+ "id": "motion",
1187
+ "phase": "rig",
1188
+ "order": 6,
1189
+ "does": "Execute synthetic motion",
1190
+ "produces": "Synthetic motion output",
1191
+ "rests_on": [
1192
+ "motion"
1193
+ ],
1194
+ "bar": "The synthetic output matches its declared input.",
1195
+ "checkpoint_proposed": false,
1196
+ "checkpoint": {
1197
+ "delegated": false,
1198
+ "by": "user",
1199
+ "at": "2026-11-06T01:00:51.000Z",
1200
+ "verbatim": "Approve this synthetic geometric example.\n",
1201
+ "value": false
1202
+ },
1203
+ "status": "done"
1204
+ },
1205
+ {
1206
+ "id": "camera",
1207
+ "phase": "post",
1208
+ "order": 7,
1209
+ "does": "Execute synthetic camera",
1210
+ "produces": "Synthetic camera output",
1211
+ "rests_on": [
1212
+ "camera_depth"
1213
+ ],
1214
+ "bar": "The synthetic output matches its declared input.",
1215
+ "checkpoint_proposed": false,
1216
+ "checkpoint": {
1217
+ "delegated": false,
1218
+ "by": "user",
1219
+ "at": "2026-11-06T01:01:08.000Z",
1220
+ "verbatim": "Approve this synthetic geometric example.\n",
1221
+ "value": false
1222
+ },
1223
+ "status": "done"
1224
+ },
1225
+ {
1226
+ "id": "timing",
1227
+ "phase": "post",
1228
+ "order": 8,
1229
+ "does": "Execute synthetic timing",
1230
+ "produces": "Synthetic timing output",
1231
+ "rests_on": [
1232
+ "post_timing"
1233
+ ],
1234
+ "bar": "The synthetic output matches its declared input.",
1235
+ "checkpoint_proposed": false,
1236
+ "checkpoint": {
1237
+ "delegated": false,
1238
+ "by": "user",
1239
+ "at": "2026-11-06T01:01:08.000Z",
1240
+ "verbatim": "Approve this synthetic geometric example.\n",
1241
+ "value": false
1242
+ },
1243
+ "status": "done"
1244
+ },
1245
+ {
1246
+ "id": "composition",
1247
+ "phase": "post",
1248
+ "order": 9,
1249
+ "does": "Execute synthetic composition",
1250
+ "produces": "Synthetic composition output",
1251
+ "rests_on": [
1252
+ "post_composition"
1253
+ ],
1254
+ "bar": "The synthetic output matches its declared input.",
1255
+ "checkpoint_proposed": false,
1256
+ "checkpoint": {
1257
+ "delegated": false,
1258
+ "by": "user",
1259
+ "at": "2026-11-06T01:01:08.000Z",
1260
+ "verbatim": "Approve this synthetic geometric example.\n",
1261
+ "value": false
1262
+ },
1263
+ "status": "done"
1264
+ }
1265
+ ],
1266
+ "rigging_drafted_at": "2026-11-06T01:00:20.000Z"
1267
+ },
1268
+ "split": {
1269
+ "label_values": [
1270
+ "physics",
1271
+ "wind",
1272
+ "jiggle",
1273
+ "rigid",
1274
+ "still"
1275
+ ],
1276
+ "proposal_image": null,
1277
+ "proposed_by": null,
1278
+ "proposed_at": null,
1279
+ "parts": [
1280
+ {
1281
+ "name": "background",
1282
+ "label": "rigid",
1283
+ "note": "Synthetic geometric block."
1284
+ },
1285
+ {
1286
+ "name": "torso",
1287
+ "label": "rigid",
1288
+ "note": "Synthetic geometric block."
1289
+ },
1290
+ {
1291
+ "name": "lantern",
1292
+ "label": "rigid",
1293
+ "note": "Synthetic geometric block."
1294
+ },
1295
+ {
1296
+ "name": "face",
1297
+ "label": "rigid",
1298
+ "note": "Synthetic geometric block."
1299
+ },
1300
+ {
1301
+ "name": "eye_r",
1302
+ "label": "rigid",
1303
+ "note": "Synthetic geometric block."
1304
+ },
1305
+ {
1306
+ "name": "eye_l",
1307
+ "label": "rigid",
1308
+ "note": "Synthetic geometric block."
1309
+ }
1310
+ ]
1311
+ },
1312
+ "inputs": [
1313
+ {
1314
+ "path": "inputs/painting.png",
1315
+ "sha256": "02e6ea41dfec89a7eced0f66b98e0fea048846c6f4174fa1cc7631fe360e614f",
1316
+ "bytes": 421,
1317
+ "origin": "synthetic, generated by generateExampleParts",
1318
+ "at": "2026-11-06T01:00:02.000Z"
1319
+ },
1320
+ {
1321
+ "path": "inputs/background.png",
1322
+ "sha256": "c180182b6666fb4d90d4f91e210bda103a4081f1ad7c45006db392fa6c4eaf36",
1323
+ "bytes": 300,
1324
+ "origin": "synthetic background plate, generated by generateExampleParts",
1325
+ "at": "2026-11-06T01:01:11.000Z"
1326
+ }
1327
+ ],
1328
+ "fix_ledger": [],
1329
+ "derived": [],
1330
+ "versions": [
1331
+ {
1332
+ "n": 1,
1333
+ "kind": "rig",
1334
+ "rig_version": null,
1335
+ "at": "2026-11-06T01:00:53.000Z",
1336
+ "built_by": "agent",
1337
+ "built_with": {
1338
+ "@rig-c/parts": "2.37.0",
1339
+ "@rig-c/core": "3.7.0"
1340
+ },
1341
+ "changed": "Build the synthetic approved parts.",
1342
+ "outputs": [
1343
+ {
1344
+ "path": "outputs/v1/out/check/build/skeleton.model.json",
1345
+ "sha256": "3c899fedb29f61722790c7ae54686d92dad2980699c416b0912dc7883c016d46",
1346
+ "bytes": 22757
1347
+ }
1348
+ ],
1349
+ "evidence": [
1350
+ {
1351
+ "kind": "still",
1352
+ "path": "evidence/setup.png",
1353
+ "sha256": "02e6ea41dfec89a7eced0f66b98e0fea048846c6f4174fa1cc7631fe360e614f",
1354
+ "camera": "fixed",
1355
+ "frame": "setup"
1356
+ }
1357
+ ],
1358
+ "verdicts": [
1359
+ {
1360
+ "by": "user",
1361
+ "at": "2026-11-06T01:00:56.000Z",
1362
+ "review": "rig-review",
1363
+ "verdict": "accepted",
1364
+ "verbatim": "Approve this synthetic geometric example.\n",
1365
+ "source": "synthetic example",
1366
+ "on_items": []
1367
+ }
1368
+ ],
1369
+ "answers_feedback": [],
1370
+ "review_origin": null,
1371
+ "provenance": {
1372
+ "config": {
1373
+ "path": "evidence/v1/config.json",
1374
+ "sha256": "740f7d38e7f4242cea692602f501a69fec4ed8c11adb048607054d795c12c4e3"
1375
+ },
1376
+ "sections": {
1377
+ "assemble": [
1378
+ {
1379
+ "entry": "assemble",
1380
+ "guide": "assemble",
1381
+ "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.",
1382
+ "asks": [
1383
+ "projection",
1384
+ "cut",
1385
+ "emphasis",
1386
+ "draw_order",
1387
+ "authored",
1388
+ "occluders",
1389
+ "outfits"
1390
+ ]
1391
+ }
1392
+ ],
1393
+ "bones": [
1394
+ {
1395
+ "entry": "bones",
1396
+ "guide": "bones",
1397
+ "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.",
1398
+ "asks": [
1399
+ "chains",
1400
+ "placement",
1401
+ "length"
1402
+ ]
1403
+ }
1404
+ ],
1405
+ "meshes": [
1406
+ {
1407
+ "entry": "meshes",
1408
+ "guide": "meshes",
1409
+ "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.",
1410
+ "asks": [
1411
+ "bend",
1412
+ "rigid",
1413
+ "density"
1414
+ ]
1415
+ }
1416
+ ],
1417
+ "regions": [
1418
+ {
1419
+ "entry": "regions",
1420
+ "guide": "meshes",
1421
+ "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.",
1422
+ "asks": [
1423
+ "bend",
1424
+ "rigid",
1425
+ "density"
1426
+ ]
1427
+ }
1428
+ ],
1429
+ "motion": [
1430
+ {
1431
+ "entry": "motion",
1432
+ "guide": "motion",
1433
+ "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.",
1434
+ "asks": [
1435
+ "tracks",
1436
+ "extent",
1437
+ "speed",
1438
+ "loop",
1439
+ "blink"
1440
+ ]
1441
+ }
1442
+ ]
1443
+ }
1444
+ },
1445
+ "review_package": {
1446
+ "config": {
1447
+ "path": "evidence/v1/config.json",
1448
+ "sha256": "740f7d38e7f4242cea692602f501a69fec4ed8c11adb048607054d795c12c4e3"
1449
+ },
1450
+ "from": "outputs/v1/out",
1451
+ "files": [
1452
+ {
1453
+ "path": "config.json",
1454
+ "sha256": "740f7d38e7f4242cea692602f501a69fec4ed8c11adb048607054d795c12c4e3"
1455
+ },
1456
+ {
1457
+ "path": "interview-requirements.json",
1458
+ "sha256": "214ddb880e94a575cd4afb35f99ddfa3d90198b88095550f20e0b980d2fd0cff"
1459
+ },
1460
+ {
1461
+ "path": "out/check/build/run.json",
1462
+ "sha256": "9ff4b765bc7f84587c8f0d1c7dbdde2f5c4ba36cc1924948e5ef6b28f439b796"
1463
+ },
1464
+ {
1465
+ "path": "out/check/build/skeleton.atlas",
1466
+ "sha256": "68f9cb5eea7a194d59fb14d5c2363894b2eca78c26bf9aee67a760955a6125f3"
1467
+ },
1468
+ {
1469
+ "path": "out/check/build/skeleton.json",
1470
+ "sha256": "8e2b5edae8cce48ca98587ddb458f38406d28ba7fb7ade02dbd2a0bc8f28e03d"
1471
+ },
1472
+ {
1473
+ "path": "out/check/build/skeleton.model.json",
1474
+ "sha256": "3c899fedb29f61722790c7ae54686d92dad2980699c416b0912dc7883c016d46"
1475
+ },
1476
+ {
1477
+ "path": "out/check/build/skeleton.png",
1478
+ "sha256": "1b1836dc1a2700302723ebfebc8fd2be918ba69dff41029788a90595c426c6b2"
1479
+ },
1480
+ {
1481
+ "path": "out/parts.json",
1482
+ "sha256": "fb0b74d03b7e71d1c2bb2a6fe0ca1ef7415239863ea8eb95fc271b6eee38a0b7"
1483
+ },
1484
+ {
1485
+ "path": "out/parts/background.png",
1486
+ "sha256": "c180182b6666fb4d90d4f91e210bda103a4081f1ad7c45006db392fa6c4eaf36"
1487
+ },
1488
+ {
1489
+ "path": "out/parts/eye_l.png",
1490
+ "sha256": "c080dceac3b4d8fbc824ebb0ebffe61047f10af4e2cdd8d51b32bf779691617e"
1491
+ },
1492
+ {
1493
+ "path": "out/parts/eye_r.png",
1494
+ "sha256": "c080dceac3b4d8fbc824ebb0ebffe61047f10af4e2cdd8d51b32bf779691617e"
1495
+ },
1496
+ {
1497
+ "path": "out/parts/face.png",
1498
+ "sha256": "9626a5008eb90b22ab7623cb79048ed521c6aa651254287bbc9df8606b9f0bf7"
1499
+ },
1500
+ {
1501
+ "path": "out/parts/lantern.png",
1502
+ "sha256": "79ff42136a509e98032352ef9f8c0857a5d7f16667eb629bc048b9b8ef24d96a"
1503
+ },
1504
+ {
1505
+ "path": "out/parts/torso.png",
1506
+ "sha256": "adf6cd5d92568c5f51028df2874b69f4df5ff1d0e3a94484784c867e543cd912"
1507
+ },
1508
+ {
1509
+ "path": "out/rig/images/background.png",
1510
+ "sha256": "24eb570320b9e27ce6449b54e82abd811043b9a63f48387f13cbba2dbed5c5f8"
1511
+ },
1512
+ {
1513
+ "path": "out/rig/images/eye_l.png",
1514
+ "sha256": "97da226ecba85a1af18173df4eb28d72b0828cda8c171f8d4a2995a3da9cc733"
1515
+ },
1516
+ {
1517
+ "path": "out/rig/images/eye_r.png",
1518
+ "sha256": "97da226ecba85a1af18173df4eb28d72b0828cda8c171f8d4a2995a3da9cc733"
1519
+ },
1520
+ {
1521
+ "path": "out/rig/images/face.png",
1522
+ "sha256": "e2bd0d0736b3ecda20d6a08840468a2d46738c226631fd73e280dab3719c9e4c"
1523
+ },
1524
+ {
1525
+ "path": "out/rig/images/lantern.png",
1526
+ "sha256": "733d1cc36c0d1a01f1d330085316f8bcccb8d4331e2f20b9a3dfe2a3407a7041"
1527
+ },
1528
+ {
1529
+ "path": "out/rig/images/torso.png",
1530
+ "sha256": "356a2a89f530ef7ab5719eefa2cfbff37f8f39a274f41689f13a9c7a2d76adf5"
1531
+ },
1532
+ {
1533
+ "path": "out/rig/mesh_report.json",
1534
+ "sha256": "06a55efc24facba602ba370a225f5835ce6a95e210a3760707977d2f1a8e36db"
1535
+ },
1536
+ {
1537
+ "path": "out/rig/motion.json",
1538
+ "sha256": "727746f1a894513ea33c26b984ceb637f7eef06e935cb174ad99ad65826ec5c9"
1539
+ },
1540
+ {
1541
+ "path": "out/rig/rig.json",
1542
+ "sha256": "d266d58324d252e7c932ad41f856284a277e3c84204f7a081de7a5e1d3935de3"
1543
+ },
1544
+ {
1545
+ "path": "out/rig/run.json",
1546
+ "sha256": "15cb992b723fc182c0e8d82d840cb85faaac32d4498b850a20f68fe0a263c1b9"
1547
+ }
1548
+ ],
1549
+ "open": "rig-review open 'derived/review/v1/out'"
1550
+ }
1551
+ },
1552
+ {
1553
+ "n": 2,
1554
+ "kind": "post",
1555
+ "rig_version": 1,
1556
+ "at": "2026-11-06T01:01:13.000Z",
1557
+ "built_by": "agent",
1558
+ "built_with": {
1559
+ "create": "direction@2"
1560
+ },
1561
+ "changed": "Authored camera and timing direction",
1562
+ "outputs": [
1563
+ {
1564
+ "path": "evidence/direction/v2.json",
1565
+ "sha256": "2ad4b87fa0d883f876b7d5bd978b8ac9eecf801cd95409b099c546b76f1f42db"
1566
+ }
1567
+ ],
1568
+ "evidence": [],
1569
+ "verdicts": [
1570
+ {
1571
+ "by": "user",
1572
+ "at": "2026-11-06T01:01:16.000Z",
1573
+ "review": "direction-review",
1574
+ "verdict": "accepted",
1575
+ "verbatim": "Approve this synthetic geometric example.\n",
1576
+ "source": "synthetic example",
1577
+ "on_items": []
1578
+ }
1579
+ ],
1580
+ "answers_feedback": [],
1581
+ "review_origin": null,
1582
+ "provenance": {
1583
+ "config": {
1584
+ "path": "evidence/direction/v2.json",
1585
+ "sha256": "2ad4b87fa0d883f876b7d5bd978b8ac9eecf801cd95409b099c546b76f1f42db"
1586
+ },
1587
+ "direction": {
1588
+ "path": "evidence/direction/v2.json",
1589
+ "sha256": "2ad4b87fa0d883f876b7d5bd978b8ac9eecf801cd95409b099c546b76f1f42db"
1590
+ },
1591
+ "sections": {
1592
+ "camera": [
1593
+ {
1594
+ "entry": "camera",
1595
+ "guide": "camera_depth",
1596
+ "asks": [
1597
+ "camera_depth"
1598
+ ],
1599
+ "quote": "Use the synthetic camera_depth\nKeep the declared geometric example."
1600
+ }
1601
+ ],
1602
+ "timing": [
1603
+ {
1604
+ "entry": "timing",
1605
+ "guide": "post_timing",
1606
+ "asks": [
1607
+ "post_timing"
1608
+ ],
1609
+ "quote": "Use the synthetic post_timing\nKeep the declared geometric example."
1610
+ }
1611
+ ]
1612
+ }
1613
+ }
1614
+ }
1615
+ ],
1616
+ "archive": null,
1617
+ "notes": [],
1618
+ "advances": [
1619
+ {
1620
+ "stage": "plan-approved",
1621
+ "from_stage": "interview",
1622
+ "at": "2026-11-06T01:00:22.000Z",
1623
+ "post_not_passed": false,
1624
+ "order": "split",
1625
+ "signoffs_before": [
1626
+ {
1627
+ "stage": "interview",
1628
+ "checkpoint": null,
1629
+ "at": "2026-11-06T01:00:21.000Z"
1630
+ }
1631
+ ],
1632
+ "signoff": {
1633
+ "stage": "interview",
1634
+ "checkpoint": null,
1635
+ "at": "2026-11-06T01:00:21.000Z"
1636
+ },
1637
+ "steps_before": [
1638
+ {
1639
+ "id": "seethrough",
1640
+ "phase": "rig",
1641
+ "status": "pending"
1642
+ },
1643
+ {
1644
+ "id": "assemble",
1645
+ "phase": "rig",
1646
+ "status": "pending"
1647
+ },
1648
+ {
1649
+ "id": "bones",
1650
+ "phase": "rig",
1651
+ "status": "pending"
1652
+ },
1653
+ {
1654
+ "id": "meshes",
1655
+ "phase": "rig",
1656
+ "status": "pending"
1657
+ },
1658
+ {
1659
+ "id": "constraints",
1660
+ "phase": "rig",
1661
+ "status": "pending"
1662
+ },
1663
+ {
1664
+ "id": "motion",
1665
+ "phase": "rig",
1666
+ "status": "pending"
1667
+ }
1668
+ ]
1669
+ },
1670
+ {
1671
+ "stage": "parts",
1672
+ "from_stage": "plan-approved",
1673
+ "at": "2026-11-06T01:00:24.000Z",
1674
+ "post_not_passed": false,
1675
+ "order": "split",
1676
+ "signoffs_before": [
1677
+ {
1678
+ "stage": "interview",
1679
+ "checkpoint": null,
1680
+ "at": "2026-11-06T01:00:21.000Z"
1681
+ },
1682
+ {
1683
+ "stage": "plan-approved",
1684
+ "checkpoint": null,
1685
+ "at": "2026-11-06T01:00:23.000Z"
1686
+ }
1687
+ ],
1688
+ "signoff": {
1689
+ "stage": "plan-approved",
1690
+ "checkpoint": null,
1691
+ "at": "2026-11-06T01:00:23.000Z"
1692
+ },
1693
+ "steps_before": [
1694
+ {
1695
+ "id": "seethrough",
1696
+ "phase": "rig",
1697
+ "status": "pending"
1698
+ },
1699
+ {
1700
+ "id": "assemble",
1701
+ "phase": "rig",
1702
+ "status": "pending"
1703
+ },
1704
+ {
1705
+ "id": "bones",
1706
+ "phase": "rig",
1707
+ "status": "pending"
1708
+ },
1709
+ {
1710
+ "id": "meshes",
1711
+ "phase": "rig",
1712
+ "status": "pending"
1713
+ },
1714
+ {
1715
+ "id": "constraints",
1716
+ "phase": "rig",
1717
+ "status": "pending"
1718
+ },
1719
+ {
1720
+ "id": "motion",
1721
+ "phase": "rig",
1722
+ "status": "pending"
1723
+ }
1724
+ ]
1725
+ },
1726
+ {
1727
+ "stage": "parts-review",
1728
+ "from_stage": "parts",
1729
+ "at": "2026-11-06T01:00:35.000Z",
1730
+ "post_not_passed": false,
1731
+ "order": "split",
1732
+ "signoffs_before": [
1733
+ {
1734
+ "stage": "interview",
1735
+ "checkpoint": null,
1736
+ "at": "2026-11-06T01:00:21.000Z"
1737
+ },
1738
+ {
1739
+ "stage": "plan-approved",
1740
+ "checkpoint": null,
1741
+ "at": "2026-11-06T01:00:23.000Z"
1742
+ },
1743
+ {
1744
+ "stage": "parts",
1745
+ "checkpoint": "assemble",
1746
+ "at": "2026-11-06T01:00:30.000Z"
1747
+ }
1748
+ ],
1749
+ "signoff": {
1750
+ "stage": "plan-approved",
1751
+ "checkpoint": null,
1752
+ "at": "2026-11-06T01:00:23.000Z"
1753
+ },
1754
+ "steps_before": [
1755
+ {
1756
+ "id": "seethrough",
1757
+ "phase": "rig",
1758
+ "status": "done"
1759
+ },
1760
+ {
1761
+ "id": "assemble",
1762
+ "phase": "rig",
1763
+ "status": "done"
1764
+ },
1765
+ {
1766
+ "id": "bones",
1767
+ "phase": "rig",
1768
+ "status": "pending"
1769
+ },
1770
+ {
1771
+ "id": "meshes",
1772
+ "phase": "rig",
1773
+ "status": "pending"
1774
+ },
1775
+ {
1776
+ "id": "constraints",
1777
+ "phase": "rig",
1778
+ "status": "pending"
1779
+ },
1780
+ {
1781
+ "id": "motion",
1782
+ "phase": "rig",
1783
+ "status": "pending"
1784
+ }
1785
+ ],
1786
+ "parts_check": {
1787
+ "path": "evidence/parts-check.json",
1788
+ "sha256": "9b1527d1426c313c2ca1322f92530972e3fd0b109aba25f18877171af35b2ba1",
1789
+ "spec": "rig-parts-parts-check/1",
1790
+ "parts": "derived/drafts/chain/input",
1791
+ "exit_code": 0,
1792
+ "holes": [
1793
+ {
1794
+ "code": "PARTS_PLATE_GHOST",
1795
+ "object": "parts",
1796
+ "reason": "no adopted plate-ghost discriminator; assemble outputs do not bind a background plate or composed figure outline",
1797
+ "line": "PARTS_PLATE_GHOST: HOLE — no adopted plate-ghost discriminator; assemble outputs do not bind a background plate or composed figure outline"
1798
+ },
1799
+ {
1800
+ "code": "PARTS_PLATE_STRUCTURE",
1801
+ "object": "parts",
1802
+ "reason": "no adopted background-structure continuation measure or reference",
1803
+ "line": "PARTS_PLATE_STRUCTURE: HOLE — no adopted background-structure continuation measure or reference"
1804
+ },
1805
+ {
1806
+ "code": "PARTS_PLATE_SMEAR",
1807
+ "object": "parts",
1808
+ "reason": "no adopted plate-smear discriminator",
1809
+ "line": "PARTS_PLATE_SMEAR: HOLE — no adopted plate-smear discriminator"
1810
+ },
1811
+ {
1812
+ "code": "PARTS_PLATE_STEPS",
1813
+ "object": "parts",
1814
+ "reason": "no adopted plate-fill continuity measure",
1815
+ "line": "PARTS_PLATE_STEPS: HOLE — no adopted plate-fill continuity measure"
1816
+ },
1817
+ {
1818
+ "code": "PARTS_INVENTED_MATERIAL",
1819
+ "object": "parts",
1820
+ "reason": "no validated producer-bound per-pixel painted-versus-invented record",
1821
+ "line": "PARTS_INVENTED_MATERIAL: HOLE — no validated producer-bound per-pixel painted-versus-invented record"
1822
+ },
1823
+ {
1824
+ "code": "PARTS_INVENTED_EXPOSURE",
1825
+ "object": "parts",
1826
+ "reason": "invented-material identity and posed-frame observations are unavailable at the parts stage",
1827
+ "line": "PARTS_INVENTED_EXPOSURE: HOLE — invented-material identity and posed-frame observations are unavailable at the parts stage"
1828
+ },
1829
+ {
1830
+ "code": "PARTS_SOURCE_COVER",
1831
+ "object": "source_cover.json",
1832
+ "reason": "source_cover.json is absent; direct unplanned source cover is unavailable",
1833
+ "line": "PARTS_SOURCE_COVER: HOLE — source_cover.json is absent; direct unplanned source cover is unavailable"
1834
+ },
1835
+ {
1836
+ "code": "PARTS_PAINTING_ALLOCATION",
1837
+ "object": "painting_allocation.json",
1838
+ "reason": "painting_allocation.json is absent; painting-edge transfer membership is unavailable",
1839
+ "line": "PARTS_PAINTING_ALLOCATION: HOLE — painting_allocation.json is absent; painting-edge transfer membership is unavailable"
1840
+ }
1841
+ ],
1842
+ "reported": []
1843
+ }
1844
+ },
1845
+ {
1846
+ "stage": "rigging-interview",
1847
+ "from_stage": "parts-review",
1848
+ "at": "2026-11-06T01:00:38.000Z",
1849
+ "post_not_passed": false,
1850
+ "order": "split",
1851
+ "signoffs_before": [
1852
+ {
1853
+ "stage": "interview",
1854
+ "checkpoint": null,
1855
+ "at": "2026-11-06T01:00:21.000Z"
1856
+ },
1857
+ {
1858
+ "stage": "plan-approved",
1859
+ "checkpoint": null,
1860
+ "at": "2026-11-06T01:00:23.000Z"
1861
+ },
1862
+ {
1863
+ "stage": "parts",
1864
+ "checkpoint": "assemble",
1865
+ "at": "2026-11-06T01:00:30.000Z"
1866
+ },
1867
+ {
1868
+ "stage": "parts-review",
1869
+ "checkpoint": null,
1870
+ "at": "2026-11-06T01:00:37.000Z"
1871
+ }
1872
+ ],
1873
+ "signoff": {
1874
+ "stage": "parts-review",
1875
+ "checkpoint": null,
1876
+ "at": "2026-11-06T01:00:37.000Z"
1877
+ },
1878
+ "steps_before": [
1879
+ {
1880
+ "id": "seethrough",
1881
+ "phase": "rig",
1882
+ "status": "done"
1883
+ },
1884
+ {
1885
+ "id": "assemble",
1886
+ "phase": "rig",
1887
+ "status": "done"
1888
+ },
1889
+ {
1890
+ "id": "bones",
1891
+ "phase": "rig",
1892
+ "status": "pending"
1893
+ },
1894
+ {
1895
+ "id": "meshes",
1896
+ "phase": "rig",
1897
+ "status": "pending"
1898
+ },
1899
+ {
1900
+ "id": "constraints",
1901
+ "phase": "rig",
1902
+ "status": "pending"
1903
+ },
1904
+ {
1905
+ "id": "motion",
1906
+ "phase": "rig",
1907
+ "status": "pending"
1908
+ }
1909
+ ]
1910
+ },
1911
+ {
1912
+ "stage": "rigging",
1913
+ "from_stage": "rigging-interview",
1914
+ "at": "2026-11-06T01:00:52.000Z",
1915
+ "post_not_passed": false,
1916
+ "order": "split",
1917
+ "signoffs_before": [
1918
+ {
1919
+ "stage": "interview",
1920
+ "checkpoint": null,
1921
+ "at": "2026-11-06T01:00:21.000Z"
1922
+ },
1923
+ {
1924
+ "stage": "plan-approved",
1925
+ "checkpoint": null,
1926
+ "at": "2026-11-06T01:00:23.000Z"
1927
+ },
1928
+ {
1929
+ "stage": "parts",
1930
+ "checkpoint": "assemble",
1931
+ "at": "2026-11-06T01:00:30.000Z"
1932
+ },
1933
+ {
1934
+ "stage": "parts-review",
1935
+ "checkpoint": null,
1936
+ "at": "2026-11-06T01:00:37.000Z"
1937
+ },
1938
+ {
1939
+ "stage": "rigging-interview",
1940
+ "checkpoint": null,
1941
+ "at": "2026-11-06T01:00:51.000Z"
1942
+ }
1943
+ ],
1944
+ "signoff": {
1945
+ "stage": "rigging-interview",
1946
+ "checkpoint": null,
1947
+ "at": "2026-11-06T01:00:51.000Z"
1948
+ },
1949
+ "steps_before": [
1950
+ {
1951
+ "id": "seethrough",
1952
+ "phase": "rig",
1953
+ "status": "done"
1954
+ },
1955
+ {
1956
+ "id": "assemble",
1957
+ "phase": "rig",
1958
+ "status": "done"
1959
+ },
1960
+ {
1961
+ "id": "bones",
1962
+ "phase": "rig",
1963
+ "status": "pending"
1964
+ },
1965
+ {
1966
+ "id": "meshes",
1967
+ "phase": "rig",
1968
+ "status": "pending"
1969
+ },
1970
+ {
1971
+ "id": "constraints",
1972
+ "phase": "rig",
1973
+ "status": "pending"
1974
+ },
1975
+ {
1976
+ "id": "motion",
1977
+ "phase": "rig",
1978
+ "status": "pending"
1979
+ }
1980
+ ]
1981
+ },
1982
+ {
1983
+ "stage": "rig-review",
1984
+ "from_stage": "rigging",
1985
+ "at": "2026-11-06T01:00:55.000Z",
1986
+ "post_not_passed": false,
1987
+ "order": "split",
1988
+ "signoffs_before": [
1989
+ {
1990
+ "stage": "interview",
1991
+ "checkpoint": null,
1992
+ "at": "2026-11-06T01:00:21.000Z"
1993
+ },
1994
+ {
1995
+ "stage": "plan-approved",
1996
+ "checkpoint": null,
1997
+ "at": "2026-11-06T01:00:23.000Z"
1998
+ },
1999
+ {
2000
+ "stage": "parts",
2001
+ "checkpoint": "assemble",
2002
+ "at": "2026-11-06T01:00:30.000Z"
2003
+ },
2004
+ {
2005
+ "stage": "parts-review",
2006
+ "checkpoint": null,
2007
+ "at": "2026-11-06T01:00:37.000Z"
2008
+ },
2009
+ {
2010
+ "stage": "rigging-interview",
2011
+ "checkpoint": null,
2012
+ "at": "2026-11-06T01:00:51.000Z"
2013
+ }
2014
+ ],
2015
+ "signoff": {
2016
+ "stage": "rigging-interview",
2017
+ "checkpoint": null,
2018
+ "at": "2026-11-06T01:00:51.000Z"
2019
+ },
2020
+ "steps_before": [
2021
+ {
2022
+ "id": "seethrough",
2023
+ "phase": "rig",
2024
+ "status": "done"
2025
+ },
2026
+ {
2027
+ "id": "assemble",
2028
+ "phase": "rig",
2029
+ "status": "done"
2030
+ },
2031
+ {
2032
+ "id": "bones",
2033
+ "phase": "rig",
2034
+ "status": "done"
2035
+ },
2036
+ {
2037
+ "id": "meshes",
2038
+ "phase": "rig",
2039
+ "status": "done"
2040
+ },
2041
+ {
2042
+ "id": "constraints",
2043
+ "phase": "rig",
2044
+ "status": "done"
2045
+ },
2046
+ {
2047
+ "id": "motion",
2048
+ "phase": "rig",
2049
+ "status": "done"
2050
+ }
2051
+ ]
2052
+ },
2053
+ {
2054
+ "stage": "post-interview",
2055
+ "from_stage": "rig-review",
2056
+ "at": "2026-11-06T01:00:58.000Z",
2057
+ "post_not_passed": false,
2058
+ "order": "split",
2059
+ "signoffs_before": [
2060
+ {
2061
+ "stage": "interview",
2062
+ "checkpoint": null,
2063
+ "at": "2026-11-06T01:00:21.000Z"
2064
+ },
2065
+ {
2066
+ "stage": "plan-approved",
2067
+ "checkpoint": null,
2068
+ "at": "2026-11-06T01:00:23.000Z"
2069
+ },
2070
+ {
2071
+ "stage": "parts",
2072
+ "checkpoint": "assemble",
2073
+ "at": "2026-11-06T01:00:30.000Z"
2074
+ },
2075
+ {
2076
+ "stage": "parts-review",
2077
+ "checkpoint": null,
2078
+ "at": "2026-11-06T01:00:37.000Z"
2079
+ },
2080
+ {
2081
+ "stage": "rigging-interview",
2082
+ "checkpoint": null,
2083
+ "at": "2026-11-06T01:00:51.000Z"
2084
+ },
2085
+ {
2086
+ "stage": "rig-review",
2087
+ "checkpoint": null,
2088
+ "at": "2026-11-06T01:00:57.000Z"
2089
+ }
2090
+ ],
2091
+ "signoff": {
2092
+ "stage": "rig-review",
2093
+ "checkpoint": null,
2094
+ "at": "2026-11-06T01:00:57.000Z"
2095
+ },
2096
+ "steps_before": [
2097
+ {
2098
+ "id": "seethrough",
2099
+ "phase": "rig",
2100
+ "status": "done"
2101
+ },
2102
+ {
2103
+ "id": "assemble",
2104
+ "phase": "rig",
2105
+ "status": "done"
2106
+ },
2107
+ {
2108
+ "id": "bones",
2109
+ "phase": "rig",
2110
+ "status": "done"
2111
+ },
2112
+ {
2113
+ "id": "meshes",
2114
+ "phase": "rig",
2115
+ "status": "done"
2116
+ },
2117
+ {
2118
+ "id": "constraints",
2119
+ "phase": "rig",
2120
+ "status": "done"
2121
+ },
2122
+ {
2123
+ "id": "motion",
2124
+ "phase": "rig",
2125
+ "status": "done"
2126
+ }
2127
+ ]
2128
+ },
2129
+ {
2130
+ "stage": "post",
2131
+ "from_stage": "post-interview",
2132
+ "at": "2026-11-06T01:01:09.000Z",
2133
+ "post_not_passed": false,
2134
+ "order": "split",
2135
+ "signoffs_before": [
2136
+ {
2137
+ "stage": "interview",
2138
+ "checkpoint": null,
2139
+ "at": "2026-11-06T01:00:21.000Z"
2140
+ },
2141
+ {
2142
+ "stage": "plan-approved",
2143
+ "checkpoint": null,
2144
+ "at": "2026-11-06T01:00:23.000Z"
2145
+ },
2146
+ {
2147
+ "stage": "parts",
2148
+ "checkpoint": "assemble",
2149
+ "at": "2026-11-06T01:00:30.000Z"
2150
+ },
2151
+ {
2152
+ "stage": "parts-review",
2153
+ "checkpoint": null,
2154
+ "at": "2026-11-06T01:00:37.000Z"
2155
+ },
2156
+ {
2157
+ "stage": "rigging-interview",
2158
+ "checkpoint": null,
2159
+ "at": "2026-11-06T01:00:51.000Z"
2160
+ },
2161
+ {
2162
+ "stage": "rig-review",
2163
+ "checkpoint": null,
2164
+ "at": "2026-11-06T01:00:57.000Z"
2165
+ },
2166
+ {
2167
+ "stage": "post-interview",
2168
+ "checkpoint": null,
2169
+ "at": "2026-11-06T01:01:08.000Z"
2170
+ }
2171
+ ],
2172
+ "signoff": {
2173
+ "stage": "post-interview",
2174
+ "checkpoint": null,
2175
+ "at": "2026-11-06T01:01:08.000Z"
2176
+ },
2177
+ "steps_before": [
2178
+ {
2179
+ "id": "seethrough",
2180
+ "phase": "rig",
2181
+ "status": "done"
2182
+ },
2183
+ {
2184
+ "id": "assemble",
2185
+ "phase": "rig",
2186
+ "status": "done"
2187
+ },
2188
+ {
2189
+ "id": "bones",
2190
+ "phase": "rig",
2191
+ "status": "done"
2192
+ },
2193
+ {
2194
+ "id": "meshes",
2195
+ "phase": "rig",
2196
+ "status": "done"
2197
+ },
2198
+ {
2199
+ "id": "constraints",
2200
+ "phase": "rig",
2201
+ "status": "done"
2202
+ },
2203
+ {
2204
+ "id": "motion",
2205
+ "phase": "rig",
2206
+ "status": "done"
2207
+ },
2208
+ {
2209
+ "id": "camera",
2210
+ "phase": "post",
2211
+ "status": "pending"
2212
+ },
2213
+ {
2214
+ "id": "timing",
2215
+ "phase": "post",
2216
+ "status": "pending"
2217
+ },
2218
+ {
2219
+ "id": "composition",
2220
+ "phase": "post",
2221
+ "status": "pending"
2222
+ }
2223
+ ]
2224
+ },
2225
+ {
2226
+ "stage": "direction-review",
2227
+ "from_stage": "post",
2228
+ "at": "2026-11-06T01:01:15.000Z",
2229
+ "post_not_passed": false,
2230
+ "order": "split",
2231
+ "signoffs_before": [
2232
+ {
2233
+ "stage": "interview",
2234
+ "checkpoint": null,
2235
+ "at": "2026-11-06T01:00:21.000Z"
2236
+ },
2237
+ {
2238
+ "stage": "plan-approved",
2239
+ "checkpoint": null,
2240
+ "at": "2026-11-06T01:00:23.000Z"
2241
+ },
2242
+ {
2243
+ "stage": "parts",
2244
+ "checkpoint": "assemble",
2245
+ "at": "2026-11-06T01:00:30.000Z"
2246
+ },
2247
+ {
2248
+ "stage": "parts-review",
2249
+ "checkpoint": null,
2250
+ "at": "2026-11-06T01:00:37.000Z"
2251
+ },
2252
+ {
2253
+ "stage": "rigging-interview",
2254
+ "checkpoint": null,
2255
+ "at": "2026-11-06T01:00:51.000Z"
2256
+ },
2257
+ {
2258
+ "stage": "rig-review",
2259
+ "checkpoint": null,
2260
+ "at": "2026-11-06T01:00:57.000Z"
2261
+ },
2262
+ {
2263
+ "stage": "post-interview",
2264
+ "checkpoint": null,
2265
+ "at": "2026-11-06T01:01:08.000Z"
2266
+ }
2267
+ ],
2268
+ "signoff": {
2269
+ "stage": "post-interview",
2270
+ "checkpoint": null,
2271
+ "at": "2026-11-06T01:01:08.000Z"
2272
+ },
2273
+ "steps_before": [
2274
+ {
2275
+ "id": "seethrough",
2276
+ "phase": "rig",
2277
+ "status": "done"
2278
+ },
2279
+ {
2280
+ "id": "assemble",
2281
+ "phase": "rig",
2282
+ "status": "done"
2283
+ },
2284
+ {
2285
+ "id": "bones",
2286
+ "phase": "rig",
2287
+ "status": "done"
2288
+ },
2289
+ {
2290
+ "id": "meshes",
2291
+ "phase": "rig",
2292
+ "status": "done"
2293
+ },
2294
+ {
2295
+ "id": "constraints",
2296
+ "phase": "rig",
2297
+ "status": "done"
2298
+ },
2299
+ {
2300
+ "id": "motion",
2301
+ "phase": "rig",
2302
+ "status": "done"
2303
+ },
2304
+ {
2305
+ "id": "camera",
2306
+ "phase": "post",
2307
+ "status": "done"
2308
+ },
2309
+ {
2310
+ "id": "timing",
2311
+ "phase": "post",
2312
+ "status": "done"
2313
+ },
2314
+ {
2315
+ "id": "composition",
2316
+ "phase": "post",
2317
+ "status": "done"
2318
+ }
2319
+ ]
2320
+ },
2321
+ {
2322
+ "stage": "accepted",
2323
+ "from_stage": "direction-review",
2324
+ "at": "2026-11-06T01:01:18.000Z",
2325
+ "post_not_passed": false,
2326
+ "order": "split",
2327
+ "signoffs_before": [
2328
+ {
2329
+ "stage": "interview",
2330
+ "checkpoint": null,
2331
+ "at": "2026-11-06T01:00:21.000Z"
2332
+ },
2333
+ {
2334
+ "stage": "plan-approved",
2335
+ "checkpoint": null,
2336
+ "at": "2026-11-06T01:00:23.000Z"
2337
+ },
2338
+ {
2339
+ "stage": "parts",
2340
+ "checkpoint": "assemble",
2341
+ "at": "2026-11-06T01:00:30.000Z"
2342
+ },
2343
+ {
2344
+ "stage": "parts-review",
2345
+ "checkpoint": null,
2346
+ "at": "2026-11-06T01:00:37.000Z"
2347
+ },
2348
+ {
2349
+ "stage": "rigging-interview",
2350
+ "checkpoint": null,
2351
+ "at": "2026-11-06T01:00:51.000Z"
2352
+ },
2353
+ {
2354
+ "stage": "rig-review",
2355
+ "checkpoint": null,
2356
+ "at": "2026-11-06T01:00:57.000Z"
2357
+ },
2358
+ {
2359
+ "stage": "post-interview",
2360
+ "checkpoint": null,
2361
+ "at": "2026-11-06T01:01:08.000Z"
2362
+ },
2363
+ {
2364
+ "stage": "direction-review",
2365
+ "checkpoint": null,
2366
+ "at": "2026-11-06T01:01:17.000Z"
2367
+ }
2368
+ ],
2369
+ "signoff": {
2370
+ "stage": "direction-review",
2371
+ "checkpoint": null,
2372
+ "at": "2026-11-06T01:01:17.000Z"
2373
+ },
2374
+ "steps_before": [
2375
+ {
2376
+ "id": "seethrough",
2377
+ "phase": "rig",
2378
+ "status": "done"
2379
+ },
2380
+ {
2381
+ "id": "assemble",
2382
+ "phase": "rig",
2383
+ "status": "done"
2384
+ },
2385
+ {
2386
+ "id": "bones",
2387
+ "phase": "rig",
2388
+ "status": "done"
2389
+ },
2390
+ {
2391
+ "id": "meshes",
2392
+ "phase": "rig",
2393
+ "status": "done"
2394
+ },
2395
+ {
2396
+ "id": "constraints",
2397
+ "phase": "rig",
2398
+ "status": "done"
2399
+ },
2400
+ {
2401
+ "id": "motion",
2402
+ "phase": "rig",
2403
+ "status": "done"
2404
+ },
2405
+ {
2406
+ "id": "camera",
2407
+ "phase": "post",
2408
+ "status": "done"
2409
+ },
2410
+ {
2411
+ "id": "timing",
2412
+ "phase": "post",
2413
+ "status": "done"
2414
+ },
2415
+ {
2416
+ "id": "composition",
2417
+ "phase": "post",
2418
+ "status": "done"
2419
+ }
2420
+ ]
2421
+ }
2422
+ ],
2423
+ "drafts": [
2424
+ {
2425
+ "id": "chain",
2426
+ "kind": "draft-rig",
2427
+ "at": "2026-11-06T01:00:32.000Z",
2428
+ "producer": {
2429
+ "name": "@rig-c/parts",
2430
+ "version": "2.37.0"
2431
+ },
2432
+ "config": {
2433
+ "path": "derived/drafts/chain/config.json",
2434
+ "sha256": "740f7d38e7f4242cea692602f501a69fec4ed8c11adb048607054d795c12c4e3"
2435
+ },
2436
+ "parts": {
2437
+ "path": "derived/drafts/chain/input",
2438
+ "files": [
2439
+ {
2440
+ "path": "derived/drafts/chain/input/painting_in_rig.png",
2441
+ "sha256": "02e6ea41dfec89a7eced0f66b98e0fea048846c6f4174fa1cc7631fe360e614f"
2442
+ },
2443
+ {
2444
+ "path": "derived/drafts/chain/input/parts/background.png",
2445
+ "sha256": "c180182b6666fb4d90d4f91e210bda103a4081f1ad7c45006db392fa6c4eaf36"
2446
+ },
2447
+ {
2448
+ "path": "derived/drafts/chain/input/parts/eye_l.png",
2449
+ "sha256": "c080dceac3b4d8fbc824ebb0ebffe61047f10af4e2cdd8d51b32bf779691617e"
2450
+ },
2451
+ {
2452
+ "path": "derived/drafts/chain/input/parts/eye_r.png",
2453
+ "sha256": "c080dceac3b4d8fbc824ebb0ebffe61047f10af4e2cdd8d51b32bf779691617e"
2454
+ },
2455
+ {
2456
+ "path": "derived/drafts/chain/input/parts/face.png",
2457
+ "sha256": "9626a5008eb90b22ab7623cb79048ed521c6aa651254287bbc9df8606b9f0bf7"
2458
+ },
2459
+ {
2460
+ "path": "derived/drafts/chain/input/parts/lantern.png",
2461
+ "sha256": "79ff42136a509e98032352ef9f8c0857a5d7f16667eb629bc048b9b8ef24d96a"
2462
+ },
2463
+ {
2464
+ "path": "derived/drafts/chain/input/parts/torso.png",
2465
+ "sha256": "adf6cd5d92568c5f51028df2874b69f4df5ff1d0e3a94484784c867e543cd912"
2466
+ },
2467
+ {
2468
+ "path": "derived/drafts/chain/input/parts.json",
2469
+ "sha256": "fb0b74d03b7e71d1c2bb2a6fe0ca1ef7415239863ea8eb95fc271b6eee38a0b7"
2470
+ }
2471
+ ]
2472
+ },
2473
+ "files": [
2474
+ {
2475
+ "path": "derived/drafts/chain/out/check/build/run.json",
2476
+ "sha256": "9ff4b765bc7f84587c8f0d1c7dbdde2f5c4ba36cc1924948e5ef6b28f439b796"
2477
+ },
2478
+ {
2479
+ "path": "derived/drafts/chain/out/check/build/skeleton.atlas",
2480
+ "sha256": "68f9cb5eea7a194d59fb14d5c2363894b2eca78c26bf9aee67a760955a6125f3"
2481
+ },
2482
+ {
2483
+ "path": "derived/drafts/chain/out/check/build/skeleton.json",
2484
+ "sha256": "8e2b5edae8cce48ca98587ddb458f38406d28ba7fb7ade02dbd2a0bc8f28e03d"
2485
+ },
2486
+ {
2487
+ "path": "derived/drafts/chain/out/check/build/skeleton.model.json",
2488
+ "sha256": "3c899fedb29f61722790c7ae54686d92dad2980699c416b0912dc7883c016d46"
2489
+ },
2490
+ {
2491
+ "path": "derived/drafts/chain/out/check/build/skeleton.png",
2492
+ "sha256": "1b1836dc1a2700302723ebfebc8fd2be918ba69dff41029788a90595c426c6b2"
2493
+ },
2494
+ {
2495
+ "path": "derived/drafts/chain/out/images/background.png",
2496
+ "sha256": "24eb570320b9e27ce6449b54e82abd811043b9a63f48387f13cbba2dbed5c5f8"
2497
+ },
2498
+ {
2499
+ "path": "derived/drafts/chain/out/images/eye_l.png",
2500
+ "sha256": "97da226ecba85a1af18173df4eb28d72b0828cda8c171f8d4a2995a3da9cc733"
2501
+ },
2502
+ {
2503
+ "path": "derived/drafts/chain/out/images/eye_r.png",
2504
+ "sha256": "97da226ecba85a1af18173df4eb28d72b0828cda8c171f8d4a2995a3da9cc733"
2505
+ },
2506
+ {
2507
+ "path": "derived/drafts/chain/out/images/face.png",
2508
+ "sha256": "e2bd0d0736b3ecda20d6a08840468a2d46738c226631fd73e280dab3719c9e4c"
2509
+ },
2510
+ {
2511
+ "path": "derived/drafts/chain/out/images/lantern.png",
2512
+ "sha256": "733d1cc36c0d1a01f1d330085316f8bcccb8d4331e2f20b9a3dfe2a3407a7041"
2513
+ },
2514
+ {
2515
+ "path": "derived/drafts/chain/out/images/torso.png",
2516
+ "sha256": "356a2a89f530ef7ab5719eefa2cfbff37f8f39a274f41689f13a9c7a2d76adf5"
2517
+ },
2518
+ {
2519
+ "path": "derived/drafts/chain/out/mesh_report.json",
2520
+ "sha256": "06a55efc24facba602ba370a225f5835ce6a95e210a3760707977d2f1a8e36db"
2521
+ },
2522
+ {
2523
+ "path": "derived/drafts/chain/out/motion.json",
2524
+ "sha256": "727746f1a894513ea33c26b984ceb637f7eef06e935cb174ad99ad65826ec5c9"
2525
+ },
2526
+ {
2527
+ "path": "derived/drafts/chain/out/rig.json",
2528
+ "sha256": "d266d58324d252e7c932ad41f856284a277e3c84204f7a081de7a5e1d3935de3"
2529
+ },
2530
+ {
2531
+ "path": "derived/drafts/chain/out/run.json",
2532
+ "sha256": "15cb992b723fc182c0e8d82d840cb85faaac32d4498b850a20f68fe0a263c1b9"
2533
+ }
2534
+ ],
2535
+ "config_inputs": [
2536
+ {
2537
+ "path": "derived/drafts/chain/interview-requirements.json",
2538
+ "sha256": "214ddb880e94a575cd4afb35f99ddfa3d90198b88095550f20e0b980d2fd0cff"
2539
+ }
2540
+ ]
2541
+ }
2542
+ ],
2543
+ "review_acts": [
2544
+ {
2545
+ "schema": "rig-create/parts-verdict-cli@1",
2546
+ "kind": "parts-verdict",
2547
+ "draft_id": "chain",
2548
+ "evidence": {
2549
+ "kind": "parts-verdict",
2550
+ "path": "evidence/review-reads/a12dea02d32508acc99386f894af76a14f1c85f45f804db2aa6b4dea5297973f.json",
2551
+ "sha256": "a12dea02d32508acc99386f894af76a14f1c85f45f804db2aa6b4dea5297973f"
2552
+ },
2553
+ "route": "cli",
2554
+ "argv": [
2555
+ "derived/drafts/chain/input",
2556
+ "--verdict",
2557
+ "evidence/parts-review.json"
2558
+ ],
2559
+ "tool": {
2560
+ "name": "@rig-c/review",
2561
+ "version": "0.0.0-synthetic"
2562
+ },
2563
+ "status": "approved",
2564
+ "flagged": [],
2565
+ "noted": [],
2566
+ "by": "user",
2567
+ "at": "2026-11-06T01:00:33.000Z"
2568
+ }
2569
+ ],
2570
+ "diff_map": {
2571
+ "by": "agent",
2572
+ "at": "2026-11-06T01:00:36.000Z",
2573
+ "report": {
2574
+ "path": "evidence/diff-components.json",
2575
+ "sha256": "6727d1165b72f75c2e18d7734854be6939f6339849f42378588ee90bf3a8f39d"
2576
+ },
2577
+ "components": []
2578
+ },
2579
+ "direction_contract": {
2580
+ "schema": "rig-create/direction-contract@1",
2581
+ "adopted_at": "2026-11-06T01:01:10.000Z",
2582
+ "grandfathered_posts": []
2583
+ },
2584
+ "scenes": [
2585
+ {
2586
+ "n": 1,
2587
+ "path": "evidence/scene/s1.json",
2588
+ "sha256": "4abeb9bff2e8a14d5c06121d844c60d7a588d03f0eb6c96c96eb27fa4c2fc1a2",
2589
+ "at": "2026-11-06T01:01:12.000Z",
2590
+ "by": "agent"
2591
+ }
2592
+ ]
2593
+ }