OXYGENHUB

✓ Run #28 passed

main at fd9094eb6b63 · pushed by andymccall · 5 min 34 s · pipeline f6ceb5f4df71 · .flow/pipeline.kdl · all runs

✓ fmt passed · 3.8 s ✓ build passed · 2 min 2 s ✓ clippy passed · 17.3 s ✓ test passed · 49.3 s
✓ fmt passed · exit 0 · 3.8 s · on mars-1 · signed receipt by mars-1 (short-lived key)
0.0sfetching andymccall/spectra for state 366e358ff5e7+62d35f1dd866+8cfb9269bb14+b044d90930d9
2.6sfetched in 2.6 s, 109 files exported in 0.1 s
2.8sbooting a microVM: 1 vCPU, 1024 MiB, rootfs 836461b61301

Ran on mars-1: holds the image, idle, speed 75 (class 3).

Where its time went: prepare 2.8s, run 0.6s, finish 0.1s.

✓ build passed · exit 0 · 2 min 2 s · on plex-1 · signed receipt by plex-1 (short-lived key) · 1 artifact
0.0sfetching andymccall/spectra for state 366e358ff5e7+62d35f1dd866+8cfb9269bb14+b044d90930d9
6.0sfetched in 6.1 s, 109 files exported in 0.0 s
6.1scache target: this bookmark's, an older key (/src/target)
6.1scache: 49 of 135 files and directories unchanged since the cached build, their times kept
6.3sbooting a microVM: 4 vCPU, 8192 MiB, rootfs 836461b61301
5.6s   Compiling syn v2.0.119
5.6s   Compiling cc v1.5.1
5.6s   Compiling displaydoc v0.2.7
5.6s   Compiling num-traits v0.2.19
6.4s   Compiling tinystr v0.8.4
6.8s   Compiling icu_locale_core v2.3.0
7.0s   Compiling zerotrie v0.2.5
7.2s   Compiling icu_collections v2.3.0
7.7s   Compiling icu_provider v2.3.1
7.9s   Compiling libsqlite3-sys v0.30.1
8.4s   Compiling icu_normalizer v2.3.0
8.6s   Compiling icu_properties v2.3.0
8.7s   Compiling digest v0.11.3
9.2s   Compiling tracing-attributes v0.1.31
9.6s   Compiling idna_adapter v1.2.2
9.7s   Compiling time-core v0.1.9
9.8s   Compiling num-conv v0.2.2
9.9s   Compiling time-macros v0.2.32
9.9s   Compiling tracing v0.1.44
10.2s   Compiling idna v1.1.0
10.3s   Compiling ring v0.17.14
10.5s   Compiling powerfmt v0.2.1
10.7s   Compiling deranged v0.5.8
11.0s   Compiling url v2.5.8
11.9s   Compiling time v0.3.55
12.5s   Compiling crossbeam-utils v0.8.23
12.5s   Compiling minimal-lexical v0.2.1
12.7s   Compiling sqlx-core v0.8.6
14.7s   Compiling nom v7.1.3
16.6s   Compiling synstructure v0.13.2
16.9s   Compiling asn1-rs-derive v0.6.0
17.3s   Compiling crossbeam-queue v0.3.14
17.4s   Compiling sqlx-sqlite v0.8.6
17.4s   Compiling rusticata-macros v4.1.0
17.5s   Compiling asn1-rs-impl v0.2.0
17.6s   Compiling signature v3.0.0
18.5s   Compiling base64 v0.22.1
19.9s   Compiling sqlx-macros-core v0.8.6
21.0s   Compiling asn1-rs v0.7.2
21.2s   Compiling curve25519-dalek-derive v0.1.1
21.4s   Compiling blake3 v1.8.7
21.6s   Compiling num-integer v0.1.47
21.9s   Compiling atoi v2.0.0
22.0s   Compiling oid-registry v0.8.1
22.1s   Compiling rustls v0.23.45
22.2s   Compiling shake v0.1.0
22.3s   Compiling num-bigint v0.4.8
23.4s   Compiling curve25519-dalek v5.0.0
23.6s   Compiling sqlx-macros v0.8.6
25.4s   Compiling rustls-webpki v0.103.15
25.7s   Compiling ed25519 v3.0.0
25.8s   Compiling sha2 v0.11.0
26.0s   Compiling module-lattice v0.2.3
26.2s   Compiling base64 v0.23.1
26.6s   Compiling bitflags v2.13.2
26.9s   Compiling pem v4.0.0
27.2s   Compiling ed25519-dalek v3.0.0
27.4s   Compiling axum-core v0.5.6
27.5s   Compiling ml-dsa v0.1.1
29.3s   Compiling der-parser v10.0.0
30.2s   Compiling tower v0.5.3
30.3s   Compiling yasna v0.6.0
30.5s   Compiling axum-macros v0.5.1
31.3s   Compiling libmimalloc-sys v0.1.49
31.5s   Compiling rustix v1.1.5
31.5s   Compiling data-encoding v2.11.1
31.6s   Compiling getrandom v0.3.4
31.7s   Compiling axum v0.8.9
33.8s   Compiling x509-parser v0.18.1
36.8s   Compiling regex-automata v0.4.18
39.7s   Compiling askama_derive v0.14.0
44.0s   Compiling tokio-rustls v0.26.5
44.2s   Compiling rcgen v0.14.10
44.2s   Compiling spectra-api v0.1.0 (/src/crates/spectra-api)
44.7s   Compiling linux-raw-sys v0.12.1
45.0s   Compiling pulldown-cmark v0.13.4
46.7s   Compiling ammonia v4.2.0
48.6s   Compiling askama v0.14.0
49.1s   Compiling matchers v0.2.0
49.1s   Compiling fastrand v2.5.0
49.2s   Compiling tracing-subscriber v0.3.23
49.3s   Compiling tempfile v3.27.0
49.9s   Compiling spectra v0.1.0 (/src)
49.9s   Compiling mimalloc v0.1.52
63.2s   Compiling sqlx v0.8.6
63.3s   Compiling spectra-core v0.1.0 (/src/crates/spectra-core)
66.4s   Compiling spectra-mcp v0.1.0 (/src/crates/spectra-mcp)
70.8s   Compiling radar v0.1.0 (/src/crates/radar)
102.7s    Finished `release` profile [optimized] target(s) in 1m 42s
122.4sartifact spectra: 22445112 bytes, blob 631c6c7aee4a
122.6scache target: kept 1.2 GiB, under its cap of 60% of its 16.0 GiB disk

