@semacode/cli 1.5.34 → 1.5.35
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 +2 -0
- package/AGENT_CONTEXT_PACK.json +47 -4
- package/SEMA_BRIEF.curto.txt +7 -5
- package/SEMA_BRIEF.md +24 -2
- package/SEMA_BRIEF.micro.txt +6 -4
- package/SEMA_INDEX.json +301 -99
- package/dist/index.js +156 -15
- package/dist/index.js.map +1 -1
- package/docs/AGENT_STARTER.md +10 -8
- package/docs/agentes-por-capacidade.md +19 -0
- package/docs/env.md +3 -3
- package/docs/fluxo-pratico-ia-sema.md +4 -0
- package/node_modules/@sema/gerador-css/dist/index.js +15 -7
- package/node_modules/@sema/gerador-css/dist/index.js.map +1 -1
- package/node_modules/@sema/gerador-dart/dist/index.js +11 -1
- package/node_modules/@sema/gerador-dart/dist/index.js.map +1 -1
- package/node_modules/@sema/gerador-html/dist/index.js +19 -7
- package/node_modules/@sema/gerador-html/dist/index.js.map +1 -1
- package/node_modules/@sema/gerador-javascript/dist/index.js +16 -2
- package/node_modules/@sema/gerador-javascript/dist/index.js.map +1 -1
- package/node_modules/@sema/gerador-lua/dist/index.js +19 -6
- package/node_modules/@sema/gerador-lua/dist/index.js.map +1 -1
- package/node_modules/@sema/gerador-python/dist/index.js +25 -8
- package/node_modules/@sema/gerador-python/dist/index.js.map +1 -1
- package/node_modules/@sema/gerador-typescript/dist/index.js +32 -14
- package/node_modules/@sema/gerador-typescript/dist/index.js.map +1 -1
- package/package.json +10 -10
package/dist/index.js
CHANGED
|
@@ -37,8 +37,9 @@ Importante:
|
|
|
37
37
|
- a Sema usa \`execucao\` para explicitar timeout, retry, compensacao e criticidade
|
|
38
38
|
- a Sema usa \`drift\` para medir diferenca entre contrato e codigo vivo com score, confianca e lacunas
|
|
39
39
|
- a Sema usa \`resumo\` e \`prompt-curto\` para IA fraca, gratuita ou com pouco contexto
|
|
40
|
-
- a Sema usa \`contexto-ia\` para gerar \`ast.json\`, \`ir.json\`, \`drift.json\`, \`briefing.json\` e artefatos compactos antes da edicao
|
|
41
|
-
-
|
|
40
|
+
- a Sema usa \`contexto-ia\` para gerar \`ast.json\`, \`ir.json\`, \`drift.json\`, \`briefing.json\` e artefatos compactos antes da edicao
|
|
41
|
+
- timeout definido pelo agente nao e falha do Sema; aumente o timeout e tente de novo antes de concluir falha
|
|
42
|
+
- a Sema pode servir de base para interfaces graficas elegantes e coerentes
|
|
42
43
|
- a Sema nao gera uma interface completa sozinha no estado atual
|
|
43
44
|
- trate a Sema como cerebro semantico da aplicacao, nao como gerador magico de front-end pronto
|
|
44
45
|
- se a tarefa envolver UI, prefira pedir Sema + React + TypeScript ou Sema + arquitetura de front-end
|
|
@@ -48,8 +49,9 @@ Regras:
|
|
|
48
49
|
- nao invente sintaxe fora da gramatica e dos exemplos oficiais
|
|
49
50
|
- antes de qualquer acao, crie, edite ou remova o contrato .sema aplicavel; isso vale para Software, Author, Workflow, Ops, Game, Legal e Research
|
|
50
51
|
- se a IA for fraca, nao tente abrir tudo de uma vez
|
|
51
|
-
- use \`sema resumo\` e \`briefing.min.json\` antes de subir para o pacote completo
|
|
52
|
-
-
|
|
52
|
+
- use \`sema resumo\` e \`briefing.min.json\` antes de subir para o pacote completo
|
|
53
|
+
- se \`sema resumo . --micro\` estourar timeout local, repita com timeout maior ou escopo menor; nao avance com codigo
|
|
54
|
+
- trate \`ir --json\` como fonte de verdade semantica
|
|
53
55
|
- trate \`briefing.json\` como plano de intervencao antes de editar projeto vivo
|
|
54
56
|
- trate \`diagnosticos --json\` como fonte de correcao
|
|
55
57
|
- use \`sema formatar\` como fonte unica de estilo
|
|
@@ -74,10 +76,11 @@ Comandos essenciais:
|
|
|
74
76
|
- geracao de codigo: \`sema compilar <arquivo-ou-pasta> --alvo <typescript|python|dart|lua> --saida <diretorio>\`
|
|
75
77
|
- verificacao final: \`sema verificar <arquivo-ou-pasta> [--json]\`
|
|
76
78
|
|
|
77
|
-
Antes de editar:
|
|
78
|
-
1. leia README, docs de IA e um exemplo oficial parecido
|
|
79
|
+
Antes de editar:
|
|
80
|
+
1. leia README, docs de IA e um exemplo oficial parecido
|
|
79
81
|
2. se a IA for fraca, rode \`sema resumo <arquivo> --micro\` e leia \`briefing.min.json\`
|
|
80
|
-
|
|
82
|
+
- se timeout local estourar, aumente o timeout e tente de novo; timeout nao significa Sema inativo
|
|
83
|
+
3. se a IA aguentar mais, rode \`sema drift\` para medir impls, vinculos, rotas, score e lacunas
|
|
81
84
|
4. se a tarefa for pesada, rode \`sema contexto-ia\` e leia \`briefing.json\`
|
|
82
85
|
5. consulte AST e IR do modulo alvo so quando a capacidade realmente aguentar
|
|
83
86
|
|
|
@@ -1575,6 +1578,41 @@ function criarPoliticaIdiomaAgentContext() {
|
|
|
1575
1578
|
comandosESimbolos: "Não traduza comandos, nomes de arquivos, rotas, símbolos de código ou palavras-chave da DSL.",
|
|
1576
1579
|
};
|
|
1577
1580
|
}
|
|
1581
|
+
function criarPoliticaCodigoGovernadoAgentContext() {
|
|
1582
|
+
return {
|
|
1583
|
+
marcador: "SEMA-GOVERNED",
|
|
1584
|
+
regra: "Arquivos de código gerados ou governados pela Sema devem manter um cabeçalho curto com módulo de origem, lembrete para consultar o contrato .sema e descrição humana no idioma do usuário.",
|
|
1585
|
+
descricaoHumana: "O comentário deve orientar humanos e IAs sem duplicar o contrato inteiro dentro do código.",
|
|
1586
|
+
porCapacidade: {
|
|
1587
|
+
fraca: "Se abrir código com SEMA-GOVERNED, pare, leia SEMA_SMALL_MODEL.md e chame Sema antes de editar.",
|
|
1588
|
+
media: "Se abrir código com SEMA-GOVERNED, rode docs-impacto e drift antes de alterar comportamento.",
|
|
1589
|
+
forte: "Se abrir código com SEMA-GOVERNED, pode inspecionar AST/IR e código completo, mas mantém contrato primeiro, drift e finalizar-mudanca.",
|
|
1590
|
+
},
|
|
1591
|
+
formatosPorAlvo: {
|
|
1592
|
+
typescript: "// SEMA-GOVERNED",
|
|
1593
|
+
javascript: "// SEMA-GOVERNED",
|
|
1594
|
+
python: "# SEMA-GOVERNED",
|
|
1595
|
+
dart: "// SEMA-GOVERNED",
|
|
1596
|
+
lua: "-- SEMA-GOVERNED",
|
|
1597
|
+
html: "<!-- SEMA-GOVERNED -->",
|
|
1598
|
+
css: "/* SEMA-GOVERNED */",
|
|
1599
|
+
},
|
|
1600
|
+
};
|
|
1601
|
+
}
|
|
1602
|
+
function criarPoliticaTimeoutResumoAgentContext() {
|
|
1603
|
+
return {
|
|
1604
|
+
regra: "Timeout definido pelo agente não é falha do Sema. Se `sema resumo`, `inspecionar`, `drift` ou `sync-ai-entrypoints` estourar por timeout local, aumente o timeout e tente de novo com escopo menor quando possível.",
|
|
1605
|
+
timeoutInicialSegundos: 120,
|
|
1606
|
+
escalonamentoSegundos: [120, 300, 600],
|
|
1607
|
+
timeoutDoAgenteNaoEhFalhaSema: true,
|
|
1608
|
+
ateQuandoTentar: "Tente de novo com timeouts maiores enquanto houver execução disponível; se o ambiente impedir continuar, pare bloqueado e não avance com código sem Sema.",
|
|
1609
|
+
porCapacidade: {
|
|
1610
|
+
fraca: "Se `resumo . --micro` estourar, tente `resumo <arquivo.sema> --micro`, depois repita com timeout maior. Timeout não autoriza editar.",
|
|
1611
|
+
media: "Prefira resumo escopado; se um gate Sema estourar, aumente timeout e repita antes de concluir falha.",
|
|
1612
|
+
forte: "Pode rodar projeto inteiro com timeout alto, mas deve distinguir lentidão de falha real e registrar evidência.",
|
|
1613
|
+
},
|
|
1614
|
+
};
|
|
1615
|
+
}
|
|
1578
1616
|
function criarEntrypointsClientesIa() {
|
|
1579
1617
|
return [
|
|
1580
1618
|
{
|
|
@@ -1616,6 +1654,8 @@ function criarFailClosedAgentContext() {
|
|
|
1616
1654
|
"Se o MCP remoto não tiver projeto sincronizado, use sema_chat_contexto e sema_sync/conteúdo inline; não peça para ler C:\\GitHub\\Sema.",
|
|
1617
1655
|
"Se for criar ou corrigir .sema, use sema_exemplos antes de escrever sintaxe.",
|
|
1618
1656
|
"Se a resposta humana estiver em PT-BR, preserve acentos e símbolos mesmo que a DSL use ASCII.",
|
|
1657
|
+
"Se um arquivo de código tiver SEMA-GOVERNED, consulte Sema e o contrato aplicável antes de editar.",
|
|
1658
|
+
"Se uma chamada Sema estourar por timeout local, aumente o timeout e tente de novo; timeout do agente não libera ação sem Sema.",
|
|
1619
1659
|
];
|
|
1620
1660
|
}
|
|
1621
1661
|
function criarAgentContextPack(guiaPorCapacidade) {
|
|
@@ -1727,7 +1767,7 @@ function criarAgentContextPack(guiaPorCapacidade) {
|
|
|
1727
1767
|
];
|
|
1728
1768
|
return {
|
|
1729
1769
|
nome: "Agent Context Pack",
|
|
1730
|
-
versao:
|
|
1770
|
+
versao: 3,
|
|
1731
1771
|
objetivo: "Dar a agentes IA uma entrada curta, estruturada e auditável antes de abrir código cru ou inventar contexto.",
|
|
1732
1772
|
ordemLeitura: [
|
|
1733
1773
|
ARQUIVO_SEMA_BOOT,
|
|
@@ -1748,6 +1788,8 @@ function criarAgentContextPack(guiaPorCapacidade) {
|
|
|
1748
1788
|
"Valide .sema alterado e rode drift antes de concluir.",
|
|
1749
1789
|
"Quando faltar contrato aplicável, crie ou edite o contrato antes do código.",
|
|
1750
1790
|
"Responda no idioma do usuário e preserve acentos, cedilha, pontuação e símbolos humanos.",
|
|
1791
|
+
"Mantenha o cabeçalho SEMA-GOVERNED em código gerado ou governado e volte ao contrato antes de editar.",
|
|
1792
|
+
"Se uma chamada Sema estourar por timeout local, aumente o timeout e tente novamente; não trate lentidão como sessão inativa.",
|
|
1751
1793
|
],
|
|
1752
1794
|
proibicoes: [
|
|
1753
1795
|
"Não inventar sintaxe Sema fora da gramática e dos exemplos oficiais.",
|
|
@@ -1756,12 +1798,16 @@ function criarAgentContextPack(guiaPorCapacidade) {
|
|
|
1756
1798
|
"Não publicar, deployar ou remover capacidade sem contrato, drift e verificação.",
|
|
1757
1799
|
"Não misturar repositório público e privado sem conferir docs de repositórios e AGENTS.md.",
|
|
1758
1800
|
"Não usar a estética ASCII da DSL como desculpa para escrever PT-BR sem acentos.",
|
|
1801
|
+
"Não remover SEMA-GOVERNED nem substituir drift por comentário dentro do código.",
|
|
1802
|
+
"Não copiar o contrato inteiro para comentário de código; mantenha descrição humana curta.",
|
|
1803
|
+
"Não tratar timeout definido pelo agente como falha do Sema ou permissão para pular gate.",
|
|
1759
1804
|
],
|
|
1760
1805
|
prioridades: [
|
|
1761
1806
|
"Menor artefato suficiente primeiro.",
|
|
1762
1807
|
"Contrato, índice e AGENTS antes de código cru.",
|
|
1763
1808
|
"Exemplos oficiais antes de nova sintaxe.",
|
|
1764
1809
|
"Diagnóstico estruturado antes de opinião livre.",
|
|
1810
|
+
"Retry progressivo em timeout antes de declarar bloqueio.",
|
|
1765
1811
|
"Se risco ou escopo estiver ambíguo, parar e pedir contrato/contexto.",
|
|
1766
1812
|
],
|
|
1767
1813
|
fontes,
|
|
@@ -1777,11 +1823,15 @@ function criarAgentContextPack(guiaPorCapacidade) {
|
|
|
1777
1823
|
aliasesCapacidade: { ...ALIASES_CAPACIDADE_IA },
|
|
1778
1824
|
entrypointsClientes: criarEntrypointsClientesIa(),
|
|
1779
1825
|
politicaIdioma: criarPoliticaIdiomaAgentContext(),
|
|
1826
|
+
politicaCodigoGovernado: criarPoliticaCodigoGovernadoAgentContext(),
|
|
1827
|
+
politicaTimeoutResumo: criarPoliticaTimeoutResumoAgentContext(),
|
|
1780
1828
|
failClosed: criarFailClosedAgentContext(),
|
|
1781
1829
|
};
|
|
1782
1830
|
}
|
|
1783
1831
|
function renderizarSemaBoot(agentContextPack) {
|
|
1784
1832
|
const politica = agentContextPack.politicaIdioma;
|
|
1833
|
+
const politicaCodigo = agentContextPack.politicaCodigoGovernado;
|
|
1834
|
+
const politicaTimeout = agentContextPack.politicaTimeoutResumo;
|
|
1785
1835
|
return `# SEMA_BOOT
|
|
1786
1836
|
|
|
1787
1837
|
Você está em um projeto governado por Sema. O contrato semântico vem antes de qualquer ação.
|
|
@@ -1800,6 +1850,26 @@ Você está em um projeto governado por Sema. O contrato semântico vem antes de
|
|
|
1800
1850
|
- Média: leia este boot, \`${ARQUIVO_AGENT_CONTEXT_PACK}\`, \`SEMA_BRIEF.curto.txt\`, \`SEMA_INDEX.json\` e a doc indicada pelo Sema.
|
|
1801
1851
|
- Forte: leia este boot, \`${ARQUIVO_AGENT_CONTEXT_PACK}\`, \`SEMA_BRIEF.md\`, \`SEMA_INDEX.json\`, \`AGENTS.md\` e rode os gates completos.
|
|
1802
1852
|
|
|
1853
|
+
## Código governado
|
|
1854
|
+
|
|
1855
|
+
${politicaCodigo.regra}
|
|
1856
|
+
|
|
1857
|
+
- Marcador: \`${politicaCodigo.marcador}\`.
|
|
1858
|
+
- IA fraca: ${politicaCodigo.porCapacidade.fraca}
|
|
1859
|
+
- IA média: ${politicaCodigo.porCapacidade.media}
|
|
1860
|
+
- IA forte: ${politicaCodigo.porCapacidade.forte}
|
|
1861
|
+
|
|
1862
|
+
## Timeout e retry
|
|
1863
|
+
|
|
1864
|
+
${politicaTimeout.regra}
|
|
1865
|
+
|
|
1866
|
+
- Timeout inicial recomendado para projeto inteiro: ${politicaTimeout.timeoutInicialSegundos}s.
|
|
1867
|
+
- Escalonamento: ${politicaTimeout.escalonamentoSegundos.map((segundos) => `${segundos}s`).join(" -> ")}.
|
|
1868
|
+
- IA fraca: ${politicaTimeout.porCapacidade.fraca}
|
|
1869
|
+
- IA média: ${politicaTimeout.porCapacidade.media}
|
|
1870
|
+
- IA forte: ${politicaTimeout.porCapacidade.forte}
|
|
1871
|
+
- ${politicaTimeout.ateQuandoTentar}
|
|
1872
|
+
|
|
1803
1873
|
## Idioma humano
|
|
1804
1874
|
|
|
1805
1875
|
${politica.regra}
|
|
@@ -1815,6 +1885,7 @@ ${agentContextPack.failClosed.map((regra) => `- ${regra}`).join("\n")}
|
|
|
1815
1885
|
`;
|
|
1816
1886
|
}
|
|
1817
1887
|
function renderizarSemaSmallModel(agentContextPack) {
|
|
1888
|
+
const politicaTimeout = agentContextPack.politicaTimeoutResumo;
|
|
1818
1889
|
return `# SEMA_SMALL_MODEL
|
|
1819
1890
|
|
|
1820
1891
|
Leia isto primeiro se você tem pouco contexto, pouca memória, pouco tool use ou tendência a ignorar instruções longas.
|
|
@@ -1826,6 +1897,8 @@ Leia isto primeiro se você tem pouco contexto, pouca memória, pouco tool use o
|
|
|
1826
1897
|
5. Se não houver contrato: crie ou edite o contrato antes do código.
|
|
1827
1898
|
6. Se não conseguir chamar Sema: pare e declare bloqueio.
|
|
1828
1899
|
7. Responda no idioma do usuário. Em PT-BR, use acentos e símbolos normais.
|
|
1900
|
+
8. Se abrir código com \`${agentContextPack.politicaCodigoGovernado.marcador}\`: volte ao contrato, chame Sema e só então edite.
|
|
1901
|
+
9. Se Sema estourar por timeout local: aumente o timeout e tente de novo. Não trate isso como falha do Sema.
|
|
1829
1902
|
|
|
1830
1903
|
Ordem curta:
|
|
1831
1904
|
|
|
@@ -1835,6 +1908,14 @@ Ordem curta:
|
|
|
1835
1908
|
- \`SEMA_INDEX.json\`
|
|
1836
1909
|
- \`AGENTS.md\`
|
|
1837
1910
|
|
|
1911
|
+
Timeout:
|
|
1912
|
+
|
|
1913
|
+
- Timeout local do agente não é falha do Sema.
|
|
1914
|
+
- Projeto inteiro: comece com ${politicaTimeout.timeoutInicialSegundos}s ou mais.
|
|
1915
|
+
- Escalonamento: ${politicaTimeout.escalonamentoSegundos.map((segundos) => `${segundos}s`).join(" -> ")}.
|
|
1916
|
+
- Se o projeto inteiro for lento, escopar para \`sema resumo <arquivo.sema> --micro --para mudanca\`.
|
|
1917
|
+
- ${politicaTimeout.ateQuandoTentar}
|
|
1918
|
+
|
|
1838
1919
|
Fail-closed:
|
|
1839
1920
|
|
|
1840
1921
|
${agentContextPack.failClosed.map((regra) => `- ${regra}`).join("\n")}
|
|
@@ -1845,6 +1926,14 @@ function renderizarDocumentoAgentesPorCapacidade(agentContextPack) {
|
|
|
1845
1926
|
|
|
1846
1927
|
Sema deve funcionar em agentes fortes, médios e fracos. A diferença não é só tamanho de contexto; é disciplina operacional.
|
|
1847
1928
|
|
|
1929
|
+
## Código Governado
|
|
1930
|
+
|
|
1931
|
+
Arquivos gerados ou governados pela Sema devem manter o marcador \`${agentContextPack.politicaCodigoGovernado.marcador}\`.
|
|
1932
|
+
|
|
1933
|
+
- Fraca: ${agentContextPack.politicaCodigoGovernado.porCapacidade.fraca}
|
|
1934
|
+
- Média: ${agentContextPack.politicaCodigoGovernado.porCapacidade.media}
|
|
1935
|
+
- Forte: ${agentContextPack.politicaCodigoGovernado.porCapacidade.forte}
|
|
1936
|
+
|
|
1848
1937
|
## Fraca
|
|
1849
1938
|
|
|
1850
1939
|
Use para Copilot em modo simples, Cline/Roo com pouco contexto, modelos locais pequenos e agentes que ignoram instrução longa.
|
|
@@ -1870,6 +1959,17 @@ Use para Codex, Claude e agentes com tool use confiável.
|
|
|
1870
1959
|
- Pode consumir AST/IR/drift completos.
|
|
1871
1960
|
- Ainda deve respeitar contrato primeiro e falha fechada.
|
|
1872
1961
|
|
|
1962
|
+
## Timeout e Retry
|
|
1963
|
+
|
|
1964
|
+
${agentContextPack.politicaTimeoutResumo.regra}
|
|
1965
|
+
|
|
1966
|
+
- Timeout inicial para resumo de projeto inteiro: ${agentContextPack.politicaTimeoutResumo.timeoutInicialSegundos}s.
|
|
1967
|
+
- Escalonamento recomendado: ${agentContextPack.politicaTimeoutResumo.escalonamentoSegundos.map((segundos) => `${segundos}s`).join(" -> ")}.
|
|
1968
|
+
- Fraca: ${agentContextPack.politicaTimeoutResumo.porCapacidade.fraca}
|
|
1969
|
+
- Média: ${agentContextPack.politicaTimeoutResumo.porCapacidade.media}
|
|
1970
|
+
- Forte: ${agentContextPack.politicaTimeoutResumo.porCapacidade.forte}
|
|
1971
|
+
- ${agentContextPack.politicaTimeoutResumo.ateQuandoTentar}
|
|
1972
|
+
|
|
1873
1973
|
## Idioma
|
|
1874
1974
|
|
|
1875
1975
|
${agentContextPack.politicaIdioma.regra}
|
|
@@ -1883,6 +1983,7 @@ ${agentContextPack.entrypointsClientes.map((cliente) => `- ${cliente.cliente}: $
|
|
|
1883
1983
|
}
|
|
1884
1984
|
function renderizarInstrucaoClienteSema(cliente, capacidade, agentContextPack) {
|
|
1885
1985
|
const guia = agentContextPack.guiaPorCapacidade[capacidade];
|
|
1986
|
+
const politicaTimeout = agentContextPack.politicaTimeoutResumo;
|
|
1886
1987
|
const tituloCliente = cliente === "generico" ? "agente" : cliente;
|
|
1887
1988
|
return `# Sema para ${tituloCliente}
|
|
1888
1989
|
|
|
@@ -1901,6 +2002,17 @@ Ordem de leitura: ${guia.join(" -> ")}.
|
|
|
1901
2002
|
Falha fechada:
|
|
1902
2003
|
${agentContextPack.failClosed.map((regra) => `- ${regra}`).join("\n")}
|
|
1903
2004
|
|
|
2005
|
+
Timeout:
|
|
2006
|
+
- Timeout local do agente não é falha do Sema.
|
|
2007
|
+
- Se uma chamada Sema estourar, aumente o timeout e tente de novo antes de declarar bloqueio.
|
|
2008
|
+
- Para projeto inteiro, comece com ${politicaTimeout.timeoutInicialSegundos}s ou mais; se for lento, escale ${politicaTimeout.escalonamentoSegundos.map((segundos) => `${segundos}s`).join(" -> ")}.
|
|
2009
|
+
- Se possível, reduza escopo para \`sema resumo <arquivo.sema> --micro --para mudanca\`.
|
|
2010
|
+
|
|
2011
|
+
Código governado:
|
|
2012
|
+
- Mantenha o marcador \`${agentContextPack.politicaCodigoGovernado.marcador}\` em código gerado ou governado.
|
|
2013
|
+
- Ao encontrar esse marcador, volte ao contrato .sema aplicável e chame Sema antes de editar.
|
|
2014
|
+
- Comentário de código é lembrete curto; não substitui drift, docs-impacto nem finalizar-mudanca.
|
|
2015
|
+
|
|
1904
2016
|
Idioma:
|
|
1905
2017
|
- Responda no idioma do usuário.
|
|
1906
2018
|
- Em PT-BR, use acentos, cedilha, pontuação e símbolos normais.
|
|
@@ -2243,6 +2355,7 @@ Regras:
|
|
|
2243
2355
|
- use este resumo como fonte compacta inicial
|
|
2244
2356
|
- se a tarefa pedir mais contexto, suba para \`briefing.min.json\`, \`drift.json\` e depois \`ir.json\`
|
|
2245
2357
|
- não saia editando software vivo sem olhar risco, lacuna e checks sugeridos
|
|
2358
|
+
- se abrir código com \`SEMA-GOVERNED\`, volte ao contrato e chame Sema antes de editar
|
|
2246
2359
|
${resumo.consumerFramework ? "- se for tarefa visual consumer, priorize `appRoutes`, `consumerSurfaces` e `consumerBridges` antes de abrir arquivos aleatórios" : ""}
|
|
2247
2360
|
|
|
2248
2361
|
Contexto compacto:
|
|
@@ -2275,6 +2388,21 @@ function renderizarResumoProjetoMarkdown(geradoEm, modulos, guiaPorCapacidade) {
|
|
|
2275
2388
|
`- Regras: ${agentContextPack.regrasObrigatorias.slice(0, 4).join(" | ")}`,
|
|
2276
2389
|
`- Fontes brutas sob demanda: ${agentContextPack.fontes.map((fonte) => fonte.caminho).slice(0, 7).join(", ")}`,
|
|
2277
2390
|
"",
|
|
2391
|
+
"## Código governado",
|
|
2392
|
+
"",
|
|
2393
|
+
`- Marcador: \`${agentContextPack.politicaCodigoGovernado.marcador}\``,
|
|
2394
|
+
`- Regra: ${agentContextPack.politicaCodigoGovernado.regra}`,
|
|
2395
|
+
`- IA fraca: ${agentContextPack.politicaCodigoGovernado.porCapacidade.fraca}`,
|
|
2396
|
+
`- IA média: ${agentContextPack.politicaCodigoGovernado.porCapacidade.media}`,
|
|
2397
|
+
`- IA forte: ${agentContextPack.politicaCodigoGovernado.porCapacidade.forte}`,
|
|
2398
|
+
"",
|
|
2399
|
+
"## Timeout e retry",
|
|
2400
|
+
"",
|
|
2401
|
+
`- Regra: ${agentContextPack.politicaTimeoutResumo.regra}`,
|
|
2402
|
+
`- Timeout inicial para projeto inteiro: ${agentContextPack.politicaTimeoutResumo.timeoutInicialSegundos}s`,
|
|
2403
|
+
`- Escalonamento: ${agentContextPack.politicaTimeoutResumo.escalonamentoSegundos.map((segundos) => `${segundos}s`).join(" -> ")}`,
|
|
2404
|
+
`- Bloqueio: ${agentContextPack.politicaTimeoutResumo.ateQuandoTentar}`,
|
|
2405
|
+
"",
|
|
2278
2406
|
"## Guia por capacidade",
|
|
2279
2407
|
"",
|
|
2280
2408
|
];
|
|
@@ -2638,6 +2766,8 @@ async function gerarResumoProjetoIa(entrada, pastaSaidaOpcional, escreverNaRaiz
|
|
|
2638
2766
|
`MODO_CODIGO: ${modoVerificacaoCodigo}`,
|
|
2639
2767
|
`FONTES_CONCLUSAO: ${resumirListaTexto(fontesConclusao, 4)}`,
|
|
2640
2768
|
`ENTRADA_IA: ${entradaCanonica.porCapacidade.fraca.join(" -> ")}`,
|
|
2769
|
+
`TIMEOUT_SEMA: timeout local nao e falha; retry progressivo ${agentContextPack.politicaTimeoutResumo.escalonamentoSegundos.map((segundos) => `${segundos}s`).join(" -> ")}; escopar arquivo se projeto inteiro for lento`,
|
|
2770
|
+
`CODIGO_GOVERNADO: ${agentContextPack.politicaCodigoGovernado.marcador} -> chamar Sema antes de editar codigo gerado`,
|
|
2641
2771
|
`TOP_MODULOS: ${resumirListaTexto(modulos.map((modulo) => modulo.modulo), 3)}`,
|
|
2642
2772
|
`TOP_RISCOS: ${resumirListaTexto(unicosOrdenados(modulos.flatMap((modulo) => modulo.riscosPrincipais)), 3)}`,
|
|
2643
2773
|
`TOP_LACUNAS: ${resumirListaTexto(unicosOrdenados(modulos.flatMap((modulo) => modulo.lacunas)), 3)}`,
|
|
@@ -2656,6 +2786,8 @@ async function gerarResumoProjetoIa(entrada, pastaSaidaOpcional, escreverNaRaiz
|
|
|
2656
2786
|
: []),
|
|
2657
2787
|
`FONTES_CONCLUSAO: ${resumirListaTexto(fontesConclusao, 6)}`,
|
|
2658
2788
|
`ENTRADA_IA: ${entradaCanonica.porCapacidade.media.join(" -> ")}`,
|
|
2789
|
+
`TIMEOUT_SEMA: ${agentContextPack.politicaTimeoutResumo.regra} Escale ${agentContextPack.politicaTimeoutResumo.escalonamentoSegundos.map((segundos) => `${segundos}s`).join(" -> ")} antes de declarar bloqueio.`,
|
|
2790
|
+
`CODIGO_GOVERNADO: ${agentContextPack.politicaCodigoGovernado.marcador} -> docs-impacto e drift antes de alterar comportamento`,
|
|
2659
2791
|
`TOP_MODULOS: ${resumirListaTexto(modulos.map((modulo) => modulo.modulo), 6)}`,
|
|
2660
2792
|
`TOP_RISCOS: ${resumirListaTexto(unicosOrdenados(modulos.flatMap((modulo) => modulo.riscosPrincipais)), 6)}`,
|
|
2661
2793
|
`TOP_LACUNAS: ${resumirListaTexto(unicosOrdenados(modulos.flatMap((modulo) => modulo.lacunas)), 6)}`,
|
|
@@ -2758,16 +2890,23 @@ Antes de escolher arquivo de código, leia \`${ARQUIVO_SEMA_BOOT}\` e \`agent-co
|
|
|
2758
2890
|
- Em PT-BR, use acentos, cedilha, pontuação e símbolos normais.
|
|
2759
2891
|
- A DSL \`.sema\` pode ser ASCII; texto humano não precisa ser.
|
|
2760
2892
|
|
|
2761
|
-
## Texto bruto sob demanda
|
|
2762
|
-
|
|
2893
|
+
## Texto bruto sob demanda
|
|
2894
|
+
|
|
2763
2895
|
- Abra \`AGENTS.md\` antes de editar código, contrato, docs operacionais, release ou deploy.
|
|
2764
|
-
- Abra \`exemplos/\` antes de criar ou corrigir sintaxe \`.sema\`.
|
|
2896
|
+
- Abra \`exemplos/\` antes de criar ou corrigir sintaxe \`.sema\`.
|
|
2765
2897
|
- Abra \`docs/sintaxe.md\` quando exemplos não bastarem para resolver a gramática.
|
|
2766
2898
|
- Abra \`contratos/\` antes de qualquer implementação ou mudança de comportamento.
|
|
2767
|
-
|
|
2768
|
-
##
|
|
2769
|
-
|
|
2770
|
-
|
|
2899
|
+
|
|
2900
|
+
## Timeout e retry
|
|
2901
|
+
|
|
2902
|
+
- Timeout local do agente não é falha do Sema.
|
|
2903
|
+
- Se uma chamada Sema estourar, aumente o timeout e tente de novo.
|
|
2904
|
+
- Se o projeto inteiro for lento, escopar para \`sema resumo "${contexto.arquivo}" --micro --para mudanca\`.
|
|
2905
|
+
- Se o ambiente impedir continuar, pare bloqueado e não avance com código sem Sema.
|
|
2906
|
+
|
|
2907
|
+
## Fechamento
|
|
2908
|
+
|
|
2909
|
+
1. Editar o arquivo \`.sema\`.
|
|
2771
2910
|
2. Rodar \`sema formatar "${contexto.arquivo}"\`.
|
|
2772
2911
|
3. Rodar \`sema validar "${contexto.arquivo}" --json\`.
|
|
2773
2912
|
4. Rodar \`sema drift "${contexto.arquivo}" --json\`.
|
|
@@ -7098,6 +7237,7 @@ async function comandoAjudaIa() {
|
|
|
7098
7237
|
"Use `sema sync-ai-entrypoints` para regenerar `AGENT_CONTEXT_PACK.json`, `SEMA_BRIEF.*` e `SEMA_INDEX.json` na raiz.",
|
|
7099
7238
|
"Use `sema instalar-exemplos` para materializar `exemplos/` oficiais sem sobrescrever arquivos locais.",
|
|
7100
7239
|
"Use `sema resumo <arquivo> --micro --para onboarding` para IA fraca.",
|
|
7240
|
+
"Se `sema resumo` ou outro gate estourar timeout local, aumente o timeout e tente de novo; timeout do agente nao e falha do Sema.",
|
|
7101
7241
|
"Use `sema prompt-curto <arquivo> --curto --para mudanca` para colar contexto em modelo gratuito.",
|
|
7102
7242
|
"Use `sema prompt-ia`, `sema prompt-ia-ui`, `sema prompt-ia-react` e `sema prompt-ia-sema-primeiro` conforme a tarefa.",
|
|
7103
7243
|
"Use `sema exemplos-prompt-ia` para pegar modelos prontos de prompt.",
|
|
@@ -7117,6 +7257,7 @@ async function comandoAjudaIa() {
|
|
|
7117
7257
|
"Peca `.sema` + arquitetura + React + TypeScript, ou use o modo `Sema primeiro`.",
|
|
7118
7258
|
"Se o projeto ja existe, trate `importar` como rascunho e `drift` como juiz.",
|
|
7119
7259
|
"IA fraca comeca no menor artefato que resolve a tarefa; nao enfie `ast.json` inteiro nela de bobeira.",
|
|
7260
|
+
"Timeout local e so limite do agente: escale e tente de novo antes de chamar Sema de inativo.",
|
|
7120
7261
|
"Antes de editar software vivo, leia `briefing.min.json` ou `briefing.json` em vez de sair cavando arquivo na fe.",
|
|
7121
7262
|
"Trate `route`, `worker`, `evento`, `fila`, `cron`, `webhook`, `cache`, `storage` e `policy` como superficies de primeira classe.",
|
|
7122
7263
|
]));
|