@semacode/cli 2.3.1 → 3.0.0

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 (250) hide show
  1. package/README.md +265 -217
  2. package/dist/agentContextPack.js +14 -10
  3. package/dist/agentEntryPoints.d.ts +5 -0
  4. package/dist/agentEntryPoints.js +567 -557
  5. package/dist/angular-consumer-standalone.js +1 -1
  6. package/dist/bin.d.ts +6 -0
  7. package/dist/bin.js +130 -0
  8. package/dist/cliArgs.js +4 -4
  9. package/dist/cliControlError.d.ts +12 -0
  10. package/dist/cliControlError.js +47 -0
  11. package/dist/cliGrammar.d.ts +11 -0
  12. package/dist/cliGrammar.js +551 -0
  13. package/dist/cliHelp.d.ts +13 -0
  14. package/dist/cliHelp.js +19 -0
  15. package/dist/cliHelpTexto.d.ts +3 -0
  16. package/dist/cliHelpTexto.js +168 -0
  17. package/dist/cliRuntime.d.ts +2 -0
  18. package/dist/cliRuntime.js +31 -0
  19. package/dist/comandos.js +9 -22
  20. package/dist/contexto.js +5 -5
  21. package/dist/dev/index.d.ts +1 -0
  22. package/dist/dev/index.js +51 -9
  23. package/dist/discovery/catalog.js +3 -3
  24. package/dist/distribuicao/filesystemGlobal.d.ts +63 -0
  25. package/dist/distribuicao/filesystemGlobal.js +701 -0
  26. package/dist/distribuicao/index.d.ts +7 -0
  27. package/dist/distribuicao/index.js +227 -0
  28. package/dist/distribuicao/launcherGlobal.d.ts +53 -0
  29. package/dist/distribuicao/launcherGlobal.js +643 -0
  30. package/dist/distribuicao/launcherWindows.d.ts +28 -0
  31. package/dist/distribuicao/launcherWindows.js +326 -0
  32. package/dist/distribuicao/lockContextGlobal.d.ts +10 -0
  33. package/dist/distribuicao/lockContextGlobal.js +17 -0
  34. package/dist/distribuicao/lockGlobal.d.ts +6 -0
  35. package/dist/distribuicao/lockGlobal.js +520 -0
  36. package/dist/distribuicao/skillGlobal.d.ts +48 -0
  37. package/dist/distribuicao/skillGlobal.js +652 -0
  38. package/dist/distribuicao/skillIntentPolicy.d.ts +21 -0
  39. package/dist/distribuicao/skillIntentPolicy.js +115 -0
  40. package/dist/distribuicao/tipos.d.ts +50 -0
  41. package/dist/distribuicao/tipos.js +10 -0
  42. package/dist/distribuicao/versaoSemantica.d.ts +3 -0
  43. package/dist/distribuicao/versaoSemantica.js +62 -0
  44. package/dist/drift.part01.d.ts +26 -24
  45. package/dist/drift.part01.js +2 -1
  46. package/dist/drift.part04.d.ts +12 -3
  47. package/dist/drift.part04.js +88 -17
  48. package/dist/drift.part05.d.ts +2 -2
  49. package/dist/drift.part05.js +8 -6
  50. package/dist/drift.part06.d.ts +2 -2
  51. package/dist/drift.part06.js +113 -26
  52. package/dist/drift.part07.d.ts +11 -11
  53. package/dist/drift.part07.js +261 -265
  54. package/dist/drift.part08.d.ts +2 -2
  55. package/dist/drift.part08.js +35 -26
  56. package/dist/drift.part11.js +238 -56
  57. package/dist/drift.part12.d.ts +1 -1
  58. package/dist/drift.part12.js +193 -21
  59. package/dist/drift.part13.d.ts +20 -39
  60. package/dist/drift.part13.js +601 -647
  61. package/dist/drift.part14.js +21 -7
  62. package/dist/driftCacheCas.d.ts +43 -0
  63. package/dist/driftCacheCas.js +351 -0
  64. package/dist/driftCacheFilesystem.d.ts +64 -0
  65. package/dist/driftCacheFilesystem.js +313 -0
  66. package/dist/driftCacheModes.d.ts +38 -0
  67. package/dist/driftCacheModes.js +147 -0
  68. package/dist/driftCacheStore.d.ts +80 -0
  69. package/dist/driftCacheStore.js +603 -0
  70. package/dist/driftCatalogo.d.ts +2 -28
  71. package/dist/driftCatalogo.js +143 -284
  72. package/dist/driftEscopo.d.ts +1 -3
  73. package/dist/driftEscopo.js +235 -151
  74. package/dist/driftEscopoReferencias.d.ts +5 -1
  75. package/dist/driftEscopoReferencias.js +375 -28
  76. package/dist/driftOrcamento.d.ts +0 -6
  77. package/dist/driftOrcamento.js +2 -1
  78. package/dist/execucoesExternas.js +19 -5
  79. package/dist/geracaoCore.js +4 -6
  80. package/dist/iaPrompts.d.ts +3 -3
  81. package/dist/iaPrompts.js +312 -313
  82. package/dist/index.d.ts +4 -1
  83. package/dist/index.js +6 -25
  84. package/dist/index.part01.d.ts +20 -28
  85. package/dist/index.part01.js +16 -237
  86. package/dist/index.part02.js +36 -22
  87. package/dist/index.part03.d.ts +24 -2
  88. package/dist/index.part03.js +83 -19
  89. package/dist/index.part04.d.ts +10 -2
  90. package/dist/index.part04.js +142 -120
  91. package/dist/index.part05.js +80 -78
  92. package/dist/index.part06.js +34 -17
  93. package/dist/index.part07.js +7 -3
  94. package/dist/index.part08.d.ts +1 -1
  95. package/dist/index.part08.js +22 -27
  96. package/dist/initCommand.js +5 -1
  97. package/dist/initTemplatesBase.js +81 -79
  98. package/dist/pipelineConteudo/command.d.ts +1 -0
  99. package/dist/pipelineConteudo/command.js +9 -2
  100. package/dist/pipelineConteudo/help.d.ts +2 -0
  101. package/dist/pipelineConteudo/help.js +33 -0
  102. package/dist/profileAuthorCommand.js +3 -7
  103. package/dist/profileCommand.js +3 -7
  104. package/dist/projetoCarregar.js +35 -17
  105. package/dist/projetoCatalogo.d.ts +1 -0
  106. package/dist/projetoCatalogo.js +64 -25
  107. package/dist/projetoOrigens.d.ts +2 -0
  108. package/dist/projetoOrigens.js +65 -9
  109. package/dist/projetoTipos.d.ts +1 -0
  110. package/dist/resultadoCli.d.ts +20 -0
  111. package/dist/resultadoCli.js +57 -0
  112. package/dist/saidaCli.d.ts +35 -0
  113. package/dist/saidaCli.js +118 -0
  114. package/dist/sistemasInterativos/acceptanceEvidence.d.ts +22 -0
  115. package/dist/sistemasInterativos/acceptanceEvidence.js +345 -0
  116. package/dist/sistemasInterativos/engineObservation.d.ts +12 -0
  117. package/dist/sistemasInterativos/engineObservation.js +438 -0
  118. package/dist/sistemasInterativos/jobOrchestration.d.ts +2 -0
  119. package/dist/sistemasInterativos/jobOrchestration.js +204 -0
  120. package/dist/sistemasInterativos/operationPrimitives.d.ts +21 -0
  121. package/dist/sistemasInterativos/operationPrimitives.js +194 -0
  122. package/dist/sistemasInterativos/operations.d.ts +4 -39
  123. package/dist/sistemasInterativos/operations.js +5 -1164
  124. package/dist/skillCommand.d.ts +5 -0
  125. package/dist/skillCommand.js +88 -0
  126. package/docs/README.md +34 -30
  127. package/docs/ai-integration.md +25 -12
  128. package/docs/ai-onboarding.md +37 -18
  129. package/docs/ai-workflow.md +9 -7
  130. package/docs/cli.md +125 -7
  131. package/docs/commands.md +41 -20
  132. package/docs/deploy.md +21 -8
  133. package/docs/descoberta-capacidades.md +106 -106
  134. package/docs/documentation.md +49 -39
  135. package/docs/drift-cache.md +108 -0
  136. package/docs/getting-started.md +43 -18
  137. package/docs/pipeline-conteudo.md +246 -246
  138. package/docs/profiles.md +54 -54
  139. package/docs/repositories.md +19 -2
  140. package/docs/rollback.md +15 -8
  141. package/docs/security.md +25 -3
  142. package/docs/sistemas-interativos.md +379 -374
  143. package/docs/testing.md +139 -40
  144. package/exemplos/pipeline-conteudo/README.md +44 -44
  145. package/exemplos/pipeline-conteudo/alvos.json +23 -23
  146. package/exemplos/pipeline-conteudo/definicao.json +136 -136
  147. package/exemplos/profile_simulation.sema +211 -211
  148. package/exemplos/sistemas-interativos/README.md +100 -100
  149. package/exemplos/sistemas-interativos/advanced/acceptance-context-evaluate-valid.json +5 -5
  150. package/exemplos/sistemas-interativos/advanced/acceptance-lock-valid.json +16 -16
  151. package/exemplos/sistemas-interativos/advanced/asset-provenance-valid.json +32 -32
  152. package/exemplos/sistemas-interativos/advanced/autonomy-repair-valid.json +93 -93
  153. package/exemplos/sistemas-interativos/advanced/control-run-definition-valid.json +78 -78
  154. package/exemplos/sistemas-interativos/advanced/control-run-valid.json +27 -27
  155. package/exemplos/sistemas-interativos/advanced/distributed-workers-valid.json +79 -79
  156. package/exemplos/sistemas-interativos/advanced/editor-state-valid.json +42 -42
  157. package/exemplos/sistemas-interativos/advanced/engine-snapshot-after-valid.json +32 -32
  158. package/exemplos/sistemas-interativos/advanced/engine-snapshot-before-valid.json +23 -23
  159. package/exemplos/sistemas-interativos/advanced/job-orchestration-valid.json +39 -39
  160. package/exemplos/sistemas-interativos/advanced/multimodal-evidence-valid.json +46 -46
  161. package/exemplos/sistemas-interativos/advanced/multiplayer-authority-valid.json +39 -39
  162. package/exemplos/sistemas-interativos/advanced/playtest-fuzz-valid.json +37 -37
  163. package/exemplos/sistemas-interativos/advanced/portability-valid.json +104 -104
  164. package/exemplos/sistemas-interativos/advanced/temporal-evidence-valid.json +27 -27
  165. package/exemplos/sistemas-interativos/advanced/temporal-valid.json +118 -118
  166. package/exemplos/sistemas-interativos/experience-ir-valid.json +459 -459
  167. package/exemplos/sistemas-interativos/game-2d.json +83 -83
  168. package/exemplos/sistemas-interativos/game-3d-human.json +81 -81
  169. package/exemplos/sistemas-interativos/game-pixel-16-bit.json +97 -97
  170. package/exemplos/sistemas-interativos/game-pixel-8-bit.json +94 -94
  171. package/exemplos/sistemas-interativos/game-xr-human.json +80 -80
  172. package/exemplos/sistemas-interativos/hybrid-2-5d.json +108 -108
  173. package/exemplos/sistemas-interativos/protocol-mutating-rollback-valid.json +75 -75
  174. package/exemplos/sistemas-interativos/protocol-read-only-valid.json +58 -58
  175. package/exemplos/sistemas-interativos/simulation-2d-controlled.json +97 -97
  176. package/exemplos/sistemas-interativos/simulation-3d-calibrated-autonomous.json +141 -141
  177. package/exemplos/sistemas-interativos/simulation-headless-autonomous-batch.json +112 -112
  178. package/exemplos/sistemas-interativos/simulation-pixel-16-bit.json +103 -103
  179. package/exemplos/sistemas-interativos/simulation-text-controlled.json +95 -95
  180. package/node_modules/@sema/gerador-cpp/package.json +1 -1
  181. package/node_modules/@sema/gerador-dotnet/package.json +1 -1
  182. package/node_modules/@sema/gerador-lua/dist/index.js +51 -51
  183. package/node_modules/@sema/gerador-php/dist/index.js +113 -113
  184. package/node_modules/@sema/nucleo/dist/semantico/analisador.d.ts +1 -0
  185. package/node_modules/@sema/nucleo/dist/semantico/analisador.js +1 -0
  186. package/package.json +9 -4
  187. package/scripts/postinstall.mjs +148 -0
  188. package/skills/sema/SKILL.md +199 -0
  189. package/skills/sema/agents/openai.yaml +4 -0
  190. package/dist/driftCache.d.ts +0 -49
  191. package/dist/driftCache.js +0 -311
  192. package/dist/driftCacheIncremental.d.ts +0 -98
  193. package/dist/driftCacheIncremental.js +0 -596
  194. package/dist/driftCatalogoPersistente.d.ts +0 -8
  195. package/dist/driftCatalogoPersistente.js +0 -77
  196. package/node_modules/@sema/gerador-cpp/dist/index.js.map +0 -1
  197. package/node_modules/@sema/gerador-css/dist/index.js.map +0 -1
  198. package/node_modules/@sema/gerador-css/dist/index.part01.js.map +0 -1
  199. package/node_modules/@sema/gerador-css/dist/index.part02.js.map +0 -1
  200. package/node_modules/@sema/gerador-dart/dist/index.js.map +0 -1
  201. package/node_modules/@sema/gerador-dotnet/dist/index.js.map +0 -1
  202. package/node_modules/@sema/gerador-html/dist/index.js.map +0 -1
  203. package/node_modules/@sema/gerador-javascript/dist/index.js.map +0 -1
  204. package/node_modules/@sema/gerador-lua/dist/index.js.map +0 -1
  205. package/node_modules/@sema/gerador-php/dist/index.js.map +0 -1
  206. package/node_modules/@sema/gerador-python/dist/index.js.map +0 -1
  207. package/node_modules/@sema/gerador-python/dist/index.part01.js.map +0 -1
  208. package/node_modules/@sema/gerador-python/dist/index.part02.js.map +0 -1
  209. package/node_modules/@sema/gerador-typescript/dist/index.js.map +0 -1
  210. package/node_modules/@sema/gerador-typescript/dist/index.part01.js.map +0 -1
  211. package/node_modules/@sema/gerador-typescript/dist/index.part02.js.map +0 -1
  212. package/node_modules/@sema/gerador-typescript/dist/index.part03.js.map +0 -1
  213. package/node_modules/@sema/nucleo/dist/ast/tipos.js.map +0 -1
  214. package/node_modules/@sema/nucleo/dist/diagnosticos/index.js.map +0 -1
  215. package/node_modules/@sema/nucleo/dist/diagnosticos/melhorador.js.map +0 -1
  216. package/node_modules/@sema/nucleo/dist/diagnosticos/snippets.js.map +0 -1
  217. package/node_modules/@sema/nucleo/dist/formatador/index.js.map +0 -1
  218. package/node_modules/@sema/nucleo/dist/formatador/index.part01.js.map +0 -1
  219. package/node_modules/@sema/nucleo/dist/formatador/index.part02.js.map +0 -1
  220. package/node_modules/@sema/nucleo/dist/index.js.map +0 -1
  221. package/node_modules/@sema/nucleo/dist/ir/conversor.js.map +0 -1
  222. package/node_modules/@sema/nucleo/dist/ir/conversor.part01.js.map +0 -1
  223. package/node_modules/@sema/nucleo/dist/ir/conversor.part02.js.map +0 -1
  224. package/node_modules/@sema/nucleo/dist/ir/conversor.part03.js.map +0 -1
  225. package/node_modules/@sema/nucleo/dist/ir/modelos.js.map +0 -1
  226. package/node_modules/@sema/nucleo/dist/lexer/lexer.js.map +0 -1
  227. package/node_modules/@sema/nucleo/dist/lexer/tokens.js.map +0 -1
  228. package/node_modules/@sema/nucleo/dist/parser/parser.declaracoes.js.map +0 -1
  229. package/node_modules/@sema/nucleo/dist/parser/parser.js.map +0 -1
  230. package/node_modules/@sema/nucleo/dist/parser/parser.modulo.js.map +0 -1
  231. package/node_modules/@sema/nucleo/dist/parser/parser.part01.js.map +0 -1
  232. package/node_modules/@sema/nucleo/dist/parser/parser.part02.js.map +0 -1
  233. package/node_modules/@sema/nucleo/dist/parser/parser.part03.js.map +0 -1
  234. package/node_modules/@sema/nucleo/dist/persistencia/contratos.js.map +0 -1
  235. package/node_modules/@sema/nucleo/dist/semantico/analisador.js.map +0 -1
  236. package/node_modules/@sema/nucleo/dist/semantico/analisador.part01.js.map +0 -1
  237. package/node_modules/@sema/nucleo/dist/semantico/analisador.part02.js.map +0 -1
  238. package/node_modules/@sema/nucleo/dist/semantico/analisador.part03.js.map +0 -1
  239. package/node_modules/@sema/nucleo/dist/semantico/analisador.part04.js.map +0 -1
  240. package/node_modules/@sema/nucleo/dist/semantico/analisador.part05.js.map +0 -1
  241. package/node_modules/@sema/nucleo/dist/semantico/analisador.part06.js.map +0 -1
  242. package/node_modules/@sema/nucleo/dist/semantico/analisador.part07.js.map +0 -1
  243. package/node_modules/@sema/nucleo/dist/semantico/analisador.part08.js.map +0 -1
  244. package/node_modules/@sema/nucleo/dist/semantico/estruturas.js.map +0 -1
  245. package/node_modules/@sema/nucleo/dist/semantico/estruturas.part01.js.map +0 -1
  246. package/node_modules/@sema/nucleo/dist/semantico/estruturas.part02.js.map +0 -1
  247. package/node_modules/@sema/nucleo/dist/semantico/orcamentoSemantico.js.map +0 -1
  248. package/node_modules/@sema/nucleo/dist/semantico/seguranca.js.map +0 -1
  249. package/node_modules/@sema/nucleo/dist/util/arquivos.js.map +0 -1
  250. package/node_modules/@sema/padroes/dist/index.js.map +0 -1