Ran on plex-1: holds its build cache (kept 17 h ago), holds the image, idle, speed 108 (class 3), after 16 s held for a better runner.

Where its time went: prepare 6.3s, run 103.1s, finish 13.0s.

✓ clippy passed · exit 0 · 17.3 s · on plex-1 · signed receipt by plex-1 (short-lived key)
0.0sfetching andymccall/spectra for state 366e358ff5e7+62d35f1dd866+8cfb9269bb14+b044d90930d9
0.8sfetched in 0.9 s, 109 files exported in 0.0 s
0.8scache target: this bookmark's, an older key (/src/target)
0.9scache: 54 of 135 files and directories unchanged since the cached build, their times kept
1.0sbooting a microVM: 4 vCPU, 8192 MiB, rootfs 836461b61301
1.4s   Compiling cc v1.5.1
1.4s    Checking digest v0.11.3
1.4s    Checking crossbeam-utils v0.8.23
1.4s    Checking base64 v0.22.1
1.5s    Checking signature v3.0.0
1.6s    Checking shake v0.1.0
1.6s    Checking ed25519 v3.0.0
1.6s    Checking curve25519-dalek v5.0.0
1.6s    Checking sha2 v0.11.0
1.7s    Checking crossbeam-queue v0.3.14
1.7s    Checking sqlx-core v0.8.6
2.1s    Checking ml-dsa v0.1.1
2.1s    Checking ed25519-dalek v3.0.0
2.2s   Compiling rustls v0.23.45
2.3s    Checking spectra-api v0.1.0 (/src/crates/spectra-api)
2.5s   Compiling libsqlite3-sys v0.30.1
2.9s   Compiling ring v0.17.14
3.0s   Compiling blake3 v1.8.7
3.2s   Compiling libmimalloc-sys v0.1.49
3.3s    Checking regex-automata v0.4.18
4.2s    Checking matchers v0.2.0
4.3s   Compiling spectra v0.1.0 (/src)
4.3s    Checking tracing-subscriber v0.3.23
4.3s    Checking mimalloc v0.1.52
5.2s    Checking rustls-webpki v0.103.15
5.2s    Checking rcgen v0.14.10
7.0s    Checking tokio-rustls v0.26.5
8.0s    Checking sqlx-sqlite v0.8.6
9.2s   Compiling sqlx-macros-core v0.8.6
9.9s   Compiling sqlx-macros v0.8.6
10.3s    Checking sqlx v0.8.6
10.3s    Checking spectra-core v0.1.0 (/src/crates/spectra-core)
11.6s    Checking spectra-mcp v0.1.0 (/src/crates/spectra-mcp)
12.5s    Checking radar v0.1.0 (/src/crates/radar)
14.9s    Finished `dev` profile [unoptimized] target(s) in 14.58s
17.0scache target: kept 1.0 GiB, under its cap of 60% of its 16.0 GiB disk

