Contrato JSONL
O modo JSON do Seshat Rust e ativado com:
seshat commit --format json
Regras
- Cada evento e um objeto JSON em uma unica linha.
- Todo objeto tem o campo
event. - Eventos JSON sao escritos somente em stdout.
- Logs humanos, avisos e erros de diagnostico ficam em stderr quando JSON mode esta ativo.
- Erros preservam exit code diferente de zero.
Eventos
message_ready
Emitido quando a mensagem de commit foi calculada.
{"event":"message_ready","message":"docs: update README.md"}
Campos:
event: sempremessage_ready.message: mensagem Conventional Commit final.
committed
Emitido depois que git commit conclui com sucesso.
{"event":"committed","summary":"abc1234 docs: update README.md"}
Com --date:
{"event":"committed","summary":"abc1234 docs: update README.md","date":"2020-01-02"}
Campos:
event: semprecommitted.summary: resumo retornado pelo ultimo commit Git.date: presente somente quando a data foi definida por flag ou configuracao efetiva.
cancelled
Emitido quando a mensagem foi gerada, mas o commit nao foi confirmado.
{"event":"cancelled","reason":"user_declined"}
Campos:
event: semprecancelled.reason: motivo estavel do cancelamento.
error
Emitido quando o comando falha.
{"event":"error","message":"Arquivo .seshat/config.yaml não encontrado. O Seshat requer configuração local no projeto."}
Campos:
event: sempreerror.message: erro legivel para humanos.
Eventos Reservados
Os nomes review_ready e check_result ficam reservados para evolucao futura. Eles nao sao emitidos pela implementacao atual.