OXYGENHUB

✓ Run #25 passed

main at ac8f95820069 · pushed by andymccall · 4 min 49 s · pipeline f6ceb5f4df71 · .flow/pipeline.kdl · all runs

✓ fmt passed · 1.7 s ✓ build passed · 2 min 13 s ✓ clippy passed · 24.6 s ✓ test passed · 1 min 6 s
✓ fmt passed · exit 0 · 1.7 s · on earth-1 · signed receipt by earth-1 (short-lived key)
0.0sfetching andymccall/spectra for state 366e358ff5e7+62d35f1dd866+8cfb9269bb14+98a0fb9f0948
0.9sfetched in 0.9 s, 103 files exported in 0.0 s
1.0sbooting a microVM: 1 vCPU, 1024 MiB, rootfs 836461b61301

Ran on earth-1: holds the image, running 1 other job, speed 100 (class 3).

Where its time went: prepare 1.0s, run 0.6s, finish 0.0s.

✓ build passed · exit 0 · 2 min 13 s · on earth-1 · signed receipt by earth-1 (short-lived key) · 1 artifact
0.0sfetching andymccall/spectra for state 366e358ff5e7+62d35f1dd866+8cfb9269bb14+98a0fb9f0948
0.7sfetched in 0.7 s, 103 files exported in 0.0 s
0.7scache target: this bookmark's, an older key (/src/target)
0.7scache: 77 of 129 files and directories unchanged since the cached build, their times kept
0.8sbooting a microVM: 4 vCPU, 8192 MiB, rootfs 836461b61301
2.4s   Compiling cc v1.5.1
2.5s   Compiling digest v0.11.3
2.5s   Compiling crossbeam-utils v0.8.23
2.5s   Compiling base64 v0.22.1
3.0s   Compiling signature v3.0.0
3.3s   Compiling rustls v0.23.45
3.5s   Compiling crossbeam-queue v0.3.14
3.5s   Compiling shake v0.1.0
3.6s   Compiling curve25519-dalek v5.0.0
3.6s   Compiling ed25519 v3.0.0
3.6s   Compiling sqlx-core v0.8.6
3.8s   Compiling sha2 v0.11.0
4.5s   Compiling libsqlite3-sys v0.30.1
4.7s   Compiling ring v0.17.14
9.8s   Compiling blake3 v1.8.7
11.2s   Compiling ml-dsa v0.1.1
15.2s   Compiling ed25519-dalek v3.0.0
15.6s   Compiling libmimalloc-sys v0.1.49
15.8s   Compiling regex-automata v0.4.18
15.9s   Compiling sqlx-sqlite v0.8.6
20.6s   Compiling sqlx-macros-core v0.8.6
22.0s   Compiling rustls-webpki v0.103.15
22.6s   Compiling sqlx-macros v0.8.6
25.2s   Compiling rcgen v0.14.10
30.3s   Compiling tokio-rustls v0.26.5
30.7s   Compiling spectra-api v0.1.0 (/src/crates/spectra-api)
33.9s   Compiling matchers v0.2.0
34.0s   Compiling tracing-subscriber v0.3.23
34.8s   Compiling mimalloc v0.1.52
34.8s   Compiling spectra v0.1.0 (/src)
71.9s   Compiling sqlx v0.8.6
72.0s   Compiling spectra-core v0.1.0 (/src/crates/spectra-core)
76.7s   Compiling spectra-mcp v0.1.0 (/src/crates/spectra-mcp)
82.8s   Compiling radar v0.1.0 (/src/crates/radar)
125.7s    Finished `release` profile [optimized] target(s) in 2m 05s
133.4sartifact spectra: 22107872 bytes, blob 84631ce0532a
133.4scache target: kept 1.6 GiB, under its cap of 60% of its 15.6 GiB disk

Ran on earth-1: holds its build cache (kept 21 min ago), holds the image, idle, speed 100 (class 3).

