25 lines
1.2 KiB
Markdown
25 lines
1.2 KiB
Markdown
|
|
# Host clock inventory
|
||
|
|
|
||
|
|
From the repository root, using an existing SSH alias and trust configuration:
|
||
|
|
|
||
|
|
```sh
|
||
|
|
python3 tools/observe_host_clock.py railiance01 --output docs/evidence/UNIQUE-host-clock-inventory.json
|
||
|
|
python3 -m unittest discover -s tests -v
|
||
|
|
```
|
||
|
|
|
||
|
|
Choose a unique output name for every observation. The collector refuses to
|
||
|
|
replace an existing file. The remote host needs Python 3 and the systemd/ss tools;
|
||
|
|
individual unavailable commands are recorded as failed observations. SSH failure
|
||
|
|
aborts collection. No sudo, installation or host configuration change is performed.
|
||
|
|
|
||
|
|
The JSON records daemon/upstream metadata, configuration hashes and command exit
|
||
|
|
codes. `synchronized_reported` is an OS report; `authority_usable` remains null.
|
||
|
|
Neither host nor workstation observation timestamps are authenticated Railiance
|
||
|
|
time, and this tool cannot establish an independent UTC error bound. It supports
|
||
|
|
RCLK-WP-0005-T01 inventory; service acceptance remains in the specification and
|
||
|
|
later workplan tasks.
|
||
|
|
|
||
|
|
The 2026-09-14 live JSON receipt accompanies the human-readable host inventory.
|
||
|
|
Six unit tests cover transport failure, host argument validation, fixed command
|
||
|
|
transport and unknown-versus-synchronized semantics.
|