[INFO] cloning repository https://github.com/jojo8356/devtodolist
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jojo8356/devtodolist" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjojo8356%2Fdevtodolist", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjojo8356%2Fdevtodolist'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 420990f438e59d2f5eac437e1879db9478f0b709
[INFO] testing jojo8356/devtodolist against 1.95.0 for beta-1.96-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjojo8356%2Fdevtodolist" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-7-tc1/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/jojo8356/devtodolist
[INFO] finished tweaking git repo https://github.com/jojo8356/devtodolist
[INFO] tweaked toml for git repo https://github.com/jojo8356/devtodolist written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jojo8356/devtodolist on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/jojo8356/devtodolist already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rusqlite v0.31.0
[INFO] [stderr]   Downloaded libsqlite3-sys v0.28.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3165f7bbeb47ee5b7d45e5b3bd0f6e42d3b18cc921bb83161f900afd42284ffb
[INFO] running `Command { std: "docker" "start" "-a" "3165f7bbeb47ee5b7d45e5b3bd0f6e42d3b18cc921bb83161f900afd42284ffb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3165f7bbeb47ee5b7d45e5b3bd0f6e42d3b18cc921bb83161f900afd42284ffb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3165f7bbeb47ee5b7d45e5b3bd0f6e42d3b18cc921bb83161f900afd42284ffb", kill_on_drop: false }`
[INFO] [stdout] 3165f7bbeb47ee5b7d45e5b3bd0f6e42d3b18cc921bb83161f900afd42284ffb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e9076519f0792cd3fea5c838f2b2464c0a420ad882e355bedb659b7ae70b29be
[INFO] running `Command { std: "docker" "start" "-a" "e9076519f0792cd3fea5c838f2b2464c0a420ad882e355bedb659b7ae70b29be", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling writeable v0.6.2
[INFO] [stderr]    Compiling litemap v0.8.1
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling socket2 v0.6.2
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling zerocopy v0.8.39
[INFO] [stderr]    Compiling atomic-waker v1.1.2
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling rustls v0.23.36
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling getrandom v0.4.1
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling ipnet v2.11.0
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling openssl-probe v0.2.1
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling libsqlite3-sys v0.28.0
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling portable-atomic v1.13.1
[INFO] [stderr]    Compiling clap_lex v1.0.0
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling clap_builder v4.5.60
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling console v0.15.11
[INFO] [stderr]    Compiling rustls-webpki v0.103.9
[INFO] [stderr]    Compiling webpki-roots v1.0.6
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling iri-string v0.7.10
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling winnow v0.7.14
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling clap v4.5.60
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling tempfile v3.25.0
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling shell-words v1.1.1
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling number_prefix v0.4.0
[INFO] [stderr]    Compiling colored v2.2.0
[INFO] [stderr]    Compiling indicatif v0.17.11
[INFO] [stderr]    Compiling comfy-table v7.2.2
[INFO] [stderr]    Compiling rusqlite v0.31.0
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling dialoguer v0.11.0
[INFO] [stderr]    Compiling directories v5.0.1
[INFO] [stderr]    Compiling clap_complete v4.5.66
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling devtodo v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 39s
[INFO] running `Command { std: "docker" "inspect" "e9076519f0792cd3fea5c838f2b2464c0a420ad882e355bedb659b7ae70b29be", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e9076519f0792cd3fea5c838f2b2464c0a420ad882e355bedb659b7ae70b29be", kill_on_drop: false }`
[INFO] [stdout] e9076519f0792cd3fea5c838f2b2464c0a420ad882e355bedb659b7ae70b29be
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 717f9279ad710f60d287e7bf1c58e8f1996c3ba2cdd079a3332621a7122a40f9
[INFO] running `Command { std: "docker" "start" "-a" "717f9279ad710f60d287e7bf1c58e8f1996c3ba2cdd079a3332621a7122a40f9", kill_on_drop: false }`
[INFO] [stderr]    Compiling devtodo v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 5.02s
[INFO] running `Command { std: "docker" "inspect" "717f9279ad710f60d287e7bf1c58e8f1996c3ba2cdd079a3332621a7122a40f9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "717f9279ad710f60d287e7bf1c58e8f1996c3ba2cdd079a3332621a7122a40f9", kill_on_drop: false }`
[INFO] [stdout] 717f9279ad710f60d287e7bf1c58e8f1996c3ba2cdd079a3332621a7122a40f9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] df145440dd01f51efd0f096b7ae64f534ea9cfc7bceb9943360827f4e22e84aa
[INFO] running `Command { std: "docker" "start" "-a" "df145440dd01f51efd0f096b7ae64f534ea9cfc7bceb9943360827f4e22e84aa", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.48s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/devtodo-ff220314207da933)
[INFO] [stdout] 
[INFO] [stdout] running 82 tests
[INFO] [stdout] test db::tests::assign_label_idempotent ... ok
[INFO] [stdout] test db::tests::assign_and_unassign_label ... ok
[INFO] [stdout] test db::tests::comment_crud ... ok
[INFO] [stdout] test db::tests::delete_task ... ok
[INFO] [stdout] test db::tests::delete_task_not_found ... ok
[INFO] [stdout] test db::tests::get_task_not_found ... ok
[INFO] [stdout] test db::tests::label_crud ... ok
[INFO] [stdout] test db::tests::list_tasks_filter_by_status ... ok
[INFO] [stdout] test db::tests::filter_tasks_by_label ... ok
[INFO] [stdout] test db::tests::reviewer_crud ... ok
[INFO] [stdout] test db::tests::list_tasks_empty ... ok
[INFO] [stdout] test db::tests::list_tasks_with_limit ... ok
[INFO] [stdout] test db::tests::insert_and_get_task ... ok
[INFO] [stdout] test gamification::tests::test_achievement_keys_are_unique ... ok
[INFO] [stdout] test gamification::tests::test_awakened_does_not_unlock_below_level_ten ... ok
[INFO] [stdout] test db::tests::update_invalid_field_rejected ... ok
[INFO] [stdout] test db::tests::label_not_found ... ok
[INFO] [stdout] test db::tests::stats_oldest_open ... ok
[INFO] [stdout] test gamification::tests::test_awakened_earned_at_level_ten ... ok
[INFO] [stdout] test gamification::tests::test_centurion_does_not_unlock_at_ninety_nine_tasks ... ok
[INFO] [stdout] test gamification::tests::test_centurion_earned_at_one_hundred_tasks ... ok
[INFO] [stdout] test gamification::tests::test_first_blood_earned_at_one_task ... ok
[INFO] [stdout] test gamification::tests::test_grinder_earned_at_exactly_ten_tasks ... ok
[INFO] [stdout] test gamification::tests::test_grinder_does_not_unlock_at_nine_tasks ... ok
[INFO] [stdout] test gamification::tests::test_level_clamps_at_100_with_huge_xp ... ok
[INFO] [stdout] test gamification::tests::test_level_for_xp_at_level_one_threshold ... ok
[INFO] [stdout] test gamification::tests::test_level_for_xp_at_level_three_threshold ... ok
[INFO] [stdout] test gamification::tests::test_level_for_xp_at_level_two_threshold ... ok
[INFO] [stdout] test gamification::tests::test_level_for_xp_at_max_threshold ... ok
[INFO] [stdout] test gamification::tests::test_level_for_xp_rejects_negative_xp_by_treating_as_zero ... ok
[INFO] [stdout] test gamification::tests::test_longest_streak_never_decreases_after_reset ... ok
[INFO] [stdout] test gamification::tests::test_longest_streak_never_decreases_after_thirty_then_gap ... ok
[INFO] [stdout] test gamification::tests::test_monarch_does_not_unlock_at_level_ninety_nine ... ok
[INFO] [stdout] test gamification::tests::test_monarch_earned_at_level_one_hundred ... ok
[INFO] [stdout] test db::tests::delete_task_cascades_labels ... ok
[INFO] [stdout] test gamification::tests::test_progress_within_level_is_consistent_mid_level ... ok
[INFO] [stdout] test gamification::tests::test_s_rank_earned_at_level_fifty ... ok
[INFO] [stdout] test gamification::tests::test_progress_within_level_is_zero_at_threshold ... ok
[INFO] [stdout] test gamification::tests::test_progress_within_level_never_exceeds_one ... ok
[INFO] [stdout] test gamification::tests::test_progress_within_level_returns_full_bar_at_max ... ok
[INFO] [stdout] test gamification::tests::test_shadow_army_earned_at_hundred_day_streak ... ok
[INFO] [stdout] test gamification::tests::test_streak_resets_after_gap ... ok
[INFO] [stdout] test gamification::tests::test_shadow_army_does_not_unlock_at_ninety_nine_day_streak ... ok
[INFO] [stdout] test gamification::tests::test_streak_does_not_crash_with_future_last_date ... ok
[INFO] [stdout] test gamification::tests::test_streak_first_completion_sets_one ... ok
[INFO] [stdout] test gamification::tests::test_streak_next_day_increments_to_two ... ok
[INFO] [stdout] test gamification::tests::test_unstoppable_earned_at_thirty_day_streak ... ok
[INFO] [stdout] test gamification::tests::test_workaholic_earned_at_fifty_tasks ... ok
[INFO] [stdout] test gamification::tests::test_streak_same_day_does_not_increment ... ok
[INFO] [stdout] test gamification::tests::test_week_warrior_does_not_unlock_at_six_day_streak ... ok
[INFO] [stdout] test gamification::tests::test_week_warrior_earned_at_seven_day_streak ... ok
[INFO] [stdout] test gamification::tests::test_workaholic_does_not_unlock_at_forty_nine_tasks ... ok
[INFO] [stdout] test gamification::tests::test_xp_for_level_hundred_is_490050 ... ok
[INFO] [stdout] test gamification::tests::test_xp_for_level_fifty_follows_quadratic_curve ... ok
[INFO] [stdout] test gamification::tests::test_xp_for_level_five_follows_quadratic_curve ... ok
[INFO] [stdout] test gamification::tests::test_xp_for_level_one_is_zero ... ok
[INFO] [stdout] test gamification::tests::test_xp_for_level_zero_does_not_panic_and_returns_zero ... ok
[INFO] [stdout] test gamification::tests::test_xp_for_level_two_is_fifty ... ok
[INFO] [stdout] test gamification::tests::test_xp_for_priority_critical_awards_100 ... ok
[INFO] [stdout] test gamification::tests::test_xp_for_priority_high_awards_50 ... ok
[INFO] [stdout] test gamification::tests::test_xp_for_priority_low_awards_10 ... ok
[INFO] [stdout] test gamification::tests::test_xp_for_priority_medium_awards_25 ... ok
[INFO] [stdout] test gamification::tests::test_xp_to_next_level_at_start_is_fifty ... ok
[INFO] [stdout] test gamification::tests::test_xp_for_priority_none_returns_neutral_15_and_does_not_collapse_to_zero ... ok
[INFO] [stdout] test gamification::tests::test_xp_to_next_level_mid_curve ... ok
[INFO] [stdout] test gamification::tests::test_xp_to_next_level_saturates_to_zero_at_max_level ... ok
[INFO] [stdout] test gamification::tests::test_xp_to_next_level_never_exceeds_remaining_xp ... ok
[INFO] [stdout] test models::tests::parse_priority ... ok
[INFO] [stdout] test models::tests::parse_priority_invalid ... ok
[INFO] [stdout] test models::tests::parse_provider ... ok
[INFO] [stdout] test models::tests::parse_review_status ... ok
[INFO] [stdout] test db::tests::stats_count_by_status ... ok
[INFO] [stdout] test models::tests::parse_task_status ... ok
[INFO] [stdout] test models::tests::parse_task_status_invalid ... ok
[INFO] [stdout] test models::tests::priority_roundtrip ... ok
[INFO] [stdout] test models::tests::priority_serde_roundtrip ... ok
[INFO] [stdout] test models::tests::task_status_display ... ok
[INFO] [stdout] test models::tests::task_status_roundtrip ... ok
[INFO] [stdout] test models::tests::task_status_serde_roundtrip ... ok
[INFO] [stdout] test db::tests::update_task_field ... ok
[INFO] [stdout] test db::tests::remove_reviewer_not_found ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/devtodo-b8af38ee3eac77e5)
[INFO] [stdout] test gamification::tests::test_xp_for_level_ten_follows_quadratic_curve ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 82 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.20s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]      Running tests/gamification_db.rs (/opt/rustwide/target/debug/deps/gamification_db-56dac194e1f94fd5)
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test test_award_unlocks_multiple_achievements_in_single_call ... ok
[INFO] [stdout] test test_award_does_not_unlock_same_achievement_twice ... ok
[INFO] [stdout] test test_award_persists_profile_changes_to_db ... ok
[INFO] [stdout] test test_award_never_pushes_level_past_hundred ... ok
[INFO] [stdout] test test_award_on_fresh_profile_returns_correct_reward ... ok
[INFO] [stdout] test test_award_with_no_priority_still_grants_neutral_fifteen_xp ... ok
[INFO] [stdout] test test_get_profile_on_fresh_db_returns_defaults ... ok
[INFO] [stdout] test test_list_unlocked_achievements_returns_them_in_unlock_order ... ok
[INFO] [stdout] test test_save_profile_round_trips_none_date ... ok
[INFO] [stdout] test test_status_merged_to_merged_does_not_double_award ... ok
[INFO] [stdout] test test_award_levels_up_flag_true_only_when_threshold_crossed ... ok
[INFO] [stdout] test test_unlock_achievement_persists_and_is_queryable ... ok
[INFO] [stdout] test test_unlock_achievement_twice_is_noop_and_does_not_duplicate ... ok
[INFO] [stdout] test test_save_profile_round_trips_all_fields_including_date ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests devtodo
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "df145440dd01f51efd0f096b7ae64f534ea9cfc7bceb9943360827f4e22e84aa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "df145440dd01f51efd0f096b7ae64f534ea9cfc7bceb9943360827f4e22e84aa", kill_on_drop: false }`
[INFO] [stdout] df145440dd01f51efd0f096b7ae64f534ea9cfc7bceb9943360827f4e22e84aa
