   Compiling spt v0.72.0 (C:\Users\decid\Documents\projects\spt-core\.worktrees\339-update-sources\crates\spt)
    Finished `test` profile [unoptimized + debuginfo] target(s) in 6.94s
     Running tests\source_ladder_e2e.rs (target\debug\deps\source_ladder_e2e-e730ce0e87945b7d.exe)

running 1 test
=== spt adapter add w4-rig-adapter -vs (rc=Some(0)) ===

ADAPTER_INSTALL_TRUST:w4-rig-adapter: signing key 0b513ad9b4924015 adopted on first install from peer rig-a
ADAPTER_VIA_SUBNET:w4-rig-adapter: 1.0.0 from peer rig-a
ADAPTER_ADD:w4-rig-adapter:Harness:Pointer (registered)
ADAPTER_INSTALL_PENDING:w4-rig-adapter: GhReleaseManaged (payload rides the update engine)

=== spt adapter update w4-rig-adapter (rc=Some(0)) ===

ADAPTER_UPDATE:w4-rig-adapter: 1.0.0 -> 2.0.0 (from peer rig-a; installed signing key 0b513ad9b4924015)
ADAPTER_UPDATE_DONE:w4-rig-adapter (re-registered)
ADAPTER_UPDATE_SOURCE:w4-rig-adapter: served by peer rig-a
ADAPTER_UPDATE_SUMMARY:w4-rig-adapter: updated 1.0.0 -> 2.0.0

=== spt adapter version w4-rig-adapter (rc=Some(0)) ===
2.0.0


=== spt update source pin rig-c (rc=Some(0)) ===
UPDATE_SOURCE_PINNED:rig-c (214fbf208fa267a790c69e1942d84b12b3ca9abe1fd313d58c8a0e20fd56fb9c)


=== spt adapter update w4-rig-adapter (rc=Some(0)) ===

ADAPTER_UPDATE:w4-rig-adapter: 2.0.0 -> 3.0.0 (from peer rig-c; installed signing key 0b513ad9b4924015)
ADAPTER_UPDATE_DONE:w4-rig-adapter (re-registered)
ADAPTER_UPDATE_SOURCE:w4-rig-adapter: served by peer rig-c
ADAPTER_UPDATE_SUMMARY:w4-rig-adapter: updated 2.0.0 -> 3.0.0

=== spt adapter version w4-rig-adapter (rc=Some(0)) ===
3.0.0


=== spt adapter update w4-rig-adapter (rc=Some(0)) ===

ADAPTER_PEER_REJECTED:w4-rig-adapter:rig-c: archive sha256 5742628aa25ab44a372496fcd6f03e50792fd482a597ffdcafd6aa1db44b405a does not match the offer 0000000000000000000000000000000000000000000000000000000000000000
ADAPTER_UPDATE:w4-rig-adapter: 3.0.0 -> 4.0.0 (from peer rig-a; installed signing key 0b513ad9b4924015)
ADAPTER_UPDATE_DONE:w4-rig-adapter (re-registered)
ADAPTER_UPDATE_SOURCE:w4-rig-adapter: served by peer rig-a
ADAPTER_UPDATE_SUMMARY:w4-rig-adapter: updated 3.0.0 -> 4.0.0

=== spt adapter version w4-rig-adapter (rc=Some(0)) ===
4.0.0


=== spt update -c --via-subnet (rc=Some(0)) ===
UPDATE_STAGED:100 (set, from peer rig-a)
spt-core is already up to date (release 100).

UPDATE_PEER_HEALTH_UNKNOWN: no pump health on this node — every peer is asked

=== spt update -c (rc=Some(0)) ===
UPDATE_STAGED:101 (set, from peer rig-a)
spt-core is already up to date (release 101).

UPDATE_PEER_HEALTH_UNKNOWN: no pump health on this node — every peer is asked

=== spt update -c --remote (rc=Some(1)) ===

UPDATE_CHANNEL_ATTEMPT:BigscreenVR/spt-bs-releases
UPDATE_FETCH_REJECTED:GhCliRequired — the release channel is private and spt fetches releases through the GitHub CLI (gh). Install it:
  winget install --id GitHub.cli
then authenticate:  gh auth login
UPDATE_COMPOSITE_ABORTED: the core update failed — the remaining leg(s) were not run

test b_asks_its_sources_in_ladder_order_and_learns_only_verified_serves ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 12.05s

     Running tests\source_verbs_e2e.rs (target\debug\deps\source_verbs_e2e-e81e8b2c08e80a36.exe)

running 1 test
=== spt update status (rc=Some(0)) ===
staged: none
applied: none recorded
last: none recorded
sources: none yet (every peer is asked alike)


=== spt update source (rc=Some(0)) ===
No update sources yet. A peer becomes one after it serves an update that passes verify; pin one with `spt update source pin <node>`.


=== spt update source pin RIG-A (rc=Some(0)) ===
UPDATE_SOURCE_PINNED:rig-a (abcd000000000000000000000000000000000000000000000000000000000000)


=== spt update source pin abcd000000000000000000000000000000000000000000000000000000000000 (rc=Some(0)) ===
UPDATE_SOURCE_ALREADY_PINNED:rig-a (abcd000000000000000000000000000000000000000000000000000000000000)


=== spt update source list (rc=Some(0)) ===
pinned   rig-a                abcd00000000  has not served this node
learned  rig-b                abcd11111111  last served core 7


=== spt update source --json (rc=Some(0)) ===
{"sources":[{"node":"abcd000000000000000000000000000000000000000000000000000000000000","label":"rig-a","class":"pinned","last_served":null},{"node":"abcd111111111111111111111111111111111111111111111111111111111111","label":"rig-b","class":"learned","last_served":{"what":"core","version":"7","at_ms":1}}]}


=== spt update status (rc=Some(0)) ===
staged: none
applied: none recorded
last: none recorded
sources: 1 pinned, 1 learned (asked first: rig-a)


=== spt update source pin abcd (rc=Some(2)) ===

UPDATE_SOURCE_AMBIGUOUS_NODE: "abcd" matches 2 peers; name one by its full key: abcd000000000000000000000000000000000000000000000000000000000000, abcd111111111111111111111111111111111111111111111111111111111111

=== spt update source pin nobody (rc=Some(2)) ===

UPDATE_SOURCE_UNKNOWN_NODE: "nobody" is not a peer this node knows. Name it by its node name from `spt subnet status --nodes`, a key prefix, or its full key.

=== spt update source unpin abcd0 (rc=Some(0)) ===
UPDATE_SOURCE_UNPINNED:rig-a (abcd000000000000000000000000000000000000000000000000000000000000)


=== spt update source unpin rig-a (rc=Some(3)) ===

UPDATE_SOURCE_NOT_PINNED:rig-a (abcd000000000000000000000000000000000000000000000000000000000000): nothing to unpin

test source_verbs_and_status_read_and_write_the_ladder ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.61s

exit=0
