@semacode/cli 2.3.1 → 3.5.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 (281) 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 +592 -568
  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/docs.part01.d.ts +4 -1
  45. package/dist/docs.part01.js +8 -0
  46. package/dist/docs.part02.js +9 -1
  47. package/dist/drift.part01.d.ts +33 -25
  48. package/dist/drift.part01.js +2 -1
  49. package/dist/drift.part04.d.ts +26 -5
  50. package/dist/drift.part04.js +123 -19
  51. package/dist/drift.part05.d.ts +2 -2
  52. package/dist/drift.part05.js +8 -6
  53. package/dist/drift.part06.d.ts +2 -2
  54. package/dist/drift.part06.js +113 -26
  55. package/dist/drift.part07.d.ts +11 -11
  56. package/dist/drift.part07.js +261 -265
  57. package/dist/drift.part08.d.ts +2 -2
  58. package/dist/drift.part08.js +35 -26
  59. package/dist/drift.part09.d.ts +2 -2
  60. package/dist/drift.part09.js +10 -3
  61. package/dist/drift.part11.js +261 -58
  62. package/dist/drift.part12.d.ts +1 -1
  63. package/dist/drift.part12.js +193 -21
  64. package/dist/drift.part13.d.ts +20 -39
  65. package/dist/drift.part13.js +601 -647
  66. package/dist/drift.part14.js +23 -7
  67. package/dist/driftCacheCas.d.ts +43 -0
  68. package/dist/driftCacheCas.js +351 -0
  69. package/dist/driftCacheFilesystem.d.ts +64 -0
  70. package/dist/driftCacheFilesystem.js +313 -0
  71. package/dist/driftCacheModes.d.ts +38 -0
  72. package/dist/driftCacheModes.js +147 -0
  73. package/dist/driftCacheStore.d.ts +80 -0
  74. package/dist/driftCacheStore.js +603 -0
  75. package/dist/driftCatalogo.d.ts +2 -28
  76. package/dist/driftCatalogo.js +143 -284
  77. package/dist/driftEscopo.d.ts +1 -3
  78. package/dist/driftEscopo.js +235 -151
  79. package/dist/driftEscopoReferencias.d.ts +5 -1
  80. package/dist/driftEscopoReferencias.js +375 -28
  81. package/dist/driftOrcamento.d.ts +0 -6
  82. package/dist/driftOrcamento.js +2 -1
  83. package/dist/execucoesExternas.js +19 -5
  84. package/dist/exemplosOficiais.d.ts +2 -1
  85. package/dist/exemplosOficiais.js +9 -3
  86. package/dist/geracaoCore.d.ts +1 -0
  87. package/dist/geracaoCore.js +6 -6
  88. package/dist/iaPrompts.d.ts +3 -3
  89. package/dist/iaPrompts.js +312 -313
  90. package/dist/importador.part01.d.ts +1 -1
  91. package/dist/importador.part06.d.ts +2 -0
  92. package/dist/importador.part06.js +87 -1
  93. package/dist/importador.part09.js +7 -1
  94. package/dist/index.d.ts +4 -1
  95. package/dist/index.js +6 -25
  96. package/dist/index.part01.d.ts +20 -28
  97. package/dist/index.part01.js +16 -237
  98. package/dist/index.part02.js +36 -22
  99. package/dist/index.part03.d.ts +24 -2
  100. package/dist/index.part03.js +83 -19
  101. package/dist/index.part04.d.ts +10 -2
  102. package/dist/index.part04.js +152 -123
  103. package/dist/index.part05.js +80 -78
  104. package/dist/index.part06.js +34 -17
  105. package/dist/index.part07.d.ts +8 -2
  106. package/dist/index.part07.js +153 -7
  107. package/dist/index.part08.d.ts +1 -1
  108. package/dist/index.part08.js +25 -30
  109. package/dist/initCommand.d.ts +1 -0
  110. package/dist/initCommand.js +20 -4
  111. package/dist/initTemplatesBase.js +6 -4
  112. package/dist/pipelineConteudo/command.d.ts +1 -0
  113. package/dist/pipelineConteudo/command.js +9 -2
  114. package/dist/pipelineConteudo/help.d.ts +2 -0
  115. package/dist/pipelineConteudo/help.js +33 -0
  116. package/dist/profileAuthorCommand.js +3 -7
  117. package/dist/profileCommand.js +3 -7
  118. package/dist/projetoCarregar.js +35 -17
  119. package/dist/projetoCatalogo.d.ts +1 -0
  120. package/dist/projetoCatalogo.js +64 -25
  121. package/dist/projetoConfig.js +2 -0
  122. package/dist/projetoLegado.js +18 -0
  123. package/dist/projetoOrigens.d.ts +2 -0
  124. package/dist/projetoOrigens.js +65 -9
  125. package/dist/projetoTipos.d.ts +1 -0
  126. package/dist/resultadoCli.d.ts +20 -0
  127. package/dist/resultadoCli.js +57 -0
  128. package/dist/saidaCli.d.ts +35 -0
  129. package/dist/saidaCli.js +118 -0
  130. package/dist/sistemasInterativos/acceptanceEvidence.d.ts +22 -0
  131. package/dist/sistemasInterativos/acceptanceEvidence.js +345 -0
  132. package/dist/sistemasInterativos/engineObservation.d.ts +12 -0
  133. package/dist/sistemasInterativos/engineObservation.js +438 -0
  134. package/dist/sistemasInterativos/jobOrchestration.d.ts +2 -0
  135. package/dist/sistemasInterativos/jobOrchestration.js +204 -0
  136. package/dist/sistemasInterativos/operationPrimitives.d.ts +21 -0
  137. package/dist/sistemasInterativos/operationPrimitives.js +194 -0
  138. package/dist/sistemasInterativos/operations.d.ts +4 -39
  139. package/dist/sistemasInterativos/operations.js +5 -1164
  140. package/dist/skillCommand.d.ts +5 -0
  141. package/dist/skillCommand.js +88 -0
  142. package/dist/tipos.d.ts +1 -1
  143. package/dist/typescript-http-modelos.d.ts +1 -1
  144. package/dist/typescript-http-rotas.d.ts +1 -0
  145. package/dist/typescript-http-rotas.js +93 -0
  146. package/dist/typescript-http.d.ts +1 -1
  147. package/dist/typescript-http.js +1 -1
  148. package/dist/verificacaoCache.d.ts +25 -0
  149. package/dist/verificacaoCache.js +80 -0
  150. package/docs/README.md +34 -30
  151. package/docs/ai-integration.md +25 -12
  152. package/docs/ai-onboarding.md +37 -18
  153. package/docs/ai-workflow.md +9 -7
  154. package/docs/cli.md +125 -7
  155. package/docs/commands.md +41 -20
  156. package/docs/deploy.md +21 -8
  157. package/docs/descoberta-capacidades.md +106 -106
  158. package/docs/documentation.md +49 -39
  159. package/docs/drift-cache.md +108 -0
  160. package/docs/getting-started.md +43 -18
  161. package/docs/pipeline-conteudo.md +246 -246
  162. package/docs/profiles.md +54 -54
  163. package/docs/repositories.md +19 -2
  164. package/docs/rollback.md +15 -8
  165. package/docs/security.md +25 -3
  166. package/docs/sistemas-interativos.md +379 -374
  167. package/docs/syntax.md +14 -0
  168. package/docs/testing.md +139 -40
  169. package/exemplos/express_crud.sema +139 -0
  170. package/exemplos/fastify_crud.sema +146 -0
  171. package/exemplos/pipeline-conteudo/README.md +44 -44
  172. package/exemplos/pipeline-conteudo/alvos.json +23 -23
  173. package/exemplos/pipeline-conteudo/definicao.json +136 -136
  174. package/exemplos/profile_simulation.sema +211 -211
  175. package/exemplos/sistemas-interativos/README.md +100 -100
  176. package/exemplos/sistemas-interativos/advanced/acceptance-context-evaluate-valid.json +5 -5
  177. package/exemplos/sistemas-interativos/advanced/acceptance-lock-valid.json +16 -16
  178. package/exemplos/sistemas-interativos/advanced/asset-provenance-valid.json +32 -32
  179. package/exemplos/sistemas-interativos/advanced/autonomy-repair-valid.json +93 -93
  180. package/exemplos/sistemas-interativos/advanced/control-run-definition-valid.json +78 -78
  181. package/exemplos/sistemas-interativos/advanced/control-run-valid.json +27 -27
  182. package/exemplos/sistemas-interativos/advanced/distributed-workers-valid.json +79 -79
  183. package/exemplos/sistemas-interativos/advanced/editor-state-valid.json +42 -42
  184. package/exemplos/sistemas-interativos/advanced/engine-snapshot-after-valid.json +32 -32
  185. package/exemplos/sistemas-interativos/advanced/engine-snapshot-before-valid.json +23 -23
  186. package/exemplos/sistemas-interativos/advanced/job-orchestration-valid.json +39 -39
  187. package/exemplos/sistemas-interativos/advanced/multimodal-evidence-valid.json +46 -46
  188. package/exemplos/sistemas-interativos/advanced/multiplayer-authority-valid.json +39 -39
  189. package/exemplos/sistemas-interativos/advanced/playtest-fuzz-valid.json +37 -37
  190. package/exemplos/sistemas-interativos/advanced/portability-valid.json +104 -104
  191. package/exemplos/sistemas-interativos/advanced/temporal-evidence-valid.json +27 -27
  192. package/exemplos/sistemas-interativos/advanced/temporal-valid.json +118 -118
  193. package/exemplos/sistemas-interativos/experience-ir-valid.json +459 -459
  194. package/exemplos/sistemas-interativos/game-2d.json +83 -83
  195. package/exemplos/sistemas-interativos/game-3d-human.json +81 -81
  196. package/exemplos/sistemas-interativos/game-pixel-16-bit.json +97 -97
  197. package/exemplos/sistemas-interativos/game-pixel-8-bit.json +94 -94
  198. package/exemplos/sistemas-interativos/game-xr-human.json +80 -80
  199. package/exemplos/sistemas-interativos/hybrid-2-5d.json +108 -108
  200. package/exemplos/sistemas-interativos/protocol-mutating-rollback-valid.json +75 -75
  201. package/exemplos/sistemas-interativos/protocol-read-only-valid.json +58 -58
  202. package/exemplos/sistemas-interativos/simulation-2d-controlled.json +97 -97
  203. package/exemplos/sistemas-interativos/simulation-3d-calibrated-autonomous.json +141 -141
  204. package/exemplos/sistemas-interativos/simulation-headless-autonomous-batch.json +112 -112
  205. package/exemplos/sistemas-interativos/simulation-pixel-16-bit.json +103 -103
  206. package/exemplos/sistemas-interativos/simulation-text-controlled.json +95 -95
  207. package/node_modules/@sema/gerador-cpp/package.json +1 -1
  208. package/node_modules/@sema/gerador-dotnet/package.json +1 -1
  209. package/node_modules/@sema/gerador-lua/dist/index.js +51 -51
  210. package/node_modules/@sema/gerador-php/dist/index.js +113 -113
  211. package/node_modules/@sema/nucleo/dist/ir/conversor.part01.js +37 -38
  212. package/node_modules/@sema/nucleo/dist/ir/modelos.d.ts +1 -0
  213. package/node_modules/@sema/nucleo/dist/semantico/analisador.d.ts +1 -0
  214. package/node_modules/@sema/nucleo/dist/semantico/analisador.js +1 -0
  215. package/node_modules/@sema/nucleo/dist/semantico/analisador.part01.d.ts +7 -0
  216. package/node_modules/@sema/nucleo/dist/semantico/analisador.part01.js +33 -10
  217. package/package.json +9 -4
  218. package/scripts/postinstall.mjs +148 -0
  219. package/skills/sema/SKILL.md +199 -0
  220. package/skills/sema/agents/openai.yaml +4 -0
  221. package/dist/driftCache.d.ts +0 -49
  222. package/dist/driftCache.js +0 -311
  223. package/dist/driftCacheIncremental.d.ts +0 -98
  224. package/dist/driftCacheIncremental.js +0 -596
  225. package/dist/driftCatalogoPersistente.d.ts +0 -8
  226. package/dist/driftCatalogoPersistente.js +0 -77
  227. package/node_modules/@sema/gerador-cpp/dist/index.js.map +0 -1
  228. package/node_modules/@sema/gerador-css/dist/index.js.map +0 -1
  229. package/node_modules/@sema/gerador-css/dist/index.part01.js.map +0 -1
  230. package/node_modules/@sema/gerador-css/dist/index.part02.js.map +0 -1
  231. package/node_modules/@sema/gerador-dart/dist/index.js.map +0 -1
  232. package/node_modules/@sema/gerador-dotnet/dist/index.js.map +0 -1
  233. package/node_modules/@sema/gerador-html/dist/index.js.map +0 -1
  234. package/node_modules/@sema/gerador-javascript/dist/index.js.map +0 -1
  235. package/node_modules/@sema/gerador-lua/dist/index.js.map +0 -1
  236. package/node_modules/@sema/gerador-php/dist/index.js.map +0 -1
  237. package/node_modules/@sema/gerador-python/dist/index.js.map +0 -1
  238. package/node_modules/@sema/gerador-python/dist/index.part01.js.map +0 -1
  239. package/node_modules/@sema/gerador-python/dist/index.part02.js.map +0 -1
  240. package/node_modules/@sema/gerador-typescript/dist/index.js.map +0 -1
  241. package/node_modules/@sema/gerador-typescript/dist/index.part01.js.map +0 -1
  242. package/node_modules/@sema/gerador-typescript/dist/index.part02.js.map +0 -1
  243. package/node_modules/@sema/gerador-typescript/dist/index.part03.js.map +0 -1
  244. package/node_modules/@sema/nucleo/dist/ast/tipos.js.map +0 -1
  245. package/node_modules/@sema/nucleo/dist/diagnosticos/index.js.map +0 -1
  246. package/node_modules/@sema/nucleo/dist/diagnosticos/melhorador.js.map +0 -1
  247. package/node_modules/@sema/nucleo/dist/diagnosticos/snippets.js.map +0 -1
  248. package/node_modules/@sema/nucleo/dist/formatador/index.js.map +0 -1
  249. package/node_modules/@sema/nucleo/dist/formatador/index.part01.js.map +0 -1
  250. package/node_modules/@sema/nucleo/dist/formatador/index.part02.js.map +0 -1
  251. package/node_modules/@sema/nucleo/dist/index.js.map +0 -1
  252. package/node_modules/@sema/nucleo/dist/ir/conversor.js.map +0 -1
  253. package/node_modules/@sema/nucleo/dist/ir/conversor.part01.js.map +0 -1
  254. package/node_modules/@sema/nucleo/dist/ir/conversor.part02.js.map +0 -1
  255. package/node_modules/@sema/nucleo/dist/ir/conversor.part03.js.map +0 -1
  256. package/node_modules/@sema/nucleo/dist/ir/modelos.js.map +0 -1
  257. package/node_modules/@sema/nucleo/dist/lexer/lexer.js.map +0 -1
  258. package/node_modules/@sema/nucleo/dist/lexer/tokens.js.map +0 -1
  259. package/node_modules/@sema/nucleo/dist/parser/parser.declaracoes.js.map +0 -1
  260. package/node_modules/@sema/nucleo/dist/parser/parser.js.map +0 -1
  261. package/node_modules/@sema/nucleo/dist/parser/parser.modulo.js.map +0 -1
  262. package/node_modules/@sema/nucleo/dist/parser/parser.part01.js.map +0 -1
  263. package/node_modules/@sema/nucleo/dist/parser/parser.part02.js.map +0 -1
  264. package/node_modules/@sema/nucleo/dist/parser/parser.part03.js.map +0 -1
  265. package/node_modules/@sema/nucleo/dist/persistencia/contratos.js.map +0 -1
  266. package/node_modules/@sema/nucleo/dist/semantico/analisador.js.map +0 -1
  267. package/node_modules/@sema/nucleo/dist/semantico/analisador.part01.js.map +0 -1
  268. package/node_modules/@sema/nucleo/dist/semantico/analisador.part02.js.map +0 -1
  269. package/node_modules/@sema/nucleo/dist/semantico/analisador.part03.js.map +0 -1
  270. package/node_modules/@sema/nucleo/dist/semantico/analisador.part04.js.map +0 -1
  271. package/node_modules/@sema/nucleo/dist/semantico/analisador.part05.js.map +0 -1
  272. package/node_modules/@sema/nucleo/dist/semantico/analisador.part06.js.map +0 -1
  273. package/node_modules/@sema/nucleo/dist/semantico/analisador.part07.js.map +0 -1
  274. package/node_modules/@sema/nucleo/dist/semantico/analisador.part08.js.map +0 -1
  275. package/node_modules/@sema/nucleo/dist/semantico/estruturas.js.map +0 -1
  276. package/node_modules/@sema/nucleo/dist/semantico/estruturas.part01.js.map +0 -1
  277. package/node_modules/@sema/nucleo/dist/semantico/estruturas.part02.js.map +0 -1
  278. package/node_modules/@sema/nucleo/dist/semantico/orcamentoSemantico.js.map +0 -1
  279. package/node_modules/@sema/nucleo/dist/semantico/seguranca.js.map +0 -1
  280. package/node_modules/@sema/nucleo/dist/util/arquivos.js.map +0 -1
  281. package/node_modules/@sema/padroes/dist/index.js.map +0 -1