@@ -1,79 +1,79 @@
1
- {
2
- "schemaVersion": "sema.interactive.distributed-jobs/v1",
3
- "planId": "workers.build.1",
4
- "systemId": "interactive.system",
5
- "inputDigest": "sha256:1111111111111111111111111111111111111111111111111111111111111111",
6
- "workers": [
7
- {
8
- "workerId": "worker.gpu.1",
9
- "capabilities": ["job.cook", "job.shaders", "job.render", "job.test"],
10
- "ramMb": 32768,
11
- "vramMb": 12288,
12
- "diskMb": 102400,
13
- "maxConcurrency": 1,
14
- "isolation": "CONTAINER"
15
- }
16
- ],
17
- "jobs": [
18
- {
19
- "jobId": "job.cook",
20
- "type": "COOK",
21
- "inputDigest": "sha256:1111111111111111111111111111111111111111111111111111111111111111",
22
- "dependsOn": [],
23
- "requiredCapabilities": ["job.cook"],
24
- "budgets": { "ramMb": 8192, "vramMb": 0, "diskMb": 20480, "runtimeSeconds": 1800 },
25
- "idempotencyKey": "idempotency.cook.1",
26
- "checkpointIntervalSeconds": 60,
27
- "retry": { "maxAttempts": 1, "backoffSeconds": 10 },
28
- "resourceLockIds": ["lock.cache.cook"],
29
- "requiredEvidence": ["output.digest", "job.log", "job.checkpoint", "resources.metrics"]
30
- },
31
- {
32
- "jobId": "job.shaders",
33
- "type": "SHADERS",
34
- "inputDigest": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
35
- "dependsOn": ["job.cook"],
36
- "requiredCapabilities": ["job.shaders"],
37
- "budgets": { "ramMb": 16384, "vramMb": 8192, "diskMb": 20480, "runtimeSeconds": 3600 },
38
- "idempotencyKey": "idempotency.shaders.1",
39
- "checkpointIntervalSeconds": 60,
40
- "retry": { "maxAttempts": 1, "backoffSeconds": 10 },
41
- "resourceLockIds": ["lock.gpu.shaders"],
42
- "requiredEvidence": ["output.digest", "job.log", "job.checkpoint", "resources.metrics"]
43
- },
44
- {
45
- "jobId": "job.render",
46
- "type": "RENDER",
47
- "inputDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333",
48
- "dependsOn": ["job.shaders"],
49
- "requiredCapabilities": ["job.render"],
50
- "budgets": { "ramMb": 16384, "vramMb": 10240, "diskMb": 40960, "runtimeSeconds": 7200 },
51
- "idempotencyKey": "idempotency.render.1",
52
- "checkpointIntervalSeconds": 30,
53
- "retry": { "maxAttempts": 1, "backoffSeconds": 10 },
54
- "resourceLockIds": ["lock.gpu.render"],
55
- "requiredEvidence": ["output.digest", "job.log", "job.checkpoint", "resources.metrics"]
56
- },
57
- {
58
- "jobId": "job.test",
59
- "type": "TEST",
60
- "inputDigest": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
61
- "dependsOn": ["job.render"],
62
- "requiredCapabilities": ["job.test"],
63
- "budgets": { "ramMb": 8192, "vramMb": 2048, "diskMb": 10240, "runtimeSeconds": 1800 },
64
- "idempotencyKey": "idempotency.test.1",
65
- "checkpointIntervalSeconds": 30,
66
- "retry": { "maxAttempts": 2, "backoffSeconds": 10 },
67
- "resourceLockIds": ["lock.gpu.test", "lock.editor.test"],
68
- "requiredEvidence": ["output.digest", "job.log", "job.checkpoint", "resources.metrics"]
69
- }
70
- ],
71
- "leases": [
72
- { "lockId": "lock.cache.cook", "resourceId": "cache.project", "resourceType": "CACHE", "ownerJobId": "job.cook", "exclusive": true, "ttlSeconds": 120, "heartbeatSeconds": 30, "checkpointDigest": "sha256:1111111111111111111111111111111111111111111111111111111111111111" },
73
- { "lockId": "lock.gpu.shaders", "resourceId": "gpu.0", "resourceType": "GPU", "ownerJobId": "job.shaders", "exclusive": true, "ttlSeconds": 120, "heartbeatSeconds": 30, "checkpointDigest": "sha256:2222222222222222222222222222222222222222222222222222222222222222" },
74
- { "lockId": "lock.gpu.render", "resourceId": "gpu.0", "resourceType": "GPU", "ownerJobId": "job.render", "exclusive": true, "ttlSeconds": 120, "heartbeatSeconds": 30, "checkpointDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333" },
75
- { "lockId": "lock.gpu.test", "resourceId": "gpu.0", "resourceType": "GPU", "ownerJobId": "job.test", "exclusive": true, "ttlSeconds": 120, "heartbeatSeconds": 30, "checkpointDigest": "sha256:4444444444444444444444444444444444444444444444444444444444444444" },
76
- { "lockId": "lock.editor.test", "resourceId": "editor.0", "resourceType": "EDITOR", "ownerJobId": "job.test", "exclusive": true, "ttlSeconds": 120, "heartbeatSeconds": 30, "checkpointDigest": "sha256:4444444444444444444444444444444444444444444444444444444444444444" }
77
- ],
78
- "evidenceRequirements": ["output.digest", "job.log", "job.checkpoint", "resources.metrics"]
79
- }
1
+ {
2
+ "schemaVersion": "sema.interactive.distributed-jobs/v1",
3
+ "planId": "workers.build.1",
4
+ "systemId": "interactive.system",
5
+ "inputDigest": "sha256:1111111111111111111111111111111111111111111111111111111111111111",
6
+ "workers": [
7
+ {
8
+ "workerId": "worker.gpu.1",
9
+ "capabilities": ["job.cook", "job.shaders", "job.render", "job.test"],
10
+ "ramMb": 32768,
11
+ "vramMb": 12288,
12
+ "diskMb": 102400,
13
+ "maxConcurrency": 1,
14
+ "isolation": "CONTAINER"
15
+ }
16
+ ],
17
+ "jobs": [
18
+ {
19
+ "jobId": "job.cook",
20
+ "type": "COOK",
21
+ "inputDigest": "sha256:1111111111111111111111111111111111111111111111111111111111111111",
22
+ "dependsOn": [],
23
+ "requiredCapabilities": ["job.cook"],
24
+ "budgets": { "ramMb": 8192, "vramMb": 0, "diskMb": 20480, "runtimeSeconds": 1800 },
25
+ "idempotencyKey": "idempotency.cook.1",
26
+ "checkpointIntervalSeconds": 60,
27
+ "retry": { "maxAttempts": 1, "backoffSeconds": 10 },
28
+ "resourceLockIds": ["lock.cache.cook"],
29
+ "requiredEvidence": ["output.digest", "job.log", "job.checkpoint", "resources.metrics"]
30
+ },
31
+ {
32
+ "jobId": "job.shaders",
33
+ "type": "SHADERS",
34
+ "inputDigest": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
35
+ "dependsOn": ["job.cook"],
36
+ "requiredCapabilities": ["job.shaders"],
37
+ "budgets": { "ramMb": 16384, "vramMb": 8192, "diskMb": 20480, "runtimeSeconds": 3600 },
38
+ "idempotencyKey": "idempotency.shaders.1",
39
+ "checkpointIntervalSeconds": 60,
40
+ "retry": { "maxAttempts": 1, "backoffSeconds": 10 },
41
+ "resourceLockIds": ["lock.gpu.shaders"],
42
+ "requiredEvidence": ["output.digest", "job.log", "job.checkpoint", "resources.metrics"]
43
+ },
44
+ {
45
+ "jobId": "job.render",
46
+ "type": "RENDER",
47
+ "inputDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333",
48
+ "dependsOn": ["job.shaders"],
49
+ "requiredCapabilities": ["job.render"],
50
+ "budgets": { "ramMb": 16384, "vramMb": 10240, "diskMb": 40960, "runtimeSeconds": 7200 },
51
+ "idempotencyKey": "idempotency.render.1",
52
+ "checkpointIntervalSeconds": 30,
53
+ "retry": { "maxAttempts": 1, "backoffSeconds": 10 },
54
+ "resourceLockIds": ["lock.gpu.render"],
55
+ "requiredEvidence": ["output.digest", "job.log", "job.checkpoint", "resources.metrics"]
56
+ },
57
+ {
58
+ "jobId": "job.test",
59
+ "type": "TEST",
60
+ "inputDigest": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
61
+ "dependsOn": ["job.render"],
62
+ "requiredCapabilities": ["job.test"],
63
+ "budgets": { "ramMb": 8192, "vramMb": 2048, "diskMb": 10240, "runtimeSeconds": 1800 },
64
+ "idempotencyKey": "idempotency.test.1",
65
+ "checkpointIntervalSeconds": 30,
66
+ "retry": { "maxAttempts": 2, "backoffSeconds": 10 },
67
+ "resourceLockIds": ["lock.gpu.test", "lock.editor.test"],
68
+ "requiredEvidence": ["output.digest", "job.log", "job.checkpoint", "resources.metrics"]
69
+ }
70
+ ],
71
+ "leases": [
72
+ { "lockId": "lock.cache.cook", "resourceId": "cache.project", "resourceType": "CACHE", "ownerJobId": "job.cook", "exclusive": true, "ttlSeconds": 120, "heartbeatSeconds": 30, "checkpointDigest": "sha256:1111111111111111111111111111111111111111111111111111111111111111" },
73
+ { "lockId": "lock.gpu.shaders", "resourceId": "gpu.0", "resourceType": "GPU", "ownerJobId": "job.shaders", "exclusive": true, "ttlSeconds": 120, "heartbeatSeconds": 30, "checkpointDigest": "sha256:2222222222222222222222222222222222222222222222222222222222222222" },
74
+ { "lockId": "lock.gpu.render", "resourceId": "gpu.0", "resourceType": "GPU", "ownerJobId": "job.render", "exclusive": true, "ttlSeconds": 120, "heartbeatSeconds": 30, "checkpointDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333" },
75
+ { "lockId": "lock.gpu.test", "resourceId": "gpu.0", "resourceType": "GPU", "ownerJobId": "job.test", "exclusive": true, "ttlSeconds": 120, "heartbeatSeconds": 30, "checkpointDigest": "sha256:4444444444444444444444444444444444444444444444444444444444444444" },
76
+ { "lockId": "lock.editor.test", "resourceId": "editor.0", "resourceType": "EDITOR", "ownerJobId": "job.test", "exclusive": true, "ttlSeconds": 120, "heartbeatSeconds": 30, "checkpointDigest": "sha256:4444444444444444444444444444444444444444444444444444444444444444" }
77
+ ],
78
+ "evidenceRequirements": ["output.digest", "job.log", "job.checkpoint", "resources.metrics"]
79
+ }
@@ -1,42 +1,42 @@
1
- {
2
- "schemaVersion": "sema.interactive.editor-state/v1",
3
- "editorSessionId": "editor.session",
4
- "adapter": {
5
- "adapterId": "engine.custom",
6
- "adapterVersion": "1.0.0"
7
- },
8
- "scene": {
9
- "semanticId": "scene.main",
10
- "artifactDigest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
11
- },
12
- "selection": ["entity.root"],
13
- "mode": "EDIT",
14
- "unsavedChanges": true,
15
- "shaderJobs": [
16
- { "jobId": "job.shader", "status": "RUNNING", "progressBasisPoints": 4200 }
17
- ],
18
- "importJobs": [
19
- { "jobId": "job.import", "status": "QUEUED", "progressBasisPoints": 0 }
20
- ],
21
- "plugins": [
22
- {
23
- "pluginId": "Plugin.Render",
24
- "version": "1.2.0",
25
- "enabled": true,
26
- "provenanceDigest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
27
- }
28
- ],
29
- "modals": [
30
- { "modalId": "modal.import", "kind": "ImportOptions", "blocking": true }
31
- ],
32
- "processes": [
33
- {
34
- "processRef": "opaque:sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
35
- "role": "SHADER_COMPILER",
36
- "state": "RUNNING"
37
- }
38
- ],
39
- "observedAt": "2026-07-20T03:00:00.000Z",
40
- "readOnly": true,
41
- "authoritative": false
42
- }
1
+ {
2
+ "schemaVersion": "sema.interactive.editor-state/v1",
3
+ "editorSessionId": "editor.session",
4
+ "adapter": {
5
+ "adapterId": "engine.custom",
6
+ "adapterVersion": "1.0.0"
7
+ },
8
+ "scene": {
9
+ "semanticId": "scene.main",
10
+ "artifactDigest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
11
+ },
12
+ "selection": ["entity.root"],
13
+ "mode": "EDIT",
14
+ "unsavedChanges": true,
15
+ "shaderJobs": [
16
+ { "jobId": "job.shader", "status": "RUNNING", "progressBasisPoints": 4200 }
17
+ ],
18
+ "importJobs": [
19
+ { "jobId": "job.import", "status": "QUEUED", "progressBasisPoints": 0 }
20
+ ],
21
+ "plugins": [
22
+ {
23
+ "pluginId": "Plugin.Render",
24
+ "version": "1.2.0",
25
+ "enabled": true,
26
+ "provenanceDigest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
27
+ }
28
+ ],
29
+ "modals": [
30
+ { "modalId": "modal.import", "kind": "ImportOptions", "blocking": true }
31
+ ],
32
+ "processes": [
33
+ {
34
+ "processRef": "opaque:sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
35
+ "role": "SHADER_COMPILER",
36
+ "state": "RUNNING"
37
+ }
38
+ ],
39
+ "observedAt": "2026-07-20T03:00:00.000Z",
40
+ "readOnly": true,
41
+ "authoritative": false
42
+ }
@@ -1,32 +1,32 @@
1
- {
2
- "schemaVersion": "sema.interactive.engine-snapshot/v1",
3
- "snapshotId": "snapshot.after",
4
- "projectId": "project.demo",
5
- "sceneId": "scene.main",
6
- "adapter": {
7
- "adapterId": "engine.custom",
8
- "adapterVersion": "1.0.0"
9
- },
10
- "semanticObjects": [
11
- {
12
- "semanticId": "entity.root",
13
- "kind": "Entity",
14
- "stateDigest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
15
- "componentDigests": {
16
- "Transform": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
17
- }
18
- },
19
- {
20
- "semanticId": "entity.child",
21
- "kind": "Entity",
22
- "parentSemanticId": "entity.root",
23
- "stateDigest": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
24
- "componentDigests": {
25
- "Mesh": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"
26
- }
27
- }
28
- ],
29
- "artifactDigest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
30
- "readOnly": true,
31
- "authoritative": false
32
- }
1
+ {
2
+ "schemaVersion": "sema.interactive.engine-snapshot/v1",
3
+ "snapshotId": "snapshot.after",
4
+ "projectId": "project.demo",
5
+ "sceneId": "scene.main",
6
+ "adapter": {
7
+ "adapterId": "engine.custom",
8
+ "adapterVersion": "1.0.0"
9
+ },
10
+ "semanticObjects": [
11
+ {
12
+ "semanticId": "entity.root",
13
+ "kind": "Entity",
14
+ "stateDigest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
15
+ "componentDigests": {
16
+ "Transform": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
17
+ }
18
+ },
19
+ {
20
+ "semanticId": "entity.child",
21
+ "kind": "Entity",
22
+ "parentSemanticId": "entity.root",
23
+ "stateDigest": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
24
+ "componentDigests": {
25
+ "Mesh": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"
26
+ }
27
+ }
28
+ ],
29
+ "artifactDigest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
30
+ "readOnly": true,
31
+ "authoritative": false
32
+ }
@@ -1,23 +1,23 @@
1
- {
2
- "schemaVersion": "sema.interactive.engine-snapshot/v1",
3
- "snapshotId": "snapshot.before",
4
- "projectId": "project.demo",
5
- "sceneId": "scene.main",
6
- "adapter": {
7
- "adapterId": "engine.custom",
8
- "adapterVersion": "1.0.0"
9
- },
10
- "semanticObjects": [
11
- {
12
- "semanticId": "entity.root",
13
- "kind": "Entity",
14
- "stateDigest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
15
- "componentDigests": {
16
- "Transform": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
17
- }
18
- }
19
- ],
20
- "artifactDigest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
21
- "readOnly": true,
22
- "authoritative": false
23
- }
1
+ {
2
+ "schemaVersion": "sema.interactive.engine-snapshot/v1",
3
+ "snapshotId": "snapshot.before",
4
+ "projectId": "project.demo",
5
+ "sceneId": "scene.main",
6
+ "adapter": {
7
+ "adapterId": "engine.custom",
8
+ "adapterVersion": "1.0.0"
9
+ },
10
+ "semanticObjects": [
11
+ {
12
+ "semanticId": "entity.root",
13
+ "kind": "Entity",
14
+ "stateDigest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
15
+ "componentDigests": {
16
+ "Transform": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
17
+ }
18
+ }
19
+ ],
20
+ "artifactDigest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
21
+ "readOnly": true,
22
+ "authoritative": false
23
+ }
@@ -1,39 +1,39 @@
1
- {
2
- "schemaVersion": "sema.interactive.job-orchestration/v1",
3
- "queueId": "queue.render",
4
- "capacity": { "ramMb": 32768, "vramMb": 12288, "diskMb": 200000 },
5
- "lockCapacity": { "GPU": 1, "EDITOR": 1, "CACHE": 1 },
6
- "jobs": [
7
- {
8
- "jobId": "job.import",
9
- "kind": "IMPORT",
10
- "priority": 50,
11
- "dependencies": [],
12
- "locks": ["CACHE"],
13
- "budget": { "ramMb": 2048, "vramMb": 0, "diskMb": 10000 },
14
- "heartbeat": { "intervalMs": 1000, "timeoutMs": 5000 },
15
- "checkpoint": {
16
- "intervalMs": 10000,
17
- "resume": false,
18
- "recoveryToken": "opaque:sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
19
- },
20
- "adapter": { "adapterId": "engine.custom", "adapterVersion": "1.0.0" }
21
- },
22
- {
23
- "jobId": "job.render",
24
- "kind": "RENDER",
25
- "priority": 90,
26
- "dependencies": ["job.import"],
27
- "locks": ["GPU", "EDITOR"],
28
- "budget": { "ramMb": 8192, "vramMb": 8192, "diskMb": 50000 },
29
- "heartbeat": { "intervalMs": 1000, "timeoutMs": 5000 },
30
- "checkpoint": {
31
- "intervalMs": 10000,
32
- "resume": true,
33
- "checkpointDigest": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
34
- "recoveryToken": "opaque:sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
35
- },
36
- "adapter": { "adapterId": "engine.custom", "adapterVersion": "1.0.0" }
37
- }
38
- ]
39
- }
1
+ {
2
+ "schemaVersion": "sema.interactive.job-orchestration/v1",
3
+ "queueId": "queue.render",
4
+ "capacity": { "ramMb": 32768, "vramMb": 12288, "diskMb": 200000 },
5
+ "lockCapacity": { "GPU": 1, "EDITOR": 1, "CACHE": 1 },
6
+ "jobs": [
7
+ {
8
+ "jobId": "job.import",
9
+ "kind": "IMPORT",
10
+ "priority": 50,
11
+ "dependencies": [],
12
+ "locks": ["CACHE"],
13
+ "budget": { "ramMb": 2048, "vramMb": 0, "diskMb": 10000 },
14
+ "heartbeat": { "intervalMs": 1000, "timeoutMs": 5000 },
15
+ "checkpoint": {
16
+ "intervalMs": 10000,
17
+ "resume": false,
18
+ "recoveryToken": "opaque:sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
19
+ },
20
+ "adapter": { "adapterId": "engine.custom", "adapterVersion": "1.0.0" }
21
+ },
22
+ {
23
+ "jobId": "job.render",
24
+ "kind": "RENDER",
25
+ "priority": 90,
26
+ "dependencies": ["job.import"],
27
+ "locks": ["GPU", "EDITOR"],
28
+ "budget": { "ramMb": 8192, "vramMb": 8192, "diskMb": 50000 },
29
+ "heartbeat": { "intervalMs": 1000, "timeoutMs": 5000 },
30
+ "checkpoint": {
31
+ "intervalMs": 10000,
32
+ "resume": true,
33
+ "checkpointDigest": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
34
+ "recoveryToken": "opaque:sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
35
+ },
36
+ "adapter": { "adapterId": "engine.custom", "adapterVersion": "1.0.0" }
37
+ }
38
+ ]
39
+ }
@@ -1,46 +1,46 @@
1
- {
2
- "schemaVersion": "sema.interactive.multimodal-evidence/v1",
3
- "evidenceId": "evidence.multimodal",
4
- "runId": "run.validation",
5
- "claimId": "claim.render.quality",
6
- "definitionDigest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
7
- "planDigest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
8
- "contractDigest": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
9
- "claimBindingDigest": "sha256:1525382b87d90d5a5f7277790e0b88383cd17bf3ddb749f5f7640d18fba4c810",
10
- "artifactDigest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
11
- "sceneId": "scene.main",
12
- "timeRange": { "start": 0, "end": 10, "unit": "SECOND" },
13
- "requiredModalities": ["SCREENSHOT", "VIDEO", "DEPTH", "NORMALS", "OBJECT_ID", "MOTION", "TRANSFORMS", "EVENTS", "AUDIO", "TELEMETRY"],
14
- "channels": [
15
- { "channelId": "channel.screenshot", "type": "SCREENSHOT", "artifactDigest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", "mediaType": "image/png", "metadataDigest": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd", "sampleCount": 1 },
16
- { "channelId": "channel.video", "type": "VIDEO", "artifactDigest": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mediaType": "video/mp4", "metadataDigest": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd", "sampleCount": 2 },
17
- { "channelId": "channel.depth", "type": "DEPTH", "artifactDigest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", "mediaType": "application/json", "metadataDigest": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd", "sampleCount": 3 },
18
- { "channelId": "channel.normals", "type": "NORMALS", "artifactDigest": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mediaType": "application/json", "metadataDigest": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd", "sampleCount": 4 },
19
- { "channelId": "channel.object_id", "type": "OBJECT_ID", "artifactDigest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", "mediaType": "image/png", "metadataDigest": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd", "sampleCount": 5 },
20
- { "channelId": "channel.motion", "type": "MOTION", "artifactDigest": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mediaType": "application/json", "metadataDigest": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd", "sampleCount": 6 },
21
- { "channelId": "channel.transforms", "type": "TRANSFORMS", "artifactDigest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", "mediaType": "application/json", "metadataDigest": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd", "sampleCount": 7 },
22
- { "channelId": "channel.events", "type": "EVENTS", "artifactDigest": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mediaType": "application/json", "metadataDigest": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd", "sampleCount": 8 },
23
- { "channelId": "channel.audio", "type": "AUDIO", "artifactDigest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", "mediaType": "audio/wav", "metadataDigest": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd", "sampleCount": 9 },
24
- { "channelId": "channel.telemetry", "type": "TELEMETRY", "artifactDigest": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mediaType": "application/json", "metadataDigest": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd", "sampleCount": 10 }
25
- ],
26
- "producer": {
27
- "producerIdDigest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
28
- "producerType": "ENGINE",
29
- "version": "1.0.0",
30
- "configurationDigest": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"
31
- },
32
- "verifier": {
33
- "verifierIdDigest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
34
- "verifierType": "MODEL",
35
- "version": "1.0.0",
36
- "independent": true,
37
- "configurationDigest": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"
38
- },
39
- "decision": {
40
- "verdict": "PASS",
41
- "reasonCodes": ["geometry_ok", "timing_ok"],
42
- "confidenceBasisPoints": 9500
43
- },
44
- "observedAt": "2026-07-20T03:30:00.000Z",
45
- "authoritative": false
46
- }
1
+ {
2
+ "schemaVersion": "sema.interactive.multimodal-evidence/v1",
3
+ "evidenceId": "evidence.multimodal",
4
+ "runId": "run.validation",
5
+ "claimId": "claim.render.quality",
6
+ "definitionDigest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
7
+ "planDigest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
8
+ "contractDigest": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
9
+ "claimBindingDigest": "sha256:1525382b87d90d5a5f7277790e0b88383cd17bf3ddb749f5f7640d18fba4c810",
10
+ "artifactDigest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
11
+ "sceneId": "scene.main",
12
+ "timeRange": { "start": 0, "end": 10, "unit": "SECOND" },
13
+ "requiredModalities": ["SCREENSHOT", "VIDEO", "DEPTH", "NORMALS", "OBJECT_ID", "MOTION", "TRANSFORMS", "EVENTS", "AUDIO", "TELEMETRY"],
14
+ "channels": [
15
+ { "channelId": "channel.screenshot", "type": "SCREENSHOT", "artifactDigest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", "mediaType": "image/png", "metadataDigest": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd", "sampleCount": 1 },
16
+ { "channelId": "channel.video", "type": "VIDEO", "artifactDigest": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mediaType": "video/mp4", "metadataDigest": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd", "sampleCount": 2 },
17
+ { "channelId": "channel.depth", "type": "DEPTH", "artifactDigest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", "mediaType": "application/json", "metadataDigest": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd", "sampleCount": 3 },
18
+ { "channelId": "channel.normals", "type": "NORMALS", "artifactDigest": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mediaType": "application/json", "metadataDigest": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd", "sampleCount": 4 },
19
+ { "channelId": "channel.object_id", "type": "OBJECT_ID", "artifactDigest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", "mediaType": "image/png", "metadataDigest": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd", "sampleCount": 5 },
20
+ { "channelId": "channel.motion", "type": "MOTION", "artifactDigest": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mediaType": "application/json", "metadataDigest": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd", "sampleCount": 6 },
21
+ { "channelId": "channel.transforms", "type": "TRANSFORMS", "artifactDigest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", "mediaType": "application/json", "metadataDigest": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd", "sampleCount": 7 },
22
+ { "channelId": "channel.events", "type": "EVENTS", "artifactDigest": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mediaType": "application/json", "metadataDigest": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd", "sampleCount": 8 },
23
+ { "channelId": "channel.audio", "type": "AUDIO", "artifactDigest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", "mediaType": "audio/wav", "metadataDigest": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd", "sampleCount": 9 },
24
+ { "channelId": "channel.telemetry", "type": "TELEMETRY", "artifactDigest": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mediaType": "application/json", "metadataDigest": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd", "sampleCount": 10 }
25
+ ],
26
+ "producer": {
27
+ "producerIdDigest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
28
+ "producerType": "ENGINE",
29
+ "version": "1.0.0",
30
+ "configurationDigest": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"
31
+ },
32
+ "verifier": {
33
+ "verifierIdDigest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
34
+ "verifierType": "MODEL",
35
+ "version": "1.0.0",
36
+ "independent": true,
37
+ "configurationDigest": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"
38
+ },
39
+ "decision": {
40
+ "verdict": "PASS",
41
+ "reasonCodes": ["geometry_ok", "timing_ok"],
42
+ "confidenceBasisPoints": 9500
43
+ },
44
+ "observedAt": "2026-07-20T03:30:00.000Z",
45
+ "authoritative": false
46
+ }
@@ -1,39 +1,39 @@
1
- {
2
- "schemaVersion": "sema.interactive.multiplayer-authority/v1",
3
- "modelId": "authority.game.1",
4
- "systemId": "interactive.system",
5
- "topology": "SERVER_AUTHORITATIVE",
6
- "authorities": [
7
- { "authorityId": "authority.server", "role": "SERVER", "principalId": "server.primary" },
8
- { "authorityId": "authority.client.1", "role": "CLIENT", "principalId": "player.1" }
9
- ],
10
- "replicatedState": [
11
- {
12
- "stateId": "state.inventory",
13
- "semanticTargetId": "player.1.inventory",
14
- "sensitive": true,
15
- "ownerAuthorityId": "authority.server",
16
- "writerAuthorityIds": ["authority.server"],
17
- "readerAuthorityIds": ["authority.server", "authority.client.1"],
18
- "frequencyHz": 10,
19
- "conflictPolicy": "SERVER_WINS",
20
- "clientInputValidated": true
21
- }
22
- ],
23
- "conflicts": [
24
- {
25
- "conflictId": "conflict.inventory",
26
- "stateId": "state.inventory",
27
- "resolution": "server validates sequence and wins"
28
- }
29
- ],
30
- "reconnect": {
31
- "disconnectDetected": true,
32
- "reconnectAllowed": true,
33
- "resyncSnapshot": true,
34
- "replaySinceSequence": true,
35
- "timeoutMs": 10000
36
- },
37
- "securityInvariants": ["IDENTITY", "AUTHORIZATION", "ANTI_REPLAY", "RATE_LIMIT", "INTEGRITY"],
38
- "evidenceRequirements": ["multiplayer.session", "multiplayer.sync", "multiplayer.conflict", "multiplayer.reconnect", "multiplayer.authority"]
39
- }
1
+ {
2
+ "schemaVersion": "sema.interactive.multiplayer-authority/v1",
3
+ "modelId": "authority.game.1",
4
+ "systemId": "interactive.system",
5
+ "topology": "SERVER_AUTHORITATIVE",
6
+ "authorities": [
7
+ { "authorityId": "authority.server", "role": "SERVER", "principalId": "server.primary" },
8
+ { "authorityId": "authority.client.1", "role": "CLIENT", "principalId": "player.1" }
9
+ ],
10
+ "replicatedState": [
11
+ {
12
+ "stateId": "state.inventory",
13
+ "semanticTargetId": "player.1.inventory",
14
+ "sensitive": true,
15
+ "ownerAuthorityId": "authority.server",
16
+ "writerAuthorityIds": ["authority.server"],
17
+ "readerAuthorityIds": ["authority.server", "authority.client.1"],
18
+ "frequencyHz": 10,
19
+ "conflictPolicy": "SERVER_WINS",
20
+ "clientInputValidated": true
21
+ }
22
+ ],
23
+ "conflicts": [
24
+ {
25
+ "conflictId": "conflict.inventory",
26
+ "stateId": "state.inventory",
27
+ "resolution": "server validates sequence and wins"
28
+ }
29
+ ],
30
+ "reconnect": {
31
+ "disconnectDetected": true,
32
+ "reconnectAllowed": true,
33
+ "resyncSnapshot": true,
34
+ "replaySinceSequence": true,
35
+ "timeoutMs": 10000
36
+ },
37
+ "securityInvariants": ["IDENTITY", "AUTHORIZATION", "ANTI_REPLAY", "RATE_LIMIT", "INTEGRITY"],
38
+ "evidenceRequirements": ["multiplayer.session", "multiplayer.sync", "multiplayer.conflict", "multiplayer.reconnect", "multiplayer.authority"]
39
+ }