JavaScript / Demo executável

Electrical Circuit Engine

A circuit interpreter with NO/NC contacts, AND/OR logic, TON timing, previous-state latching, and mutually exclusive coils.

O que foi verificado

Os comandos abaixo executam o código do repositório e conferem os cenários registrados. A evidência cobre esses cenários na versão indicada; não comprova todas as entradas possíveis nem uso em produção. As entradas de laboratório e os testes do software não comprovam conexão ou operação em equipamentos físicos.

Versão executada
0ebaee14b3197fcba871c8a00567561d1c35f37c
Registro
2026-10-10T05:28:55.623152+00:00
Repositório
brunnojob/eletrical-comands-and-teory
Licença
MIT

A evidência abaixo pertence à versão registrada. A consulta usa a API pública do GitHub e pode atingir o limite de requisições.

Comandos e resultados reais

Resultados extraídos dos logs do Actions. Saídas extensas podem estar resumidas; a execução original e o artefato contêm o registro completo.

Baixar relatório JSON
PASS npm test

Saída: 0 · esperada: 0 · 0.201 s

$ bash -e -o pipefail -c npm test


> electrical-circuit-engine@2.0.0 test
> node --test tests/*.test.mjs

✔ seal-in circuit holds until stop and overload deenergize it (1.2756ms)
✔ mutually energized reversing coils trip the software interlock (0.176282ms)
✔ TON resets when its input falls (0.782375ms)
✔ rejects repeated members in an interlock (0.355069ms)
✔ rejects invalid contact identifiers before scanning (0.128381ms)
✔ internal PLC names never collide with declared signals (1.670307ms)
✔ feedback uses the previous scan and commits outputs after interlocks (0.389951ms)
✔ nested TON blocks execute their inputs before their parent (1.318995ms)
✔ rejects invalid identifiers and timer precision instead of emitting broken PLC code (0.277503ms)
ℹ tests 9
ℹ suites 0
ℹ pass 9
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 51.718247
PASS Execute the seal-in circuit across supplied scans

Saída: 0 · esperada: 0 · 0.051 s

$ node src/cli.mjs examples/seal-in.json examples/inputs.json

{"scans":3,"final":{"sequence":3,"timestampMs":200,"coils":{"MOTOR":false},"transitions":[{"id":"MOTOR","energized":false}],"interlockTrips":[]},"events":[{"sequence":1,"timestampMs":0,"coils":{"MOTOR":true},"transitions":[{"id":"MOTOR","energized":true}],"interlockTrips":[]},{"sequence":2,"timestampMs":100,"coils":{"MOTOR":true},"transitions":[],"interlockTrips":[]},{"sequence":3,"timestampMs":200,"coils":{"MOTOR":false},"transitions":[{"id":"MOTOR","energized":false}],"interlockTrips":[]}]}
Baixar transcrição

Reproduzir a execução

Os pré-requisitos e as entradas são públicos no repositório. Faça checkout da versão exata antes de executar os cenários.

git clone https://github.com/brunnojob/eletrical-comands-and-teory.git
cd eletrical-comands-and-teory
git checkout 0ebaee14b3197fcba871c8a00567561d1c35f37c
python .proof/record.py