@@ -1,37 +1,37 @@
1
- {
2
- "schemaVersion": "sema.interactive.playtest-fuzz/v1",
3
- "planId": "playtest.fuzz.1",
4
- "systemId": "interactive.system",
5
- "definitionDigest": "sha256:1111111111111111111111111111111111111111111111111111111111111111",
6
- "inputActions": [
7
- { "actionId": "input.move_x", "type": "AXIS", "minimum": -1, "maximum": 1 },
8
- { "actionId": "input.confirm", "type": "BUTTON", "minimum": 0, "maximum": 1 }
9
- ],
10
- "bots": [
11
- {
12
- "botId": "bot.explorer.42",
13
- "strategy": "EXPLORER",
14
- "seed": 42,
15
- "maxSteps": 1000,
16
- "permissions": ["input.move_x", "input.confirm"]
17
- }
18
- ],
19
- "stateCheckpoints": [
20
- { "checkpointId": "checkpoint.before", "phase": "BEFORE", "stateDigest": "sha256:2222222222222222222222222222222222222222222222222222222222222222" },
21
- { "checkpointId": "checkpoint.after", "phase": "AFTER", "stateDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333" }
22
- ],
23
- "saveLoadCases": [
24
- { "caseId": "case.normal", "type": "NORMAL", "sourceCheckpointId": "checkpoint.before", "targetCheckpointId": "checkpoint.after", "sandboxOnly": true, "originalImmutable": true },
25
- { "caseId": "case.corrupt", "type": "CORRUPT_RECOVERY", "sourceCheckpointId": "checkpoint.before", "targetCheckpointId": "checkpoint.after", "sandboxOnly": true, "originalImmutable": true },
26
- { "caseId": "case.migration", "type": "VERSION_MIGRATION", "sourceCheckpointId": "checkpoint.before", "targetCheckpointId": "checkpoint.after", "sandboxOnly": true, "originalImmutable": true }
27
- ],
28
- "fuzzBounds": {
29
- "maxSteps": 10000,
30
- "maxRuntimeSeconds": 300,
31
- "maxMemoryMb": 2048,
32
- "maxDiskMb": 1024,
33
- "maxCases": 100
34
- },
35
- "stopCriteria": ["CRASH", "HANG", "RESOURCE_EXHAUSTION", "INVARIANT_FAILURE"],
36
- "evidenceRequirements": ["runtime.boot", "runtime.loop", "runtime.failure", "runtime.replay", "state.digest", "crash.trace"]
37
- }
1
+ {
2
+ "schemaVersion": "sema.interactive.playtest-fuzz/v1",
3
+ "planId": "playtest.fuzz.1",
4
+ "systemId": "interactive.system",
5
+ "definitionDigest": "sha256:1111111111111111111111111111111111111111111111111111111111111111",
6
+ "inputActions": [
7
+ { "actionId": "input.move_x", "type": "AXIS", "minimum": -1, "maximum": 1 },
8
+ { "actionId": "input.confirm", "type": "BUTTON", "minimum": 0, "maximum": 1 }
9
+ ],
10
+ "bots": [
11
+ {
12
+ "botId": "bot.explorer.42",
13
+ "strategy": "EXPLORER",
14
+ "seed": 42,
15
+ "maxSteps": 1000,
16
+ "permissions": ["input.move_x", "input.confirm"]
17
+ }
18
+ ],
19
+ "stateCheckpoints": [
20
+ { "checkpointId": "checkpoint.before", "phase": "BEFORE", "stateDigest": "sha256:2222222222222222222222222222222222222222222222222222222222222222" },
21
+ { "checkpointId": "checkpoint.after", "phase": "AFTER", "stateDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333" }
22
+ ],
23
+ "saveLoadCases": [
24
+ { "caseId": "case.normal", "type": "NORMAL", "sourceCheckpointId": "checkpoint.before", "targetCheckpointId": "checkpoint.after", "sandboxOnly": true, "originalImmutable": true },
25
+ { "caseId": "case.corrupt", "type": "CORRUPT_RECOVERY", "sourceCheckpointId": "checkpoint.before", "targetCheckpointId": "checkpoint.after", "sandboxOnly": true, "originalImmutable": true },
26
+ { "caseId": "case.migration", "type": "VERSION_MIGRATION", "sourceCheckpointId": "checkpoint.before", "targetCheckpointId": "checkpoint.after", "sandboxOnly": true, "originalImmutable": true }
27
+ ],
28
+ "fuzzBounds": {
29
+ "maxSteps": 10000,
30
+ "maxRuntimeSeconds": 300,
31
+ "maxMemoryMb": 2048,
32
+ "maxDiskMb": 1024,
33
+ "maxCases": 100
34
+ },
35
+ "stopCriteria": ["CRASH", "HANG", "RESOURCE_EXHAUSTION", "INVARIANT_FAILURE"],
36
+ "evidenceRequirements": ["runtime.boot", "runtime.loop", "runtime.failure", "runtime.replay", "state.digest", "crash.trace"]
37
+ }
@@ -1,104 +1,104 @@
1
- {
2
- "schemaVersion": "sema.interactive.portability/v1",
3
- "planId": "portability.unreal.unity",
4
- "systemId": "interactive.system",
5
- "experienceIrDigest": "sha256:1111111111111111111111111111111111111111111111111111111111111111",
6
- "source": {
7
- "engine": "Unreal",
8
- "version": "5.6.0",
9
- "snapshotDigest": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
10
- "coordinateSystem": "centimeter left-handed Z-up"
11
- },
12
- "sourceManifest": {
13
- "experienceIrDigest": "sha256:1111111111111111111111111111111111111111111111111111111111111111",
14
- "snapshotDigest": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
15
- "entries": [
16
- {
17
- "semanticId": "vehicle.crewed",
18
- "sourceKind": "Actor.Transform",
19
- "contentDigest": "sha256:1111111111111111111111111111111111111111111111111111111111111111",
20
- "required": true
21
- },
22
- {
23
- "semanticId": "vfx.reentry.plasma",
24
- "sourceKind": "NiagaraSystem",
25
- "contentDigest": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
26
- "required": true
27
- },
28
- {
29
- "semanticId": "audio.reentry.dynamic",
30
- "sourceKind": "MetaSound",
31
- "contentDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333",
32
- "required": true
33
- }
34
- ],
35
- "manifestDigest": "sha256:34f89b97cd0304af40783e6e4f7ee7c2fd079b5d831917f7e11bfbd8db0ca025"
36
- },
37
- "targets": [
38
- {
39
- "targetId": "target.unity",
40
- "engine": "Unity",
41
- "version": "6.0.0",
42
- "outputFormat": "USD plus sidecars",
43
- "mappings": [
44
- {
45
- "mappingId": "mapping.transform",
46
- "semanticId": "vehicle.crewed",
47
- "sourceKind": "Actor.Transform",
48
- "targetKind": "GameObject.Transform",
49
- "status": "EXACT",
50
- "losses": [],
51
- "acceptanceCriteria": ["world transform preserved within tolerance"]
52
- },
53
- {
54
- "mappingId": "mapping.niagara",
55
- "semanticId": "vfx.reentry.plasma",
56
- "sourceKind": "NiagaraSystem",
57
- "targetKind": "VFXGraph",
58
- "status": "APPROXIMATE",
59
- "losses": ["renderer_module_mapping", "curve_precision"],
60
- "fallback": "bake curves and rebuild unsupported modules",
61
- "acceptanceCriteria": ["timing and bounds preserved", "visual review required"]
62
- },
63
- {
64
- "mappingId": "mapping.metasound",
65
- "semanticId": "audio.reentry.dynamic",
66
- "sourceKind": "MetaSound",
67
- "targetKind": "AudioMixerGraph",
68
- "status": "UNSUPPORTED",
69
- "losses": ["procedural_audio_graph"],
70
- "fallback": "render stems and preserve event sidecar",
71
- "acceptanceCriteria": ["event timing preserved", "user accepts non-procedural fallback"]
72
- }
73
- ]
74
- }
75
- ],
76
- "migrations": [
77
- {
78
- "migrationId": "migration.unreal.55.56",
79
- "targetId": "target.unity",
80
- "engine": "Unreal",
81
- "fromVersion": "5.5.0",
82
- "toVersion": "5.6.0",
83
- "backupDigest": "sha256:1111111111111111111111111111111111111111111111111111111111111111",
84
- "compatibilityReportDigest": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
85
- "testPlanDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333",
86
- "rollbackPlanDigest": "sha256:4444444444444444444444444444444444444444444444444444444444444444"
87
- }
88
- ],
89
- "acceptance": {
90
- "maxUnsupportedPerTarget": 1,
91
- "allowApproximate": true,
92
- "requiredEvidence": [
93
- "import.scene",
94
- "import.assets",
95
- "import.materials",
96
- "import.animation",
97
- "import.physics",
98
- "import.audio",
99
- "import.timeline",
100
- "package.build",
101
- "runtime.smoke"
102
- ]
103
- }
104
- }
1
+ {
2
+ "schemaVersion": "sema.interactive.portability/v1",
3
+ "planId": "portability.unreal.unity",
4
+ "systemId": "interactive.system",
5
+ "experienceIrDigest": "sha256:1111111111111111111111111111111111111111111111111111111111111111",
6
+ "source": {
7
+ "engine": "Unreal",
8
+ "version": "5.6.0",
9
+ "snapshotDigest": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
10
+ "coordinateSystem": "centimeter left-handed Z-up"
11
+ },
12
+ "sourceManifest": {
13
+ "experienceIrDigest": "sha256:1111111111111111111111111111111111111111111111111111111111111111",
14
+ "snapshotDigest": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
15
+ "entries": [
16
+ {
17
+ "semanticId": "vehicle.crewed",
18
+ "sourceKind": "Actor.Transform",
19
+ "contentDigest": "sha256:1111111111111111111111111111111111111111111111111111111111111111",
20
+ "required": true
21
+ },
22
+ {
23
+ "semanticId": "vfx.reentry.plasma",
24
+ "sourceKind": "NiagaraSystem",
25
+ "contentDigest": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
26
+ "required": true
27
+ },
28
+ {
29
+ "semanticId": "audio.reentry.dynamic",
30
+ "sourceKind": "MetaSound",
31
+ "contentDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333",
32
+ "required": true
33
+ }
34
+ ],
35
+ "manifestDigest": "sha256:34f89b97cd0304af40783e6e4f7ee7c2fd079b5d831917f7e11bfbd8db0ca025"
36
+ },
37
+ "targets": [
38
+ {
39
+ "targetId": "target.unity",
40
+ "engine": "Unity",
41
+ "version": "6.0.0",
42
+ "outputFormat": "USD plus sidecars",
43
+ "mappings": [
44
+ {
45
+ "mappingId": "mapping.transform",
46
+ "semanticId": "vehicle.crewed",
47
+ "sourceKind": "Actor.Transform",
48
+ "targetKind": "GameObject.Transform",
49
+ "status": "EXACT",
50
+ "losses": [],
51
+ "acceptanceCriteria": ["world transform preserved within tolerance"]
52
+ },
53
+ {
54
+ "mappingId": "mapping.niagara",
55
+ "semanticId": "vfx.reentry.plasma",
56
+ "sourceKind": "NiagaraSystem",
57
+ "targetKind": "VFXGraph",
58
+ "status": "APPROXIMATE",
59
+ "losses": ["renderer_module_mapping", "curve_precision"],
60
+ "fallback": "bake curves and rebuild unsupported modules",
61
+ "acceptanceCriteria": ["timing and bounds preserved", "visual review required"]
62
+ },
63
+ {
64
+ "mappingId": "mapping.metasound",
65
+ "semanticId": "audio.reentry.dynamic",
66
+ "sourceKind": "MetaSound",
67
+ "targetKind": "AudioMixerGraph",
68
+ "status": "UNSUPPORTED",
69
+ "losses": ["procedural_audio_graph"],
70
+ "fallback": "render stems and preserve event sidecar",
71
+ "acceptanceCriteria": ["event timing preserved", "user accepts non-procedural fallback"]
72
+ }
73
+ ]
74
+ }
75
+ ],
76
+ "migrations": [
77
+ {
78
+ "migrationId": "migration.unreal.55.56",
79
+ "targetId": "target.unity",
80
+ "engine": "Unreal",
81
+ "fromVersion": "5.5.0",
82
+ "toVersion": "5.6.0",
83
+ "backupDigest": "sha256:1111111111111111111111111111111111111111111111111111111111111111",
84
+ "compatibilityReportDigest": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
85
+ "testPlanDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333",
86
+ "rollbackPlanDigest": "sha256:4444444444444444444444444444444444444444444444444444444444444444"
87
+ }
88
+ ],
89
+ "acceptance": {
90
+ "maxUnsupportedPerTarget": 1,
91
+ "allowApproximate": true,
92
+ "requiredEvidence": [
93
+ "import.scene",
94
+ "import.assets",
95
+ "import.materials",
96
+ "import.animation",
97
+ "import.physics",
98
+ "import.audio",
99
+ "import.timeline",
100
+ "package.build",
101
+ "runtime.smoke"
102
+ ]
103
+ }
104
+ }
@@ -1,27 +1,27 @@
1
- {
2
- "schemaVersion": "sema.interactive.temporal-evidence/v1",
3
- "runId": "run.temporal.1",
4
- "contractDigest": "sha256:de8c602231b1538d1f73b31ac50f4ab940a395768debf29b262bd8d04c330cd5",
5
- "producerId": "runner.temporal.external",
6
- "producerVersion": "2.0.0",
7
- "producerConfigurationDigest": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
8
- "verifierId": "verifier.temporal.independent",
9
- "verifierVersion": "1.0.0",
10
- "verifierConfigurationDigest": "sha256:5555555555555555555555555555555555555555555555555555555555555555",
11
- "independentOfProducer": true,
12
- "observations": [
13
- { "observationId": "observation.1", "checkId": "build.clean_install", "decision": "PASS", "evidenceTypes": ["INSTALL_LOG"], "artifactDigests": ["sha256:2222222222222222222222222222222222222222222222222222222222222222"], "sampleCount": 2, "traceDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333" },
14
- { "observationId": "observation.2", "checkId": "build.launch", "decision": "PASS", "evidenceTypes": ["LAUNCH_LOG"], "artifactDigests": ["sha256:2222222222222222222222222222222222222222222222222222222222222222"], "sampleCount": 2, "traceDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333" },
15
- { "observationId": "observation.3", "checkId": "build.materialize", "decision": "PASS", "evidenceTypes": ["TELEMETRY"], "artifactDigests": ["sha256:2222222222222222222222222222222222222222222222222222222222222222"], "sampleCount": 2, "traceDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333" },
16
- { "observationId": "observation.4", "checkId": "build.smoke_playtest", "decision": "PASS", "evidenceTypes": ["PLAYTEST_TRACE"], "artifactDigests": ["sha256:2222222222222222222222222222222222222222222222222222222222222222"], "sampleCount": 2, "traceDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333" },
17
- { "observationId": "observation.5", "checkId": "hardware:rtx3060_1080p60", "decision": "PASS", "evidenceTypes": ["TELEMETRY"], "artifactDigests": ["sha256:2222222222222222222222222222222222222222222222222222222222222222"], "sampleCount": 2, "traceDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333", "metrics": [{ "name": "target_fps", "value": 60, "unit": "fps", "threshold": 60 }, { "name": "frame_time_p95_ms", "value": 16, "unit": "ms", "threshold": 16.7 }, { "name": "ram_mb", "value": 4096, "unit": "mb", "threshold": 8192 }, { "name": "vram_mb", "value": 3072, "unit": "mb", "threshold": 6144 }, { "name": "disk_mb", "value": 2048, "unit": "mb", "threshold": 4096 }] },
18
- { "observationId": "observation.6", "checkId": "invariant.contact_before_splash", "decision": "PASS", "evidenceTypes": ["AUDIO_TRACE", "EVENT_TRACE"], "artifactDigests": ["sha256:2222222222222222222222222222222222222222222222222222222222222222"], "sampleCount": 2, "traceDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333", "phaseId": "descent", "frame": 390, "timeUnit": "FRAME" },
19
- { "observationId": "observation.7", "checkId": "physics.capsule_water_contact", "decision": "PASS", "evidenceTypes": ["COLLISION_TRACE", "TRANSFORMS"], "artifactDigests": ["sha256:2222222222222222222222222222222222222222222222222222222222222222"], "sampleCount": 2, "traceDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333", "phaseId": "descent", "frame": 390, "timeUnit": "FRAME" },
20
- { "observationId": "observation.8", "checkId": "qa.exposure", "decision": "PASS", "evidenceTypes": ["TELEMETRY"], "artifactDigests": ["sha256:2222222222222222222222222222222222222222222222222222222222222222"], "sampleCount": 2, "traceDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333", "phaseId": "descent", "frame": 390, "timeUnit": "FRAME", "metrics": [{ "name": "exposure", "value": 0.1, "unit": "ev", "threshold": 0.2 }] },
21
- { "observationId": "observation.9", "checkId": "qa.flicker", "decision": "PASS", "evidenceTypes": ["TELEMETRY"], "artifactDigests": ["sha256:2222222222222222222222222222222222222222222222222222222222222222"], "sampleCount": 2, "traceDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333", "phaseId": "descent", "frame": 390, "timeUnit": "FRAME", "metrics": [{ "name": "flicker", "value": 0.01, "unit": "ratio", "threshold": 0.02 }] },
22
- { "observationId": "observation.10", "checkId": "qa.ghosting", "decision": "PASS", "evidenceTypes": ["TELEMETRY"], "artifactDigests": ["sha256:2222222222222222222222222222222222222222222222222222222222222222"], "sampleCount": 2, "traceDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333", "phaseId": "descent", "frame": 390, "timeUnit": "FRAME", "metrics": [{ "name": "ghosting", "value": 0.01, "unit": "ratio", "threshold": 0.03 }] },
23
- { "observationId": "observation.11", "checkId": "qa.jitter", "decision": "PASS", "evidenceTypes": ["TELEMETRY"], "artifactDigests": ["sha256:2222222222222222222222222222222222222222222222222222222222222222"], "sampleCount": 2, "traceDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333", "phaseId": "descent", "frame": 390, "timeUnit": "FRAME", "metrics": [{ "name": "jitter", "value": 1, "unit": "pixel", "threshold": 1.5 }] },
24
- { "observationId": "observation.12", "checkId": "qa.popping", "decision": "PASS", "evidenceTypes": ["TELEMETRY"], "artifactDigests": ["sha256:2222222222222222222222222222222222222222222222222222222222222222"], "sampleCount": 2, "traceDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333", "phaseId": "descent", "frame": 390, "timeUnit": "FRAME", "metrics": [{ "name": "popping", "value": 0, "unit": "event", "threshold": 1 }] },
25
- { "observationId": "observation.13", "checkId": "shot.keep_capsule_visible", "decision": "PASS", "evidenceTypes": ["VIDEO", "OBJECT_ID", "DEPTH"], "artifactDigests": ["sha256:2222222222222222222222222222222222222222222222222222222222222222"], "sampleCount": 2, "traceDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333", "phaseId": "descent", "frame": 390, "timeUnit": "FRAME" }
26
- ]
27
- }
1
+ {
2
+ "schemaVersion": "sema.interactive.temporal-evidence/v1",
3
+ "runId": "run.temporal.1",
4
+ "contractDigest": "sha256:de8c602231b1538d1f73b31ac50f4ab940a395768debf29b262bd8d04c330cd5",
5
+ "producerId": "runner.temporal.external",
6
+ "producerVersion": "2.0.0",
7
+ "producerConfigurationDigest": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
8
+ "verifierId": "verifier.temporal.independent",
9
+ "verifierVersion": "1.0.0",
10
+ "verifierConfigurationDigest": "sha256:5555555555555555555555555555555555555555555555555555555555555555",
11
+ "independentOfProducer": true,
12
+ "observations": [
13
+ { "observationId": "observation.1", "checkId": "build.clean_install", "decision": "PASS", "evidenceTypes": ["INSTALL_LOG"], "artifactDigests": ["sha256:2222222222222222222222222222222222222222222222222222222222222222"], "sampleCount": 2, "traceDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333" },
14
+ { "observationId": "observation.2", "checkId": "build.launch", "decision": "PASS", "evidenceTypes": ["LAUNCH_LOG"], "artifactDigests": ["sha256:2222222222222222222222222222222222222222222222222222222222222222"], "sampleCount": 2, "traceDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333" },
15
+ { "observationId": "observation.3", "checkId": "build.materialize", "decision": "PASS", "evidenceTypes": ["TELEMETRY"], "artifactDigests": ["sha256:2222222222222222222222222222222222222222222222222222222222222222"], "sampleCount": 2, "traceDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333" },
16
+ { "observationId": "observation.4", "checkId": "build.smoke_playtest", "decision": "PASS", "evidenceTypes": ["PLAYTEST_TRACE"], "artifactDigests": ["sha256:2222222222222222222222222222222222222222222222222222222222222222"], "sampleCount": 2, "traceDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333" },
17
+ { "observationId": "observation.5", "checkId": "hardware:rtx3060_1080p60", "decision": "PASS", "evidenceTypes": ["TELEMETRY"], "artifactDigests": ["sha256:2222222222222222222222222222222222222222222222222222222222222222"], "sampleCount": 2, "traceDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333", "metrics": [{ "name": "target_fps", "value": 60, "unit": "fps", "threshold": 60 }, { "name": "frame_time_p95_ms", "value": 16, "unit": "ms", "threshold": 16.7 }, { "name": "ram_mb", "value": 4096, "unit": "mb", "threshold": 8192 }, { "name": "vram_mb", "value": 3072, "unit": "mb", "threshold": 6144 }, { "name": "disk_mb", "value": 2048, "unit": "mb", "threshold": 4096 }] },
18
+ { "observationId": "observation.6", "checkId": "invariant.contact_before_splash", "decision": "PASS", "evidenceTypes": ["AUDIO_TRACE", "EVENT_TRACE"], "artifactDigests": ["sha256:2222222222222222222222222222222222222222222222222222222222222222"], "sampleCount": 2, "traceDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333", "phaseId": "descent", "frame": 390, "timeUnit": "FRAME" },
19
+ { "observationId": "observation.7", "checkId": "physics.capsule_water_contact", "decision": "PASS", "evidenceTypes": ["COLLISION_TRACE", "TRANSFORMS"], "artifactDigests": ["sha256:2222222222222222222222222222222222222222222222222222222222222222"], "sampleCount": 2, "traceDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333", "phaseId": "descent", "frame": 390, "timeUnit": "FRAME" },
20
+ { "observationId": "observation.8", "checkId": "qa.exposure", "decision": "PASS", "evidenceTypes": ["TELEMETRY"], "artifactDigests": ["sha256:2222222222222222222222222222222222222222222222222222222222222222"], "sampleCount": 2, "traceDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333", "phaseId": "descent", "frame": 390, "timeUnit": "FRAME", "metrics": [{ "name": "exposure", "value": 0.1, "unit": "ev", "threshold": 0.2 }] },
21
+ { "observationId": "observation.9", "checkId": "qa.flicker", "decision": "PASS", "evidenceTypes": ["TELEMETRY"], "artifactDigests": ["sha256:2222222222222222222222222222222222222222222222222222222222222222"], "sampleCount": 2, "traceDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333", "phaseId": "descent", "frame": 390, "timeUnit": "FRAME", "metrics": [{ "name": "flicker", "value": 0.01, "unit": "ratio", "threshold": 0.02 }] },
22
+ { "observationId": "observation.10", "checkId": "qa.ghosting", "decision": "PASS", "evidenceTypes": ["TELEMETRY"], "artifactDigests": ["sha256:2222222222222222222222222222222222222222222222222222222222222222"], "sampleCount": 2, "traceDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333", "phaseId": "descent", "frame": 390, "timeUnit": "FRAME", "metrics": [{ "name": "ghosting", "value": 0.01, "unit": "ratio", "threshold": 0.03 }] },
23
+ { "observationId": "observation.11", "checkId": "qa.jitter", "decision": "PASS", "evidenceTypes": ["TELEMETRY"], "artifactDigests": ["sha256:2222222222222222222222222222222222222222222222222222222222222222"], "sampleCount": 2, "traceDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333", "phaseId": "descent", "frame": 390, "timeUnit": "FRAME", "metrics": [{ "name": "jitter", "value": 1, "unit": "pixel", "threshold": 1.5 }] },
24
+ { "observationId": "observation.12", "checkId": "qa.popping", "decision": "PASS", "evidenceTypes": ["TELEMETRY"], "artifactDigests": ["sha256:2222222222222222222222222222222222222222222222222222222222222222"], "sampleCount": 2, "traceDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333", "phaseId": "descent", "frame": 390, "timeUnit": "FRAME", "metrics": [{ "name": "popping", "value": 0, "unit": "event", "threshold": 1 }] },
25
+ { "observationId": "observation.13", "checkId": "shot.keep_capsule_visible", "decision": "PASS", "evidenceTypes": ["VIDEO", "OBJECT_ID", "DEPTH"], "artifactDigests": ["sha256:2222222222222222222222222222222222222222222222222222222222222222"], "sampleCount": 2, "traceDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333", "phaseId": "descent", "frame": 390, "timeUnit": "FRAME" }
26
+ ]
27
+ }
@@ -1,118 +1,118 @@
1
- {
2
- "schemaVersion": "sema.interactive.temporal/v1",
3
- "contractId": "mission.return.timeline",
4
- "systemId": "interactive.system",
5
- "experienceIrDigest": "sha256:1111111111111111111111111111111111111111111111111111111111111111",
6
- "coordinateSystem": {
7
- "unit": "meter",
8
- "handedness": "RIGHT",
9
- "upAxis": "Z",
10
- "forwardAxis": "X"
11
- },
12
- "phases": [
13
- {
14
- "phaseId": "descent",
15
- "start": 0,
16
- "end": 600,
17
- "timeUnit": "FRAME"
18
- }
19
- ],
20
- "tracks": [
21
- {
22
- "trackId": "track.audio",
23
- "type": "AUDIO",
24
- "clips": [
25
- {
26
- "clipId": "clip.audio",
27
- "phaseId": "descent",
28
- "semanticTargetId": "audio.splash",
29
- "start": 300,
30
- "end": 420,
31
- "timeUnit": "FRAME"
32
- }
33
- ]
34
- },
35
- {
36
- "trackId": "track.event",
37
- "type": "EVENT",
38
- "clips": [
39
- {
40
- "clipId": "clip.contact",
41
- "phaseId": "descent",
42
- "semanticTargetId": "event.water_contact",
43
- "start": 389,
44
- "end": 391,
45
- "timeUnit": "FRAME"
46
- }
47
- ]
48
- }
49
- ],
50
- "invariants": [
51
- {
52
- "invariantId": "invariant.contact_before_splash",
53
- "type": "ORDER",
54
- "phaseId": "descent",
55
- "trackIds": ["track.audio", "track.event"],
56
- "subjectIds": ["vehicle.crewed", "water.surface"],
57
- "threshold": 3,
58
- "unit": "frame"
59
- }
60
- ],
61
- "shots": [
62
- {
63
- "shotId": "shot.keep_capsule_visible",
64
- "phaseId": "descent",
65
- "cameraId": "camera.main",
66
- "subjectIds": ["vehicle.crewed"],
67
- "start": 0,
68
- "end": 600,
69
- "timeUnit": "FRAME",
70
- "composition": "capsule centered with horizon context",
71
- "minimumVisibilityRatio": 0.92,
72
- "maximumJitter": 1.5
73
- }
74
- ],
75
- "physics": [
76
- {
77
- "relationId": "physics.capsule_water_contact",
78
- "type": "COLLISION",
79
- "phaseId": "descent",
80
- "sourceId": "vehicle.crewed",
81
- "targetId": "water.surface",
82
- "start": 380,
83
- "end": 410,
84
- "timeUnit": "FRAME",
85
- "tolerance": 0.02,
86
- "unit": "meter"
87
- }
88
- ],
89
- "temporalQa": {
90
- "checks": [
91
- { "checkId": "qa.flicker", "type": "FLICKER", "phaseId": "descent", "threshold": 0.02, "unit": "ratio" },
92
- { "checkId": "qa.ghosting", "type": "GHOSTING", "phaseId": "descent", "threshold": 0.03, "unit": "ratio" },
93
- { "checkId": "qa.popping", "type": "POPPING", "phaseId": "descent", "threshold": 1, "unit": "event" },
94
- { "checkId": "qa.exposure", "type": "EXPOSURE", "phaseId": "descent", "threshold": 0.2, "unit": "ev" },
95
- { "checkId": "qa.jitter", "type": "JITTER", "phaseId": "descent", "threshold": 1.5, "unit": "pixel" }
96
- ]
97
- },
98
- "buildAcceptance": {
99
- "required": true,
100
- "artifactDigest": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
101
- "cleanInstallRequired": true,
102
- "launchRequired": true,
103
- "smokePlaytestRequired": true
104
- },
105
- "hardwareTargets": [
106
- {
107
- "profileId": "rtx3060_1080p60",
108
- "gpu": "RTX 3060",
109
- "cpu": "6-core reference CPU",
110
- "resolution": { "width": 1920, "height": 1080 },
111
- "targetFps": 60,
112
- "frameTimeP95Ms": 16.7,
113
- "maxRamMb": 8192,
114
- "maxVramMb": 6144,
115
- "maxDiskMb": 4096
116
- }
117
- ]
118
- }
1
+ {
2
+ "schemaVersion": "sema.interactive.temporal/v1",
3
+ "contractId": "mission.return.timeline",
4
+ "systemId": "interactive.system",
5
+ "experienceIrDigest": "sha256:1111111111111111111111111111111111111111111111111111111111111111",
6
+ "coordinateSystem": {
7
+ "unit": "meter",
8
+ "handedness": "RIGHT",
9
+ "upAxis": "Z",
10
+ "forwardAxis": "X"
11
+ },
12
+ "phases": [
13
+ {
14
+ "phaseId": "descent",
15
+ "start": 0,
16
+ "end": 600,
17
+ "timeUnit": "FRAME"
18
+ }
19
+ ],
20
+ "tracks": [
21
+ {
22
+ "trackId": "track.audio",
23
+ "type": "AUDIO",
24
+ "clips": [
25
+ {
26
+ "clipId": "clip.audio",
27
+ "phaseId": "descent",
28
+ "semanticTargetId": "audio.splash",
29
+ "start": 300,
30
+ "end": 420,
31
+ "timeUnit": "FRAME"
32
+ }
33
+ ]
34
+ },
35
+ {
36
+ "trackId": "track.event",
37
+ "type": "EVENT",
38
+ "clips": [
39
+ {
40
+ "clipId": "clip.contact",
41
+ "phaseId": "descent",
42
+ "semanticTargetId": "event.water_contact",
43
+ "start": 389,
44
+ "end": 391,
45
+ "timeUnit": "FRAME"
46
+ }
47
+ ]
48
+ }
49
+ ],
50
+ "invariants": [
51
+ {
52
+ "invariantId": "invariant.contact_before_splash",
53
+ "type": "ORDER",
54
+ "phaseId": "descent",
55
+ "trackIds": ["track.audio", "track.event"],
56
+ "subjectIds": ["vehicle.crewed", "water.surface"],
57
+ "threshold": 3,
58
+ "unit": "frame"
59
+ }
60
+ ],
61
+ "shots": [
62
+ {
63
+ "shotId": "shot.keep_capsule_visible",
64
+ "phaseId": "descent",
65
+ "cameraId": "camera.main",
66
+ "subjectIds": ["vehicle.crewed"],
67
+ "start": 0,
68
+ "end": 600,
69
+ "timeUnit": "FRAME",
70
+ "composition": "capsule centered with horizon context",
71
+ "minimumVisibilityRatio": 0.92,
72
+ "maximumJitter": 1.5
73
+ }
74
+ ],
75
+ "physics": [
76
+ {
77
+ "relationId": "physics.capsule_water_contact",
78
+ "type": "COLLISION",
79
+ "phaseId": "descent",
80
+ "sourceId": "vehicle.crewed",
81
+ "targetId": "water.surface",
82
+ "start": 380,
83
+ "end": 410,
84
+ "timeUnit": "FRAME",
85
+ "tolerance": 0.02,
86
+ "unit": "meter"
87
+ }
88
+ ],
89
+ "temporalQa": {
90
+ "checks": [
91
+ { "checkId": "qa.flicker", "type": "FLICKER", "phaseId": "descent", "threshold": 0.02, "unit": "ratio" },
92
+ { "checkId": "qa.ghosting", "type": "GHOSTING", "phaseId": "descent", "threshold": 0.03, "unit": "ratio" },
93
+ { "checkId": "qa.popping", "type": "POPPING", "phaseId": "descent", "threshold": 1, "unit": "event" },
94
+ { "checkId": "qa.exposure", "type": "EXPOSURE", "phaseId": "descent", "threshold": 0.2, "unit": "ev" },
95
+ { "checkId": "qa.jitter", "type": "JITTER", "phaseId": "descent", "threshold": 1.5, "unit": "pixel" }
96
+ ]
97
+ },
98
+ "buildAcceptance": {
99
+ "required": true,
100
+ "artifactDigest": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
101
+ "cleanInstallRequired": true,
102
+ "launchRequired": true,
103
+ "smokePlaytestRequired": true
104
+ },
105
+ "hardwareTargets": [
106
+ {
107
+ "profileId": "rtx3060_1080p60",
108
+ "gpu": "RTX 3060",
109
+ "cpu": "6-core reference CPU",
110
+ "resolution": { "width": 1920, "height": 1080 },
111
+ "targetFps": 60,
112
+ "frameTimeP95Ms": 16.7,
113
+ "maxRamMb": 8192,
114
+ "maxVramMb": 6144,
115
+ "maxDiskMb": 4096
116
+ }
117
+ ]
118
+ }