These raw log messages are meant to help Ambient developers figure out problems. You can ignore them.
{
"type": "executor_starts",
"name": "ambient-execute-plan",
"version": "0.14.0@c37ec71",
"timestamp": {
"secs_since_epoch": 1779987696,
"nanos_since_epoch": 949492180
},
"log_source": "Plan"
}{
"type": "runnable_plan",
"steps": [
{
"action": "mkdir",
"pathname": "/ci"
},
{
"action": "mkdir",
"pathname": "/ci/artifacts"
},
{
"action": "tar_extract",
"archive": "/dev/vdc",
"directory": "/ci/src"
},
{
"action": "tar_extract",
"archive": "/dev/vdf",
"directory": "/ci/deps"
},
{
"action": "tar_extract",
"archive": "/dev/vde",
"directory": "/ci/cache"
},
{
"action": "shell",
"shell": "ln -sf /ci /workspace"
},
{
"action": "shell",
"shell": "git config --global user.name 'Ambient CI'"
},
{
"action": "shell",
"shell": "git config --global user.email ambient@example.com"
},
{
"action": "cargo_fmt"
},
{
"action": "cargo_clippy"
},
{
"action": "cargo_test"
},
{
"action": "tar_create",
"archive": "/dev/vde",
"directory": "/ci/cache"
},
{
"action": "tar_create",
"archive": "/dev/vdd",
"directory": "/ci/artifacts"
}
],
"executor_drive": "/dev/vdb",
"source_drive": "/dev/vdc",
"artifact_drive": "/dev/vdd",
"cache_drive": "/dev/vde",
"deps_drive": "/dev/vdf",
"workspace_dir": "/ci",
"source_dir": "/ci/src",
"deps_dir": "/ci/deps",
"cache_dir": "/ci/cache",
"artifacts_dir": "/ci/artifacts",
"envs": {},
"timestamp": {
"secs_since_epoch": 1779987696,
"nanos_since_epoch": 949802819
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "mkdir",
"pathname": "/ci",
"timestamp": {
"secs_since_epoch": 1779987696,
"nanos_since_epoch": 949865596
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "mkdir",
"pathname": "/ci",
"timestamp": {
"secs_since_epoch": 1779987696,
"nanos_since_epoch": 950107230
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "mkdir",
"pathname": "/ci/artifacts",
"timestamp": {
"secs_since_epoch": 1779987696,
"nanos_since_epoch": 950266897
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "mkdir",
"pathname": "/ci/artifacts",
"timestamp": {
"secs_since_epoch": 1779987696,
"nanos_since_epoch": 950293765
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "tar_extract",
"archive": "/dev/vdc",
"directory": "/ci/src",
"timestamp": {
"secs_since_epoch": 1779987696,
"nanos_since_epoch": 950473989
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "tar_extract",
"archive": "/dev/vdc",
"directory": "/ci/src",
"timestamp": {
"secs_since_epoch": 1779987696,
"nanos_since_epoch": 974399363
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "tar_extract",
"archive": "/dev/vdf",
"directory": "/ci/deps",
"timestamp": {
"secs_since_epoch": 1779987696,
"nanos_since_epoch": 974463790
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "tar_extract",
"archive": "/dev/vdf",
"directory": "/ci/deps",
"timestamp": {
"secs_since_epoch": 1779987699,
"nanos_since_epoch": 197999084
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "tar_extract",
"archive": "/dev/vde",
"directory": "/ci/cache",
"timestamp": {
"secs_since_epoch": 1779987699,
"nanos_since_epoch": 198458908
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "tar_extract",
"archive": "/dev/vde",
"directory": "/ci/cache",
"timestamp": {
"secs_since_epoch": 1779987699,
"nanos_since_epoch": 205260090
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "shell",
"shell": "ln -sf /ci /workspace",
"timestamp": {
"secs_since_epoch": 1779987699,
"nanos_since_epoch": 205691190
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
98,
97,
115,
104
]
},
{
"Unix": [
45,
99
]
},
{
"Unix": [
115,
101,
116,
32,
45,
120,
101,
117,
111,
32,
112,
105,
112,
101,
102,
97,
105,
108,
10,
108,
110,
32,
45,
115,
102,
32,
47,
99,
105,
32,
47,
119,
111,
114,
107,
115,
112,
97,
99,
101,
10
]
}
],
"timestamp": {
"secs_since_epoch": 1779987699,
"nanos_since_epoch": 205903479
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "",
"stderr": "+ ln -sf /ci /workspace\n",
"timestamp": {
"secs_since_epoch": 1779987699,
"nanos_since_epoch": 216637824
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "shell",
"shell": "ln -sf /ci /workspace",
"timestamp": {
"secs_since_epoch": 1779987699,
"nanos_since_epoch": 217064329
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "shell",
"shell": "git config --global user.name 'Ambient CI'",
"timestamp": {
"secs_since_epoch": 1779987699,
"nanos_since_epoch": 217069731
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
98,
97,
115,
104
]
},
{
"Unix": [
45,
99
]
},
{
"Unix": [
115,
101,
116,
32,
45,
120,
101,
117,
111,
32,
112,
105,
112,
101,
102,
97,
105,
108,
10,
103,
105,
116,
32,
99,
111,
110,
102,
105,
103,
32,
45,
45,
103,
108,
111,
98,
97,
108,
32,
117,
115,
101,
114,
46,
110,
97,
109,
101,
32,
39,
65,
109,
98,
105,
101,
110,
116,
32,
67,
73,
39,
10
]
}
],
"timestamp": {
"secs_since_epoch": 1779987699,
"nanos_since_epoch": 217276204
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "",
"stderr": "+ git config --global user.name 'Ambient CI'\n",
"timestamp": {
"secs_since_epoch": 1779987699,
"nanos_since_epoch": 233453923
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "shell",
"shell": "git config --global user.name 'Ambient CI'",
"timestamp": {
"secs_since_epoch": 1779987699,
"nanos_since_epoch": 233887037
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "shell",
"shell": "git config --global user.email ambient@example.com",
"timestamp": {
"secs_since_epoch": 1779987699,
"nanos_since_epoch": 234093537
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
98,
97,
115,
104
]
},
{
"Unix": [
45,
99
]
},
{
"Unix": [
115,
101,
116,
32,
45,
120,
101,
117,
111,
32,
112,
105,
112,
101,
102,
97,
105,
108,
10,
103,
105,
116,
32,
99,
111,
110,
102,
105,
103,
32,
45,
45,
103,
108,
111,
98,
97,
108,
32,
117,
115,
101,
114,
46,
101,
109,
97,
105,
108,
32,
97,
109,
98,
105,
101,
110,
116,
64,
101,
120,
97,
109,
112,
108,
101,
46,
99,
111,
109,
10
]
}
],
"timestamp": {
"secs_since_epoch": 1779987699,
"nanos_since_epoch": 234103557
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "",
"stderr": "+ git config --global user.email ambient@example.com\n",
"timestamp": {
"secs_since_epoch": 1779987699,
"nanos_since_epoch": 249068759
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "shell",
"shell": "git config --global user.email ambient@example.com",
"timestamp": {
"secs_since_epoch": 1779987699,
"nanos_since_epoch": 249492885
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "cargo_fmt",
"timestamp": {
"secs_since_epoch": 1779987699,
"nanos_since_epoch": 249498285
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
99,
97,
114,
103,
111
]
},
{
"Unix": [
45,
45,
118,
101,
114,
115,
105,
111,
110
]
}
],
"timestamp": {
"secs_since_epoch": 1779987699,
"nanos_since_epoch": 249702733
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "cargo 1.95.0 (f2d3ce0bd 2026-03-21)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1779987699,
"nanos_since_epoch": 283439344
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
99,
97,
114,
103,
111
]
},
{
"Unix": [
99,
108,
105,
112,
112,
121
]
},
{
"Unix": [
45,
45,
118,
101,
114,
115,
105,
111,
110
]
}
],
"timestamp": {
"secs_since_epoch": 1779987699,
"nanos_since_epoch": 283940036
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "clippy 0.1.95 (59807616e1 2026-04-14)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1779987699,
"nanos_since_epoch": 342612175
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
114,
117,
115,
116,
99
]
},
{
"Unix": [
45,
45,
118,
101,
114,
115,
105,
111,
110
]
}
],
"timestamp": {
"secs_since_epoch": 1779987699,
"nanos_since_epoch": 345410305
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "rustc 1.95.0 (59807616e 2026-04-14)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1779987699,
"nanos_since_epoch": 362693491
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
99,
97,
114,
103,
111
]
},
{
"Unix": [
102,
109,
116
]
},
{
"Unix": [
45,
45,
99,
104,
101,
99,
107
]
}
],
"timestamp": {
"secs_since_epoch": 1779987699,
"nanos_since_epoch": 363157129
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1779987699,
"nanos_since_epoch": 510488140
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "cargo_fmt",
"timestamp": {
"secs_since_epoch": 1779987699,
"nanos_since_epoch": 512732066
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "cargo_clippy",
"timestamp": {
"secs_since_epoch": 1779987699,
"nanos_since_epoch": 514656927
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
99,
97,
114,
103,
111
]
},
{
"Unix": [
45,
45,
118,
101,
114,
115,
105,
111,
110
]
}
],
"timestamp": {
"secs_since_epoch": 1779987699,
"nanos_since_epoch": 516640061
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "cargo 1.95.0 (f2d3ce0bd 2026-03-21)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1779987699,
"nanos_since_epoch": 527401972
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
99,
97,
114,
103,
111
]
},
{
"Unix": [
99,
108,
105,
112,
112,
121
]
},
{
"Unix": [
45,
45,
118,
101,
114,
115,
105,
111,
110
]
}
],
"timestamp": {
"secs_since_epoch": 1779987699,
"nanos_since_epoch": 530107602
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "clippy 0.1.95 (59807616e1 2026-04-14)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1779987699,
"nanos_since_epoch": 558696344
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
114,
117,
115,
116,
99
]
},
{
"Unix": [
45,
45,
118,
101,
114,
115,
105,
111,
110
]
}
],
"timestamp": {
"secs_since_epoch": 1779987699,
"nanos_since_epoch": 561386737
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "rustc 1.95.0 (59807616e 2026-04-14)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1779987699,
"nanos_since_epoch": 576023160
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
99,
97,
114,
103,
111
]
},
{
"Unix": [
99,
108,
105,
112,
112,
121
]
},
{
"Unix": [
45,
45,
111,
102,
102,
108,
105,
110,
101
]
},
{
"Unix": [
45,
45,
108,
111,
99,
107,
101,
100
]
},
{
"Unix": [
45,
45,
119,
111,
114,
107,
115,
112,
97,
99,
101
]
},
{
"Unix": [
45,
45,
97,
108,
108,
45,
116,
97,
114,
103,
101,
116,
115
]
},
{
"Unix": [
45,
45,
110,
111,
45,
100,
101,
112,
115
]
},
{
"Unix": [
45,
45
]
},
{
"Unix": [
45,
45,
100,
101,
110,
121
]
},
{
"Unix": [
119,
97,
114,
110,
105,
110,
103,
115
]
}
],
"timestamp": {
"secs_since_epoch": 1779987699,
"nanos_since_epoch": 576678031
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "",
"stderr": " Compiling proc-macro2 v1.0.106\n Compiling unicode-ident v1.0.24\n Compiling quote v1.0.45\n Compiling libc v0.2.186\n Compiling serde_core v1.0.228\n Compiling syn v2.0.117\n Compiling serde v1.0.228\n Checking cfg-if v1.0.4\n Compiling version_check v0.9.5\n Checking typenum v1.20.0\n Checking subtle v2.6.1\n Compiling generic-array v0.14.7\n Checking getrandom v0.2.17\n Checking log v0.4.29\n Compiling jobserver v0.1.34\n Compiling find-msvc-tools v0.1.9\n Compiling shlex v1.3.0\n Compiling serde_derive v1.0.228\n Compiling zeroize_derive v1.4.3\n Checking zeroize v1.8.2\n Checking crypto-common v0.1.7\n Compiling cc v1.2.62\n Checking pin-project-lite v0.2.17\n Compiling portable-atomic v1.13.1\n Checking futures-core v0.3.32\n Checking smallvec v1.15.1\n Checking bytes v1.11.1\n Checking errno v0.3.14\n Checking critical-section v1.2.0\n Checking once_cell v1.21.4\n Checking signal-hook-registry v1.4.8\n Compiling synstructure v0.13.2\n Checking memchr v2.8.0\n Checking stable_deref_trait v1.2.1\n Checking cpufeatures v0.2.17\n Checking socket2 v0.6.3\n Compiling zerofrom-derive v0.1.7\n Compiling yoke-derive v0.8.2\n Checking futures-io v0.3.32\n Checking zerofrom v0.1.7\n Compiling tokio-macros v2.7.0\n Checking yoke v0.8.2\n Checking mio v1.2.0\n Compiling zerovec-derive v0.11.3\n Checking tokio v1.52.3\n Checking slab v0.4.12\n Checking futures-sink v0.3.32\n Checking futures-channel v0.3.32\n Checking zerovec v0.11.6\n Compiling displaydoc v0.2.5\n Compiling futures-macro v0.3.32\n Checking futures-task v0.3.32\n Checking const-oid v0.9.6\n Checking futures-util v0.3.32\n Checking itoa v1.0.18\n Compiling cfg_aliases v0.2.1\n Checking tinystr v0.8.3\n Compiling semver v1.0.28\n Checking writeable v0.6.3\n Checking litemap v0.8.2\n Compiling libm v0.2.16\n Checking scopeguard v1.2.0\n Checking foldhash v0.2.0\n Checking lock_api v0.4.14\n Checking icu_locale_core v2.2.0\n Compiling rustc_version v0.4.1\n Checking zerotrie v0.2.4\n Checking potential_utf v0.1.5\n Checking rand_core v0.10.1\n Compiling icu_normalizer_data v2.2.0\n Checking utf8_iter v1.0.4\n Compiling icu_properties_data v2.2.0\n Checking icu_collections v2.2.0\n Checking icu_provider v2.2.0\n Checking tracing-core v0.1.36\n Checking block-buffer v0.10.4\n Checking percent-encoding v2.3.2\n Checking equivalent v1.0.2\n Checking bitflags v2.11.1\n Compiling thiserror v2.0.18\n Checking digest v0.10.7\n Compiling thiserror-impl v2.0.18\n Checking rand_core v0.6.4\n Checking icu_properties v2.2.0\n Checking icu_normalizer v2.2.0\n Checking block-padding v0.3.3\n Compiling tracing-attributes v0.1.31\n Compiling getrandom v0.4.2\n Compiling autocfg v1.5.0\n Checking allocator-api2 v0.2.21\n Checking hashbrown v0.17.1\n Checking tracing v0.1.44\n Compiling num-traits v0.2.19\n Checking idna_adapter v1.2.2\n Checking inout v0.1.4\n Compiling ring v0.17.14\n Checking cpufeatures v0.3.0\n Checking base64ct v1.8.3\n Checking cipher v0.4.4\n Checking idna v1.1.0\n Checking form_urlencoded v1.2.2\n Checking tokio-util v0.7.18\n Checking http v1.4.0\n Checking rustls-pki-types v1.14.1\n Compiling rustversion v1.0.22\n Checking url v2.5.8\n Checking indexmap v2.14.0\n Checking fastrand v2.4.1\n Compiling syn v1.0.109\n Checking untrusted v0.9.0\n Checking spin v0.9.8\n Checking byteorder v1.5.0\n Checking universal-hash v0.5.1\n Compiling rustls v0.23.40\n Checking opaque-debug v0.3.1\n Checking rustls-webpki v0.103.13\n Checking chacha20 v0.10.0\n Checking der v0.7.10\n Compiling curve25519-dalek-derive v0.1.1\n Compiling pkg-config v0.3.33\n Compiling unicode-segmentation v1.13.2\n Checking data-encoding v2.11.0\n Checking base64 v0.22.1\n Compiling convert_case v0.10.0\n Checking rand v0.10.1\n Checking polyval v0.6.2\n Checking ipnet v2.12.0\n Compiling unicode-xid v0.2.6\n Compiling httparse v1.10.1\n Compiling derive_more-impl v2.1.1\n Checking ghash v0.5.1\n Checking ctr v0.9.2\n Checking aes v0.8.4\n Checking aead v0.5.2\n Compiling fnv v1.0.7\n Checking const-oid v0.10.2\n Compiling strsim v0.11.1\n Compiling zerocopy v0.8.48\n Checking atomic-waker v1.1.2\n Compiling ident_case v1.0.1\n Compiling darling_core v0.20.11\n Checking derive_more v2.1.1\n Compiling data-encoding-macro-internal v0.1.18\n Checking aes-gcm v0.10.3\n Checking sha2 v0.10.9\n Checking tinyvec_macros v0.1.1\n Checking h2 v0.4.14\n Compiling darling_macro v0.20.11\n Checking tinyvec v1.11.0\n Checking data-encoding-macro v0.1.20\n Checking spki v0.7.3\n Checking http-body v1.0.1\n Checking signature v2.2.0\n Checking ff v0.13.1\n Compiling spez v0.1.2\n Compiling pin-project-internal v1.1.12\n Compiling n0-error-macros v1.0.0-rc.0\n Checking hybrid-array v0.4.12\n Checking base16ct v0.2.0\n Checking parking v2.2.1\n Checking futures-lite v2.6.1\n Checking sec1 v0.7.3\n Checking n0-error v1.0.0-rc.0\n Checking ppv-lite86 v0.2.21\n Checking pin-project v1.1.12\n Checking group v0.13.0\n Compiling darling v0.20.11\n Checking pem-rfc7468 v1.0.0\n Checking crypto-bigint v0.5.5\n Checking try-lock v0.2.5\n Compiling crossbeam-utils v0.8.21\n Compiling parking_lot_core v0.9.12\n Compiling paste v1.0.15\n Checking tower-service v0.3.3\n Compiling heck v0.5.0\n Checking want v0.3.1\n Checking der v0.8.0\n Checking elliptic-curve v0.13.8\n Checking rand_chacha v0.3.1\n Compiling derive_builder_core v0.20.2\n Checking crypto-common v0.2.1\n Checking block-buffer v0.12.0\n Checking hmac v0.12.1\n Compiling n0-future v0.3.2\n Checking cordyceps v0.3.4\n Checking httpdate v1.0.3\n Checking openssl-probe v0.2.1\n Checking spin v0.10.0\n Compiling anyhow v1.0.102\n Checking diatomic-waker v0.2.3\n Compiling winnow v1.0.2\n Compiling toml_parser v1.1.2+spec-1.1.0\n Checking futures-buffered v0.2.13\n Checking rustls-native-certs v0.8.3\n Checking hyper v1.9.0\n Checking rfc6979 v0.4.0\n Checking digest v0.11.3\n Compiling derive_builder_macro v0.20.2\n Checking spki v0.8.0\n Checking rand v0.8.6\n Checking tokio-rustls v0.26.4\n Compiling amplify_syn v2.0.1\n Checking lazy_static v1.5.0\n Compiling vergen-lib v9.1.0\n Compiling curve25519-dalek v5.0.0-pre.6\n Compiling noq-udp v1.0.0-rc.0\n Checking powerfmt v0.2.0\n Checking base16ct v1.0.0\n Compiling vcpkg v0.2.15\n Checking signature v1.6.4\n Compiling toml_datetime v1.1.1+spec-1.1.0\n Compiling toml_edit v0.25.11+spec-1.1.0\n Compiling libz-sys v1.1.28\n Checking ed25519 v1.5.3\n Checking serdect v0.4.3\n Checking deranged v0.5.8\n Compiling amplify_derive v4.0.1\n Checking netlink-packet-core v0.8.1\n Checking parking_lot v0.12.5\n Checking hyper-util v0.1.20\n Checking pkcs8 v0.11.0\n Compiling derive_builder v0.20.2\n Checking ecdsa v0.16.9\n Checking rustls-platform-verifier v0.7.0\n Checking primeorder v0.13.6\n Compiling vergen v9.1.0\n Checking num-integer v0.1.46\n Compiling curve25519-dalek v4.1.3\n Compiling heapless v0.7.17\n Compiling rustix v1.1.4\n Checking siphasher v1.0.3\n Checking time-core v0.1.8\n Compiling num-bigint-dig v0.8.6\n Checking tower-layer v0.3.3\n Checking ct-codecs v1.1.6\n Checking either v1.15.0\n Checking num-conv v0.2.1\n Checking amplify_num v0.5.3\n Checking ascii v1.1.0\n Checking signature v3.0.0\n Checking ed25519 v3.0.0\n Checking prefix-trie v0.8.3\n Checking time v0.3.47\n Checking amplify v4.9.0\n Checking ec25519 v0.1.0\n Checking num-iter v0.1.45\n Compiling proc-macro-crate v3.5.0\n Checking crossbeam-channel v0.5.15\n Checking sha2 v0.11.0\n Checking http-body-util v0.1.3\n Checking pkcs8 v0.10.2\n Compiling sqlite3-src v0.7.0\n Checking hash32 v0.2.1\n Compiling vergen-gitcl v9.1.0\n Checking pem-rfc7468 v0.7.0\n Checking futures-executor v0.3.32\n Checking sync_wrapper v1.0.2\n Checking linux-raw-sys v0.12.1\n Compiling zmij v1.0.21\n Compiling num_threads v0.1.7\n Compiling ref-cast v1.0.25\n Compiling thiserror v1.0.69\n Checking tower v0.5.3\n Checking futures v0.3.32\n Checking ssh-encoding v0.2.0\n Checking pkcs1 v0.7.5\n Checking ed25519-dalek v3.0.0-pre.7\n Checking cyphergraphy v0.3.1\n Checking hickory-proto v0.26.1\n Checking fastbloom v0.17.0\n Checking crossbeam-epoch v0.9.18\n Checking ed25519 v2.2.3\n Compiling libgit2-sys v0.18.4+1.9.3\n Checking poly1305 v0.8.0\n Checking blowfish v0.9.1\n Checking uuid v1.23.1\n Checking chacha20 v0.9.1\n Checking cbc v0.1.2\n Checking cobs v0.3.0\n Checking pbkdf2 v0.12.2\n Checking rand_pcg v0.10.2\n Checking netlink-sys v0.8.8\n Compiling noq v1.0.0-rc.0\n Compiling blake3 v1.8.5\n Compiling async-trait v0.1.89\n Compiling postcard-derive v0.2.2\n Compiling match-lookup v0.1.2\n Compiling ref-cast-impl v1.0.25\n Compiling enum-assoc v1.3.0\n Compiling thiserror-impl v1.0.69\n Compiling proc-macro-error-attr v0.4.12\n Checking const-str v0.4.3\n Checking sorted-index-buffer v0.2.1\n Checking identity-hash v0.1.0\n Checking rustc-hash v2.1.2\n Compiling serde_json v1.0.149\n Checking lru-slab v0.1.2\n Checking tagptr v0.2.0\n Checking moka v0.12.15\n Checking noq-proto v1.0.0-rc.0\n Checking base256emoji v1.0.2\n Checking postcard v1.1.3\n Checking hickory-net v0.26.1\n Checking bcrypt-pbkdf v0.10.0\n Checking ssh-cipher v0.2.0\n Checking ed25519-dalek v2.2.0\n Checking cypheraddr v0.4.1\n Checking rsa v0.9.10\n Checking iroh-base v1.0.0-rc.0\n Checking tower-http v0.6.10\n Compiling num_enum_derive v0.7.6\n Checking p384 v0.13.1\n Checking p256 v0.13.2\n Checking p521 v0.13.3\n Checking hyper-rustls v0.27.9\n Checking netlink-packet-route v0.29.0\n Compiling iroh-metrics-derive v1.0.0-rc.0\n Compiling strum_macros v0.28.0\n Compiling syn-mid v0.5.4\n Checking tokio-stream v0.1.18\n Compiling netwatch v0.17.0\n Compiling iroh-dns v1.0.0-rc.0\n Compiling proc-macro-error v0.4.12\n Checking xml-rs v0.8.28\n Checking arrayvec v0.7.6\n Compiling proc-macro-hack v0.5.20+deprecated\n Checking resolv-conf v0.7.6\n Checking ryu v1.0.23\n Checking mac-addr v0.3.0\n Checking constant_time_eq v0.4.2\n Checking base-x v0.2.11\n Checking arrayref v0.3.9\n Checking multibase v0.9.2\n Checking netdev v0.43.0\n Checking iroh-metrics v1.0.0-rc.0\n Checking hickory-resolver v0.26.1\n Checking xmltree v0.10.3\n Checking strum v0.28.0\n Checking reqwest v0.13.3\n Checking ssh-key v0.6.7\n Checking num_enum v0.7.6\n Compiling iroh-relay v1.0.0-rc.0\n Checking socks5-client v0.4.2\n Checking sqlite3-sys v0.18.0\n Checking git-ref-format-core v0.6.0\n Checking netlink-proto v0.12.0\n Checking n0-watcher v1.0.0-rc.0\n Checking netlink-packet-route v0.30.0\n Checking qcheck v1.0.0\n Checking attohttpc v0.30.1\n Checking arc-swap v1.9.1\n Checking webpki-roots v1.0.7\n Checking simple-dns v0.11.2\n Checking secrecy v0.10.3\n Checking serde_bytes v0.11.19\n Compiling typeid v1.0.3\n Compiling signal-hook v0.3.18\n Checking sha1_smol v1.0.1\n Checking simdutf8 v0.1.5\n Checking tokio-websockets v0.13.2\n Checking ssh-agent-lib v0.5.2\n Checking igd-next v0.17.0\n Checking sqlite v0.37.0\n Checking cyphernet v0.5.3\n Checking lru v0.18.0\n Compiling iroh v1.0.0-rc.0\n Compiling serde_derive_internals v0.29.1\n Checking seize v0.5.1\n Checking dyn-clone v1.0.20\n Compiling erased-serde v0.4.10\n Checking cmov v0.5.3\n Checking utf8parse v0.2.2\n Compiling crc32fast v1.5.0\n Checking anstyle-parse v1.0.0\n Checking ctutils v0.4.2\n Checking papaya v0.2.4\n Compiling schemars_derive v1.2.1\n Compiling genawaiter-proc-macro v0.99.1\n Checking radicle-crypto v0.17.0\n Checking portmapper v0.17.0\n Checking yasna v0.6.0\n Checking pem v3.0.6\n Checking git2 v0.20.4\n Checking backon v1.6.0\n Checking inplace-vec-builder v0.1.1\n Checking mio v0.8.11\n Checking thread_local v1.1.9\n Checking adler2 v2.0.1\n Checking anstyle v1.0.14\n Checking genawaiter-macro v0.99.1\n Checking binary-merge v0.1.2\n Checking simd-adler32 v0.3.9\n Checking regex-syntax v0.8.10\n Checking is_terminal_polyfill v1.70.2\n Checking anstyle-query v1.1.5\n Compiling redb v4.1.0\n Checking colorchoice v1.0.5\n Checking anstream v1.0.0\n Checking radicle-oid v0.2.0\n Checking regex-automata v0.4.14\n Checking miniz_oxide v0.8.9\n Checking range-collections v0.4.6\n Checking genawaiter v0.99.1\n Checking signal-hook-mio v0.2.5\n Checking rcgen v0.14.8\n Checking schemars v1.2.1\n Checking terminal_size v0.4.4\n Checking iroh-io v0.6.2\n Checking radicle-dag v0.10.0\n Checking radicle-git-metadata v0.2.0\n Compiling iroh-blobs v0.101.0\n Checking nonempty v0.9.0\n Compiling irpc-derive v0.15.0\n Checking positioned-io v0.3.5\n Checking unicode-width v0.2.2\n Compiling radicle v0.24.0\n Checking self_cell v1.2.2\n Checking clap_lex v1.1.0\n Checking unsigned-varint v0.8.0\n Checking iana-time-zone v0.1.65\n Checking bitflags v1.3.2\n Checking crossterm v0.25.0\n Checking chrono v0.4.44\n Checking iroh-util v0.4.0\n Checking multihash v0.19.5\n Checking newline-converter v0.3.0\n Checking clap_builder v4.6.0\n Checking bao-tree v0.16.0\n Checking console v0.15.11\n Checking irpc v0.15.0\n Checking radicle-cob v0.20.0\n Checking flate2 v1.1.9\n Checking radicle-core v0.3.0\n Checking serde-untagged v0.1.9\n Checking matchers v0.2.0\n Checking fuzzy-matcher v0.3.7\n Checking radicle-git-ref-format v0.1.0\n Checking iroh-tickets v1.0.0-rc.0\n Checking tempfile v3.27.0\n Checking reflink-copy v0.1.29\n Compiling nested_enum_utils v0.2.3\n Checking sharded-slab v0.1.7\n Compiling clap_derive v4.6.1\n Checking unicode-normalization v0.1.25\n Checking ureq-proto v0.6.0\n Checking fxhash v0.2.1\n Checking tracing-serde v0.2.0\n Checking tracing-log v0.2.0\n Checking radicle-localtime v0.1.0\n Checking bytesize v2.3.1\n Checking unicode-width v0.1.14\n Checking fast-glob v0.3.3\n Checking dunce v1.0.5\n Checking hex v0.4.3\n Checking base64 v0.21.7\n Checking nu-ansi-term v0.50.3\n Checking same-file v1.0.6\n Checking number_prefix v0.4.0\n Checking utf8-zero v0.8.1\n Checking tracing-subscriber v0.3.23\n Checking ureq v3.3.0\n Checking indicatif v0.17.11\n Checking walkdir v2.5.0\n Checking clap v4.6.1\n Checking inquire v0.7.5\n Checking cid v0.11.3\n Checking nonempty v0.11.0\n Checking radicle-artifact v0.14.0 (/ci/src)\n Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 35s\n",
"timestamp": {
"secs_since_epoch": 1779987794,
"nanos_since_epoch": 751884980
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "cargo_clippy",
"timestamp": {
"secs_since_epoch": 1779987794,
"nanos_since_epoch": 908746550
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "cargo_test",
"timestamp": {
"secs_since_epoch": 1779987794,
"nanos_since_epoch": 908931547
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
99,
97,
114,
103,
111
]
},
{
"Unix": [
45,
45,
118,
101,
114,
115,
105,
111,
110
]
}
],
"timestamp": {
"secs_since_epoch": 1779987794,
"nanos_since_epoch": 908940780
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "cargo 1.95.0 (f2d3ce0bd 2026-03-21)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1779987794,
"nanos_since_epoch": 978270050
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
99,
97,
114,
103,
111
]
},
{
"Unix": [
99,
108,
105,
112,
112,
121
]
},
{
"Unix": [
45,
45,
118,
101,
114,
115,
105,
111,
110
]
}
],
"timestamp": {
"secs_since_epoch": 1779987794,
"nanos_since_epoch": 981064236
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "clippy 0.1.95 (59807616e1 2026-04-14)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1779987795,
"nanos_since_epoch": 10820114
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
114,
117,
115,
116,
99
]
},
{
"Unix": [
45,
45,
118,
101,
114,
115,
105,
111,
110
]
}
],
"timestamp": {
"secs_since_epoch": 1779987795,
"nanos_since_epoch": 13608534
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "rustc 1.95.0 (59807616e 2026-04-14)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1779987795,
"nanos_since_epoch": 28170546
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
99,
97,
114,
103,
111
]
},
{
"Unix": [
116,
101,
115,
116
]
},
{
"Unix": [
45,
45,
111,
102,
102,
108,
105,
110,
101
]
},
{
"Unix": [
45,
45,
108,
111,
99,
107,
101,
100
]
},
{
"Unix": [
45,
45,
119,
111,
114,
107,
115,
112,
97,
99,
101
]
}
],
"timestamp": {
"secs_since_epoch": 1779987795,
"nanos_since_epoch": 28673181
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "\nrunning 100 tests\ntest node::lifecycle::tests::log_path_is_under_artifacts_dir ... ok\ntest node::lifecycle::tests::rotate_log_moves_current_to_dot_one ... ok\ntest node::tests::invalid_typed_fields_surface_as_invalid_request ... ok\ntest node::tests::double_start_errors ... ok\ntest protocol::tests::wire_snapshot_command_result_ok_and_err ... ok\ntest protocol::tests::wire_snapshot_command_seed ... ok\ntest protocol::tests::wire_snapshot_command_status ... ok\ntest protocol::tests::wire_snapshot_command_unseed_and_lookups ... ok\ntest protocol::tests::wire_snapshot_receipts ... ok\ntest protocol::tests::wire_snapshot_status_zeroed ... ok\ntest seeder::tests::all_seeded_round_trip ... ok\ntest seeder::tests::per_repo_tags_isolate ... ok\ntest seeder::tests::seeded_tag_layout ... ok\ntest seeder::tests::unregister_unknown_is_noop ... ok\ntest share::cid_utils::tests::artifact_kind_blob ... ok\ntest share::cid_utils::tests::artifact_kind_collection ... ok\ntest share::cid_utils::tests::artifact_kind_unknown_codec ... ok\ntest share::cid_utils::tests::blake3_hash_to_cid_blob_roundtrip ... ok\ntest share::cid_utils::tests::blake3_hash_to_cid_collection_roundtrip ... ok\ntest share::cid_utils::tests::canonical_walk_normalizes_separators ... ok\ntest share::cid_utils::tests::canonical_walk_returns_absolute_paths ... ok\ntest share::cid_utils::tests::canonical_walk_returns_sorted_entries ... ok\ntest share::cid_utils::tests::canonical_walk_skips_directories ... ok\ntest share::cid_utils::tests::cid_to_blake3_hash_rejects_sha256 ... ok\ntest share::cid_utils::tests::cid_to_blake3_hash_roundtrip ... ok\ntest share::cid_utils::tests::cid_to_blake3_works_with_hashseq_codec ... ok\ntest share::cid_utils::tests::determinism ... ok\ntest share::cid_utils::tests::golden_hash ... ok\ntest share::cid_utils::tests::symlink_is_skipped ... ok\ntest share::fetch::tests::download_collection_url_only_reports_unsupported ... ok\ntest share::fetch::tests::download_http_connect_times_out_fast ... ok\ntest share::fetch::tests::download_no_locations ... ok\ntest share::fetch::tests::download_unsupported_scheme ... ok\ntest share::fetch::tests::partition_locations_splits_iroh_and_url ... ok\ntest share::iroh::tests::default_uses_radworks_endpoints ... ok\ntest share::iroh::tests::parse_env_rejects_malformed_value ... ok\ntest share::keys::tests::display_differs_from_iroh_default ... ok\ntest share::keys::tests::display_is_endpoint_url ... ok\ntest share::keys::tests::encrypted_keystore_requires_passphrase ... ok\ntest share::keys::tests::from_url_bare_is_none ... ok\ntest share::keys::tests::from_url_garbage_host_errors ... ok\ntest share::keys::tests::from_url_wrong_scheme_errors ... ok\ntest share::keys::tests::fromstr_round_trip ... ok\ntest share::keys::tests::is_endpoint_url_only_matches_endpoint_scheme ... ok\ntest share::keys::tests::radicle_and_iroh_keys_share_same_public_identity ... ok\ntest share::keys::tests::url_round_trip ... ok\ntest test::add_artifact_records_author ... ok\ntest test::add_location_for_missing_cid_is_noop ... ok\ntest test::attest_missing_cid_is_noop ... ok\ntest test::attestation_persists_through_reload ... ok\ntest test::author_self_attestation_is_noop ... ok\ntest test::create_records_tag_oid ... ok\ntest test::create_rejects_commit_oid_as_tag ... ok\ntest test::create_rejects_tag_pointing_at_other_commit ... ok\ntest test::create_rejects_unknown_tag_oid ... ok\ntest test::create_without_tag_leaves_none ... ok\ntest test::creator_persists_through_reload ... ok\ntest test::display_renders_metadata ... ok\ntest test::e2e ... ok\ntest test::find_by_cid_aggregates_across_different_oids ... ok\ntest test::find_by_cid_aggregates_duplicate_oid_releases ... ok\ntest test::find_by_cid_finds_across_releases ... ok\ntest test::find_by_commit_returns_empty_for_no_match ... ok\ntest test::find_by_commit_returns_matching_releases ... ok\ntest test::get_mut_not_found ... ok\ntest test::idempotent_add_artifact ... ok\ntest test::idempotent_attestation ... ok\ntest test::idempotent_create ... ok\ntest test::locations_by_scheme_duplicate_url_from_two_dids ... ok\ntest test::locations_by_scheme_filters_correctly ... ok\ntest test::metadata_persists_through_reload ... ok\ntest test::missing_commit ... ok\ntest test::multi_delegate_attestation ... ok\ntest test::multi_user_redaction ... ok\ntest test::multi_user_same_reason ... ok\ntest test::multiple_locations_per_node ... ok\ntest test::non_author_cannot_rename_artifact ... ok\ntest test::pretty_renders_compact_and_detailed ... ok\ntest test::redact_artifact ... ok\ntest test::redact_empty_reason ... ok\ntest test::redact_nonexistent_cid_errors ... ok\ntest test::redact_only_removes_own_attestation ... ok\ntest test::redact_reason_too_long ... ok\ntest test::redact_removes_attestation ... ok\ntest test::redact_then_attest_is_blocked ... ok\ntest test::redact_updates_reason ... ok\ntest test::redaction_persists_through_reload ... ok\ntest test::reload_refreshes_from_store ... ok\ntest test::remove_location_for_node_that_never_added_is_noop ... ok\ntest test::remove_metadata_drops_key ... ok\ntest test::remove_metadata_for_missing_key_is_noop ... ok\ntest test::set_metadata_accepts_json_object ... ok\ntest test::set_metadata_basic ... ok\ntest test::set_metadata_for_missing_cid_is_noop ... ok\ntest test::set_metadata_last_writer_wins ... ok\ntest test::set_metadata_rejects_invalid_keys ... ok\ntest test::set_metadata_rejects_oversized_value ... ok\ntest test::tag_field_default_none_on_old_actions ... ok\ntest test::tag_persists_through_reload ... ok\ntest node::tests::node_round_trip ... ok\n\ntest result: ok. 100 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 20.10s\n\n\nrunning 10 tests\ntest reconcile::tests::bare_iroh_is_current_endpoint ... ok\ntest reconcile::tests::current_endpoint_not_seeded_is_orphaned_self ... ok\ntest reconcile::tests::missing_and_dangling_split_correctly ... ok\ntest reconcile::tests::missing_picks_release_with_latest_timestamp ... ok\ntest reconcile::tests::explicit_current_endpoint_is_current ... ok\ntest reconcile::tests::mixed_urls_on_same_cid_split_into_buckets ... ok\ntest reconcile::tests::other_endpoint_is_stale ... ok\ntest reconcile::tests::seeded_cid_with_no_matching_release_is_dangling ... ok\ntest reconcile::tests::seeded_with_current_location_is_not_missing ... ok\ntest reconcile::tests::undecodable_host_is_stale ... ok\n\ntest result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 1 test\ntest src/lib.rs - (line 13) ... ok\n\ntest result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.53s\n\n",
"stderr": " Compiling libc v0.2.186\n Compiling serde_core v1.0.228\n Compiling cfg-if v1.0.4\n Compiling zeroize v1.8.2\n Compiling typenum v1.20.0\n Compiling subtle v2.6.1\n Compiling generic-array v0.14.7\n Compiling serde v1.0.228\n Compiling getrandom v0.2.17\n Compiling log v0.4.29\n Compiling jobserver v0.1.34\n Compiling crypto-common v0.1.7\n Compiling cc v1.2.62\n Compiling pin-project-lite v0.2.17\n Compiling smallvec v1.15.1\n Compiling portable-atomic v1.13.1\n Compiling bytes v1.11.1\n Compiling futures-core v0.3.32\n Compiling errno v0.3.14\n Compiling critical-section v1.2.0\n Compiling signal-hook-registry v1.4.8\n Compiling once_cell v1.21.4\n Compiling stable_deref_trait v1.2.1\n Compiling memchr v2.8.0\n Compiling cpufeatures v0.2.17\n Compiling zerofrom v0.1.7\n Compiling socket2 v0.6.3\n Compiling itoa v1.0.18\n Compiling futures-io v0.3.32\n Compiling yoke v0.8.2\n Compiling mio v1.2.0\n Compiling equivalent v1.0.2\n Compiling futures-sink v0.3.32\n Compiling slab v0.4.12\n Compiling tokio v1.52.3\n Compiling futures-channel v0.3.32\n Compiling zerovec v0.11.6\n Compiling futures-task v0.3.32\n Compiling const-oid v0.9.6\n Compiling futures-util v0.3.32\n Compiling tinystr v0.8.3\n Compiling writeable v0.6.3\n Compiling scopeguard v1.2.0\n Compiling foldhash v0.2.0\n Compiling litemap v0.8.2\n Compiling icu_locale_core v2.2.0\n Compiling lock_api v0.4.14\n Compiling zerotrie v0.2.4\n Compiling potential_utf v0.1.5\n Compiling rand_core v0.10.1\n Compiling utf8_iter v1.0.4\n Compiling icu_collections v2.2.0\n Compiling icu_provider v2.2.0\n Compiling libm v0.2.16\n Compiling tracing-core v0.1.36\n Compiling block-buffer v0.10.4\n Compiling percent-encoding v2.3.2\n Compiling bitflags v2.11.1\n Compiling fnv v1.0.7\n Compiling digest v0.10.7\n Compiling icu_normalizer_data v2.2.0\n Compiling icu_properties_data v2.2.0\n Compiling rand_core v0.6.4\n Compiling thiserror v2.0.18\n Compiling icu_properties v2.2.0\n Compiling icu_normalizer v2.2.0\n Compiling block-padding v0.3.3\n Compiling allocator-api2 v0.2.21\n Compiling hashbrown v0.17.1\n Compiling idna_adapter v1.2.2\n Compiling tracing v0.1.44\n Compiling inout v0.1.4\n Compiling ring v0.17.14\n Compiling base64ct v1.8.3\n Compiling cpufeatures v0.3.0\n Compiling cipher v0.4.4\n Compiling getrandom v0.4.2\n Compiling idna v1.1.0\n Compiling form_urlencoded v1.2.2\n Compiling tokio-util v0.7.18\n Compiling http v1.4.0\n Compiling rustls-pki-types v1.14.1\n Compiling url v2.5.8\n Compiling num-traits v0.2.19\n Compiling indexmap v2.14.0\n Compiling fastrand v2.4.1\n Compiling untrusted v0.9.0\n Compiling spin v0.9.8\n Compiling unicode-segmentation v1.13.2\n Compiling byteorder v1.5.0\n Compiling universal-hash v0.5.1\n Compiling opaque-debug v0.3.1\n Compiling rustls v0.23.40\n Compiling chacha20 v0.10.0\n Compiling der v0.7.10\n Compiling rustls-webpki v0.103.13\n Compiling data-encoding v2.11.0\n Compiling base64 v0.22.1\n Compiling strsim v0.11.1\n Compiling rand v0.10.1\n Compiling polyval v0.6.2\n Compiling convert_case v0.10.0\n Compiling ipnet v2.12.0\n Compiling derive_more-impl v2.1.1\n Compiling ghash v0.5.1\n Compiling ctr v0.9.2\n Compiling aes v0.8.4\n Compiling aead v0.5.2\n Compiling atomic-waker v1.1.2\n Compiling const-oid v0.10.2\n Compiling powerfmt v0.2.0\n Compiling deranged v0.5.8\n Compiling darling_core v0.20.11\n Compiling aes-gcm v0.10.3\n Compiling httparse v1.10.1\n Compiling derive_more v2.1.1\n Compiling sha2 v0.10.9\n Compiling time-core v0.1.8\n Compiling num-conv v0.2.1\n Compiling tinyvec_macros v0.1.1\n Compiling tinyvec v1.11.0\n Compiling zerocopy v0.8.48\n Compiling darling_macro v0.20.11\n Compiling data-encoding-macro v0.1.20\n Compiling h2 v0.4.14\n Compiling spki v0.7.3\n Compiling http-body v1.0.1\n Compiling ff v0.13.1\n Compiling signature v2.2.0\n Compiling hybrid-array v0.4.12\n Compiling base16ct v0.2.0\n Compiling parking v2.2.1\n Compiling futures-lite v2.6.1\n Compiling sec1 v0.7.3\n Compiling n0-error v1.0.0-rc.0\n Compiling pin-project v1.1.12\n Compiling group v0.13.0\n Compiling ppv-lite86 v0.2.21\n Compiling darling v0.20.11\n Compiling pem-rfc7468 v1.0.0\n Compiling crypto-bigint v0.5.5\n Compiling tower-service v0.3.3\n Compiling try-lock v0.2.5\n Compiling want v0.3.1\n Compiling rand_chacha v0.3.1\n Compiling der v0.8.0\n Compiling elliptic-curve v0.13.8\n Compiling derive_builder_core v0.20.2\n Compiling crypto-common v0.2.1\n Compiling block-buffer v0.12.0\n Compiling hmac v0.12.1\n Compiling openssl-probe v0.2.1\n Compiling spin v0.10.0\n Compiling cordyceps v0.3.4\n Compiling diatomic-waker v0.2.3\n Compiling httpdate v1.0.3\n Compiling futures-buffered v0.2.13\n Compiling hyper v1.9.0\n Compiling rustls-native-certs v0.8.3\n Compiling digest v0.11.3\n Compiling rfc6979 v0.4.0\n Compiling derive_builder_macro v0.20.2\n Compiling spki v0.8.0\n Compiling rand v0.8.6\n Compiling crossbeam-utils v0.8.21\n Compiling parking_lot_core v0.9.12\n Compiling tokio-rustls v0.26.4\n Compiling lazy_static v1.5.0\n Compiling base16ct v1.0.0\n Compiling signature v1.6.4\n Compiling libz-sys v1.1.28\n Compiling ed25519 v1.5.3\n Compiling toml_edit v0.25.11+spec-1.1.0\n Compiling serdect v0.4.3\n Compiling parking_lot v0.12.5\n Compiling netlink-packet-core v0.8.1\n Compiling pkcs8 v0.11.0\n Compiling derive_builder v0.20.2\n Compiling ecdsa v0.16.9\n Compiling hyper-util v0.1.20\n Compiling n0-future v0.3.2\n Compiling rustls-platform-verifier v0.7.0\n Compiling primeorder v0.13.6\n Compiling num-integer v0.1.46\n Compiling siphasher v1.0.3\n Compiling signature v3.0.0\n Compiling amplify_num v0.5.3\n Compiling either v1.15.0\n Compiling ascii v1.1.0\n Compiling ct-codecs v1.1.6\n Compiling tower-layer v0.3.3\n Compiling amplify v4.9.0\n Compiling ec25519 v0.1.0\n Compiling prefix-trie v0.8.3\n Compiling ed25519 v3.0.0\n Compiling num-iter v0.1.45\n Compiling vergen-lib v9.1.0\n Compiling proc-macro-crate v3.5.0\n Compiling curve25519-dalek v5.0.0-pre.6\n Compiling noq-udp v1.0.0-rc.0\n Compiling crossbeam-channel v0.5.15\n Compiling sha2 v0.11.0\n Compiling http-body-util v0.1.3\n Compiling pkcs8 v0.10.2\n Compiling time v0.3.47\n Compiling sqlite3-src v0.7.0\n Compiling hash32 v0.2.1\n Compiling pem-rfc7468 v0.7.0\n Compiling futures-executor v0.3.32\n Compiling sync_wrapper v1.0.2\n Compiling linux-raw-sys v0.12.1\n Compiling rustix v1.1.4\n Compiling tower v0.5.3\n Compiling ssh-encoding v0.2.0\n Compiling futures v0.3.32\n Compiling heapless v0.7.17\n Compiling pkcs1 v0.7.5\n Compiling ed25519-dalek v3.0.0-pre.7\n Compiling vergen v9.1.0\n Compiling num-bigint-dig v0.8.6\n Compiling curve25519-dalek v4.1.3\n Compiling hickory-proto v0.26.1\n Compiling cyphergraphy v0.3.1\n Compiling fastbloom v0.17.0\n Compiling crossbeam-epoch v0.9.18\n Compiling ed25519 v2.2.3\n Compiling libgit2-sys v0.18.4+1.9.3\n Compiling poly1305 v0.8.0\n Compiling blowfish v0.9.1\n Compiling uuid v1.23.1\n Compiling cbc v0.1.2\n Compiling chacha20 v0.9.1\n Compiling cobs v0.3.0\n Compiling pbkdf2 v0.12.2\n Compiling rand_pcg v0.10.2\n Compiling netlink-sys v0.8.8\n Compiling blake3 v1.8.5\n Compiling sorted-index-buffer v0.2.1\n Compiling identity-hash v0.1.0\n Compiling tagptr v0.2.0\n Compiling rustc-hash v2.1.2\n Compiling lru-slab v0.1.2\n Compiling const-str v0.4.3\n Compiling base256emoji v1.0.2\n Compiling noq-proto v1.0.0-rc.0\n Compiling moka v0.12.15\n Compiling hickory-net v0.26.1\n Compiling ref-cast v1.0.25\n Compiling postcard v1.1.3\n Compiling thiserror v1.0.69\n Compiling bcrypt-pbkdf v0.10.0\n Compiling ssh-cipher v0.2.0\n Compiling ed25519-dalek v2.2.0\n Compiling cypheraddr v0.4.1\n Compiling rsa v0.9.10\n Compiling vergen-gitcl v9.1.0\n Compiling iroh-base v1.0.0-rc.0\n Compiling tower-http v0.6.10\n Compiling zmij v1.0.21\n Compiling num_enum_derive v0.7.6\n Compiling hyper-rustls v0.27.9\n Compiling p384 v0.13.1\n Compiling p521 v0.13.3\n Compiling p256 v0.13.2\n Compiling netlink-packet-route v0.29.0\n Compiling tokio-stream v0.1.18\n Compiling xml-rs v0.8.28\n Compiling ryu v1.0.23\n Compiling mac-addr v0.3.0\n Compiling base-x v0.2.11\n Compiling arrayref v0.3.9\n Compiling constant_time_eq v0.4.2\n Compiling arrayvec v0.7.6\n Compiling resolv-conf v0.7.6\n Compiling hickory-resolver v0.26.1\n Compiling multibase v0.9.2\n Compiling netdev v0.43.0\n Compiling iroh-metrics v1.0.0-rc.0\n Compiling xmltree v0.10.3\n Compiling noq v1.0.0-rc.0\n Compiling strum v0.28.0\n Compiling ssh-key v0.6.7\n Compiling reqwest v0.13.3\n Compiling num_enum v0.7.6\n Compiling serde_json v1.0.149\n Compiling iroh-relay v1.0.0-rc.0\n Compiling socks5-client v0.4.2\n Compiling sqlite3-sys v0.18.0\n Compiling git-ref-format-core v0.6.0\n Compiling netlink-proto v0.12.0\n Compiling n0-watcher v1.0.0-rc.0\n Compiling netlink-packet-route v0.30.0\n Compiling qcheck v1.0.0\n Compiling attohttpc v0.30.1\n Compiling arc-swap v1.9.1\n Compiling webpki-roots v1.0.7\n Compiling simple-dns v0.11.2\n Compiling serde_bytes v0.11.19\n Compiling secrecy v0.10.3\n Compiling simdutf8 v0.1.5\n Compiling sha1_smol v1.0.1\n Compiling tokio-websockets v0.13.2\n Compiling iroh-dns v1.0.0-rc.0\n Compiling ssh-agent-lib v0.5.2\n Compiling igd-next v0.17.0\n Compiling git2 v0.20.4\n Compiling netwatch v0.17.0\n Compiling sqlite v0.37.0\n Compiling cyphernet v0.5.3\n Compiling lru v0.18.0\n Compiling seize v0.5.1\n Compiling cmov v0.5.3\n Compiling dyn-clone v1.0.20\n Compiling utf8parse v0.2.2\n Compiling anstyle-parse v1.0.0\n Compiling ctutils v0.4.2\n Compiling papaya v0.2.4\n Compiling radicle-crypto v0.17.0\n Compiling radicle-oid v0.2.0\n Compiling portmapper v0.17.0\n Compiling typeid v1.0.3\n Compiling signal-hook v0.3.18\n Compiling yasna v0.6.0\n Compiling pem v3.0.6\n Compiling backon v1.6.0\n Compiling inplace-vec-builder v0.1.1\n Compiling mio v0.8.11\n Compiling thread_local v1.1.9\n Compiling simd-adler32 v0.3.9\n Compiling anstyle-query v1.1.5\n Compiling anstyle v1.0.14\n Compiling adler2 v2.0.1\n Compiling is_terminal_polyfill v1.70.2\n Compiling colorchoice v1.0.5\n Compiling binary-merge v0.1.2\n Compiling genawaiter-macro v0.99.1\n Compiling regex-syntax v0.8.10\n Compiling genawaiter v0.99.1\n Compiling range-collections v0.4.6\n Compiling anstream v1.0.0\n Compiling miniz_oxide v0.8.9\n Compiling regex-automata v0.4.14\n Compiling iroh v1.0.0-rc.0\n Compiling signal-hook-mio v0.2.5\n Compiling rcgen v0.14.8\n Compiling erased-serde v0.4.10\n Compiling schemars v1.2.1\n Compiling crc32fast v1.5.0\n Compiling terminal_size v0.4.4\n Compiling iroh-io v0.6.2\n Compiling radicle-dag v0.10.0\n Compiling radicle-git-metadata v0.2.0\n Compiling nonempty v0.9.0\n Compiling positioned-io v0.3.5\n Compiling unicode-width v0.2.2\n Compiling unsigned-varint v0.8.0\n Compiling self_cell v1.2.2\n Compiling clap_lex v1.1.0\n Compiling bitflags v1.3.2\n Compiling iana-time-zone v0.1.65\n Compiling chrono v0.4.44\n Compiling crossterm v0.25.0\n Compiling clap_builder v4.6.0\n Compiling bao-tree v0.16.0\n Compiling multihash v0.19.5\n Compiling console v0.15.11\n Compiling irpc v0.15.0\n Compiling radicle-cob v0.20.0\n Compiling iroh-util v0.4.0\n Compiling flate2 v1.1.9\n Compiling radicle-core v0.3.0\n Compiling serde-untagged v0.1.9\n Compiling matchers v0.2.0\n Compiling redb v4.1.0\n Compiling fuzzy-matcher v0.3.7\n Compiling radicle-git-ref-format v0.1.0\n Compiling iroh-tickets v1.0.0-rc.0\n Compiling reflink-copy v0.1.29\n Compiling tempfile v3.27.0\n Compiling nested_enum_utils v0.2.3\n Compiling sharded-slab v0.1.7\n Compiling unicode-normalization v0.1.25\n Compiling ureq-proto v0.6.0\n Compiling fxhash v0.2.1\n Compiling newline-converter v0.3.0\n Compiling tracing-log v0.2.0\n Compiling tracing-serde v0.2.0\n Compiling radicle-localtime v0.1.0\n Compiling bytesize v2.3.1\n Compiling utf8-zero v0.8.1\n Compiling fast-glob v0.3.3\n Compiling same-file v1.0.6\n Compiling base64 v0.21.7\n Compiling unicode-width v0.1.14\n Compiling number_prefix v0.4.0\n Compiling nu-ansi-term v0.50.3\n Compiling hex v0.4.3\n Compiling dunce v1.0.5\n Compiling radicle v0.24.0\n Compiling iroh-blobs v0.101.0\n Compiling tracing-subscriber v0.3.23\n Compiling indicatif v0.17.11\n Compiling inquire v0.7.5\n Compiling walkdir v2.5.0\n Compiling ureq v3.3.0\n Compiling clap v4.6.1\n Compiling cid v0.11.3\n Compiling nonempty v0.11.0\n Compiling radicle-artifact v0.14.0 (/ci/src)\n Finished `test` profile [unoptimized + debuginfo] target(s) in 2m 24s\n Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_artifact-af036db7a44c8e0c)\n Running unittests src/bin/rad-artifact/main.rs (/ci/cache/cargo-target/debug/deps/rad_artifact-8010483682cf840c)\n Doc-tests radicle_artifact\n",
"timestamp": {
"secs_since_epoch": 1779987961,
"nanos_since_epoch": 201618193
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "cargo_test",
"timestamp": {
"secs_since_epoch": 1779987961,
"nanos_since_epoch": 465527038
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "tar_create",
"archive": "/dev/vde",
"directory": "/ci/cache",
"timestamp": {
"secs_since_epoch": 1779987961,
"nanos_since_epoch": 465702168
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "tar_create",
"archive": "/dev/vde",
"directory": "/ci/cache",
"timestamp": {
"secs_since_epoch": 1779987965,
"nanos_since_epoch": 816435674
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "tar_create",
"archive": "/dev/vdd",
"directory": "/ci/artifacts",
"timestamp": {
"secs_since_epoch": 1779987965,
"nanos_since_epoch": 816907962
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "tar_create",
"archive": "/dev/vdd",
"directory": "/ci/artifacts",
"timestamp": {
"secs_since_epoch": 1779987965,
"nanos_since_epoch": 818626102
},
"log_source": "Plan"
}{
"type": "plan_succeeded",
"timestamp": {
"secs_since_epoch": 1779987965,
"nanos_since_epoch": 818767145
},
"log_source": "Plan"
}{
"type": "executor_ends_successfully",
"timestamp": {
"secs_since_epoch": 1779987965,
"nanos_since_epoch": 818770741
},
"log_source": "Plan"
}{
"request": "trigger",
"version": 1,
"event_type": "patch",
"repository": {
"id": "rad:z4VYyJ9KuwMNkXGQnmKuGPGKw3inv",
"name": "radicle-artifact",
"description": "A Radicle Collaborative Object (COB) for content-addressed release artifacts and their discovery locations",
"private": false,
"default_branch": "main",
"delegates": [
"did:key:z6MktwkohCx8aHZ1QCjVZUiLmX92oPZFxRiFZkbq32Tk5Tkm"
]
},
"action": "Updated",
"patch": {
"id": "1d18b26148ff28ed7d47928cb3aad20cf5679ea8",
"author": {
"id": "did:key:z6MktwkohCx8aHZ1QCjVZUiLmX92oPZFxRiFZkbq32Tk5Tkm",
"alias": "2color"
},
"title": "Introduce a new long running daemon to enable seeding multiple artifacts from both the cli and the desktop app.",
"state": {
"status": "open",
"conflicts": []
},
"before": "7eb20942b636e50cc4d8b9aefe1feb4fb6a20566",
"after": "edccf45e0e3d647c0c9a187af6e187f5615bd65a",
"commits": [
"edccf45e0e3d647c0c9a187af6e187f5615bd65a",
"acae5ba25a54a19f1828b406971acb1f324db56f",
"3fc5947308d2a638c64538dd93d180f9962f35a2",
"8e3893ba5bed8f603294ea2249771c5554bc12d8",
"81acca1eee24ce5a7501d23304674bdd93f0eef8",
"405222be6b11d246048ddf15584d0896b4dc2520",
"0a623be7d326abfa6b25a38f7934003d15d2ee82",
"dcaf2b61816881f8c746bf14e74086ff9582478f",
"3f59e963a4f89ea2d90a924a4925a9248dcdbc04",
"cc12d55e491cd48b7cae029f6f60f35a1600fcb4",
"28eab996d4ee2c6780e3009cc3a95060d79753d1",
"21a5ba992ef1fb1976ae0f2409a1fe0811d8c9bc",
"70acf952de5deea6d65778bb2e3e28b1c0b35a84",
"88216b44200ef57a78ea102f8582e14d6c1cf37a",
"6f27193877248ea203ee882dd15f75f51ced9288",
"5f5bf682489cf5076a18f2387c5e6ee9e9c8c831",
"356cf0cfc835e332da22db8e73bfd1e88e7ad4fe",
"08e3c8bc89f1a1a8973237a1b090005b350b1e94",
"aff3cf70c98bdc906fd987320aab3faeeb3fcafb",
"4f61111ce0268400e9eb4a2bb3b063f33232d7fc",
"3f85b6c7c9556598f7ae77b6cdd82e5b11d0a09a",
"adda6427ba8ba223fc5f95d24d146e74d880e45b",
"1466e9f01916aacadedf8e19ad34d106ac821524",
"65b9b37a683b11ac611faf3a8689ab2f038af296",
"1e3726883e88e81a12093a4ff70bb3299b2159b5",
"c39d863b3a9e3f52cbe4a1653d57a6c96283c287",
"24ae3686ea115f043b372b9f1e39d289f4705ffd",
"a4a23e76028ff64503fd552efc1038d5f5127d41",
"a6e47556df3de4bd75971ef9364f5e417ecfb80c",
"754a4077716674ede897c2a5c013e856281d2b30",
"b95b7b3fdbaca55bd3aac5b9f17c1d3927d3a060",
"82deac39e3950dfbb14c79c10121fb741d720fd2",
"1f6d1e810c73be10dac1db9f0e6f7cdff4265c92",
"4c6a7ece5befb99e72880bde88fabfe24ab56cdb",
"3800a6bda993d23e32583fc01139e8375ffe0c8c",
"8a78020a6f0fa7e9801b8c119796156eee1f47b7",
"d2f21306de80db68e6397b9e52f9af1f72bb28ec",
"8e69822efa72db37e7e712d2ee661ae867ad781a",
"18f795054b99fdea7e2cfcd350227ff3aa48d678",
"2739576d1da1615422223c6fdacc52def2cf475f",
"456b81ced1036c2d28d47db8b468c5f4f361b386",
"70be7830c5db9cb9f89e4f6efe3930b4a9ea32d0",
"49e828d96f55e3698e579d4342e494c16aae3886",
"ef4fd2c4d30e7ede0658a71ba7af39797c2e9062",
"3a058984e979974af6e5bbe6b94e286e2a9af454",
"e3f0bdd53302225f9b81924b1272c7b87e36fce1",
"460dff4155621ee57368198bf0ec069d2582ab5d",
"b306c26f62382ebc9186604edd411446e53016c3",
"eeba35c1ca5fd5d2b8a60a65aa740569871c8498",
"8af7a589f45c84b777a3e72610fb63f600539f03",
"ec2f7c36cc3e5795aad6b03ae8efc6dccf5744b4",
"973132934291a452bf16ee03e17fe17ed666d19d"
],
"target": "7eb20942b636e50cc4d8b9aefe1feb4fb6a20566",
"labels": [],
"assignees": [],
"revisions": [
{
"id": "1d18b26148ff28ed7d47928cb3aad20cf5679ea8",
"author": {
"id": "did:key:z6MktwkohCx8aHZ1QCjVZUiLmX92oPZFxRiFZkbq32Tk5Tkm",
"alias": "2color"
},
"description": "",
"base": "7eb20942b636e50cc4d8b9aefe1feb4fb6a20566",
"oid": "28eab996d4ee2c6780e3009cc3a95060d79753d1",
"timestamp": 1779898618
},
{
"id": "289480e86103b72048e0f51d00ba9bdede2bfd4f",
"author": {
"id": "did:key:z6MktwkohCx8aHZ1QCjVZUiLmX92oPZFxRiFZkbq32Tk5Tkm",
"alias": "2color"
},
"description": "chore: fix cargo doc errors",
"base": "7eb20942b636e50cc4d8b9aefe1feb4fb6a20566",
"oid": "cc12d55e491cd48b7cae029f6f60f35a1600fcb4",
"timestamp": 1779978363
},
{
"id": "d09c04e35396ba98fe721bc9f91f561b7620d6e4",
"author": {
"id": "did:key:z6MktwkohCx8aHZ1QCjVZUiLmX92oPZFxRiFZkbq32Tk5Tkm",
"alias": "2color"
},
"description": "refactor(seeder): hold temp tag across persistent tag set\n\n- combine import + register into seed_artifact, keeping the import\n temp tag alive until register_seeded completes\n- prevents a race where GC's mark phase, landing between the temp tag\n dropping and the persistent seeded tag being set, would sweep the\n freshly imported bytes\n- harmless today since GC is not enabled; prerequisite for turning it on\n\n\nfeat(seeder): enable periodic blob GC\n\n- switch FsStore::load to load_with_opts and configure a 1-hour GcConfig\n- without this, FsStore defaults to gc: None and never reclaims blobs;\n unseeded bytes would linger on disk indefinitely\n- the seeded/{rid}/{cid} tags act as GC roots, so unregister_seeded\n now reliably frees disk on the next sweep\n\n\nrefactor: remove unneeded ref\n\n\nrefactor(seeder): use binary tag-name encoding\n\n- replace `seeded/{rid}/{cid}` UTF-8 tag names with\n `[0x01][20-byte RID][CID bytes]`\n- ~35% shorter on the wire and in iroh-blobs' tag db; saves on disk\n footprint, GC mark-phase walk cost, and per-listing allocations\n- follows the encoding pattern recommended in the iroh-blobs blog\n post \"A richer tags API\" for (id, id) tuple tags\n- store has no live users yet, so this is a hard break with no\n migration path\n- drop now-unused `Store` import from node/mod.rs\n\n\ntest(seeder): cover all_seeded decode and tag-name layout\n\n- all_seeded_round_trip: seeds four (rid, cid) pairs across two\n repos and asserts the full set round-trips through\n parse_seeded_tag — until now no test exercised that decode path\n- seeded_tag_layout: pins the binary tag-name format\n ([0x01][20-byte Oid][CID bytes]) and the encode/decode inverse,\n preventing accidental wire-format drift\n\n\nrefactor(seeder): length-prefix the RID inside seeded tag names\n\n- new layout: [0x01][rid_len: u8][rid_bytes][cid_bytes]\n- one byte of overhead but a single hash-agnostic code path; SHA-256\n RIDs will slot in by widening the dispatch in oid_from_bytes,\n without a parallel v2 layout or new sentinel\n- drop the OID_LEN constant from production code; the encoder reads\n the length straight off the Oid bytes\n- update seeded_tag_layout test to assert the new structure\n\n\nrefactor(protocol): type rid as RepoId on the wire\n\n- Swap String for RepoId on Command::Seed/Unseed/IsSeeding/ListSeeded\n and on SeedReceipt/UnseedReceipt; RepoId's Serialize emits the\n canonical urn so the wire format is bit-identical.\n- Drop the per-handler RepoId::from_str shuffle in the node and\n thread the parsed RepoId straight through to the seeder.\n- Update Client::seed/unseed/is_seeding/list_seeded to take RepoId by\n value (Copy), removing the rid.to_string()/parse pair on every call.\n\nMirrors what we already did for EndpointId so rid validation happens\nonce at the serde boundary.\n\n\nfeat(protocol): add InvalidRequest code for malformed wire input\n\n- New ErrorCode::InvalidRequest distinguishes \"client sent garbage\"\n from ErrorCode::Internal (\"node has a bug\").\n- Pre-validate the rid string before serde-deserialising into Command\n so a bad rid surfaces as \"invalid rid \\\"...\\\": <reason>\" instead of\n leaking RepoId's raw FromStr error (e.g. \"Unknown base code: n\")\n through the generic JSON parse path.\n- Route Cid parse failures through the same code for consistency.\n- Cover the path with a wire-level test that hand-rolls the malformed\n frame, since the typed Client can't construct one.\n\n\nrefactor(protocol): type cid as Cid on the wire\n\n- Add a small cid_string serde adapter so wire fields can carry\n cid::Cid directly; the derived byte-array encoding would break the\n multibase-string wire format, so each cid field is annotated with\n #[serde(with = \"cid_string\")] to round-trip through Display/FromStr.\n- Swap String for Cid on Command::Seed/Unseed/IsSeeding, plus on\n SeedReceipt/UnseedReceipt/SeededEntry.\n- Drop the per-handler Cid::from_str shuffle in the node and let the\n parsed Cid flow straight through to the seeder.\n- Client::seed/unseed/is_seeding now take Cid (Copy) by value,\n removing the cid.to_string()/parse pair on every call.\n- Extend parse_command with a cid pre-check so a malformed cid surfaces\n as `invalid cid \"...\": <reason>` instead of leaking the underlying\n cid::Error verbatim.\n- Generalize the wire-error test to cover both rid and cid via raw\n socket frames.",
"base": "7eb20942b636e50cc4d8b9aefe1feb4fb6a20566",
"oid": "edccf45e0e3d647c0c9a187af6e187f5615bd65a",
"timestamp": 1779987673
}
]
}
}executor from config: /usr/bin/ambient-execute-plan executor from PATH: /usr/bin/ambient-execute-plan run CI for rad:z4VYyJ9KuwMNkXGQnmKuGPGKw3inv
<empty log>