Where its time went: prepare 0.8s, run 126.0s, finish 6.4s.

✓ clippy passed · exit 0 · 24.6 s · on earth-1 · signed receipt by earth-1 (short-lived key)
0.0sfetching andymccall/spectra for state 366e358ff5e7+62d35f1dd866+8cfb9269bb14+98a0fb9f0948
0.6sfetched in 0.6 s, 103 files exported in 0.0 s
0.6scache target: this bookmark's, an older key (/src/target)
0.7scache: 77 of 129 files and directories unchanged since the cached build, their times kept
0.7sbooting a microVM: 4 vCPU, 8192 MiB, rootfs 836461b61301
2.3s   Compiling cc v1.5.1
2.3s    Checking digest v0.11.3
2.3s    Checking crossbeam-utils v0.8.23
2.3s    Checking base64 v0.22.1
2.5s    Checking signature v3.0.0
2.7s    Checking shake v0.1.0
2.7s    Checking curve25519-dalek v5.0.0
2.7s    Checking ed25519 v3.0.0
2.8s    Checking crossbeam-queue v0.3.14
2.8s    Checking sha2 v0.11.0
2.9s    Checking sqlx-core v0.8.6
3.5s    Checking ml-dsa v0.1.1
3.5s    Checking ed25519-dalek v3.0.0
3.6s   Compiling rustls v0.23.45
3.7s    Checking spectra-api v0.1.0 (/src/crates/spectra-api)
4.3s   Compiling libsqlite3-sys v0.30.1
4.9s   Compiling blake3 v1.8.7
5.2s   Compiling ring v0.17.14
5.3s   Compiling libmimalloc-sys v0.1.49
5.5s    Checking regex-automata v0.4.18
6.9s   Compiling spectra v0.1.0 (/src)
7.0s    Checking matchers v0.2.0
7.0s    Checking mimalloc v0.1.52
7.1s    Checking tracing-subscriber v0.3.23
9.0s    Checking rustls-webpki v0.103.15
9.1s    Checking rcgen v0.14.10
11.8s    Checking tokio-rustls v0.26.5
13.1s    Checking sqlx-sqlite v0.8.6
14.9s   Compiling sqlx-macros-core v0.8.6
16.2s   Compiling sqlx-macros v0.8.6
16.9s    Checking sqlx v0.8.6
17.0s    Checking spectra-core v0.1.0 (/src/crates/spectra-core)
18.8s    Checking spectra-mcp v0.1.0 (/src/crates/spectra-mcp)
20.4s    Checking radar v0.1.0 (/src/crates/radar)
23.4s    Finished `dev` profile [unoptimized] target(s) in 22.91s
24.6scache target: kept 780 MiB, under its cap of 60% of its 15.6 GiB disk

Ran on earth-1: holds its build cache (kept 23 min ago), holds the image, idle, speed 100 (class 3).

Where its time went: prepare 0.7s, run 23.7s, finish 0.0s.

✓ test passed · exit 0 · 1 min 6 s · on earth-1 · signed receipt by earth-1 (short-lived key) · 2 artifacts · 72 tests, all passed · coverage 83.7%

72 passed · 1 min 26 s of test time