Ran on plex-1: holds its build cache (kept 3 h ago), holds the image, idle, speed 108 (class 3), after 140 s held for a better runner.

Where its time went: prepare 1.1s, run 15.1s, finish 0.7s.

✓ test passed · exit 0 · 49.3 s · on plex-1 · signed receipt by plex-1 (short-lived key) · 2 artifacts · 73 tests, all passed · coverage 83.5%

73 passed · 1 min 3 s of test time

0.0sfetching andymccall/spectra for state 366e358ff5e7+62d35f1dd866+8cfb9269bb14+b044d90930d9
1.5sfetched in 1.5 s, 109 files exported in 0.0 s
1.6scache target: this bookmark's, an older key (/src/target)
1.6scache: 54 of 135 files and directories unchanged since the cached build, their times kept
1.8sbooting a microVM: 4 vCPU, 8192 MiB, rootfs 836461b61301
0.3sinfo: cargo-llvm-cov currently setting cfg(coverage); you can opt-out it by passing --no-cfg-coverage
1.7s   Compiling cc v1.5.1
1.8s   Compiling digest v0.11.3
1.8s   Compiling sqlx-core v0.8.6
1.8s   Compiling rustls v0.23.45
1.9s   Compiling signature v3.0.0
1.9s   Compiling sha2 v0.11.0
2.0s   Compiling ed25519 v3.0.0
2.0s   Compiling shake v0.1.0
2.1s   Compiling curve25519-dalek v5.0.0
2.5s   Compiling ml-dsa v0.1.1
2.9s   Compiling ed25519-dalek v3.0.0
2.9s   Compiling libsqlite3-sys v0.30.1
3.0s   Compiling blake3 v1.8.7
3.3s   Compiling ring v0.17.14
3.7s   Compiling spectra-api v0.1.0 (/src/crates/spectra-api)
3.9s   Compiling libmimalloc-sys v0.1.49
4.0s   Compiling regex-automata v0.4.18
5.1s   Compiling spectra v0.1.0 (/src)
5.2s   Compiling mimalloc v0.1.52
5.4s   Compiling matchers v0.2.0
5.4s   Compiling tracing-subscriber v0.3.23
6.1s   Compiling rustls-webpki v0.103.15
6.3s   Compiling rcgen v0.14.10
8.7s   Compiling sqlx-sqlite v0.8.6
8.9s   Compiling tokio-rustls v0.26.5
10.1s   Compiling sqlx-macros-core v0.8.6
10.9s   Compiling sqlx-macros v0.8.6
11.3s   Compiling sqlx v0.8.6
11.3s   Compiling spectra-core v0.1.0 (/src/crates/spectra-core)
13.1s   Compiling spectra-mcp v0.1.0 (/src/crates/spectra-mcp)
15.9s   Compiling radar v0.1.0 (/src/crates/radar)
22.3s    Finished `test` profile [unoptimized] target(s) in 21.40s
22.4s────────────
22.4s Nextest run ID d01b7c3c-621e-474e-a7b0-38dc1b8296c5 with nextest profile: ci
22.4s    Starting 73 tests across 24 binaries (1 test skipped)
22.4s        PASS [   0.015s] ( 1/73) spectra::cli_admin a_missing_data_directory_says_what_to_do
22.7s        PASS [   0.284s] ( 2/73) spectra::cli_admin verify_check_and_rebuild_on_a_clean_and_a_tampered_ledger
22.7s        PASS [   0.015s] ( 3/73) spectra::cli_identity an_owner_without_a_secret_key_cannot_init
22.7s        PASS [   0.297s] ( 4/73) spectra::cli_identity a_second_writer_is_refused
24.6s        PASS [   1.924s] ( 5/73) spectra::cli_json a_terminal_chat_with_the_agents
24.9s        PASS [   2.489s] ( 6/73) spectra::api every_endpoint_for_an_agent_and_the_owner
25.5s        PASS [   2.811s] ( 7/73) spectra::cli_identity init_then_an_owned_agent_end_to_end
26.0s        PASS [   1.397s] ( 8/73) spectra::cli_json every_json_output_parses_without_the_daemon
26.5s        PASS [   0.501s] ( 9/73) spectra::cli_project a_project_is_registered_once_and_an_agent_needs_one
26.8s        PASS [   1.866s] (10/73) spectra::cli_mcp a_client_speaks_to_spectra_through_the_shim
26.8s        PASS [   1.290s] (11/73) spectra::cli_mcp the_shim_says_plainly_what_is_wrong
27.2s        PASS [   4.809s] (12/73) spectra::briefs a_project_brief_reaches_its_own_agents_only
27.7s        PASS [   0.498s] (13/73) spectra::connect someone_elses_server_is_refused
27.9s        PASS [   1.048s] (14/73) spectra::client radar_through_the_loopback_proxy
27.9s        PASS [   1.381s] (15/73) spectra::cli_project any_work_is_a_project_and_the_owner_links_them
27.9s        PASS [   0.015s] (16/73) spectra::remote init_refuses_what_is_not_a_key_id
28.8s        PASS [   0.879s] (17/73) spectra::remote the_named_owner_claims_a_server_and_nobody_else_can
29.0s        PASS [   1.267s] (18/73) spectra::connect the_owner_connects_delegates_and_claims
29.8s        PASS [   1.948s] (19/73) spectra::radar the_owner_signs_in_reads_every_page_and_posts
30.0s        PASS [   1.223s] (20/73) spectra::serve an_agent_discovers_lists_and_calls_tools_over_the_socket
30.9s        PASS [   1.910s] (21/73) spectra::serve every_refusal_the_spec_promises
31.6s        PASS [   1.524s] (22/73) spectra::tls a_client_trusts_the_certificate_the_instance_key_signed
31.7s        PASS [   4.907s] (23/73) spectra::client every_command_works_from_another_machine
32.0s        PASS [   0.457s] (24/73) spectra::tls plain_http_beyond_loopback_is_refused
32.2s        PASS [   1.256s] (25/73) spectra::tls an_agent_bound_to_a_uid_is_refused_over_the_network
32.2s        PASS [   2.348s] (26/73) spectra::serve owner_commands_go_through_the_running_daemon_and_learn_uid_binds
32.2s        PASS [   0.004s] (27/73) spectra::bin/spectra cli::ui::tests::relative_times
32.2s        PASS [   0.004s] (28/73) spectra-core cbor::tests::refuses_what_is_not_canonical
32.2s        PASS [   0.004s] (29/73) spectra-core cbor::tests::round_trips_and_known_encodings
32.2s        PASS [   0.004s] (30/73) spectra-core conversation::tests::refs_and_direct_names
32.2s        PASS [   0.004s] (31/73) spectra-core event::tests::canonical_json_sorts_keys_at_every_level
32.2s        PASS [   0.029s] (32/73) spectra-core event::tests::every_field_but_the_proof_changes_the_hash
32.2s        PASS [   0.004s] (33/73) spectra-core event::tests::the_envelope_is_frozen
32.2s        PASS [   0.004s] (34/73) spectra-core hlc::tests::a_far_future_remote_time_moves_the_clock_by_the_drift_bound_at_most
32.2s        PASS [   0.011s] (35/73) spectra-core hlc::tests::ticks_are_monotonic_when_the_wall_clock_stalls_or_steps_back
32.3s        PASS [   0.101s] (36/73) spectra-core identity::tests::a_signature_binds_the_key_and_the_message_and_needs_both_halves
32.4s        PASS [   0.071s] (37/73) spectra-core identity::tests::identities_round_trip_and_successors_chain
32.4s        PASS [   0.004s] (38/73) spectra-core ids::tests::ulids_are_26_chars_and_sort_by_time
32.6s        PASS [   0.179s] (39/73) spectra-core keys::tests::a_home_made_here_reads_back_signs_and_delegates
32.6s        PASS [   0.039s] (40/73) spectra-core keys::tests::the_instance_key_is_made_once
32.7s        PASS [   0.004s] (41/73) spectra-core presence::tests::a_waiting_or_connected_agent_is_not_offline
32.7s        PASS [   0.004s] (42/73) spectra-core presence::tests::presence_moves_through_its_states_and_records_each_change
32.7s        PASS [   0.098s] (43/73) spectra-core proof::tests::a_proof_round_trips_and_binds_key_method_body_and_time
32.7s        PASS [   0.004s] (44/73) spectra-core rules::tests::a_brief_must_fit_in_one_call
32.9s        PASS [   0.877s] (45/73) spectra::tools the_tool_list_fits_its_token_budget
33.6s        PASS [   0.819s] (46/73) spectra-core::conversation agents_post_where_they_belong_and_nowhere_else
33.8s        PASS [   0.880s] (47/73) spectra-core::conversation duplicates_limits_and_redaction
34.7s        PASS [   1.128s] (48/73) spectra-core::conversation search_finds_stemmed_words_and_respects_who_may_read
34.8s        PASS [   0.152s] (49/73) spectra-core::ledger a_checkpoint_signed_by_another_key_is_caught
34.9s        PASS [   0.031s] (50/73) spectra-core::ledger a_ledger_from_a_newer_spectra_is_refused
34.9s        PASS [   0.075s] (51/73) spectra-core::ledger a_removed_event_is_caught
35.3s        PASS [   1.489s] (52/73) spectra-core::conversation threads_mentions_and_direct_messages_reach_the_inbox
35.5s        PASS [   0.526s] (53/73) spectra-core::ledger a_single_append_is_fast
35.6s        PASS [   0.091s] (54/73) spectra-core::ledger an_edit_with_its_hash_recomputed_breaks_the_chain_or_the_checkpoint
35.6s        PASS [   3.973s] (55/73) spectra::tools an_idle_wait_loop_is_refused
35.7s        PASS [   0.404s] (56/73) spectra-core::ledger an_append_abandoned_mid_flight_still_commits_and_never_blocks_later_ones
35.7s        PASS [   0.146s] (57/73) spectra-core::ledger an_edited_event_is_caught
35.8s        PASS [   0.055s] (58/73) spectra-core::ledger reopening_continues_the_chain
35.8s        PASS [   0.030s] (59/73) spectra-core::ledger the_bus_delivers_what_was_appended_in_order
35.8s        PASS [   0.198s] (60/73) spectra-core::ledger an_untouched_ledger_verifies_with_signed_checkpoints
36.2s        PASS [   0.386s] (61/73) spectra-core::principals a_proof_swapped_from_another_event_is_caught
36.4s        PASS [   4.201s] (62/73) spectra::tools two_agents_talk_and_every_call_is_on_the_record
36.4s        PASS [   0.528s] (63/73) spectra-core::principals an_agent_cannot_act_in_another_agents_name_or_the_owners
36.5s        PASS [   0.331s] (64/73) spectra-core::principals an_agent_cannot_record_itself_as_the_owner_or_a_successor
36.6s        PASS [   0.216s] (65/73) spectra-core::principals an_agent_without_the_owners_delegation_cannot_be_added
36.8s        PASS [   0.250s] (66/73) spectra-core::principals an_unsigned_claim_to_be_the_owner_or_an_agent_never_reaches_the_tables
36.9s        PASS [   0.542s] (67/73) spectra-core::principals an_expired_or_disabled_agent_is_refused_and_flagged
36.9s        PASS [   0.003s] (68/73) spectra-mcp proxy::tests::the_link_points_at_the_proxy
36.9s        PASS [   0.003s] (69/73) spectra-mcp session::tests::a_link_opens_one_session_once_and_only_while_fresh
36.9s        PASS [   0.004s] (70/73) spectra-mcp tls::tests::own_certificate_is_made_once_and_pinned
37.0s        PASS [   0.470s] (71/73) spectra-core::principals an_owned_agent_acts_and_the_ledger_verifies_every_signature
37.7s        PASS [   0.872s] (72/73) spectra-core::principals requests_are_refused_unless_signed_fresh_unreplayed_and_from_the_bound_uid
41.7s        PASS [   6.010s] (73/73) spectra-core::ledger projections_equal_a_rebuild_over_ten_thousand_random_events
0.0scoverage: 83.5% of lines (5996 of 7183) in 45 files
41.7s────────────
41.7s     Summary [  19.280s] 73 tests run: 73 passed, 1 skipped
41.9s
41.9s    Finished report saved to /src/target/lcov.info
48.9sartifact coverage: 448907 bytes, blob 55552d0a7675
0.0stests: 73 tests, all passed in 1 min 3 s
49.1sartifact junit: 14023 bytes, blob 6f03d765f748
49.2scache target: kept 1.9 GiB, under its cap of 60% of its 16.0 GiB disk

Ran on plex-1: holds its build cache (kept 3 h ago), holds the image, idle, speed 108 (class 3), after 157 s held for a better runner.

Where its time went: prepare 1.8s, run 42.3s, finish 5.0s.