@semacode/cli 1.5.28 → 1.5.29
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/AGENTS.md +279 -265
- package/AGENT_CONTEXT_PACK.json +164 -0
- package/README.md +144 -144
- package/SEMA_BRIEF.curto.txt +7 -7
- package/SEMA_BRIEF.md +464 -65
- package/SEMA_BRIEF.micro.txt +6 -6
- package/SEMA_INDEX.json +6723 -669
- package/dist/bridge.d.ts +52 -0
- package/dist/bridge.js +318 -0
- package/dist/bridge.js.map +1 -0
- package/dist/comandos.d.ts +11 -0
- package/dist/comandos.js +110 -0
- package/dist/comandos.js.map +1 -0
- package/dist/contexto.d.ts +34 -0
- package/dist/contexto.js +197 -0
- package/dist/contexto.js.map +1 -0
- package/dist/drift.d.ts +1 -1
- package/dist/drift.js +32 -5
- package/dist/drift.js.map +1 -1
- package/dist/index.js +391 -64
- package/dist/index.js.map +1 -1
- package/dist/lua-symbols.d.ts +0 -6
- package/dist/lua-symbols.js +11 -78
- package/dist/lua-symbols.js.map +1 -1
- package/dist/projeto.js +6 -0
- package/dist/projeto.js.map +1 -1
- package/dist/tipos.d.ts +1 -1
- package/docs/AGENT_STARTER.md +109 -109
- package/docs/api.md +82 -0
- package/docs/cli.md +175 -175
- package/docs/como-ensinar-a-sema-para-ia.md +155 -155
- package/docs/deploy.md +93 -93
- package/docs/documentacao.md +88 -88
- package/docs/env.md +105 -105
- package/docs/extensao-vscode.md +53 -53
- package/docs/fluxo-pratico-ia-sema.md +187 -187
- package/docs/instalacao-e-primeiro-uso.md +134 -134
- package/docs/integracao-com-ia.md +110 -110
- package/docs/mcp.md +292 -292
- package/docs/pagamento-ponta-a-ponta.md +171 -171
- package/docs/persistencia-vendor-first.md +151 -151
- package/docs/prompt-base-ia-sema.md +111 -111
- package/docs/repositories.md +54 -54
- package/docs/rollback.md +49 -49
- package/docs/seguranca.md +126 -126
- package/docs/sintaxe.md +218 -218
- package/exemplos/author_obra_comum.sema +294 -294
- package/exemplos/author_tema_sensivel.sema +264 -264
- package/exemplos/profile_game.sema +114 -114
- package/exemplos/profile_legal.sema +105 -105
- package/exemplos/profile_ops.sema +110 -110
- package/exemplos/profile_research.sema +104 -104
- package/exemplos/profile_software.sema +123 -123
- package/exemplos/profile_workflow_n8n.sema +99 -99
- package/llms-full.txt +10 -9
- package/llms.txt +8 -7
- package/node_modules/@sema/gerador-css/package.json +1 -1
- package/node_modules/@sema/gerador-dart/package.json +1 -1
- package/node_modules/@sema/gerador-html/package.json +1 -1
- package/node_modules/@sema/gerador-javascript/package.json +1 -1
- package/node_modules/@sema/gerador-lua/package.json +1 -1
- package/node_modules/@sema/gerador-python/package.json +1 -1
- package/node_modules/@sema/gerador-typescript/package.json +1 -1
- package/node_modules/@sema/nucleo/dist/ast/tipos.d.ts +1 -1
- package/node_modules/@sema/nucleo/dist/index.d.ts +17 -0
- package/node_modules/@sema/nucleo/dist/index.js +28 -0
- package/node_modules/@sema/nucleo/dist/index.js.map +1 -1
- package/node_modules/@sema/nucleo/dist/ir/conversor.js +4 -0
- package/node_modules/@sema/nucleo/dist/ir/conversor.js.map +1 -1
- package/node_modules/@sema/nucleo/dist/ir/modelos.d.ts +3 -3
- package/node_modules/@sema/nucleo/dist/parser/parser.js +2 -0
- package/node_modules/@sema/nucleo/dist/parser/parser.js.map +1 -1
- package/node_modules/@sema/nucleo/dist/semantico/analisador.d.ts +2 -2
- package/node_modules/@sema/nucleo/dist/semantico/analisador.js +3 -1
- package/node_modules/@sema/nucleo/dist/semantico/analisador.js.map +1 -1
- package/node_modules/@sema/nucleo/package.json +1 -1
- package/node_modules/@sema/padroes/package.json +1 -1
- package/package.json +11 -10
- package/dist/php-symbols.d.ts +0 -24
- package/dist/php-symbols.js +0 -375
- package/dist/php-symbols.js.map +0 -1
|
@@ -1,264 +1,264 @@
|
|
|
1
|
-
module exemplos.author.tema_sensivel {
|
|
2
|
-
docs {
|
|
3
|
-
resumo: "Starter publico do Sema Author para obra com tema sensivel, exigindo publico, fontes, limites, agentes e fluxo de revisao."
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
type FonteAuthor {
|
|
7
|
-
fields {
|
|
8
|
-
nome: Texto
|
|
9
|
-
tipo: Texto
|
|
10
|
-
confianca: Texto
|
|
11
|
-
limite_uso: Texto
|
|
12
|
-
}
|
|
13
|
-
invariants {
|
|
14
|
-
nome existe
|
|
15
|
-
tipo existe
|
|
16
|
-
confianca existe
|
|
17
|
-
limite_uso existe
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
type AgentAuthor {
|
|
22
|
-
fields {
|
|
23
|
-
nome: Texto
|
|
24
|
-
papel: Texto
|
|
25
|
-
permissao: Texto
|
|
26
|
-
}
|
|
27
|
-
invariants {
|
|
28
|
-
nome existe
|
|
29
|
-
papel existe
|
|
30
|
-
permissao existe
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
enum PublicoSensivel {
|
|
35
|
-
ADULTO,
|
|
36
|
-
TECNICO,
|
|
37
|
-
COMUNIDADE_AFETADA
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
enum StatusSensivel {
|
|
41
|
-
BLOQUEADO,
|
|
42
|
-
BRIEFING,
|
|
43
|
-
REVISAO_FONTES,
|
|
44
|
-
REVISAO_SENSIBILIDADE,
|
|
45
|
-
PUBLICAVEL
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
task declarar_tema_sensivel {
|
|
49
|
-
input {
|
|
50
|
-
obra: Texto required
|
|
51
|
-
publico: PublicoSensivel required
|
|
52
|
-
tema: Texto required
|
|
53
|
-
fontes: Lista required
|
|
54
|
-
limites: Lista required
|
|
55
|
-
}
|
|
56
|
-
output {
|
|
57
|
-
status: StatusSensivel
|
|
58
|
-
fontes_validas: Booleano
|
|
59
|
-
limites_explicitos: Booleano
|
|
60
|
-
}
|
|
61
|
-
rules {
|
|
62
|
-
obra deve_ser preenchido
|
|
63
|
-
publico deve_ser valido
|
|
64
|
-
tema deve_ser preenchido
|
|
65
|
-
fontes deve_ser nao_vazio
|
|
66
|
-
limites deve_ser nao_vazio
|
|
67
|
-
}
|
|
68
|
-
effects {
|
|
69
|
-
auditoria author_tema_sensivel criticidade = alta
|
|
70
|
-
}
|
|
71
|
-
authz {
|
|
72
|
-
escopo: author.tema_sensivel.declarar
|
|
73
|
-
tenant: opcional
|
|
74
|
-
}
|
|
75
|
-
dados {
|
|
76
|
-
classificacao_padrao: interno
|
|
77
|
-
redacao_log: obrigatoria
|
|
78
|
-
}
|
|
79
|
-
audit {
|
|
80
|
-
evento: author.tema_sensivel.declarado
|
|
81
|
-
ator: auth.agente
|
|
82
|
-
correlacao: request_id
|
|
83
|
-
retencao: "180d"
|
|
84
|
-
motivo: obrigatorio
|
|
85
|
-
}
|
|
86
|
-
forbidden {
|
|
87
|
-
publico_indefinido
|
|
88
|
-
fontes_inventadas
|
|
89
|
-
limite_implicito
|
|
90
|
-
sensibilidade_sem_revisor
|
|
91
|
-
}
|
|
92
|
-
vinculos {
|
|
93
|
-
arquivo: "docs/profiles-author-agents-flow.md"
|
|
94
|
-
}
|
|
95
|
-
execucao {
|
|
96
|
-
idempotencia: verdadeiro
|
|
97
|
-
timeout: "15s"
|
|
98
|
-
retry: "nenhum"
|
|
99
|
-
criticidade_operacional: alta
|
|
100
|
-
}
|
|
101
|
-
guarantees {
|
|
102
|
-
status em [BRIEFING, REVISAO_FONTES]
|
|
103
|
-
fontes_validas == verdadeiro
|
|
104
|
-
limites_explicitos == verdadeiro
|
|
105
|
-
}
|
|
106
|
-
tests {
|
|
107
|
-
caso "tema sensivel com fonte e limite" {
|
|
108
|
-
given {
|
|
109
|
-
obra: "Relato Documental"
|
|
110
|
-
publico: "ADULTO"
|
|
111
|
-
tema: "violencia_historica"
|
|
112
|
-
fontes: "arquivo_publico"
|
|
113
|
-
limites: "nao_romantizar_dano"
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
expect {
|
|
117
|
-
sucesso: verdadeiro
|
|
118
|
-
fontes_validas: verdadeiro
|
|
119
|
-
limites_explicitos: verdadeiro
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
task montar_agents_author {
|
|
126
|
-
input {
|
|
127
|
-
planejador: Texto required
|
|
128
|
-
editor: Texto required
|
|
129
|
-
revisor_cliche: Texto required
|
|
130
|
-
sensitivity_reviewer: Texto required
|
|
131
|
-
}
|
|
132
|
-
output {
|
|
133
|
-
agents: Lista
|
|
134
|
-
pronto_para_flow: Booleano
|
|
135
|
-
}
|
|
136
|
-
rules {
|
|
137
|
-
planejador deve_ser preenchido
|
|
138
|
-
editor deve_ser preenchido
|
|
139
|
-
revisor_cliche deve_ser preenchido
|
|
140
|
-
sensitivity_reviewer deve_ser preenchido
|
|
141
|
-
}
|
|
142
|
-
effects {
|
|
143
|
-
auditoria author_agents criticidade = media
|
|
144
|
-
}
|
|
145
|
-
forbidden {
|
|
146
|
-
agent_sem_papel
|
|
147
|
-
sensitivity_reviewer_ausente
|
|
148
|
-
agente_sem_limite
|
|
149
|
-
}
|
|
150
|
-
execucao {
|
|
151
|
-
idempotencia: verdadeiro
|
|
152
|
-
timeout: "10s"
|
|
153
|
-
criticidade_operacional: media
|
|
154
|
-
}
|
|
155
|
-
guarantees {
|
|
156
|
-
agents existe
|
|
157
|
-
pronto_para_flow == verdadeiro
|
|
158
|
-
}
|
|
159
|
-
tests {
|
|
160
|
-
caso "agents sensiveis completos" {
|
|
161
|
-
given {
|
|
162
|
-
planejador: "planejador"
|
|
163
|
-
editor: "editor"
|
|
164
|
-
revisor_cliche: "anti_cliche"
|
|
165
|
-
sensitivity_reviewer: "revisor_sensibilidade"
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
expect {
|
|
169
|
-
sucesso: verdadeiro
|
|
170
|
-
pronto_para_flow: verdadeiro
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
task validar_entrega_sensivel {
|
|
177
|
-
input {
|
|
178
|
-
texto: Texto required
|
|
179
|
-
fontes_lidas: Booleano required
|
|
180
|
-
revisao_sensibilidade: Booleano required
|
|
181
|
-
dano_mitigado: Booleano required
|
|
182
|
-
}
|
|
183
|
-
output {
|
|
184
|
-
status: StatusSensivel
|
|
185
|
-
bloqueios: Lista
|
|
186
|
-
}
|
|
187
|
-
rules {
|
|
188
|
-
texto deve_ser preenchido
|
|
189
|
-
fontes_lidas deve_ser verdadeiro
|
|
190
|
-
revisao_sensibilidade deve_ser verdadeiro
|
|
191
|
-
dano_mitigado deve_ser verdadeiro
|
|
192
|
-
}
|
|
193
|
-
effects {
|
|
194
|
-
auditoria author_entrega_sensivel criticidade = alta
|
|
195
|
-
}
|
|
196
|
-
authz {
|
|
197
|
-
escopo: author.tema_sensivel.validar
|
|
198
|
-
tenant: opcional
|
|
199
|
-
}
|
|
200
|
-
dados {
|
|
201
|
-
classificacao_padrao: interno
|
|
202
|
-
redacao_log: obrigatoria
|
|
203
|
-
}
|
|
204
|
-
audit {
|
|
205
|
-
evento: author.tema_sensivel.entrega_validada
|
|
206
|
-
ator: auth.agente
|
|
207
|
-
correlacao: request_id
|
|
208
|
-
retencao: "180d"
|
|
209
|
-
motivo: obrigatorio
|
|
210
|
-
}
|
|
211
|
-
forbidden {
|
|
212
|
-
publicar_sem_fontes_lidas
|
|
213
|
-
publicar_sem_revisao_sensibilidade
|
|
214
|
-
estetizar_sofrimento
|
|
215
|
-
atribuir_fala_a_grupo_sem_base
|
|
216
|
-
}
|
|
217
|
-
vinculos {
|
|
218
|
-
arquivo: "docs/profiles-author-agents-flow.md"
|
|
219
|
-
}
|
|
220
|
-
execucao {
|
|
221
|
-
idempotencia: verdadeiro
|
|
222
|
-
timeout: "15s"
|
|
223
|
-
criticidade_operacional: alta
|
|
224
|
-
}
|
|
225
|
-
guarantees {
|
|
226
|
-
status em [REVISAO_SENSIBILIDADE, PUBLICAVEL]
|
|
227
|
-
bloqueios existe
|
|
228
|
-
}
|
|
229
|
-
tests {
|
|
230
|
-
caso "entrega sensivel publicavel" {
|
|
231
|
-
given {
|
|
232
|
-
texto: "cena revisada"
|
|
233
|
-
fontes_lidas: verdadeiro
|
|
234
|
-
revisao_sensibilidade: verdadeiro
|
|
235
|
-
dano_mitigado: verdadeiro
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
expect {
|
|
239
|
-
sucesso: verdadeiro
|
|
240
|
-
status: "PUBLICAVEL"
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
flow author_flow_tema_sensivel {
|
|
247
|
-
obra: Texto
|
|
248
|
-
publico: PublicoSensivel
|
|
249
|
-
tema: Texto
|
|
250
|
-
fontes: Lista
|
|
251
|
-
limites: Lista
|
|
252
|
-
planejador: Texto
|
|
253
|
-
editor: Texto
|
|
254
|
-
revisor_cliche: Texto
|
|
255
|
-
sensitivity_reviewer: Texto
|
|
256
|
-
texto: Texto
|
|
257
|
-
etapa tema usa declarar_tema_sensivel com obra = obra, publico = publico, tema = tema, fontes = fontes, limites = limites
|
|
258
|
-
etapa agents usa montar_agents_author com planejador = planejador, editor = editor, revisor_cliche = revisor_cliche, sensitivity_reviewer = sensitivity_reviewer depende_de tema
|
|
259
|
-
etapa entrega usa validar_entrega_sensivel com texto = texto, fontes_lidas = verdadeiro, revisao_sensibilidade = verdadeiro, dano_mitigado = verdadeiro depende_de agents
|
|
260
|
-
effects {
|
|
261
|
-
auditoria author_flow_sensivel criticidade = alta
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
}
|
|
1
|
+
module exemplos.author.tema_sensivel {
|
|
2
|
+
docs {
|
|
3
|
+
resumo: "Starter publico do Sema Author para obra com tema sensivel, exigindo publico, fontes, limites, agentes e fluxo de revisao."
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
type FonteAuthor {
|
|
7
|
+
fields {
|
|
8
|
+
nome: Texto
|
|
9
|
+
tipo: Texto
|
|
10
|
+
confianca: Texto
|
|
11
|
+
limite_uso: Texto
|
|
12
|
+
}
|
|
13
|
+
invariants {
|
|
14
|
+
nome existe
|
|
15
|
+
tipo existe
|
|
16
|
+
confianca existe
|
|
17
|
+
limite_uso existe
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
type AgentAuthor {
|
|
22
|
+
fields {
|
|
23
|
+
nome: Texto
|
|
24
|
+
papel: Texto
|
|
25
|
+
permissao: Texto
|
|
26
|
+
}
|
|
27
|
+
invariants {
|
|
28
|
+
nome existe
|
|
29
|
+
papel existe
|
|
30
|
+
permissao existe
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
enum PublicoSensivel {
|
|
35
|
+
ADULTO,
|
|
36
|
+
TECNICO,
|
|
37
|
+
COMUNIDADE_AFETADA
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
enum StatusSensivel {
|
|
41
|
+
BLOQUEADO,
|
|
42
|
+
BRIEFING,
|
|
43
|
+
REVISAO_FONTES,
|
|
44
|
+
REVISAO_SENSIBILIDADE,
|
|
45
|
+
PUBLICAVEL
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
task declarar_tema_sensivel {
|
|
49
|
+
input {
|
|
50
|
+
obra: Texto required
|
|
51
|
+
publico: PublicoSensivel required
|
|
52
|
+
tema: Texto required
|
|
53
|
+
fontes: Lista required
|
|
54
|
+
limites: Lista required
|
|
55
|
+
}
|
|
56
|
+
output {
|
|
57
|
+
status: StatusSensivel
|
|
58
|
+
fontes_validas: Booleano
|
|
59
|
+
limites_explicitos: Booleano
|
|
60
|
+
}
|
|
61
|
+
rules {
|
|
62
|
+
obra deve_ser preenchido
|
|
63
|
+
publico deve_ser valido
|
|
64
|
+
tema deve_ser preenchido
|
|
65
|
+
fontes deve_ser nao_vazio
|
|
66
|
+
limites deve_ser nao_vazio
|
|
67
|
+
}
|
|
68
|
+
effects {
|
|
69
|
+
auditoria author_tema_sensivel criticidade = alta
|
|
70
|
+
}
|
|
71
|
+
authz {
|
|
72
|
+
escopo: author.tema_sensivel.declarar
|
|
73
|
+
tenant: opcional
|
|
74
|
+
}
|
|
75
|
+
dados {
|
|
76
|
+
classificacao_padrao: interno
|
|
77
|
+
redacao_log: obrigatoria
|
|
78
|
+
}
|
|
79
|
+
audit {
|
|
80
|
+
evento: author.tema_sensivel.declarado
|
|
81
|
+
ator: auth.agente
|
|
82
|
+
correlacao: request_id
|
|
83
|
+
retencao: "180d"
|
|
84
|
+
motivo: obrigatorio
|
|
85
|
+
}
|
|
86
|
+
forbidden {
|
|
87
|
+
publico_indefinido
|
|
88
|
+
fontes_inventadas
|
|
89
|
+
limite_implicito
|
|
90
|
+
sensibilidade_sem_revisor
|
|
91
|
+
}
|
|
92
|
+
vinculos {
|
|
93
|
+
arquivo: "docs/profiles-author-agents-flow.md"
|
|
94
|
+
}
|
|
95
|
+
execucao {
|
|
96
|
+
idempotencia: verdadeiro
|
|
97
|
+
timeout: "15s"
|
|
98
|
+
retry: "nenhum"
|
|
99
|
+
criticidade_operacional: alta
|
|
100
|
+
}
|
|
101
|
+
guarantees {
|
|
102
|
+
status em [BRIEFING, REVISAO_FONTES]
|
|
103
|
+
fontes_validas == verdadeiro
|
|
104
|
+
limites_explicitos == verdadeiro
|
|
105
|
+
}
|
|
106
|
+
tests {
|
|
107
|
+
caso "tema sensivel com fonte e limite" {
|
|
108
|
+
given {
|
|
109
|
+
obra: "Relato Documental"
|
|
110
|
+
publico: "ADULTO"
|
|
111
|
+
tema: "violencia_historica"
|
|
112
|
+
fontes: "arquivo_publico"
|
|
113
|
+
limites: "nao_romantizar_dano"
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
expect {
|
|
117
|
+
sucesso: verdadeiro
|
|
118
|
+
fontes_validas: verdadeiro
|
|
119
|
+
limites_explicitos: verdadeiro
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
task montar_agents_author {
|
|
126
|
+
input {
|
|
127
|
+
planejador: Texto required
|
|
128
|
+
editor: Texto required
|
|
129
|
+
revisor_cliche: Texto required
|
|
130
|
+
sensitivity_reviewer: Texto required
|
|
131
|
+
}
|
|
132
|
+
output {
|
|
133
|
+
agents: Lista
|
|
134
|
+
pronto_para_flow: Booleano
|
|
135
|
+
}
|
|
136
|
+
rules {
|
|
137
|
+
planejador deve_ser preenchido
|
|
138
|
+
editor deve_ser preenchido
|
|
139
|
+
revisor_cliche deve_ser preenchido
|
|
140
|
+
sensitivity_reviewer deve_ser preenchido
|
|
141
|
+
}
|
|
142
|
+
effects {
|
|
143
|
+
auditoria author_agents criticidade = media
|
|
144
|
+
}
|
|
145
|
+
forbidden {
|
|
146
|
+
agent_sem_papel
|
|
147
|
+
sensitivity_reviewer_ausente
|
|
148
|
+
agente_sem_limite
|
|
149
|
+
}
|
|
150
|
+
execucao {
|
|
151
|
+
idempotencia: verdadeiro
|
|
152
|
+
timeout: "10s"
|
|
153
|
+
criticidade_operacional: media
|
|
154
|
+
}
|
|
155
|
+
guarantees {
|
|
156
|
+
agents existe
|
|
157
|
+
pronto_para_flow == verdadeiro
|
|
158
|
+
}
|
|
159
|
+
tests {
|
|
160
|
+
caso "agents sensiveis completos" {
|
|
161
|
+
given {
|
|
162
|
+
planejador: "planejador"
|
|
163
|
+
editor: "editor"
|
|
164
|
+
revisor_cliche: "anti_cliche"
|
|
165
|
+
sensitivity_reviewer: "revisor_sensibilidade"
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
expect {
|
|
169
|
+
sucesso: verdadeiro
|
|
170
|
+
pronto_para_flow: verdadeiro
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
task validar_entrega_sensivel {
|
|
177
|
+
input {
|
|
178
|
+
texto: Texto required
|
|
179
|
+
fontes_lidas: Booleano required
|
|
180
|
+
revisao_sensibilidade: Booleano required
|
|
181
|
+
dano_mitigado: Booleano required
|
|
182
|
+
}
|
|
183
|
+
output {
|
|
184
|
+
status: StatusSensivel
|
|
185
|
+
bloqueios: Lista
|
|
186
|
+
}
|
|
187
|
+
rules {
|
|
188
|
+
texto deve_ser preenchido
|
|
189
|
+
fontes_lidas deve_ser verdadeiro
|
|
190
|
+
revisao_sensibilidade deve_ser verdadeiro
|
|
191
|
+
dano_mitigado deve_ser verdadeiro
|
|
192
|
+
}
|
|
193
|
+
effects {
|
|
194
|
+
auditoria author_entrega_sensivel criticidade = alta
|
|
195
|
+
}
|
|
196
|
+
authz {
|
|
197
|
+
escopo: author.tema_sensivel.validar
|
|
198
|
+
tenant: opcional
|
|
199
|
+
}
|
|
200
|
+
dados {
|
|
201
|
+
classificacao_padrao: interno
|
|
202
|
+
redacao_log: obrigatoria
|
|
203
|
+
}
|
|
204
|
+
audit {
|
|
205
|
+
evento: author.tema_sensivel.entrega_validada
|
|
206
|
+
ator: auth.agente
|
|
207
|
+
correlacao: request_id
|
|
208
|
+
retencao: "180d"
|
|
209
|
+
motivo: obrigatorio
|
|
210
|
+
}
|
|
211
|
+
forbidden {
|
|
212
|
+
publicar_sem_fontes_lidas
|
|
213
|
+
publicar_sem_revisao_sensibilidade
|
|
214
|
+
estetizar_sofrimento
|
|
215
|
+
atribuir_fala_a_grupo_sem_base
|
|
216
|
+
}
|
|
217
|
+
vinculos {
|
|
218
|
+
arquivo: "docs/profiles-author-agents-flow.md"
|
|
219
|
+
}
|
|
220
|
+
execucao {
|
|
221
|
+
idempotencia: verdadeiro
|
|
222
|
+
timeout: "15s"
|
|
223
|
+
criticidade_operacional: alta
|
|
224
|
+
}
|
|
225
|
+
guarantees {
|
|
226
|
+
status em [REVISAO_SENSIBILIDADE, PUBLICAVEL]
|
|
227
|
+
bloqueios existe
|
|
228
|
+
}
|
|
229
|
+
tests {
|
|
230
|
+
caso "entrega sensivel publicavel" {
|
|
231
|
+
given {
|
|
232
|
+
texto: "cena revisada"
|
|
233
|
+
fontes_lidas: verdadeiro
|
|
234
|
+
revisao_sensibilidade: verdadeiro
|
|
235
|
+
dano_mitigado: verdadeiro
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
expect {
|
|
239
|
+
sucesso: verdadeiro
|
|
240
|
+
status: "PUBLICAVEL"
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
flow author_flow_tema_sensivel {
|
|
247
|
+
obra: Texto
|
|
248
|
+
publico: PublicoSensivel
|
|
249
|
+
tema: Texto
|
|
250
|
+
fontes: Lista
|
|
251
|
+
limites: Lista
|
|
252
|
+
planejador: Texto
|
|
253
|
+
editor: Texto
|
|
254
|
+
revisor_cliche: Texto
|
|
255
|
+
sensitivity_reviewer: Texto
|
|
256
|
+
texto: Texto
|
|
257
|
+
etapa tema usa declarar_tema_sensivel com obra = obra, publico = publico, tema = tema, fontes = fontes, limites = limites
|
|
258
|
+
etapa agents usa montar_agents_author com planejador = planejador, editor = editor, revisor_cliche = revisor_cliche, sensitivity_reviewer = sensitivity_reviewer depende_de tema
|
|
259
|
+
etapa entrega usa validar_entrega_sensivel com texto = texto, fontes_lidas = verdadeiro, revisao_sensibilidade = verdadeiro, dano_mitigado = verdadeiro depende_de agents
|
|
260
|
+
effects {
|
|
261
|
+
auditoria author_flow_sensivel criticidade = alta
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
}
|