0.0sfetching andymccall/spectra for state 366e358ff5e7+62d35f1dd866+8cfb9269bb14+98a0fb9f0948
0.5sfetched in 0.5 s, 103 files exported in 0.0 s
0.5scache target: this bookmark's, an older key (/src/target)
0.5scache: 77 of 129 files and directories unchanged since the cached build, their times kept
0.7sbooting a microVM: 4 vCPU, 8192 MiB, rootfs 836461b61301
0.7sinfo: cargo-llvm-cov currently setting cfg(coverage); you can opt-out it by passing --no-cfg-coverage
3.0s   Compiling cc v1.5.1
3.0s   Compiling digest v0.11.3
3.0s   Compiling sqlx-core v0.8.6
3.0s   Compiling rustls v0.23.45
3.3s   Compiling signature v3.0.0
3.4s   Compiling shake v0.1.0
3.4s   Compiling ed25519 v3.0.0
3.4s   Compiling curve25519-dalek v5.0.0
3.5s   Compiling sha2 v0.11.0
4.5s   Compiling ed25519-dalek v3.0.0
4.7s   Compiling ml-dsa v0.1.1
4.7s   Compiling spectra-api v0.1.0 (/src/crates/spectra-api)
5.0s   Compiling libsqlite3-sys v0.30.1
5.6s   Compiling blake3 v1.8.7
6.2s   Compiling ring v0.17.14
6.7s   Compiling libmimalloc-sys v0.1.49
6.7s   Compiling regex-automata v0.4.18
8.1s   Compiling spectra v0.1.0 (/src)
8.4s   Compiling mimalloc v0.1.52
9.6s   Compiling matchers v0.2.0
9.6s   Compiling tracing-subscriber v0.3.23
10.5s   Compiling rustls-webpki v0.103.15
11.5s   Compiling rcgen v0.14.10
13.8s   Compiling sqlx-sqlite v0.8.6
14.3s   Compiling tokio-rustls v0.26.5
16.2s   Compiling sqlx-macros-core v0.8.6
17.4s   Compiling sqlx-macros v0.8.6
18.1s   Compiling sqlx v0.8.6
18.1s   Compiling spectra-core v0.1.0 (/src/crates/spectra-core)
20.7s   Compiling spectra-mcp v0.1.0 (/src/crates/spectra-mcp)
23.9s   Compiling radar v0.1.0 (/src/crates/radar)
34.3s    Finished `test` profile [unoptimized] target(s) in 32.53s
34.5s────────────
34.5s Nextest run ID 9e278c24-df5e-4a0e-a701-516bb529af68 with nextest profile: ci
34.5s    Starting 72 tests across 23 binaries (1 test skipped)
34.5s        PASS [   0.021s] ( 1/72) spectra::cli_admin a_missing_data_directory_says_what_to_do
34.5s        PASS [   0.018s] ( 2/72) spectra::cli_identity an_owner_without_a_secret_key_cannot_init
35.0s        PASS [   0.491s] ( 3/72) spectra::cli_identity a_second_writer_is_refused
35.3s        PASS [   0.757s] ( 4/72) spectra::cli_admin verify_check_and_rebuild_on_a_clean_and_a_tampered_ledger
37.4s        PASS [   2.145s] ( 5/72) spectra::cli_json every_json_output_parses_without_the_daemon
37.4s        PASS [   2.428s] ( 6/72) spectra::cli_json a_terminal_chat_with_the_agents
38.0s        PASS [   3.535s] ( 7/72) spectra::api every_endpoint_for_an_agent_and_the_owner
38.6s        PASS [   4.029s] ( 8/72) spectra::cli_identity init_then_an_owned_agent_end_to_end
38.7s        PASS [   0.639s] ( 9/72) spectra::cli_project a_project_is_registered_once_and_an_agent_needs_one
39.0s        PASS [   1.525s] (10/72) spectra::cli_mcp the_shim_says_plainly_what_is_wrong
40.3s        PASS [   2.846s] (11/72) spectra::cli_mcp a_client_speaks_to_spectra_through_the_shim
40.8s        PASS [   0.583s] (12/72) spectra::connect someone_elses_server_is_refused
41.1s        PASS [   2.498s] (13/72) spectra::cli_project any_work_is_a_project_and_the_owner_links_them
41.1s        PASS [   2.175s] (14/72) spectra::client radar_through_the_loopback_proxy
41.1s        PASS [   0.016s] (15/72) spectra::remote init_refuses_what_is_not_a_key_id
42.4s        PASS [   1.259s] (16/72) spectra::remote the_named_owner_claims_a_server_and_nobody_else_can
42.8s        PASS [   1.950s] (17/72) spectra::connect the_owner_connects_delegates_and_claims
43.7s        PASS [   2.650s] (18/72) spectra::radar the_owner_signs_in_reads_every_page_and_posts
44.3s        PASS [   1.908s] (19/72) spectra::serve an_agent_discovers_lists_and_calls_tools_over_the_socket
45.8s        PASS [   3.010s] (20/72) spectra::serve every_refusal_the_spec_promises
46.4s        PASS [   7.724s] (21/72) spectra::client every_command_works_from_another_machine
46.5s        PASS [   2.174s] (22/72) spectra::tls a_client_trusts_the_certificate_the_instance_key_signed
47.0s        PASS [   0.596s] (23/72) spectra::tls plain_http_beyond_loopback_is_refused
47.4s        PASS [   3.641s] (24/72) spectra::serve owner_commands_go_through_the_running_daemon_and_learn_uid_binds
47.9s        PASS [   2.152s] (25/72) spectra::tls an_agent_bound_to_a_uid_is_refused_over_the_network
48.0s        PASS [   0.011s] (26/72) spectra::bin/spectra cli::ui::tests::relative_times
48.0s        PASS [   0.007s] (27/72) spectra-core cbor::tests::refuses_what_is_not_canonical
48.0s        PASS [   0.017s] (28/72) spectra-core cbor::tests::round_trips_and_known_encodings
48.0s        PASS [   0.011s] (29/72) spectra-core conversation::tests::refs_and_direct_names
48.0s        PASS [   0.011s] (30/72) spectra-core event::tests::canonical_json_sorts_keys_at_every_level
48.0s        PASS [   0.009s] (31/72) spectra-core event::tests::every_field_but_the_proof_changes_the_hash
48.0s        PASS [   0.007s] (32/72) spectra-core event::tests::the_envelope_is_frozen
48.0s        PASS [   0.007s] (33/72) spectra-core hlc::tests::a_far_future_remote_time_moves_the_clock_by_the_drift_bound_at_most
48.1s        PASS [   0.007s] (34/72) spectra-core hlc::tests::ticks_are_monotonic_when_the_wall_clock_stalls_or_steps_back
48.2s        PASS [   0.190s] (35/72) spectra-core identity::tests::a_signature_binds_the_key_and_the_message_and_needs_both_halves
48.3s        PASS [   1.328s] (36/72) spectra::tools the_tool_list_fits_its_token_budget
48.3s        PASS [   0.008s] (37/72) spectra-core ids::tests::ulids_are_26_chars_and_sort_by_time
48.3s        PASS [   0.104s] (38/72) spectra-core identity::tests::identities_round_trip_and_successors_chain
48.4s        PASS [   0.050s] (39/72) spectra-core keys::tests::the_instance_key_is_made_once
48.4s        PASS [   0.008s] (40/72) spectra-core presence::tests::a_waiting_or_connected_agent_is_not_offline
48.4s        PASS [   0.008s] (41/72) spectra-core presence::tests::presence_moves_through_its_states_and_records_each_change
48.5s        PASS [   0.128s] (42/72) spectra-core proof::tests::a_proof_round_trips_and_binds_key_method_body_and_time
48.5s        PASS [   0.008s] (43/72) spectra-core rules::tests::the_version_follows_the_text_exactly
48.6s        PASS [   0.224s] (44/72) spectra-core keys::tests::a_home_made_here_reads_back_signs_and_delegates
49.7s        PASS [   1.122s] (45/72) spectra-core::conversation agents_post_where_they_belong_and_nowhere_else
49.7s        PASS [   1.156s] (46/72) spectra-core::conversation duplicates_limits_and_redaction
51.3s        PASS [   4.760s] (47/72) spectra::tools an_idle_wait_loop_is_refused
51.4s        PASS [   1.776s] (48/72) spectra-core::conversation search_finds_stemmed_words_and_respects_who_may_read
51.6s        PASS [   0.098s] (49/72) spectra-core::ledger a_ledger_from_a_newer_spectra_is_refused
51.6s        PASS [   0.312s] (50/72) spectra-core::ledger a_checkpoint_signed_by_another_key_is_caught
51.7s        PASS [   0.121s] (51/72) spectra-core::ledger a_removed_event_is_caught
52.1s        PASS [   0.450s] (52/72) spectra-core::ledger an_append_abandoned_mid_flight_still_commits_and_never_blocks_later_ones
52.2s        PASS [   2.437s] (53/72) spectra-core::conversation threads_mentions_and_direct_messages_reach_the_inbox
52.4s        PASS [   4.990s] (54/72) spectra::tools two_agents_talk_and_every_call_is_on_the_record
52.4s        PASS [   0.251s] (55/72) spectra-core::ledger an_edit_with_its_hash_recomputed_breaks_the_chain_or_the_checkpoint
52.4s        PASS [   0.229s] (56/72) spectra-core::ledger an_edited_event_is_caught
52.5s        PASS [   0.102s] (57/72) spectra-core::ledger reopening_continues_the_chain
52.6s        PASS [   0.064s] (58/72) spectra-core::ledger the_bus_delivers_what_was_appended_in_order
52.8s        PASS [   1.244s] (59/72) spectra-core::ledger a_single_append_is_fast
52.9s        PASS [   0.515s] (60/72) spectra-core::ledger an_untouched_ledger_verifies_with_signed_checkpoints
53.2s        PASS [   0.678s] (61/72) spectra-core::principals a_proof_swapped_from_another_event_is_caught
53.7s        PASS [   0.771s] (62/72) spectra-core::principals an_agent_cannot_record_itself_as_the_owner_or_a_successor
53.8s        PASS [   0.523s] (63/72) spectra-core::principals an_agent_without_the_owners_delegation_cannot_be_added
53.8s        PASS [   0.972s] (64/72) spectra-core::principals an_agent_cannot_act_in_another_agents_name_or_the_owners
54.0s        PASS [   0.206s] (65/72) spectra-core::principals an_unsigned_claim_to_be_the_owner_or_an_agent_never_reaches_the_tables
54.5s        PASS [   0.706s] (66/72) spectra-core::principals an_owned_agent_acts_and_the_ledger_verifies_every_signature
54.5s        PASS [   0.818s] (67/72) spectra-core::principals an_expired_or_disabled_agent_is_refused_and_flagged
54.5s        PASS [   0.007s] (68/72) spectra-mcp proxy::tests::the_link_points_at_the_proxy
54.5s        PASS [   0.008s] (69/72) spectra-mcp session::tests::a_link_opens_one_session_once_and_only_while_fresh
54.5s        PASS [   0.009s] (70/72) spectra-mcp tls::tests::own_certificate_is_made_once_and_pinned
55.1s        PASS [   1.152s] (71/72) spectra-core::principals requests_are_refused_unless_signed_fresh_unreplayed_and_from_the_bound_uid
0.0scoverage: 83.7% of lines (5692 of 6804) in 44 files
60.6s        PASS [   8.182s] (72/72) spectra-core::ledger projections_equal_a_rebuild_over_ten_thousand_random_events
60.6s────────────
60.6s     Summary [  26.064s] 72 tests run: 72 passed, 1 skipped
60.9s
60.9s    Finished report saved to /src/target/lcov.info
66.4sartifact coverage: 429333 bytes, blob 8af5f8a23172
0.0stests: 72 tests, all passed in 1 min 26 s
66.4sartifact junit: 13775 bytes, blob 0dd8a3acf2ae
66.4scache target: kept 1.8 GiB, under its cap of 60% of its 15.6 GiB disk

Ran on earth-1: holds its build cache (kept 22 min ago), holds the image, idle, speed 100 (class 3).

Where its time went: prepare 0.7s, run 61.3s, finish 4.4s.