Python / Execução registrada
Industrial IoT Sentinel
An operational vessel occupancy twin with zone capacity, personnel roles, and idempotent movements recovered from a SQLite journal.
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.
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 JSONPASS python -m unittest discover -v
Saída: 0 · esperada: 0 · 0.151 s
$ bash -e -o pipefail -c python -m unittest discover -v test_replay_and_rejected_transition_are_atomic (test_durable.DurableTests.test_replay_and_rejected_transition_are_atomic) ... ok test_movement_replay_is_rejected (test_sentinel.OffshoreDigitalTwinTests.test_movement_replay_is_rejected) ... ok test_pob_and_zone_occupancy_follow_badge_events (test_sentinel.OffshoreDigitalTwinTests.test_pob_and_zone_occupancy_follow_badge_events) ... ok test_pob_reconciliation_emits_alert (test_sentinel.OffshoreDigitalTwinTests.test_pob_reconciliation_emits_alert) ... ok test_sensor_calibration_and_quality_checks (test_sentinel.OffshoreDigitalTwinTests.test_sensor_calibration_and_quality_checks) ... ok test_stale_or_replayed_sensor_sequence_is_rejected (test_sentinel.OffshoreDigitalTwinTests.test_stale_or_replayed_sensor_sequence_is_rejected) ... ok test_zone_role_and_pob_limits_are_enforced (test_sentinel.OffshoreDigitalTwinTests.test_zone_role_and_pob_limits_are_enforced) ... ok ---------------------------------------------------------------------- Ran 7 tests in 0.010s OK
PASS python -m unittest discover -v -s cloud
Saída: 0 · esperada: 0 · 0.351 s
$ bash -e -o pipefail -c python -m unittest discover -v -s cloud test_confirmed_receipt_marks_the_report_sent (test_receipts.ReceiptTests.test_confirmed_receipt_marks_the_report_sent) ... ok test_events_reject_empty_values_of_the_wrong_type (test_receipts.ReceiptTests.test_events_reject_empty_values_of_the_wrong_type) ... ok test_invalid_receipts_keep_the_report_pending (test_receipts.ReceiptTests.test_invalid_receipts_keep_the_report_pending) ... ok test_omitted_events_and_empty_list_have_the_same_key (test_receipts.ReceiptTests.test_omitted_events_and_empty_list_have_the_same_key) ... ok test_conflicting_key_cannot_overwrite_a_report (test_sync.OutboxTests.test_conflicting_key_cannot_overwrite_a_report) ... ok test_retries_keep_reports_until_confirmed (test_sync.OutboxTests.test_retries_keep_reports_until_confirmed) ... ok ---------------------------------------------------------------------- Ran 6 tests in 0.066s OK
PASS Persist occupancy, reject overflow, recover and replay
Saída: 0 · esperada: 0 · 0.101 s
$ python .proof/demo.py
{"capacity_rejection_atomic": true, "recovered": {"events": 2, "peopleOnBoard": 2, "vesselId": "demo-vessel", "zones": [{"capacity": 1, "hazardous": false, "occupancy_ratio": 1.0, "people": 1, "people_on_board": 2, "severity": "critical", "zone_id": "deck"}, {"capacity": 1, "hazardous": false, "occupancy_ratio": 1.0, "people": 1, "people_on_board": 2, "severity": "critical", "zone_id": "bridge"}]}, "replay_idempotent": true}
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/industrial-iot-sentinel.git cd industrial-iot-sentinel git checkout 7fef97be3e77e449d6d50b73fa28e79a2e894a88 python .proof/record.py