@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.
- package/README.md +265 -217
- package/dist/agentContextPack.js +14 -10
- package/dist/agentEntryPoints.d.ts +5 -0
- package/dist/agentEntryPoints.js +567 -557
- package/dist/angular-consumer-standalone.js +1 -1
- package/dist/bin.d.ts +6 -0
- package/dist/bin.js +130 -0
- package/dist/cliArgs.js +4 -4
- package/dist/cliControlError.d.ts +12 -0
- package/dist/cliControlError.js +47 -0
- package/dist/cliGrammar.d.ts +11 -0
- package/dist/cliGrammar.js +551 -0
- package/dist/cliHelp.d.ts +13 -0
- package/dist/cliHelp.js +19 -0
- package/dist/cliHelpTexto.d.ts +3 -0
- package/dist/cliHelpTexto.js +168 -0
- package/dist/cliRuntime.d.ts +2 -0
- package/dist/cliRuntime.js +31 -0
- package/dist/comandos.js +9 -22
- package/dist/contexto.js +5 -5
- package/dist/dev/index.d.ts +1 -0
- package/dist/dev/index.js +51 -9
- package/dist/discovery/catalog.js +3 -3
- package/dist/distribuicao/filesystemGlobal.d.ts +63 -0
- package/dist/distribuicao/filesystemGlobal.js +701 -0
- package/dist/distribuicao/index.d.ts +7 -0
- package/dist/distribuicao/index.js +227 -0
- package/dist/distribuicao/launcherGlobal.d.ts +53 -0
- package/dist/distribuicao/launcherGlobal.js +643 -0
- package/dist/distribuicao/launcherWindows.d.ts +28 -0
- package/dist/distribuicao/launcherWindows.js +326 -0
- package/dist/distribuicao/lockContextGlobal.d.ts +10 -0
- package/dist/distribuicao/lockContextGlobal.js +17 -0
- package/dist/distribuicao/lockGlobal.d.ts +6 -0
- package/dist/distribuicao/lockGlobal.js +520 -0
- package/dist/distribuicao/skillGlobal.d.ts +48 -0
- package/dist/distribuicao/skillGlobal.js +652 -0
- package/dist/distribuicao/skillIntentPolicy.d.ts +21 -0
- package/dist/distribuicao/skillIntentPolicy.js +115 -0
- package/dist/distribuicao/tipos.d.ts +50 -0
- package/dist/distribuicao/tipos.js +10 -0
- package/dist/distribuicao/versaoSemantica.d.ts +3 -0
- package/dist/distribuicao/versaoSemantica.js +62 -0
- package/dist/drift.part01.d.ts +26 -24
- package/dist/drift.part01.js +2 -1
- package/dist/drift.part04.d.ts +12 -3
- package/dist/drift.part04.js +88 -17
- package/dist/drift.part05.d.ts +2 -2
- package/dist/drift.part05.js +8 -6
- package/dist/drift.part06.d.ts +2 -2
- package/dist/drift.part06.js +113 -26
- package/dist/drift.part07.d.ts +11 -11
- package/dist/drift.part07.js +261 -265
- package/dist/drift.part08.d.ts +2 -2
- package/dist/drift.part08.js +35 -26
- package/dist/drift.part11.js +238 -56
- package/dist/drift.part12.d.ts +1 -1
- package/dist/drift.part12.js +193 -21
- package/dist/drift.part13.d.ts +20 -39
- package/dist/drift.part13.js +601 -647
- package/dist/drift.part14.js +21 -7
- package/dist/driftCacheCas.d.ts +43 -0
- package/dist/driftCacheCas.js +351 -0
- package/dist/driftCacheFilesystem.d.ts +64 -0
- package/dist/driftCacheFilesystem.js +313 -0
- package/dist/driftCacheModes.d.ts +38 -0
- package/dist/driftCacheModes.js +147 -0
- package/dist/driftCacheStore.d.ts +80 -0
- package/dist/driftCacheStore.js +603 -0
- package/dist/driftCatalogo.d.ts +2 -28
- package/dist/driftCatalogo.js +143 -284
- package/dist/driftEscopo.d.ts +1 -3
- package/dist/driftEscopo.js +235 -151
- package/dist/driftEscopoReferencias.d.ts +5 -1
- package/dist/driftEscopoReferencias.js +375 -28
- package/dist/driftOrcamento.d.ts +0 -6
- package/dist/driftOrcamento.js +2 -1
- package/dist/execucoesExternas.js +19 -5
- package/dist/geracaoCore.js +4 -6
- package/dist/iaPrompts.d.ts +3 -3
- package/dist/iaPrompts.js +312 -313
- package/dist/index.d.ts +4 -1
- package/dist/index.js +6 -25
- package/dist/index.part01.d.ts +20 -28
- package/dist/index.part01.js +16 -237
- package/dist/index.part02.js +36 -22
- package/dist/index.part03.d.ts +24 -2
- package/dist/index.part03.js +83 -19
- package/dist/index.part04.d.ts +10 -2
- package/dist/index.part04.js +142 -120
- package/dist/index.part05.js +80 -78
- package/dist/index.part06.js +34 -17
- package/dist/index.part07.js +7 -3
- package/dist/index.part08.d.ts +1 -1
- package/dist/index.part08.js +22 -27
- package/dist/initCommand.js +5 -1
- package/dist/initTemplatesBase.js +81 -79
- package/dist/pipelineConteudo/command.d.ts +1 -0
- package/dist/pipelineConteudo/command.js +9 -2
- package/dist/pipelineConteudo/help.d.ts +2 -0
- package/dist/pipelineConteudo/help.js +33 -0
- package/dist/profileAuthorCommand.js +3 -7
- package/dist/profileCommand.js +3 -7
- package/dist/projetoCarregar.js +35 -17
- package/dist/projetoCatalogo.d.ts +1 -0
- package/dist/projetoCatalogo.js +64 -25
- package/dist/projetoOrigens.d.ts +2 -0
- package/dist/projetoOrigens.js +65 -9
- package/dist/projetoTipos.d.ts +1 -0
- package/dist/resultadoCli.d.ts +20 -0
- package/dist/resultadoCli.js +57 -0
- package/dist/saidaCli.d.ts +35 -0
- package/dist/saidaCli.js +118 -0
- package/dist/sistemasInterativos/acceptanceEvidence.d.ts +22 -0
- package/dist/sistemasInterativos/acceptanceEvidence.js +345 -0
- package/dist/sistemasInterativos/engineObservation.d.ts +12 -0
- package/dist/sistemasInterativos/engineObservation.js +438 -0
- package/dist/sistemasInterativos/jobOrchestration.d.ts +2 -0
- package/dist/sistemasInterativos/jobOrchestration.js +204 -0
- package/dist/sistemasInterativos/operationPrimitives.d.ts +21 -0
- package/dist/sistemasInterativos/operationPrimitives.js +194 -0
- package/dist/sistemasInterativos/operations.d.ts +4 -39
- package/dist/sistemasInterativos/operations.js +5 -1164
- package/dist/skillCommand.d.ts +5 -0
- package/dist/skillCommand.js +88 -0
- package/docs/README.md +34 -30
- package/docs/ai-integration.md +25 -12
- package/docs/ai-onboarding.md +37 -18
- package/docs/ai-workflow.md +9 -7
- package/docs/cli.md +125 -7
- package/docs/commands.md +41 -20
- package/docs/deploy.md +21 -8
- package/docs/descoberta-capacidades.md +106 -106
- package/docs/documentation.md +49 -39
- package/docs/drift-cache.md +108 -0
- package/docs/getting-started.md +43 -18
- package/docs/pipeline-conteudo.md +246 -246
- package/docs/profiles.md +54 -54
- package/docs/repositories.md +19 -2
- package/docs/rollback.md +15 -8
- package/docs/security.md +25 -3
- package/docs/sistemas-interativos.md +379 -374
- package/docs/testing.md +139 -40
- package/exemplos/pipeline-conteudo/README.md +44 -44
- package/exemplos/pipeline-conteudo/alvos.json +23 -23
- package/exemplos/pipeline-conteudo/definicao.json +136 -136
- package/exemplos/profile_simulation.sema +211 -211
- package/exemplos/sistemas-interativos/README.md +100 -100
- package/exemplos/sistemas-interativos/advanced/acceptance-context-evaluate-valid.json +5 -5
- package/exemplos/sistemas-interativos/advanced/acceptance-lock-valid.json +16 -16
- package/exemplos/sistemas-interativos/advanced/asset-provenance-valid.json +32 -32
- package/exemplos/sistemas-interativos/advanced/autonomy-repair-valid.json +93 -93
- package/exemplos/sistemas-interativos/advanced/control-run-definition-valid.json +78 -78
- package/exemplos/sistemas-interativos/advanced/control-run-valid.json +27 -27
- package/exemplos/sistemas-interativos/advanced/distributed-workers-valid.json +79 -79
- package/exemplos/sistemas-interativos/advanced/editor-state-valid.json +42 -42
- package/exemplos/sistemas-interativos/advanced/engine-snapshot-after-valid.json +32 -32
- package/exemplos/sistemas-interativos/advanced/engine-snapshot-before-valid.json +23 -23
- package/exemplos/sistemas-interativos/advanced/job-orchestration-valid.json +39 -39
- package/exemplos/sistemas-interativos/advanced/multimodal-evidence-valid.json +46 -46
- package/exemplos/sistemas-interativos/advanced/multiplayer-authority-valid.json +39 -39
- package/exemplos/sistemas-interativos/advanced/playtest-fuzz-valid.json +37 -37
- package/exemplos/sistemas-interativos/advanced/portability-valid.json +104 -104
- package/exemplos/sistemas-interativos/advanced/temporal-evidence-valid.json +27 -27
- package/exemplos/sistemas-interativos/advanced/temporal-valid.json +118 -118
- package/exemplos/sistemas-interativos/experience-ir-valid.json +459 -459
- package/exemplos/sistemas-interativos/game-2d.json +83 -83
- package/exemplos/sistemas-interativos/game-3d-human.json +81 -81
- package/exemplos/sistemas-interativos/game-pixel-16-bit.json +97 -97
- package/exemplos/sistemas-interativos/game-pixel-8-bit.json +94 -94
- package/exemplos/sistemas-interativos/game-xr-human.json +80 -80
- package/exemplos/sistemas-interativos/hybrid-2-5d.json +108 -108
- package/exemplos/sistemas-interativos/protocol-mutating-rollback-valid.json +75 -75
- package/exemplos/sistemas-interativos/protocol-read-only-valid.json +58 -58
- package/exemplos/sistemas-interativos/simulation-2d-controlled.json +97 -97
- package/exemplos/sistemas-interativos/simulation-3d-calibrated-autonomous.json +141 -141
- package/exemplos/sistemas-interativos/simulation-headless-autonomous-batch.json +112 -112
- package/exemplos/sistemas-interativos/simulation-pixel-16-bit.json +103 -103
- package/exemplos/sistemas-interativos/simulation-text-controlled.json +95 -95
- package/node_modules/@sema/gerador-cpp/package.json +1 -1
- package/node_modules/@sema/gerador-dotnet/package.json +1 -1
- package/node_modules/@sema/gerador-lua/dist/index.js +51 -51
- package/node_modules/@sema/gerador-php/dist/index.js +113 -113
- package/node_modules/@sema/nucleo/dist/semantico/analisador.d.ts +1 -0
- package/node_modules/@sema/nucleo/dist/semantico/analisador.js +1 -0
- package/package.json +9 -4
- package/scripts/postinstall.mjs +148 -0
- package/skills/sema/SKILL.md +199 -0
- package/skills/sema/agents/openai.yaml +4 -0
- package/dist/driftCache.d.ts +0 -49
- package/dist/driftCache.js +0 -311
- package/dist/driftCacheIncremental.d.ts +0 -98
- package/dist/driftCacheIncremental.js +0 -596
- package/dist/driftCatalogoPersistente.d.ts +0 -8
- package/dist/driftCatalogoPersistente.js +0 -77
- package/node_modules/@sema/gerador-cpp/dist/index.js.map +0 -1
- package/node_modules/@sema/gerador-css/dist/index.js.map +0 -1
- package/node_modules/@sema/gerador-css/dist/index.part01.js.map +0 -1
- package/node_modules/@sema/gerador-css/dist/index.part02.js.map +0 -1
- package/node_modules/@sema/gerador-dart/dist/index.js.map +0 -1
- package/node_modules/@sema/gerador-dotnet/dist/index.js.map +0 -1
- package/node_modules/@sema/gerador-html/dist/index.js.map +0 -1
- package/node_modules/@sema/gerador-javascript/dist/index.js.map +0 -1
- package/node_modules/@sema/gerador-lua/dist/index.js.map +0 -1
- package/node_modules/@sema/gerador-php/dist/index.js.map +0 -1
- package/node_modules/@sema/gerador-python/dist/index.js.map +0 -1
- package/node_modules/@sema/gerador-python/dist/index.part01.js.map +0 -1
- package/node_modules/@sema/gerador-python/dist/index.part02.js.map +0 -1
- package/node_modules/@sema/gerador-typescript/dist/index.js.map +0 -1
- package/node_modules/@sema/gerador-typescript/dist/index.part01.js.map +0 -1
- package/node_modules/@sema/gerador-typescript/dist/index.part02.js.map +0 -1
- package/node_modules/@sema/gerador-typescript/dist/index.part03.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/ast/tipos.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/diagnosticos/index.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/diagnosticos/melhorador.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/diagnosticos/snippets.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/formatador/index.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/formatador/index.part01.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/formatador/index.part02.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/index.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/ir/conversor.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/ir/conversor.part01.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/ir/conversor.part02.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/ir/conversor.part03.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/ir/modelos.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/lexer/lexer.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/lexer/tokens.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/parser/parser.declaracoes.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/parser/parser.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/parser/parser.modulo.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/parser/parser.part01.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/parser/parser.part02.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/parser/parser.part03.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/persistencia/contratos.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/analisador.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part01.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part02.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part03.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part04.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part05.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part06.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part07.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part08.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/estruturas.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/estruturas.part01.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/estruturas.part02.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/orcamentoSemantico.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/seguranca.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/util/arquivos.js.map +0 -1
- package/node_modules/@sema/padroes/dist/index.js.map +0 -1
|
@@ -1,376 +1,381 @@
|
|
|
1
|
-
# AI-native Interactive Systems
|
|
2
|
-
|
|
3
|
-
Sema Interactive is the declarative control plane for games, simulations, and
|
|
4
|
-
hybrid interactive systems. The same core covers 3D, 2.5D, 2D, text, retro
|
|
5
|
-
8/16-bit presentation, XR, and headless execution.
|
|
6
|
-
|
|
7
|
-
It does not embed a game engine or silently control an editor. Sema validates
|
|
8
|
-
definitions, calculates required capabilities, selects compatible external
|
|
9
|
-
adapter descriptors, expands pipelines into evidence-bearing stages, and
|
|
10
|
-
derives non-authoritative local results. An explicitly integrated external
|
|
11
|
-
runner must perform any engine, editor, plug-in, build, verifier, or worker
|
|
12
|
-
operation.
|
|
13
|
-
|
|
14
|
-
The public CLI is a read-only control plane. It does **not** detect, probe,
|
|
15
|
-
launch, install, or control Unreal, Unity, Godot, Blender, PICO-8, TIC-80,
|
|
16
|
-
LÖVE, a browser runtime, a custom engine, a plug-in, or a distributed worker.
|
|
17
|
-
Catalog presence means only that a descriptor exists; it is not runtime
|
|
18
|
-
availability evidence.
|
|
19
|
-
|
|
20
|
-
## The dimensions are independent
|
|
21
|
-
|
|
22
|
-
An interactive definition separates concerns that are often incorrectly mixed:
|
|
23
|
-
|
|
24
|
-
| Axis | Examples |
|
|
25
|
-
| --- | --- |
|
|
26
|
-
| Kind | `GAME`, `SIMULATION`, `HYBRID` |
|
|
27
|
-
| Spatial model | `NON_SPATIAL`, `TWO_D`, `TWO_POINT_FIVE_D`, `THREE_D` |
|
|
28
|
-
| Render mode | `HEADLESS`, `TEXT`, `VISUAL`, `XR` |
|
|
29
|
-
| Visual profile | `NONE`, `PIXEL_8_BIT`, `PIXEL_16_BIT`, `RASTER`, `VECTOR`, `STYLIZED`, `REALISTIC` |
|
|
30
|
-
| Fidelity | `ARCADE`, `STYLIZED`, `SYSTEMIC`, `REALISTIC`, `CALIBRATED` |
|
|
31
|
-
| Control | human, scripted, AI, hybrid, autonomous, or uncontrolled/emergent |
|
|
32
|
-
| Time | fixed step, variable step, turn based, event driven, or accelerated |
|
|
33
|
-
| Determinism | strict, seeded, best effort, or stochastic |
|
|
34
|
-
|
|
35
|
-
`PIXEL_8_BIT` and `PIXEL_16_BIT` are visual/technical profiles, not spatial
|
|
36
|
-
dimensions or lesser product classes. A 16-bit economic simulation and a 3D
|
|
37
|
-
flight simulation use the same world/state/time/evidence core with different
|
|
38
|
-
budgets and adapters.
|
|
39
|
-
|
|
40
|
-
## Core commands
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
sema interativo capabilities --json
|
|
44
|
-
sema interativo schema --json
|
|
45
|
-
sema interativo pipelines --json
|
|
46
|
-
sema interativo adapters --spatial-model TWO_D --render-mode VISUAL --json
|
|
47
|
-
sema interativo validar exemplos/sistemas-interativos/game-pixel-16-bit.json --json
|
|
48
|
-
sema interativo planejar exemplos/sistemas-interativos/game-pixel-16-bit.json --json
|
|
49
|
-
sema interativo validar-evidencias <definition.json> [--plano-arquivo <plan.json>] --bundle-arquivo <bundle.json> --json
|
|
50
|
-
sema interativo status <definition.json> [--plano-arquivo <plan.json>] --bundle-arquivo <bundle.json> --json
|
|
51
|
-
sema interativo validar-protocolo <adapter-run.json> --json
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
Every command above is local and declarative. Responses report
|
|
55
|
-
`executed: false` and `workspaceMutated: false`. The CLI does not open an
|
|
56
|
-
engine, editor, browser runtime, or custom simulator.
|
|
57
|
-
|
|
58
|
-
`--evidencias-arquivo` is accepted as an alias for `--bundle-arquivo`. When
|
|
59
|
-
`--plano-arquivo` is omitted, the CLI recomputes the deterministic plan and
|
|
60
|
-
still rejects any bundle whose definition or plan digest does not match.
|
|
61
|
-
|
|
62
|
-
`schema` is the stable, read-only machine contract for definition generation.
|
|
63
|
-
It exposes required fields, supported enum values, cross-field constraints,
|
|
64
|
-
the capability matrix, and canonical example paths. Its advanced command map
|
|
65
|
-
links every positional/option surface to input and output schemas; each data
|
|
66
|
-
schema exposes required top-level fields and official fixtures. Each subcommand
|
|
67
|
-
has an explicit argument allowlist: unknown flags, duplicate semantic flags,
|
|
68
|
-
missing values, and invalid enum values fail closed instead of producing an
|
|
69
|
-
empty successful result.
|
|
70
|
-
|
|
71
|
-
## Advanced read-only commands
|
|
72
|
-
|
|
73
|
-
The advanced command surface exposes the same pure validators and planners to
|
|
74
|
-
AI agents. File-based commands read JSON, every command returns structured JSON,
|
|
75
|
-
and engine, editor, process, plug-in, and worker inspection remains an external
|
|
76
|
-
integration responsibility.
|
|
77
|
-
|
|
78
|
-
Experience IR:
|
|
79
|
-
|
|
80
|
-
```bash
|
|
81
|
-
sema interativo validar-ir <experience-ir.json> --json
|
|
82
|
-
sema interativo indexar-ir <experience-ir.json> --json
|
|
83
|
-
sema interativo consultar-ir <experience-ir.json> --semantic-id <id> --json
|
|
84
|
-
sema interativo chunk-ir <experience-ir.json> --semantic-id <id> [--raso] --json
|
|
85
|
-
sema interativo descrever-ir --json
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
Operational snapshots, provenance, jobs, acceptance, and multimodal evidence:
|
|
89
|
-
|
|
90
|
-
```bash
|
|
91
|
-
sema interativo validar-engine-snapshot <snapshot.json> --json
|
|
92
|
-
sema interativo diff-engine-snapshots <before.json> <after.json> --json
|
|
93
|
-
sema interativo validar-asset-provenance <provenance.json> --json
|
|
94
|
-
sema interativo validar-editor-state <editor-state.json> --json
|
|
95
|
-
sema interativo planejar-jobs <jobs.json> --json
|
|
96
|
-
sema interativo validar-acceptance <acceptance-lock.json> --json
|
|
97
|
-
sema interativo operar-acceptance <acceptance-lock.json> --operation <VALIDATE|EVALUATE|INVALIDATE> --context-file <context.json> --json
|
|
98
|
-
sema interativo validar-multimodal <evidence.json> --json
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
Time, autonomy, portability, and distributed work:
|
|
102
|
-
|
|
103
|
-
```bash
|
|
104
|
-
sema interativo validar-temporal <temporal-contract.json> --json
|
|
105
|
-
sema interativo validar-evidencia-temporal <temporal-contract.json> --bundle-arquivo <temporal-evidence.json> --json
|
|
106
|
-
sema interativo validar-autonomia <repair-cycle.json> --json
|
|
107
|
-
sema interativo validar-playtest-fuzz <playtest-fuzz.json> --json
|
|
108
|
-
sema interativo validar-multiplayer <authority-model.json> --json
|
|
109
|
-
sema interativo analisar-portabilidade <portability-plan.json> --json
|
|
110
|
-
sema interativo validar-workers <distributed-jobs.json> --json
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
These commands validate descriptions and derive plans, diffs, indexes, queries,
|
|
114
|
-
chunks, eligibility, or assignments. They do not perform the described work.
|
|
115
|
-
|
|
116
|
-
`sema interativo schema --json` publishes distinct input and output shapes for
|
|
117
|
-
all 20 extension commands. The advertised multimodal input includes claim and
|
|
118
|
-
producer/verifier bindings; autonomy includes cycle and acceptance-lock fields;
|
|
119
|
-
and `jobOrchestrationPlan` exposes `requestDigest`, `planDigest`, and an ordered
|
|
120
|
-
`queue` whose entries are the declared job assignments. Result shapes are
|
|
121
|
-
checked against the official fixtures, and every command publishes
|
|
122
|
-
`outputTargets` path segments from the payload root, so an agent never has to
|
|
123
|
-
reuse an input shape or guess where a validator's output lives.
|
|
124
|
-
|
|
125
|
-
## Bound control runs
|
|
126
|
-
|
|
127
|
-
`validar-control-run` is the fail-closed bridge from a planned pipeline to one
|
|
128
|
-
specific advanced validator invocation. It binds a strict manifest to the
|
|
129
|
-
definition digest, recomputed canonical plan, selected pipeline descriptor,
|
|
130
|
-
validation contract, schema-declared input digests, evidence, producer and
|
|
131
|
-
verifier identity, and the exact validator result. The CLI reruns the selected
|
|
132
|
-
pure validator and rejects a result, contract, input, evidence, or pipeline
|
|
133
|
-
borrowed from another run.
|
|
134
|
-
|
|
135
|
-
```bash
|
|
136
|
-
sema interativo validar-control-run <control-run.json> \
|
|
137
|
-
--definition-arquivo <definition.json> \
|
|
138
|
-
--plano-arquivo <plan.json> \
|
|
139
|
-
--contrato-arquivo <validation-contract.json> \
|
|
140
|
-
--entrada-arquivo <input.json> \
|
|
141
|
-
[--entrada-auxiliar-arquivo <supporting-input.json>] \
|
|
142
|
-
--evidencia-arquivo <evidence.json> \
|
|
143
|
-
--resultado-arquivo <result.json> \
|
|
144
|
-
--json
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
This proves deterministic local binding only. A valid control run still returns
|
|
148
|
-
`completed: false`, `authoritative: false`, and
|
|
149
|
-
`awaitingExternalAttestation: true`; it does not prove that an engine, editor,
|
|
150
|
-
worker, verifier, or external adapter actually ran.
|
|
151
|
-
|
|
152
|
-
## Experience IR
|
|
153
|
-
|
|
154
|
-
Experience IR is the engine-neutral semantic substrate below the advanced
|
|
155
|
-
pipelines. Version `sema.experience-ir/v1` models 20 kinds of project, world,
|
|
156
|
-
scene, entity, component, transform, camera, light, material, texture, audio,
|
|
157
|
-
physics, constraint, animation, VFX, timeline, input, save, network, and build
|
|
158
|
-
objects. Stable semantic IDs and explicit references make the graph queryable
|
|
159
|
-
without relying on engine-specific object paths.
|
|
160
|
-
|
|
161
|
-
The v1 kind set remains unchanged. Eight engine-neutral concepts use optional,
|
|
162
|
-
typed semantic roles in their natural containers, so existing v1 documents
|
|
163
|
-
remain valid while newer documents can expose the concepts explicitly:
|
|
164
|
-
|
|
165
|
-
| Semantic role | Typed v1 representation |
|
|
166
|
-
| --- | --- |
|
|
167
|
-
| `LEVEL` | `SCENE.semanticRole` |
|
|
168
|
-
| `PIVOT` | `TRANSFORM.semanticRole` |
|
|
169
|
-
| `COLLIDER` | `PHYSICS.colliders[]` |
|
|
170
|
-
| `EMITTER` | `VFX.emitters[]` |
|
|
171
|
-
| `TRACK` | `TIMELINE.tracks[].semanticRole` |
|
|
172
|
-
| `CLIP` | `TIMELINE.tracks[].clips[]` |
|
|
173
|
-
| `EVENT` | `TIMELINE.tracks[].events[]` |
|
|
174
|
-
| `GAME_STATE` | `SAVE.semanticRole` |
|
|
175
|
-
|
|
176
|
-
`descrever-ir` publishes this mapping as
|
|
177
|
-
`sema.experience-ir.semantic-roles/v1`. Index and chunk entries expose their
|
|
178
|
-
canonical `semanticRoles`, while node `kind` remains one of the original 20.
|
|
179
|
-
Typed clips participate in reference validation and dependency closure.
|
|
180
|
-
|
|
181
|
-
The IR declares units and coordinate systems, records asset provenance, and
|
|
182
|
-
uses content-addressed digests for deterministic indexing and chunking. JSON is
|
|
183
|
-
the native canonical serialization. CBOR is an explicitly external codec path;
|
|
184
|
-
the CLI does not pretend to encode it. Indexing, lookup, and dependency-aware
|
|
185
|
-
chunks are in-memory read-only operations. They do not import assets, convert a
|
|
186
|
-
project, materialize a scene, or execute a build.
|
|
187
|
-
|
|
188
|
-
Validation also rejects sensitive values under neutral keys, including private
|
|
189
|
-
keys, Bearer credentials, and common `sk`, `ghp`, or `github_pat` token forms,
|
|
190
|
-
as well as credential-bearing URI queries such as `access_token`, `api_key`,
|
|
191
|
-
`signature`, or `X-Amz-*`, without echoing the value or caller-controlled key
|
|
192
|
-
path. Entity and transform
|
|
193
|
-
parent graphs must be acyclic. Network nodes apply cross-field policy:
|
|
194
|
-
`OFFLINE` means `NONE`, no replicated IDs, and tick zero; `CLIENT_SERVER`
|
|
195
|
-
requires `SERVER`; `PEER_TO_PEER` accepts `OWNER` or `DISTRIBUTED`; and
|
|
196
|
-
`LOCKSTEP` requires `DISTRIBUTED`. Every online mode requires declared
|
|
197
|
-
replication and a positive integer tick rate.
|
|
198
|
-
|
|
199
|
-
## P0, P1, and P2 coverage
|
|
200
|
-
|
|
201
|
-
The advanced surface is grouped by operational responsibility, not rendering
|
|
202
|
-
style:
|
|
203
|
-
|
|
204
|
-
| Priority | Covered responsibilities |
|
|
205
|
-
| --- | --- |
|
|
206
|
-
| P0 — represent and observe | Experience IR; semantic engine snapshots and diffs; asset origin, license, hashes, transforms, and derivatives; editor-state descriptors; multimodal evidence descriptors; job budgets, locks, heartbeats, checkpoints, resume tokens, and recovery; artifact/time-bound acceptance locks. |
|
|
207
|
-
| P1 — validate behavior over time | 4D phases, tracks, clips, and invariants; shots and camera visibility; collision, attachment, and separation relations; flicker, ghosting, popping, exposure, and jitter QA; materialization, clean-install, launch, and smoke-playtest requirements; target hardware budgets. |
|
|
208
|
-
| P2 — diagnose, scale, and migrate | `diagnose -> propose -> simulate -> prove` repair cycles with safe rollback; bounded bots, fuzzing, and save/load recovery; explicit multiplayer authority and reconnect rules; versioned engine migration and cross-engine portability with declared losses; distributed worker DAGs with capabilities, leases, budgets, and checkpoints. |
|
|
209
|
-
|
|
210
|
-
All three groups apply to 3D, 2.5D, 2D, 8-bit, 16-bit, text, XR, and headless
|
|
211
|
-
games or simulations. A visual profile changes constraints and evidence needs;
|
|
212
|
-
it does not switch to a weaker governance model.
|
|
213
|
-
|
|
214
|
-
## Canonical pipelines
|
|
215
|
-
|
|
216
|
-
The canonical catalog exposes **35 unique pipelines** and **28 unique external
|
|
217
|
-
adapter descriptors**. Pipelines are reusable goals rather than one workflow
|
|
218
|
-
per rendering style.
|
|
219
|
-
|
|
220
|
-
Core pipelines:
|
|
221
|
-
|
|
222
|
-
- `interactive.prototype`
|
|
223
|
-
- `interactive.playtest`
|
|
224
|
-
- `interactive.package`
|
|
225
|
-
- `interactive.release`
|
|
226
|
-
- `interactive.replay`
|
|
227
|
-
- `interactive.calibrate`
|
|
228
|
-
- `interactive.safety`
|
|
229
|
-
- `game.balance`
|
|
230
|
-
- `game.progression`
|
|
231
|
-
- `game.multiplayer`
|
|
232
|
-
- `simulation.scenario`
|
|
233
|
-
- `simulation.batch_run`
|
|
234
|
-
- `simulation.calibrate`
|
|
235
|
-
- `simulation.validate`
|
|
236
|
-
- `simulation.safety`
|
|
237
|
-
|
|
238
|
-
P0/P1/P2 pipelines:
|
|
239
|
-
|
|
240
|
-
- `interactive.experience_ir`
|
|
241
|
-
- `interactive.observe`
|
|
242
|
-
- `interactive.asset_provenance`
|
|
243
|
-
- `interactive.editor_state`
|
|
244
|
-
- `interactive.evidence_capture`
|
|
245
|
-
- `interactive.job_recovery`
|
|
246
|
-
- `interactive.acceptance_lock`
|
|
247
|
-
- `interactive.temporal_validate`
|
|
248
|
-
- `interactive.shot_validate`
|
|
249
|
-
- `interactive.physics_validate`
|
|
250
|
-
- `interactive.temporal_qa`
|
|
251
|
-
- `interactive.clean_install_smoke`
|
|
252
|
-
- `interactive.hardware_budget`
|
|
253
|
-
- `interactive.autonomous_repair`
|
|
254
|
-
- `interactive.bot_playtest`
|
|
255
|
-
- `interactive.state_fuzz`
|
|
256
|
-
- `interactive.multiplayer_authority`
|
|
257
|
-
- `interactive.engine_migration`
|
|
258
|
-
- `interactive.portability`
|
|
259
|
-
- `interactive.distributed_jobs`
|
|
260
|
-
|
|
261
|
-
Spatial model, render mode, and visual profile influence capabilities, budgets,
|
|
262
|
-
evidence, and adapter compatibility. They do not decide the workflow goal.
|
|
263
|
-
`THREE_D + HEADLESS` is therefore valid, while `XR` requires `THREE_D`.
|
|
264
|
-
|
|
265
|
-
## Adapter boundary
|
|
266
|
-
|
|
267
|
-
Adapter descriptors represent runtime, editor, asset, build, telemetry,
|
|
268
|
-
observation, IR, autonomy, portability, or distributed-job capabilities. They
|
|
269
|
-
describe compatibility; they do not prove that an engine, editor, plug-in, or
|
|
270
|
-
worker is installed, reachable, or running.
|
|
271
|
-
|
|
272
|
-
The protocol model uses a read-only observation prefix:
|
|
273
|
-
|
|
274
|
-
```text
|
|
275
|
-
DETECT -> PROBE -> SNAPSHOT -> PLAN
|
|
276
|
-
```
|
|
277
|
-
|
|
278
|
-
Those names describe phases that an external adapter must implement; the local
|
|
279
|
-
CLI does not perform `DETECT` or `PROBE`. Read-only adapters continue with
|
|
280
|
-
`VALIDATE -> EVIDENCE`. Mutating adapters add `APPLY` and must support
|
|
281
|
-
`ROLLBACK`:
|
|
282
|
-
|
|
283
|
-
```text
|
|
284
|
-
DETECT -> PROBE -> SNAPSHOT -> PLAN -> APPLY -> VALIDATE -> EVIDENCE
|
|
285
|
-
\-> ROLLBACK on failure
|
|
286
|
-
```
|
|
287
|
-
|
|
288
|
-
Stable semantic target IDs bind every phase. A failed external mutation without
|
|
289
|
-
rollback evidence is a blocking result.
|
|
290
|
-
|
|
291
|
-
The descriptor catalog includes general targets for Unreal, Unity, Godot,
|
|
292
|
-
Blender, web canvas, LÖVE, PICO-8, TIC-80, headless runtimes, simulation
|
|
293
|
-
runners, validators, telemetry, assets, builds, operational observers, IR,
|
|
294
|
-
autonomy, portability, and distributed jobs. These are compatibility
|
|
295
|
-
descriptors, not bundled integrations, probes, detections, or installation
|
|
296
|
-
claims.
|
|
297
|
-
|
|
298
|
-
Planning is provider-aware. `adapterTargets` is an explicit composition, not a
|
|
299
|
-
decorative preference: every expanded stage capability must be supplied by at
|
|
300
|
-
least one selected compatible descriptor. An empty or partial selection
|
|
301
|
-
produces a blocked plan with deterministic candidate and
|
|
302
|
-
recommended-composition output. A telemetry descriptor cannot stand in for an
|
|
303
|
-
executor, and a generic headless descriptor cannot claim packaging capabilities
|
|
304
|
-
it does not declare.
|
|
305
|
-
|
|
306
|
-
## Evidence and operational truth
|
|
307
|
-
|
|
308
|
-
Pipeline stages declare exact evidence types. Examples include runtime boot,
|
|
309
|
-
first input, loop completion, failure state, deterministic replay, calibration,
|
|
310
|
-
tolerance comparison, package creation, packaged launch, smoke execution, and
|
|
311
|
-
rollback observation.
|
|
312
|
-
|
|
313
|
-
Compilation does not prove playability. Opening an editor does not prove a
|
|
314
|
-
simulation is valid. An editor playtest does not prove a packaged build. A
|
|
315
|
-
runner saying “success” does not replace observed evidence.
|
|
316
|
-
|
|
317
|
-
The portable evidence bundle in v1 is explicitly non-authoritative. It
|
|
318
|
-
validates binding, digests, stage coverage, stable IDs, non-empty observation
|
|
319
|
-
data, and the producing adapter ID/version against the selected provider for
|
|
320
|
-
each stage. High-assurance environments must additionally provide signed
|
|
321
|
-
envelopes, quorum, anti-replay state, and externally retained checkpoints
|
|
322
|
-
through an appropriate trust/ledger layer. Sema does not label a local JSON file
|
|
323
|
-
as a strong trust boundary.
|
|
324
|
-
|
|
325
|
-
When all local structural checks and supplied observation records pass, status
|
|
326
|
-
is `STRUCTURALLY_COMPLETE`. This is **not authoritative completion**. It means
|
|
327
|
-
only that local structural coverage is complete; it deliberately keeps
|
|
328
|
-
`completed: false`, `authoritative: false`, and
|
|
329
|
-
`awaitingExternalAttestation: true`. It does not prove that an engine ran, an
|
|
330
|
-
editor was inspected, a plug-in existed, a worker accepted a job, a package
|
|
331
|
-
launched, or an external observer attested the result.
|
|
332
|
-
|
|
333
|
-
## Semantic
|
|
334
|
-
|
|
335
|
-
The
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
-
|
|
341
|
-
|
|
342
|
-
-
|
|
343
|
-
|
|
344
|
-
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
1
|
+
# AI-native Interactive Systems
|
|
2
|
+
|
|
3
|
+
Sema Interactive is the declarative control plane for games, simulations, and
|
|
4
|
+
hybrid interactive systems. The same core covers 3D, 2.5D, 2D, text, retro
|
|
5
|
+
8/16-bit presentation, XR, and headless execution.
|
|
6
|
+
|
|
7
|
+
It does not embed a game engine or silently control an editor. Sema validates
|
|
8
|
+
definitions, calculates required capabilities, selects compatible external
|
|
9
|
+
adapter descriptors, expands pipelines into evidence-bearing stages, and
|
|
10
|
+
derives non-authoritative local results. An explicitly integrated external
|
|
11
|
+
runner must perform any engine, editor, plug-in, build, verifier, or worker
|
|
12
|
+
operation.
|
|
13
|
+
|
|
14
|
+
The public CLI is a read-only control plane. It does **not** detect, probe,
|
|
15
|
+
launch, install, or control Unreal, Unity, Godot, Blender, PICO-8, TIC-80,
|
|
16
|
+
LÖVE, a browser runtime, a custom engine, a plug-in, or a distributed worker.
|
|
17
|
+
Catalog presence means only that a descriptor exists; it is not runtime
|
|
18
|
+
availability evidence.
|
|
19
|
+
|
|
20
|
+
## The dimensions are independent
|
|
21
|
+
|
|
22
|
+
An interactive definition separates concerns that are often incorrectly mixed:
|
|
23
|
+
|
|
24
|
+
| Axis | Examples |
|
|
25
|
+
| --- | --- |
|
|
26
|
+
| Kind | `GAME`, `SIMULATION`, `HYBRID` |
|
|
27
|
+
| Spatial model | `NON_SPATIAL`, `TWO_D`, `TWO_POINT_FIVE_D`, `THREE_D` |
|
|
28
|
+
| Render mode | `HEADLESS`, `TEXT`, `VISUAL`, `XR` |
|
|
29
|
+
| Visual profile | `NONE`, `PIXEL_8_BIT`, `PIXEL_16_BIT`, `RASTER`, `VECTOR`, `STYLIZED`, `REALISTIC` |
|
|
30
|
+
| Fidelity | `ARCADE`, `STYLIZED`, `SYSTEMIC`, `REALISTIC`, `CALIBRATED` |
|
|
31
|
+
| Control | human, scripted, AI, hybrid, autonomous, or uncontrolled/emergent |
|
|
32
|
+
| Time | fixed step, variable step, turn based, event driven, or accelerated |
|
|
33
|
+
| Determinism | strict, seeded, best effort, or stochastic |
|
|
34
|
+
|
|
35
|
+
`PIXEL_8_BIT` and `PIXEL_16_BIT` are visual/technical profiles, not spatial
|
|
36
|
+
dimensions or lesser product classes. A 16-bit economic simulation and a 3D
|
|
37
|
+
flight simulation use the same world/state/time/evidence core with different
|
|
38
|
+
budgets and adapters.
|
|
39
|
+
|
|
40
|
+
## Core commands
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
sema interativo capabilities --json
|
|
44
|
+
sema interativo schema --json
|
|
45
|
+
sema interativo pipelines --json
|
|
46
|
+
sema interativo adapters --spatial-model TWO_D --render-mode VISUAL --json
|
|
47
|
+
sema interativo validar exemplos/sistemas-interativos/game-pixel-16-bit.json --json
|
|
48
|
+
sema interativo planejar exemplos/sistemas-interativos/game-pixel-16-bit.json --json
|
|
49
|
+
sema interativo validar-evidencias <definition.json> [--plano-arquivo <plan.json>] --bundle-arquivo <bundle.json> --json
|
|
50
|
+
sema interativo status <definition.json> [--plano-arquivo <plan.json>] --bundle-arquivo <bundle.json> --json
|
|
51
|
+
sema interativo validar-protocolo <adapter-run.json> --json
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Every command above is local and declarative. Responses report
|
|
55
|
+
`executed: false` and `workspaceMutated: false`. The CLI does not open an
|
|
56
|
+
engine, editor, browser runtime, or custom simulator.
|
|
57
|
+
|
|
58
|
+
`--evidencias-arquivo` is accepted as an alias for `--bundle-arquivo`. When
|
|
59
|
+
`--plano-arquivo` is omitted, the CLI recomputes the deterministic plan and
|
|
60
|
+
still rejects any bundle whose definition or plan digest does not match.
|
|
61
|
+
|
|
62
|
+
`schema` is the stable, read-only machine contract for definition generation.
|
|
63
|
+
It exposes required fields, supported enum values, cross-field constraints,
|
|
64
|
+
the capability matrix, and canonical example paths. Its advanced command map
|
|
65
|
+
links every positional/option surface to input and output schemas; each data
|
|
66
|
+
schema exposes required top-level fields and official fixtures. Each subcommand
|
|
67
|
+
has an explicit argument allowlist: unknown flags, duplicate semantic flags,
|
|
68
|
+
missing values, and invalid enum values fail closed instead of producing an
|
|
69
|
+
empty successful result.
|
|
70
|
+
|
|
71
|
+
## Advanced read-only commands
|
|
72
|
+
|
|
73
|
+
The advanced command surface exposes the same pure validators and planners to
|
|
74
|
+
AI agents. File-based commands read JSON, every command returns structured JSON,
|
|
75
|
+
and engine, editor, process, plug-in, and worker inspection remains an external
|
|
76
|
+
integration responsibility.
|
|
77
|
+
|
|
78
|
+
Experience IR:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
sema interativo validar-ir <experience-ir.json> --json
|
|
82
|
+
sema interativo indexar-ir <experience-ir.json> --json
|
|
83
|
+
sema interativo consultar-ir <experience-ir.json> --semantic-id <id> --json
|
|
84
|
+
sema interativo chunk-ir <experience-ir.json> --semantic-id <id> [--raso] --json
|
|
85
|
+
sema interativo descrever-ir --json
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Operational snapshots, provenance, jobs, acceptance, and multimodal evidence:
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
sema interativo validar-engine-snapshot <snapshot.json> --json
|
|
92
|
+
sema interativo diff-engine-snapshots <before.json> <after.json> --json
|
|
93
|
+
sema interativo validar-asset-provenance <provenance.json> --json
|
|
94
|
+
sema interativo validar-editor-state <editor-state.json> --json
|
|
95
|
+
sema interativo planejar-jobs <jobs.json> --json
|
|
96
|
+
sema interativo validar-acceptance <acceptance-lock.json> --json
|
|
97
|
+
sema interativo operar-acceptance <acceptance-lock.json> --operation <VALIDATE|EVALUATE|INVALIDATE> --context-file <context.json> --json
|
|
98
|
+
sema interativo validar-multimodal <evidence.json> --json
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Time, autonomy, portability, and distributed work:
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
sema interativo validar-temporal <temporal-contract.json> --json
|
|
105
|
+
sema interativo validar-evidencia-temporal <temporal-contract.json> --bundle-arquivo <temporal-evidence.json> --json
|
|
106
|
+
sema interativo validar-autonomia <repair-cycle.json> --json
|
|
107
|
+
sema interativo validar-playtest-fuzz <playtest-fuzz.json> --json
|
|
108
|
+
sema interativo validar-multiplayer <authority-model.json> --json
|
|
109
|
+
sema interativo analisar-portabilidade <portability-plan.json> --json
|
|
110
|
+
sema interativo validar-workers <distributed-jobs.json> --json
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
These commands validate descriptions and derive plans, diffs, indexes, queries,
|
|
114
|
+
chunks, eligibility, or assignments. They do not perform the described work.
|
|
115
|
+
|
|
116
|
+
`sema interativo schema --json` publishes distinct input and output shapes for
|
|
117
|
+
all 20 extension commands. The advertised multimodal input includes claim and
|
|
118
|
+
producer/verifier bindings; autonomy includes cycle and acceptance-lock fields;
|
|
119
|
+
and `jobOrchestrationPlan` exposes `requestDigest`, `planDigest`, and an ordered
|
|
120
|
+
`queue` whose entries are the declared job assignments. Result shapes are
|
|
121
|
+
checked against the official fixtures, and every command publishes
|
|
122
|
+
`outputTargets` path segments from the payload root, so an agent never has to
|
|
123
|
+
reuse an input shape or guess where a validator's output lives.
|
|
124
|
+
|
|
125
|
+
## Bound control runs
|
|
126
|
+
|
|
127
|
+
`validar-control-run` is the fail-closed bridge from a planned pipeline to one
|
|
128
|
+
specific advanced validator invocation. It binds a strict manifest to the
|
|
129
|
+
definition digest, recomputed canonical plan, selected pipeline descriptor,
|
|
130
|
+
validation contract, schema-declared input digests, evidence, producer and
|
|
131
|
+
verifier identity, and the exact validator result. The CLI reruns the selected
|
|
132
|
+
pure validator and rejects a result, contract, input, evidence, or pipeline
|
|
133
|
+
borrowed from another run.
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
sema interativo validar-control-run <control-run.json> \
|
|
137
|
+
--definition-arquivo <definition.json> \
|
|
138
|
+
--plano-arquivo <plan.json> \
|
|
139
|
+
--contrato-arquivo <validation-contract.json> \
|
|
140
|
+
--entrada-arquivo <input.json> \
|
|
141
|
+
[--entrada-auxiliar-arquivo <supporting-input.json>] \
|
|
142
|
+
--evidencia-arquivo <evidence.json> \
|
|
143
|
+
--resultado-arquivo <result.json> \
|
|
144
|
+
--json
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
This proves deterministic local binding only. A valid control run still returns
|
|
148
|
+
`completed: false`, `authoritative: false`, and
|
|
149
|
+
`awaitingExternalAttestation: true`; it does not prove that an engine, editor,
|
|
150
|
+
worker, verifier, or external adapter actually ran.
|
|
151
|
+
|
|
152
|
+
## Experience IR
|
|
153
|
+
|
|
154
|
+
Experience IR is the engine-neutral semantic substrate below the advanced
|
|
155
|
+
pipelines. Version `sema.experience-ir/v1` models 20 kinds of project, world,
|
|
156
|
+
scene, entity, component, transform, camera, light, material, texture, audio,
|
|
157
|
+
physics, constraint, animation, VFX, timeline, input, save, network, and build
|
|
158
|
+
objects. Stable semantic IDs and explicit references make the graph queryable
|
|
159
|
+
without relying on engine-specific object paths.
|
|
160
|
+
|
|
161
|
+
The v1 kind set remains unchanged. Eight engine-neutral concepts use optional,
|
|
162
|
+
typed semantic roles in their natural containers, so existing v1 documents
|
|
163
|
+
remain valid while newer documents can expose the concepts explicitly:
|
|
164
|
+
|
|
165
|
+
| Semantic role | Typed v1 representation |
|
|
166
|
+
| --- | --- |
|
|
167
|
+
| `LEVEL` | `SCENE.semanticRole` |
|
|
168
|
+
| `PIVOT` | `TRANSFORM.semanticRole` |
|
|
169
|
+
| `COLLIDER` | `PHYSICS.colliders[]` |
|
|
170
|
+
| `EMITTER` | `VFX.emitters[]` |
|
|
171
|
+
| `TRACK` | `TIMELINE.tracks[].semanticRole` |
|
|
172
|
+
| `CLIP` | `TIMELINE.tracks[].clips[]` |
|
|
173
|
+
| `EVENT` | `TIMELINE.tracks[].events[]` |
|
|
174
|
+
| `GAME_STATE` | `SAVE.semanticRole` |
|
|
175
|
+
|
|
176
|
+
`descrever-ir` publishes this mapping as
|
|
177
|
+
`sema.experience-ir.semantic-roles/v1`. Index and chunk entries expose their
|
|
178
|
+
canonical `semanticRoles`, while node `kind` remains one of the original 20.
|
|
179
|
+
Typed clips participate in reference validation and dependency closure.
|
|
180
|
+
|
|
181
|
+
The IR declares units and coordinate systems, records asset provenance, and
|
|
182
|
+
uses content-addressed digests for deterministic indexing and chunking. JSON is
|
|
183
|
+
the native canonical serialization. CBOR is an explicitly external codec path;
|
|
184
|
+
the CLI does not pretend to encode it. Indexing, lookup, and dependency-aware
|
|
185
|
+
chunks are in-memory read-only operations. They do not import assets, convert a
|
|
186
|
+
project, materialize a scene, or execute a build.
|
|
187
|
+
|
|
188
|
+
Validation also rejects sensitive values under neutral keys, including private
|
|
189
|
+
keys, Bearer credentials, and common `sk`, `ghp`, or `github_pat` token forms,
|
|
190
|
+
as well as credential-bearing URI queries such as `access_token`, `api_key`,
|
|
191
|
+
`signature`, or `X-Amz-*`, without echoing the value or caller-controlled key
|
|
192
|
+
path. Entity and transform
|
|
193
|
+
parent graphs must be acyclic. Network nodes apply cross-field policy:
|
|
194
|
+
`OFFLINE` means `NONE`, no replicated IDs, and tick zero; `CLIENT_SERVER`
|
|
195
|
+
requires `SERVER`; `PEER_TO_PEER` accepts `OWNER` or `DISTRIBUTED`; and
|
|
196
|
+
`LOCKSTEP` requires `DISTRIBUTED`. Every online mode requires declared
|
|
197
|
+
replication and a positive integer tick rate.
|
|
198
|
+
|
|
199
|
+
## P0, P1, and P2 coverage
|
|
200
|
+
|
|
201
|
+
The advanced surface is grouped by operational responsibility, not rendering
|
|
202
|
+
style:
|
|
203
|
+
|
|
204
|
+
| Priority | Covered responsibilities |
|
|
205
|
+
| --- | --- |
|
|
206
|
+
| P0 — represent and observe | Experience IR; semantic engine snapshots and diffs; asset origin, license, hashes, transforms, and derivatives; editor-state descriptors; multimodal evidence descriptors; job budgets, locks, heartbeats, checkpoints, resume tokens, and recovery; artifact/time-bound acceptance locks. |
|
|
207
|
+
| P1 — validate behavior over time | 4D phases, tracks, clips, and invariants; shots and camera visibility; collision, attachment, and separation relations; flicker, ghosting, popping, exposure, and jitter QA; materialization, clean-install, launch, and smoke-playtest requirements; target hardware budgets. |
|
|
208
|
+
| P2 — diagnose, scale, and migrate | `diagnose -> propose -> simulate -> prove` repair cycles with safe rollback; bounded bots, fuzzing, and save/load recovery; explicit multiplayer authority and reconnect rules; versioned engine migration and cross-engine portability with declared losses; distributed worker DAGs with capabilities, leases, budgets, and checkpoints. |
|
|
209
|
+
|
|
210
|
+
All three groups apply to 3D, 2.5D, 2D, 8-bit, 16-bit, text, XR, and headless
|
|
211
|
+
games or simulations. A visual profile changes constraints and evidence needs;
|
|
212
|
+
it does not switch to a weaker governance model.
|
|
213
|
+
|
|
214
|
+
## Canonical pipelines
|
|
215
|
+
|
|
216
|
+
The canonical catalog exposes **35 unique pipelines** and **28 unique external
|
|
217
|
+
adapter descriptors**. Pipelines are reusable goals rather than one workflow
|
|
218
|
+
per rendering style.
|
|
219
|
+
|
|
220
|
+
Core pipelines:
|
|
221
|
+
|
|
222
|
+
- `interactive.prototype`
|
|
223
|
+
- `interactive.playtest`
|
|
224
|
+
- `interactive.package`
|
|
225
|
+
- `interactive.release`
|
|
226
|
+
- `interactive.replay`
|
|
227
|
+
- `interactive.calibrate`
|
|
228
|
+
- `interactive.safety`
|
|
229
|
+
- `game.balance`
|
|
230
|
+
- `game.progression`
|
|
231
|
+
- `game.multiplayer`
|
|
232
|
+
- `simulation.scenario`
|
|
233
|
+
- `simulation.batch_run`
|
|
234
|
+
- `simulation.calibrate`
|
|
235
|
+
- `simulation.validate`
|
|
236
|
+
- `simulation.safety`
|
|
237
|
+
|
|
238
|
+
P0/P1/P2 pipelines:
|
|
239
|
+
|
|
240
|
+
- `interactive.experience_ir`
|
|
241
|
+
- `interactive.observe`
|
|
242
|
+
- `interactive.asset_provenance`
|
|
243
|
+
- `interactive.editor_state`
|
|
244
|
+
- `interactive.evidence_capture`
|
|
245
|
+
- `interactive.job_recovery`
|
|
246
|
+
- `interactive.acceptance_lock`
|
|
247
|
+
- `interactive.temporal_validate`
|
|
248
|
+
- `interactive.shot_validate`
|
|
249
|
+
- `interactive.physics_validate`
|
|
250
|
+
- `interactive.temporal_qa`
|
|
251
|
+
- `interactive.clean_install_smoke`
|
|
252
|
+
- `interactive.hardware_budget`
|
|
253
|
+
- `interactive.autonomous_repair`
|
|
254
|
+
- `interactive.bot_playtest`
|
|
255
|
+
- `interactive.state_fuzz`
|
|
256
|
+
- `interactive.multiplayer_authority`
|
|
257
|
+
- `interactive.engine_migration`
|
|
258
|
+
- `interactive.portability`
|
|
259
|
+
- `interactive.distributed_jobs`
|
|
260
|
+
|
|
261
|
+
Spatial model, render mode, and visual profile influence capabilities, budgets,
|
|
262
|
+
evidence, and adapter compatibility. They do not decide the workflow goal.
|
|
263
|
+
`THREE_D + HEADLESS` is therefore valid, while `XR` requires `THREE_D`.
|
|
264
|
+
|
|
265
|
+
## Adapter boundary
|
|
266
|
+
|
|
267
|
+
Adapter descriptors represent runtime, editor, asset, build, telemetry,
|
|
268
|
+
observation, IR, autonomy, portability, or distributed-job capabilities. They
|
|
269
|
+
describe compatibility; they do not prove that an engine, editor, plug-in, or
|
|
270
|
+
worker is installed, reachable, or running.
|
|
271
|
+
|
|
272
|
+
The protocol model uses a read-only observation prefix:
|
|
273
|
+
|
|
274
|
+
```text
|
|
275
|
+
DETECT -> PROBE -> SNAPSHOT -> PLAN
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
Those names describe phases that an external adapter must implement; the local
|
|
279
|
+
CLI does not perform `DETECT` or `PROBE`. Read-only adapters continue with
|
|
280
|
+
`VALIDATE -> EVIDENCE`. Mutating adapters add `APPLY` and must support
|
|
281
|
+
`ROLLBACK`:
|
|
282
|
+
|
|
283
|
+
```text
|
|
284
|
+
DETECT -> PROBE -> SNAPSHOT -> PLAN -> APPLY -> VALIDATE -> EVIDENCE
|
|
285
|
+
\-> ROLLBACK on failure
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
Stable semantic target IDs bind every phase. A failed external mutation without
|
|
289
|
+
rollback evidence is a blocking result.
|
|
290
|
+
|
|
291
|
+
The descriptor catalog includes general targets for Unreal, Unity, Godot,
|
|
292
|
+
Blender, web canvas, LÖVE, PICO-8, TIC-80, headless runtimes, simulation
|
|
293
|
+
runners, validators, telemetry, assets, builds, operational observers, IR,
|
|
294
|
+
autonomy, portability, and distributed jobs. These are compatibility
|
|
295
|
+
descriptors, not bundled integrations, probes, detections, or installation
|
|
296
|
+
claims.
|
|
297
|
+
|
|
298
|
+
Planning is provider-aware. `adapterTargets` is an explicit composition, not a
|
|
299
|
+
decorative preference: every expanded stage capability must be supplied by at
|
|
300
|
+
least one selected compatible descriptor. An empty or partial selection
|
|
301
|
+
produces a blocked plan with deterministic candidate and
|
|
302
|
+
recommended-composition output. A telemetry descriptor cannot stand in for an
|
|
303
|
+
executor, and a generic headless descriptor cannot claim packaging capabilities
|
|
304
|
+
it does not declare.
|
|
305
|
+
|
|
306
|
+
## Evidence and operational truth
|
|
307
|
+
|
|
308
|
+
Pipeline stages declare exact evidence types. Examples include runtime boot,
|
|
309
|
+
first input, loop completion, failure state, deterministic replay, calibration,
|
|
310
|
+
tolerance comparison, package creation, packaged launch, smoke execution, and
|
|
311
|
+
rollback observation.
|
|
312
|
+
|
|
313
|
+
Compilation does not prove playability. Opening an editor does not prove a
|
|
314
|
+
simulation is valid. An editor playtest does not prove a packaged build. A
|
|
315
|
+
runner saying “success” does not replace observed evidence.
|
|
316
|
+
|
|
317
|
+
The portable evidence bundle in v1 is explicitly non-authoritative. It
|
|
318
|
+
validates binding, digests, stage coverage, stable IDs, non-empty observation
|
|
319
|
+
data, and the producing adapter ID/version against the selected provider for
|
|
320
|
+
each stage. High-assurance environments must additionally provide signed
|
|
321
|
+
envelopes, quorum, anti-replay state, and externally retained checkpoints
|
|
322
|
+
through an appropriate trust/ledger layer. Sema does not label a local JSON file
|
|
323
|
+
as a strong trust boundary.
|
|
324
|
+
|
|
325
|
+
When all local structural checks and supplied observation records pass, status
|
|
326
|
+
is `STRUCTURALLY_COMPLETE`. This is **not authoritative completion**. It means
|
|
327
|
+
only that local structural coverage is complete; it deliberately keeps
|
|
328
|
+
`completed: false`, `authoritative: false`, and
|
|
329
|
+
`awaitingExternalAttestation: true`. It does not prove that an engine ran, an
|
|
330
|
+
editor was inspected, a plug-in existed, a worker accepted a job, a package
|
|
331
|
+
launched, or an external observer attested the result.
|
|
332
|
+
|
|
333
|
+
## Semantic responsibility split
|
|
334
|
+
|
|
335
|
+
The operational surface is divided by responsibility while preserving
|
|
336
|
+
`operations.ts` as the stable explicit export facade:
|
|
337
|
+
|
|
338
|
+
- `operationPrimitives.ts` contains shared validation, canonicalization, digest,
|
|
339
|
+
and evidence primitives;
|
|
340
|
+
- `engineObservation.ts` owns engine snapshots, semantic diffs, asset
|
|
341
|
+
provenance, and editor-state observation;
|
|
342
|
+
- `jobOrchestration.ts` owns queues, locks, budgets, leases, checkpoints, and
|
|
343
|
+
recovery planning;
|
|
344
|
+
- `acceptanceEvidence.ts` owns acceptance locks, invalidation, and multimodal
|
|
345
|
+
claim evidence.
|
|
346
|
+
|
|
347
|
+
The contracts follow the same boundaries through
|
|
348
|
+
`sistemas_interativos_operacao.sema`,
|
|
349
|
+
`sistemas_interativos_observacao_engine.sema`,
|
|
350
|
+
`sistemas_interativos_orquestracao_jobs.sema`, and
|
|
351
|
+
`sistemas_interativos_acceptance_evidencias.sema`. The installed-package smoke
|
|
352
|
+
also keeps one stable orchestrator and one isolated installation, delegating
|
|
353
|
+
public-boundary security, Codex bootstrap, content-pipeline compatibility,
|
|
354
|
+
interactive systems, and generated toolchains to named helpers under
|
|
355
|
+
`scripts/cli-publico/`.
|
|
351
356
|
|
|
352
357
|
This is a responsibility split, not a numbered-file workaround. Existing
|
|
353
|
-
exports, schema versions, fixtures, digests, and fail-closed behavior
|
|
354
|
-
backward compatible
|
|
355
|
-
|
|
356
|
-
## Fidelity rules
|
|
357
|
-
|
|
358
|
-
Visual realism and model validity are separate. A `REALISTIC` or `CALIBRATED`
|
|
359
|
-
simulation must declare reference data, units, calibration method, tolerances,
|
|
360
|
-
uncertainty, and telemetry. A photorealistic scene without those items is only
|
|
361
|
-
photorealistic, not a validated simulation.
|
|
362
|
-
|
|
363
|
-
Strict or seeded determinism requires a seed, snapshots, event log, reproducible
|
|
364
|
-
step model, and replay result digest. Autonomous or uncontrolled systems require
|
|
365
|
-
stopping criteria, boundaries, and safety evidence.
|
|
366
|
-
|
|
367
|
-
## Examples
|
|
368
|
-
|
|
369
|
-
The fixtures under `exemplos/sistemas-interativos/` deliberately cover opposing
|
|
370
|
-
cases: human-controlled retro games, 2D simulations, 3D calibrated simulations,
|
|
371
|
-
and autonomous headless batch execution. The `advanced/` fixtures mirror the
|
|
372
|
-
public schemas for IR-adjacent operations, temporal validation, autonomy,
|
|
373
|
-
multiplayer authority, portability, distributed jobs, and fully bound control
|
|
374
|
-
runs. They are synthetic validation inputs, not captured runtime evidence. The coverage matrix proves
|
|
375
|
-
that kind, spatial model, render mode, visual profile, control, fidelity, and
|
|
376
|
-
runtime are composable rather than hardcoded around one showcase project.
|
|
358
|
+
exports, schema versions, fixtures, digests, and fail-closed behavior remain
|
|
359
|
+
backward compatible across the facades.
|
|
360
|
+
|
|
361
|
+
## Fidelity rules
|
|
362
|
+
|
|
363
|
+
Visual realism and model validity are separate. A `REALISTIC` or `CALIBRATED`
|
|
364
|
+
simulation must declare reference data, units, calibration method, tolerances,
|
|
365
|
+
uncertainty, and telemetry. A photorealistic scene without those items is only
|
|
366
|
+
photorealistic, not a validated simulation.
|
|
367
|
+
|
|
368
|
+
Strict or seeded determinism requires a seed, snapshots, event log, reproducible
|
|
369
|
+
step model, and replay result digest. Autonomous or uncontrolled systems require
|
|
370
|
+
stopping criteria, boundaries, and safety evidence.
|
|
371
|
+
|
|
372
|
+
## Examples
|
|
373
|
+
|
|
374
|
+
The fixtures under `exemplos/sistemas-interativos/` deliberately cover opposing
|
|
375
|
+
cases: human-controlled retro games, 2D simulations, 3D calibrated simulations,
|
|
376
|
+
and autonomous headless batch execution. The `advanced/` fixtures mirror the
|
|
377
|
+
public schemas for IR-adjacent operations, temporal validation, autonomy,
|
|
378
|
+
multiplayer authority, portability, distributed jobs, and fully bound control
|
|
379
|
+
runs. They are synthetic validation inputs, not captured runtime evidence. The coverage matrix proves
|
|
380
|
+
that kind, spatial model, render mode, visual profile, control, fidelity, and
|
|
381
|
+
runtime are composable rather than hardcoded around one showcase project.
|