[INFO] cloning repository https://github.com/acartine/knots
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/acartine/knots" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Facartine%2Fknots", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Facartine%2Fknots'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 404d6153d2b58e59315fff97af59a07bd11523a9
[INFO] testing acartine/knots against beta-2026-03-05 for beta-1.95-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Facartine%2Fknots" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/acartine/knots
[INFO] finished tweaking git repo https://github.com/acartine/knots
[INFO] tweaked toml for git repo https://github.com/acartine/knots written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/acartine/knots on toolchain beta-2026-03-05
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-03-05" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/acartine/knots 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" "+beta-2026-03-05" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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" "+beta-2026-03-05" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 89dacdbdeb45c9607a2a09baf9d4e576a2e8aca54405eb3a52a1a08628711692
[INFO] running `Command { std: "docker" "start" "-a" "89dacdbdeb45c9607a2a09baf9d4e576a2e8aca54405eb3a52a1a08628711692", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "89dacdbdeb45c9607a2a09baf9d4e576a2e8aca54405eb3a52a1a08628711692", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "89dacdbdeb45c9607a2a09baf9d4e576a2e8aca54405eb3a52a1a08628711692", kill_on_drop: false }`
[INFO] [stdout] 89dacdbdeb45c9607a2a09baf9d4e576a2e8aca54405eb3a52a1a08628711692
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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" "+beta-2026-03-05" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a86631e77fffd9e33769757dfa649cc52ce796e6a67a752c04f1ee75c6b3e08c
[INFO] running `Command { std: "docker" "start" "-a" "a86631e77fffd9e33769757dfa649cc52ce796e6a67a752c04f1ee75c6b3e08c", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.39
[INFO] [stderr]    Compiling getrandom v0.4.1
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling libsqlite3-sys v0.30.1
[INFO] [stderr]    Compiling clap_builder v4.5.60
[INFO] [stderr]    Compiling winnow v0.7.14
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling num-conv v0.2.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling uuid v1.21.0
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling clap v4.5.60
[INFO] [stderr]    Compiling clap_complete v4.5.66
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling rusqlite v0.32.1
[INFO] [stderr]    Compiling knots v0.7.6 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 28.42s
[INFO] running `Command { std: "docker" "inspect" "a86631e77fffd9e33769757dfa649cc52ce796e6a67a752c04f1ee75c6b3e08c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a86631e77fffd9e33769757dfa649cc52ce796e6a67a752c04f1ee75c6b3e08c", kill_on_drop: false }`
[INFO] [stdout] a86631e77fffd9e33769757dfa649cc52ce796e6a67a752c04f1ee75c6b3e08c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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" "+beta-2026-03-05" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 26c411e0dec4e2790ff0242adaf0fd6b9e6afef1ec2466df21bd6c72c6e298e7
[INFO] running `Command { std: "docker" "start" "-a" "26c411e0dec4e2790ff0242adaf0fd6b9e6afef1ec2466df21bd6c72c6e298e7", kill_on_drop: false }`
[INFO] [stderr]    Compiling knots v0.7.6 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 12.21s
[INFO] running `Command { std: "docker" "inspect" "26c411e0dec4e2790ff0242adaf0fd6b9e6afef1ec2466df21bd6c72c6e298e7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "26c411e0dec4e2790ff0242adaf0fd6b9e6afef1ec2466df21bd6c72c6e298e7", kill_on_drop: false }`
[INFO] [stdout] 26c411e0dec4e2790ff0242adaf0fd6b9e6afef1ec2466df21bd6c72c6e298e7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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" "+beta-2026-03-05" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] a40b00a1a8a1339369eb10ea07922aa651883ced05a81f51f2510f36ffb42b34
[INFO] running `Command { std: "docker" "start" "-a" "a40b00a1a8a1339369eb10ea07922aa651883ced05a81f51f2510f36ffb42b34", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.15s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/knots-bcee8517e4b780d7)
[INFO] [stdout] 
[INFO] [stdout] running 430 tests
[INFO] [stdout] test app::tests::unknown_workflow_is_rejected ... ok
[INFO] [stdout] test app::tests::partial_alias_unknown_prefix_returns_passthrough ... ok
[INFO] [stdout] test app::tests_coverage_ext::app_error_source_covers_wrapped_error_variants ... ok
[INFO] [stdout] test app::tests::rehydrate_builds_hot_record_from_warm_and_full_events ... ok
[INFO] [stdout] test app::tests::create_knot_uses_default_profile_initial_state_when_state_is_omitted ... ok
[INFO] [stdout] test app::tests::stripped_id_collisions_return_ambiguous_error ... ok
[INFO] [stdout] test app::tests::create_knot_updates_cache_and_writes_events ... ok
[INFO] [stdout] test app::tests_coverage_ext::add_edge_rejects_blank_arguments ... ok
[INFO] [stdout] test app::tests_coverage_ext::cold_search_maps_cold_catalog_fields ... ok
[INFO] [stdout] test app::tests_coverage_ext::default_profile_resolution_covers_config_and_fallback_paths ... ok
[INFO] [stdout] test app::tests::update_knot_requires_at_least_one_change ... ok
[INFO] [stdout] test app::tests::partial_alias_invalid_child_index_returns_not_found ... ok
[INFO] [stdout] test app::tests::set_state_enforces_transition_rules_unless_forced ... ok
[INFO] [stdout] test app::tests_error_paths::apply_rehydrate_event_covers_known_event_types ... ok
[INFO] [stdout] test app::tests::update_knot_can_remove_and_clear_invariants ... ok
[INFO] [stdout] test app::tests_error_paths::helper_validations_cover_success_and_error_paths ... ok
[INFO] [stdout] test app::tests_error_paths::app_error_display_source_and_from_conversions_cover_variants ... ok
[INFO] [stdout] test app::tests::partial_hierarchical_alias_resolves_to_child ... ok
[INFO] [stdout] test app::tests::update_knot_rejects_stale_if_match ... ok
[INFO] [stdout] test app::tests_error_paths::rehydrate_from_events_reports_missing_workflow_and_invalid_json ... ok
[INFO] [stdout] test app::tests::edge_commands_update_cache_and_round_trip ... ok
[INFO] [stdout] test app::tests_error_paths::open_returns_not_initialized_when_knots_dir_missing ... ok
[INFO] [stdout] test app::tests::update_knot_applies_parity_fields_and_metadata_arrays ... ok
[INFO] [stdout] test app::tests_error_paths::open_succeeds_when_knots_dir_exists ... FAILED
[INFO] [stdout] test app::tests_error_paths::default_quick_profile_id_falls_back_to_skipped_planning_profile ... ok
[INFO] [stdout] test app::tests_coverage_ext::set_profile_switches_profile_and_state_atomically_and_supports_noop ... ok
[INFO] [stdout] test app::tests::hierarchical_aliases_are_assigned_and_resolve_to_ids ... ok
[INFO] [stdout] test app::tests_coverage_ext::update_knot_state_change_writes_actor_metadata ... ok
[INFO] [stdout] test cli::tests::claim_peek_flag_parses ... ok
[INFO] [stdout] test cli::tests::claim_without_peek_defaults_false ... ok
[INFO] [stdout] test cli::tests::completions_install_flag_parses ... ok
[INFO] [stdout] test app::tests_coverage_ext::set_state_with_if_match_writes_preconditions ... ok
[INFO] [stdout] test app::tests_error_paths::open_with_custom_db_path_skips_init_check ... ok
[INFO] [stdout] test app::tests::stripped_ids_resolve_for_show_state_update_and_edges ... ok
[INFO] [stdout] test app::tests_coverage_ext::update_knot_covers_title_priority_and_tag_normalization_branches ... ok
[INFO] [stdout] test cli::tests::doctor_json_flag_parses ... ok
[INFO] [stdout] test cli::tests::completions_parses_with_shell ... ok
[INFO] [stdout] test cli::tests::new_desc_flag_parses ... ok
[INFO] [stdout] test cli::tests::create_alias_parses_as_new ... ok
[INFO] [stdout] test cli::tests::doctor_fix_flag_parses ... ok
[INFO] [stdout] test cli::tests::new_short_d_flag_parses ... ok
[INFO] [stdout] test cli::tests::new_fast_flag_parses ... ok
[INFO] [stdout] test cli::tests::next_parses_actor_metadata_flags ... ok
[INFO] [stdout] test cli::tests::next_help_uses_current_state_value_name ... ok
[INFO] [stdout] test cli::tests::next_parses ... ok
[INFO] [stdout] test cli::tests::next_parses_expected_state_flag ... ok
[INFO] [stdout] test cli::tests::next_parses_json_flag ... ok
[INFO] [stdout] test cli::tests::profile_list_parses ... ok
[INFO] [stdout] test cli::tests::profile_set_default_quick_parses ... ok
[INFO] [stdout] test cli::tests::next_parses_json_short_flag ... ok
[INFO] [stdout] test cli::tests::q_command_parses ... ok
[INFO] [stdout] test cli::tests::ready_parses_with_json_flag ... ok
[INFO] [stdout] test cli::tests::ready_parses_without_type ... ok
[INFO] [stdout] test cli::tests::ready_parses_with_type_and_json ... ok
[INFO] [stdout] test cli::tests::skill_parses ... ok
[INFO] [stdout] test cli::tests::ready_parses_with_type ... ok
[INFO] [stdout] test cli::tests::update_add_invariant_repeatable ... ok
[INFO] [stdout] test cli::tests::update_clear_invariants_alone ... ok
[INFO] [stdout] test cli::tests::update_remove_invariant_repeatable ... ok
[INFO] [stdout] test cli::tests::update_parses_invariant_flags ... ok
[INFO] [stdout] test cli_help::tests::common_commands_list_is_sorted ... ok
[INFO] [stdout] test cli_help::tests::paint_with_color ... ok
[INFO] [stdout] test cli_help::tests::print_cmd_row_formats_name_and_about ... ok
[INFO] [stdout] test cli::tests::update_help_includes_invariant_flags ... ok
[INFO] [stdout] test cli_help::tests::toplevel_help_detection ... ok
[INFO] [stdout] test cli_help::tests::toplevel_help_ignores_global_flags ... ok
[INFO] [stdout] test completions::tests::completions_install_path_for_known_shells ... ok
[INFO] [stdout] test completions::tests::completions_install_path_returns_none_for_unsupported_shell ... ok
[INFO] [stdout] test cli_help::tests::paint_no_color ... ok
[INFO] [stdout] test completions::tests::group_zsh_noop_when_function_not_found ... ok
[INFO] [stdout] test cli_help::tests::print_custom_help_does_not_panic ... ok
[INFO] [stdout] test completions::tests::parse_shell_is_case_insensitive ... ok
[INFO] [stdout] _kno() {
[INFO] [stdout]     local i cur prev opts cmd
[INFO] [stdout]     COMPREPLY=()
[INFO] [stdout]     if [[ "${BASH_VERSINFO[0]}" -ge 4 ]]; then
[INFO] [stdout]         cur="$2"
[INFO] [stdout]     else
[INFO] [stdout]         cur="${COMP_WORDS[COMP_CWORD]}"
[INFO] [stdout]     fi
[INFO] [stdout]     prev="$3"
[INFO] [stdout]     cmd=""
[INFO] [stdout]     opts=""
[INFO] [stdout] 
[INFO] [stdout]     for i in "${COMP_WORDS[@]:0:COMP_CWORD}"
[INFO] [stdout]     do
[INFO] [stdout]         case "${cmd},${i}" in
[INFO] [stdout]             ",$1")
[INFO] [stdout]                 cmd="kno"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,claim)
[INFO] [stdout]                 cmd="kno__claim"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,cold)
[INFO] [stdout]                 cmd="kno__cold"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,compact)
[INFO] [stdout]                 cmd="kno__compact"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,completions)
[INFO] [stdout]                 cmd="kno__completions"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,doctor)
[INFO] [stdout]                 cmd="kno__doctor"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,edge)
[INFO] [stdout]                 cmd="kno__edge"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,fsck)
[INFO] [stdout]                 cmd="kno__fsck"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,help)
[INFO] [stdout]                 cmd="kno__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,hooks)
[INFO] [stdout]                 cmd="kno__hooks"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,init)
[INFO] [stdout]                 cmd="kno__init"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,init-remote)
[INFO] [stdout]                 cmd="kno__init__remote"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,ls)
[INFO] [stdout]                 cmd="kno__ls"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,new)
[INFO] [stdout]                 cmd="kno__new"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,next)
[INFO] [stdout]                 cmd="kno__next"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,perf)
[INFO] [stdout]                 cmd="kno__perf"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,poll)
[INFO] [stdout]                 cmd="kno__poll"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,profile)
[INFO] [stdout]                 cmd="kno__profile"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,pull)
[INFO] [stdout]                 cmd="kno__pull"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,push)
[INFO] [stdout]                 cmd="kno__push"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,q)
[INFO] [stdout]                 cmd="kno__q"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,ready)
[INFO] [stdout]                 cmd="kno__ready"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,rehydrate)
[INFO] [stdout]                 cmd="kno__rehydrate"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,show)
[INFO] [stdout]                 cmd="kno__show"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,skill)
[INFO] [stdout]                 cmd="kno__skill"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,state)
[INFO] [stdout]                 cmd="kno__state"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,step)
[INFO] [stdout]                 cmd="kno__step"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,sync)
[INFO] [stdout]                 cmd="kno__sync"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,uninit)
[INFO] [stdout]                 cmd="kno__uninit"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,uninstall)
[INFO] [stdout]                 cmd="kno__uninstall"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,update)
[INFO] [stdout]                 cmd="kno__update"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno,upgrade)
[INFO] [stdout]                 cmd="kno__upgrade"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__cold,help)
[INFO] [stdout]                 cmd="kno__cold__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__cold,search)
[INFO] [stdout]                 cmd="kno__cold__search"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__cold,sync)
[INFO] [stdout]                 cmd="kno__cold__sync"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__cold__help,help)
[INFO] [stdout]                 cmd="kno__cold__help__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__cold__help,search)
[INFO] [stdout]                 cmd="kno__cold__help__search"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__cold__help,sync)
[INFO] [stdout]                 cmd="kno__cold__help__sync"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__edge,add)
[INFO] [stdout]                 cmd="kno__edge__add"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__edge,help)
[INFO] [stdout]                 cmd="kno__edge__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__edge,list)
[INFO] [stdout]                 cmd="kno__edge__list"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__edge,remove)
[INFO] [stdout]                 cmd="kno__edge__remove"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__edge__help,add)
[INFO] [stdout]                 cmd="kno__edge__help__add"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__edge__help,help)
[INFO] [stdout]                 cmd="kno__edge__help__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__edge__help,list)
[INFO] [stdout]                 cmd="kno__edge__help__list"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__edge__help,remove)
[INFO] [stdout]                 cmd="kno__edge__help__remove"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,claim)
[INFO] [stdout]                 cmd="kno__help__claim"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,cold)
[INFO] [stdout]                 cmd="kno__help__cold"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,compact)
[INFO] [stdout]                 cmd="kno__help__compact"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,completions)
[INFO] [stdout]                 cmd="kno__help__completions"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,doctor)
[INFO] [stdout]                 cmd="kno__help__doctor"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,edge)
[INFO] [stdout]                 cmd="kno__help__edge"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,fsck)
[INFO] [stdout]                 cmd="kno__help__fsck"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,help)
[INFO] [stdout]                 cmd="kno__help__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,hooks)
[INFO] [stdout]                 cmd="kno__help__hooks"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,init)
[INFO] [stdout]                 cmd="kno__help__init"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,init-remote)
[INFO] [stdout]                 cmd="kno__help__init__remote"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,ls)
[INFO] [stdout]                 cmd="kno__help__ls"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,new)
[INFO] [stdout]                 cmd="kno__help__new"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,next)
[INFO] [stdout]                 cmd="kno__help__next"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,perf)
[INFO] [stdout]                 cmd="kno__help__perf"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,poll)
[INFO] [stdout]                 cmd="kno__help__poll"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,profile)
[INFO] [stdout]                 cmd="kno__help__profile"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,pull)
[INFO] [stdout]                 cmd="kno__help__pull"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,push)
[INFO] [stdout]                 cmd="kno__help__push"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,q)
[INFO] [stdout]                 cmd="kno__help__q"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,ready)
[INFO] [stdout]                 cmd="kno__help__ready"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,rehydrate)
[INFO] [stdout]                 cmd="kno__help__rehydrate"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,show)
[INFO] [stdout]                 cmd="kno__help__show"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,skill)
[INFO] [stdout]                 cmd="kno__help__skill"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,state)
[INFO] [stdout]                 cmd="kno__help__state"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,step)
[INFO] [stdout]                 cmd="kno__help__step"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,sync)
[INFO] [stdout]                 cmd="kno__help__sync"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,uninit)
[INFO] [stdout]                 cmd="kno__help__uninit"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,uninstall)
[INFO] [stdout]                 cmd="kno__help__uninstall"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,update)
[INFO] [stdout]                 cmd="kno__help__update"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help,upgrade)
[INFO] [stdout]                 cmd="kno__help__upgrade"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help__cold,search)
[INFO] [stdout]                 cmd="kno__help__cold__search"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help__cold,sync)
[INFO] [stdout]                 cmd="kno__help__cold__sync"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help__edge,add)
[INFO] [stdout]                 cmd="kno__help__edge__add"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help__edge,list)
[INFO] [stdout]                 cmd="kno__help__edge__list"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help__edge,remove)
[INFO] [stdout]                 cmd="kno__help__edge__remove"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help__hooks,install)
[INFO] [stdout]                 cmd="kno__help__hooks__install"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help__hooks,status)
[INFO] [stdout]                 cmd="kno__help__hooks__status"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help__hooks,uninstall)
[INFO] [stdout]                 cmd="kno__help__hooks__uninstall"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help__profile,list)
[INFO] [stdout]                 cmd="kno__help__profile__list"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help__profile,set)
[INFO] [stdout]                 cmd="kno__help__profile__set"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help__profile,set-default)
[INFO] [stdout]                 cmd="kno__help__profile__set__default"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help__profile,set-default-quick)
[INFO] [stdout]                 cmd="kno__help__profile__set__default__quick"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help__profile,show)
[INFO] [stdout]                 cmd="kno__help__profile__show"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__help__step,annotate)
[INFO] [stdout]                 cmd="kno__help__step__annotate"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__hooks,help)
[INFO] [stdout]                 cmd="kno__hooks__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__hooks,install)
[INFO] [stdout]                 cmd="kno__hooks__install"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__hooks,status)
[INFO] [stdout]                 cmd="kno__hooks__status"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__hooks,uninstall)
[INFO] [stdout]                 cmd="kno__hooks__uninstall"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__hooks__help,help)
[INFO] [stdout]                 cmd="kno__hooks__help__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__hooks__help,install)
[INFO] [stdout]                 cmd="kno__hooks__help__install"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__hooks__help,status)
[INFO] [stdout]                 cmd="kno__hooks__help__status"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__hooks__help,uninstall)
[INFO] [stdout]                 cmd="kno__hooks__help__uninstall"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__profile,help)
[INFO] [stdout]                 cmd="kno__profile__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__profile,list)
[INFO] [stdout]                 cmd="kno__profile__list"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__profile,set)
[INFO] [stdout]                 cmd="kno__profile__set"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__profile,set-default)
[INFO] [stdout]                 cmd="kno__profile__set__default"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__profile,set-default-quick)
[INFO] [stdout]                 cmd="kno__profile__set__default__quick"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__profile,show)
[INFO] [stdout]                 cmd="kno__profile__show"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__profile__help,help)
[INFO] [stdout]                 cmd="kno__profile__help__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__profile__help,list)
[INFO] [stdout]                 cmd="kno__profile__help__list"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__profile__help,set)
[INFO] [stdout]                 cmd="kno__profile__help__set"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__profile__help,set-default)
[INFO] [stdout]                 cmd="kno__profile__help__set__default"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__profile__help,set-default-quick)
[INFO] [stdout]                 cmd="kno__profile__help__set__default__quick"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__profile__help,show)
[INFO] [stdout]                 cmd="kno__profile__help__show"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__step,annotate)
[INFO] [stdout]                 cmd="kno__step__annotate"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__step,help)
[INFO] [stdout]                 cmd="kno__step__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__step__help,annotate)
[INFO] [stdout]                 cmd="kno__step__help__annotate"
[INFO] [stdout]                 ;;
[INFO] [stdout]             kno__step__help,help)
[INFO] [stdout]                 cmd="kno__step__help__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             *)
[INFO] [stdout]                 ;;
[INFO] [stdout]         esac
[INFO] [stdout]     done
[INFO] [stdout] 
[INFO] [stdout]     case "${cmd}" in
[INFO] [stdout]         kno)
[INFO] [stdout]             opts="-d -C -h -V --db --repo-root --help --version new state update upgrade uninstall ls show profile pull push sync init uninit init-remote fsck doctor perf compact cold rehydrate edge next skill q completions poll claim ready step hooks help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 1 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --db)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -d)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --repo-root)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -C)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__claim)
[INFO] [stdout]             opts="-j -v -h --json --agent-name --agent-model --agent-version --peek --verbose --help <ID>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --agent-name)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --agent-model)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --agent-version)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__cold)
[INFO] [stdout]             opts="-h --help sync search help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__cold__help)
[INFO] [stdout]             opts="sync search help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__cold__help__help)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__cold__help__search)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__cold__help__sync)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__cold__search)
[INFO] [stdout]             opts="-j -h --json --help <TERM>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__cold__sync)
[INFO] [stdout]             opts="-j -h --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__compact)
[INFO] [stdout]             opts="-w -j -h --write-snapshots --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__completions)
[INFO] [stdout]             opts="-i -h --install --help [SHELL]"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__doctor)
[INFO] [stdout]             opts="-j -h --json --fix --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__edge)
[INFO] [stdout]             opts="-h --help add remove list help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__edge__add)
[INFO] [stdout]             opts="-h --help <SRC> <KIND> <DST>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__edge__help)
[INFO] [stdout]             opts="add remove list help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__edge__help__add)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__edge__help__help)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__edge__help__list)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__edge__help__remove)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__edge__list)
[INFO] [stdout]             opts="-d -j -h --direction --json --help <ID>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --direction)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -d)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__edge__remove)
[INFO] [stdout]             opts="-h --help <SRC> <KIND> <DST>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__fsck)
[INFO] [stdout]             opts="-j -h --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help)
[INFO] [stdout]             opts="new state update upgrade uninstall ls show profile pull push sync init uninit init-remote fsck doctor perf compact cold rehydrate edge next skill q completions poll claim ready step hooks help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__claim)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__cold)
[INFO] [stdout]             opts="sync search"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__cold__search)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__cold__sync)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__compact)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__completions)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__doctor)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__edge)
[INFO] [stdout]             opts="add remove list"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__edge__add)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__edge__list)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__edge__remove)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__fsck)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__help)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__hooks)
[INFO] [stdout]             opts="install uninstall status"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__hooks__install)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__hooks__status)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__hooks__uninstall)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__init)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__init__remote)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__ls)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__new)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__next)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__perf)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__poll)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__profile)
[INFO] [stdout]             opts="list show set-default set-default-quick set"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__profile__list)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__profile__set)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__profile__set__default)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__profile__set__default__quick)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__profile__show)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__pull)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__push)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__q)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__ready)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__rehydrate)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__show)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__skill)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__state)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__step)
[INFO] [stdout]             opts="annotate"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__step__annotate)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__sync)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__uninit)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__uninstall)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__update)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__help__upgrade)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__hooks)
[INFO] [stdout]             opts="-h --help install uninstall status help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__hooks__help)
[INFO] [stdout]             opts="install uninstall status help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__hooks__help__help)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__hooks__help__install)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__hooks__help__status)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__hooks__help__uninstall)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__hooks__install)
[INFO] [stdout]             opts="-h --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__hooks__status)
[INFO] [stdout]             opts="-h --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__hooks__uninstall)
[INFO] [stdout]             opts="-h --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__init)
[INFO] [stdout]             opts="-h --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__init__remote)
[INFO] [stdout]             opts="-h --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__ls)
[INFO] [stdout]             opts="-a -j -s -t -p -g -q -h --all --json --state --type --profile --tag --query --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --state)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -s)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --type)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -t)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --profile)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -p)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --tag)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -g)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --query)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -q)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__new)
[INFO] [stdout]             opts="-d -s -p -f -h --desc --state --profile --fast --help <TITLE>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --desc)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -d)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --state)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -s)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --profile)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -p)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__next)
[INFO] [stdout]             opts="-j -h --expected-state --json --actor-kind --agent-name --agent-model --agent-version --help <ID> [currentState]"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --expected-state)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --actor-kind)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --agent-name)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --agent-model)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --agent-version)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__perf)
[INFO] [stdout]             opts="-j -n -S -h --json --iterations --strict --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --iterations)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -n)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__poll)
[INFO] [stdout]             opts="-o -j -h --owner --claim --json --agent-name --agent-model --agent-version --help [STAGE]"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --owner)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -o)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --agent-name)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --agent-model)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --agent-version)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__profile)
[INFO] [stdout]             opts="-h --help list show set-default set-default-quick set help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__profile__help)
[INFO] [stdout]             opts="list show set-default set-default-quick set help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__profile__help__help)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__profile__help__list)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__profile__help__set)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__profile__help__set__default)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__profile__help__set__default__quick)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__profile__help__show)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__profile__list)
[INFO] [stdout]             opts="-j -h --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__profile__set)
[INFO] [stdout]             opts="-s -m -h --state --if-match --help <ID> <PROFILE>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --state)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -s)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --if-match)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -m)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__profile__set__default)
[INFO] [stdout]             opts="-h --help <ID>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__profile__set__default__quick)
[INFO] [stdout]             opts="-h --help <ID>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__profile__show)
[INFO] [stdout]             opts="-j -h --json --help <ID>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__pull)
[INFO] [stdout]             opts="-j -h --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__push)
[INFO] [stdout]             opts="-j -h --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__q)
[INFO] [stdout]             opts="-d -s -h --desc --state --help <TITLE>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --desc)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -d)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --state)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -s)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__ready)
[INFO] [stdout]             opts="-j -h --json --help [READY_TYPE]"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__rehydrate)
[INFO] [stdout]             opts="-j -h --json --help <ID>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__show)
[INFO] [stdout]             opts="-j -v -h --json --verbose --help <ID>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__skill)
[INFO] [stdout]             opts="-h --help <ID>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__state)
[INFO] [stdout]             opts="-f -m -h --force --if-match --actor-kind --agent-name --agent-model --agent-version --help <ID> <STATE>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --if-match)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -m)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --actor-kind)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --agent-name)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --agent-model)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --agent-version)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__step)
[INFO] [stdout]             opts="-h --help annotate help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__step__annotate)
[INFO] [stdout]             opts="-j -h --agent-name --agent-model --agent-version --actor-kind --json --help <ID>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --agent-name)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --agent-model)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --agent-version)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --actor-kind)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__step__help)
[INFO] [stdout]             opts="annotate help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__step__help__annotate)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__step__help__help)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__sync)
[INFO] [stdout]             opts="-j -h --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__uninit)
[INFO] [stdout]             opts="-h --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__uninstall)
[INFO] [stdout]             opts="-b -p -h --bin-path --remove-previous --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --bin-path)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -b)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__update)
[INFO] [stdout]             opts="-t -d -p -s -k -a -r -n -H -m -f -h --title --description --priority --status --type --add-tag --remove-tag --add-invariant --remove-invariant --clear-invariants --add-note --note-username --note-datetime --note-agentname --note-model --note-version --add-handoff-capsule --handoff-username --handoff-datetime --handoff-agentname --handoff-model --handoff-version --if-match --actor-kind --agent-name --agent-model --agent-version --force --help <ID>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --title)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -t)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --description)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -d)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --priority)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -p)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --status)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -s)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --type)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -k)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --add-tag)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -a)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --remove-tag)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -r)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --add-invariant)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --remove-invariant)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --add-note)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -n)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --note-username)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --note-datetime)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --note-agentname)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --note-model)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --note-version)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --add-handoff-capsule)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -H)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --handoff-username)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --handoff-datetime)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --handoff-agentname)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --handoff-model)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --handoff-version)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --if-match)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -m)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --actor-kind)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --agent-name)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --agent-model)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --agent-version)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         kno__upgrade)
[INFO] [stdout]             opts="-v -r -i -u -h --version --repo --install-dir --script-url --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --version)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -v)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --repo)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -r)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --install-dir)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -i)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --script-url)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -u)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]     esac
[INFO] [stdout] }
[INFO] [stdout] 
[INFO] [stdout] if [[ "${BASH_VERSINFO[0]}" -eq 4 && "${BASH_VERSINFO[1]}" -ge 4 || "${BASH_VERSINFO[0]}" -gt 4 ]]; then
[INFO] [stdout]     complete -F _kno -o nosort -o bashdefault -o default kno
[INFO] [stdout] else
[INFO] [stdout]     complete -F _kno -o bashdefault -o default kno
[INFO] [stdout] fi
[INFO] [stdout] test completions::tests::generate_completions_produces_non_empty_output ... ok
[INFO] [stdout] test app::tests_coverage_ext::set_state_actor_validation_and_deferred_resume_rules ... ok
[INFO] [stdout] test app::tests_step_history::next_finalizes_active_step_record ... ok
[INFO] [stdout] test app::tests_coverage_ext::set_profile_covers_stale_etag_and_unknown_state_paths ... ok
[INFO] [stdout] test app::tests_step_history::step_annotate_fails_when_no_active_step ... ok
[INFO] [stdout] test app::tests_step_history::step_annotate_changes_agent_on_active_step ... ok
[INFO] [stdout] test completions::tests::shell_from_path_parses_known_shells ... ok
[INFO] [stdout] test app::tests_coverage_ext::set_state_with_actor_records_actor_and_deferred_provenance ... ok
[INFO] [stdout] test cli::tests::profile_show_parses_with_id ... ok
[INFO] [stdout] test cli::tests::update_defaults_no_invariant_flags ... ok
[INFO] [stdout] test app::tests_step_history::claim_creates_step_record_with_agent_metadata ... ok
[INFO] [stdout] test completions::tests::run_completions_command_print_and_error_modes ... FAILED
[INFO] [stdout] test completions::tests::zsh_completions_are_flat_and_unstyled ... ok
[INFO] [stdout] test app::tests_step_history::show_json_returns_step_history_field ... ok
[INFO] [stdout] test app::tests_step_history::show_json_includes_empty_step_history_field ... ok
[INFO] [stdout] test completions::tests::zsh_commands_are_sorted_alphabetically ... ok
[INFO] [stdout] test dispatch::tests::owner_kind_label_covers_human_and_agent ... ok
[INFO] [stdout] test doctor::tests::build_version_check_passes_when_up_to_date ... ok
[INFO] [stdout] test doctor::tests::build_version_check_warns_on_unparseable_remote ... ok
[INFO] [stdout] test doctor::tests::build_version_check_warns_when_fetch_fails ... ok
[INFO] [stdout] test db::tests::initializes_required_tables_and_schema_version ... ok
[INFO] [stdout] test doctor::tests::is_outdated_compares_semver_parts ... ok
[INFO] [stdout] test doctor::tests::is_outdated_returns_none_for_invalid_versions ... ok
[INFO] [stdout] test doctor::tests::parse_location_tag_extracts_tag_from_redirect ... ok
[INFO] [stdout] test doctor::tests::parse_location_tag_handles_lowercase_header ... ok
[INFO] [stdout] test doctor::tests::parse_location_tag_returns_none_when_missing ... ok
[INFO] [stdout] test db::tests::reads_pull_drift_warn_threshold_from_meta ... ok
[INFO] [stdout] test app::tests_step_history::step_history_persists_across_show_calls ... ok
[INFO] [stdout] test doctor::tests::strip_v_prefix_removes_leading_v ... ok
[INFO] [stdout] test doctor::tests::fetch_latest_tag_returns_none_for_unreachable_url ... ok
[INFO] [stdout] test doctor::tests_ext::doctor_error_display_source_and_from_cover_variants ... ok
[INFO] [stdout] test doctor::tests_ext::check_version_returns_valid_doctor_check ... ok
[INFO] [stdout] test db::tests::configures_connection_pragmas ... ok
[INFO] [stdout] test doctor::tests::build_version_check_warns_when_outdated ... ok
[INFO] [stdout] test doctor::tests::check_version_passes_when_upgrade_applied_in_process ... ok
[INFO] [stdout] test doctor::tests::reports_failure_for_non_git_directory ... ok
[INFO] [stdout] test db::tests::open_connection_stays_readable_when_writer_lock_is_held ... ok
[INFO] [stdout] test doctor::tests_ext::wait_for_lock_release_succeeds_for_unlocked_path ... ok
[INFO] [stdout] test db::tests::reapplies_migrations_idempotently ... ok
[INFO] [stdout] test db::tests::reads_optional_fetch_blob_limit_from_meta ... ok
[INFO] [stdout] test db::tests::upsert_and_get_knot_hot_round_trips_invariants ... ok
[INFO] [stderr] fatal: cannot change to '/tmp/knots-doctor-fix-019cd449-ade9-7183-994c-a85db29cfce5/missing': No such file or directory
[INFO] [stdout] test doctor_fix::tests::apply_fixes_ignores_non_git_repo_and_unknown_checks ... ok
[INFO] [stdout] test doctor_fix::tests::has_non_pass_checks_detects_warn_or_fail ... ok
[INFO] [stdout] test domain::invariant::tests::deserialize_accepts_invariant_type_alias ... ok
[INFO] [stdout] test domain::invariant::tests::deserialize_rejects_unknown_invariant_type ... ok
[INFO] [stdout] test domain::invariant::tests::invariant_display_shows_type_and_condition ... ok
[INFO] [stdout] test domain::invariant::tests::invariant_type_all_contains_both_variants ... ok
[INFO] [stdout] test domain::invariant::tests::invariant_type_display_matches_as_str ... ok
[INFO] [stdout] test domain::invariant::tests::invariant_type_error_mentions_allowed_values ... ok
[INFO] [stdout] test domain::invariant::tests::invariant_type_parses_case_insensitively ... ok
[INFO] [stdout] test domain::invariant::tests::parse_invariant_spec_invalid_type_delegates_display ... ok
[INFO] [stdout] test domain::invariant::tests::parse_invariant_spec_missing_separator_has_no_source ... ok
[INFO] [stdout] test domain::invariant::tests::parse_invariant_spec_parses_valid_input ... ok
[INFO] [stdout] test domain::invariant::tests::parse_invariant_spec_requires_condition ... ok
[INFO] [stdout] test domain::invariant::tests::parse_invariant_spec_requires_separator ... ok
[INFO] [stdout] test domain::invariant::tests::serde_round_trip_uses_type_key ... ok
[INFO] [stdout] test domain::invariant::tests::serde_round_trip_vec_of_invariants ... ok
[INFO] [stdout] test doctor_fix::tests::apply_fixes_marks_version_fix_applied_for_version_check ... ok
[INFO] [stdout] test domain::knot_type::tests::display_uses_as_str ... ok
[INFO] [stdout] test doctor_fix::tests::apply_fixes_removes_lock_files ... ok
[INFO] [stdout] test domain::knot_type::tests::default_is_work ... ok
[INFO] [stdout] test domain::knot_type::tests::empty_string_maps_to_work ... ok
[INFO] [stdout] test domain::knot_type::tests::invalid_value_returns_error ... ok
[INFO] [stdout] test domain::knot_type::tests::parse_knot_type_error_display ... ok
[INFO] [stdout] test domain::knot_type::tests::round_trip_work ... ok
[INFO] [stdout] test domain::knot_type::tests::legacy_alias_task_maps_to_work ... ok
[INFO] [stdout] test domain::knot_type::tests::parse_knot_type_backward_compat ... ok
[INFO] [stdout] test domain::knot_type::tests::serde_deserialize_legacy_alias ... ok
[INFO] [stdout] test domain::knot_type::tests::whitespace_only_maps_to_work ... ok
[INFO] [stdout] test domain::metadata::tests::normalize_datetime_returns_none_for_empty ... ok
[INFO] [stdout] test domain::metadata::tests::normalize_datetime_returns_none_for_invalid ... ok
[INFO] [stdout] test domain::metadata::tests::normalize_datetime_returns_none_for_none ... ok
[INFO] [stdout] test domain::metadata::tests::normalize_datetime_returns_none_for_whitespace ... ok
[INFO] [stdout] test domain::metadata::tests::normalize_text_returns_fallback_for_empty ... ok
[INFO] [stdout] test domain::metadata::tests::normalize_text_returns_fallback_for_none ... ok
[INFO] [stdout] test domain::metadata::tests::normalize_text_returns_fallback_for_whitespace ... ok
[INFO] [stdout] test domain::metadata::tests::normalize_text_returns_trimmed_value ... ok
[INFO] [stdout] test domain::state::tests::accepts_common_path_transitions ... ok
[INFO] [stdout] test domain::knot_type::tests::serde_round_trip ... ok
[INFO] [stdout] test domain::state::tests::accepts_deferred_and_abandoned_from_all_states ... ok
[INFO] [stdout] test domain::state::tests::allows_unlisted_transition_with_force ... ok
[INFO] [stdout] test domain::state::tests::marks_terminal_states_for_tiering ... ok
[INFO] [stdout] test domain::state::tests::parses_supported_state_names_and_legacy_aliases ... ok
[INFO] [stdout] test domain::state::tests::rejects_unlisted_transition_without_force ... ok
[INFO] [stdout] test domain::step_history::tests::derive_phase_action_vs_review ... ok
[INFO] [stdout] test domain::step_history::tests::new_started_record_has_correct_defaults ... ok
[INFO] [stdout] test domain::step_history::tests::optional_fields_omitted_when_none ... ok
[INFO] [stdout] test domain::step_history::tests::step_record_serialization_roundtrip ... ok
[INFO] [stdout] test domain::step_history::tests::step_status_serializes_as_snake_case ... ok
[INFO] [stdout] test events::tests::builds_deterministic_full_event_path ... ok
[INFO] [stdout] test events::tests::builds_deterministic_index_event_path ... ok
[INFO] [stdout] test events::tests::rejects_invalid_file_component ... ok
[INFO] [stdout] test domain::state::tests::parses_implemented_alias ... ok
[INFO] [stdout] test domain::metadata::tests::normalize_datetime_parses_valid_rfc3339 ... ok
[INFO] [stdout] test events::tests_ext::event_record_accessors_cover_full_and_index_variants ... ok
[INFO] [stdout] test events::tests_ext::event_write_error_display_source_and_from_cover_variants ... ok
[INFO] [stdout] test events::tests_ext::full_event_kind_strings_cover_remaining_variants ... ok
[INFO] [stdout] test events::tests_ext::new_event_builders_and_preconditions_set_expected_fields ... ok
[INFO] [stdout] test events::tests_ext::relative_path_rejects_invalid_timestamp_values ... ok
[INFO] [stdout] test events::tests::writes_append_only_full_event_file ... ok
[INFO] [stdout] test fsck::tests::reports_missing_edge_destination_reference ... ok
[INFO] [stdout] test events::tests::writes_index_event ... ok
[INFO] [stdout] test fsck::tests_ext::reports_schema_and_reference_issues_for_malformed_events ... ok
[INFO] [stdout] test fsck::tests::reports_duplicate_event_ids ... ok
[INFO] [stdout] test app::tests_step_history::repeated_action_review_cycles_produce_multiple_records ... ok
[INFO] [stdout] test completions::tests::install_completions_with_zshrc_patching ... ok
[INFO] [stdout] test fsck::tests_ext::fsck_error_display_source_and_from_cover_io_variant ... ok
[INFO] [stdout] test git_hooks::tests::check_hooks_warns_for_non_git_directory ... ok
[INFO] [stdout] test db::tests::upsert_knot_hot_with_empty_invariants_round_trips ... ok
[INFO] [stdout] test db::tests::set_meta_retries_when_database_is_temporarily_locked ... ok
[INFO] [stdout] test git_hooks::tests::hook_template_contains_marker_and_sync ... ok
[INFO] [stdout] test db::tests::migrations_add_parity_columns_and_backfill_profile_defaults ... ok
[INFO] [stdout] test git_hooks::tests::cleanup_legacy_hooks_restores_local ... ok
[INFO] [stdout] test git_hooks::tests::hooks_status_reports_installation_state ... ok
[INFO] [stdout] test doctor::tests::reports_busy_lock_as_warning ... ok
[INFO] [stdout] test git_hooks::tests::cleanup_legacy_hooks_removes_orphaned_hook ... ok
[INFO] [stdout] test git_hooks::tests::check_hooks_warns_on_legacy_hook ... ok
[INFO] [stdout] test git_hooks::tests::check_hooks_passes_when_installed ... ok
[INFO] [stdout] test git_hooks::tests::check_hooks_warns_on_stale_content ... ok
[INFO] [stdout] HEAD is now at 6f463e6 init
[INFO] [stdout] test doctor_fix::tests::apply_fixes_recreates_non_git_worktree_directory ... ok
[INFO] [stdout] test git_hooks::tests::install_hooks_creates_managed_hooks ... ok
[INFO] [stdout] test hierarchy_alias::tests::cycle_edges_do_not_cause_infinite_loop ... ok
[INFO] [stdout] test hierarchy_alias::tests::assigns_hierarchical_aliases_for_parent_chain ... ok
[INFO] [stdout] test hierarchy_alias::tests::picks_lexicographically_smallest_parent_for_alias_path ... ok
[INFO] [stdout] test hierarchy_alias::tests::self_edges_and_unknown_ids_are_skipped ... ok
[INFO] [stdout] test git_hooks::tests::check_hooks_warns_when_missing ... ok
[INFO] [stdout] test git_hooks::tests::install_hooks_is_idempotent ... ok
[INFO] [stdout] test git_hooks::tests::resolve_hooks_dir_defaults_to_git_hooks ... ok
[INFO] [stdout] test git_hooks::tests::uninstall_hooks_removes_managed_and_restores_local ... ok
[INFO] [stdout] test doctor::tests_ext::remote_check_reports_unreachable_origin ... ok
[INFO] [stdout] test init::tests_ext::gitignore_helpers_cover_append_and_noop_removal_paths ... ok
[INFO] [stdout] test git_hooks::tests::install_preserves_existing_to_backup_when_local_exists ... ok
[INFO] [stdout] test git_hooks::tests::resolve_hooks_dir_respects_core_hooks_path ... ok
[INFO] [stdout] test doctor_fix::tests::apply_fixes_cleans_legacy_and_reinstalls_hooks ... ok
[INFO] [stdout] test knot_id::tests::display_id_strips_prefix ... ok
[INFO] [stdout] test knot_id::tests::generated_ids_follow_repo_short_hash_shape ... ok
[INFO] [stdout] test knot_id::tests::slug_fallbacks_to_repo_name_when_git_remote_missing ... ok
[INFO] [stdout] test list_layout::tests::blocked_items_sort_after_actionable_peers ... ok
[INFO] [stdout] test init::tests::init_local_store_writes_expected_artifacts ... ok
[INFO] [stdout] test list_layout::tests::nested_epic_footer_depth_increases_by_level ... ok
[INFO] [stdout] test init::tests_ext::run_git_panics_with_stderr_when_command_fails ... ok
[INFO] [stdout] test git_hooks::tests::uninstall_hooks_noop_when_not_installed ... ok
[INFO] [stdout] test list_layout::tests::sequence_order_is_child_specific_then_parent ... ok
[INFO] [stdout] test list_layout_tests_ext::different_prefix_sequences_sort_by_prefix ... ok
[INFO] [stdout] test list_layout::tests::handles_cycles_without_infinite_loop ... ok
[INFO] [stdout] test list_layout::tests::renders_children_before_parent_footer ... ok
[INFO] [stdout] test list_layout_tests_ext::malformed_sequence_alias_falls_back_and_terminal_state_sorts_last ... ok
[INFO] [stdout] test list_layout_tests_ext::priority_tiebreaker_sorts_lower_priority_first ... ok
[INFO] [stdout] test list_layout_tests_ext::sequence_nodes_sort_before_non_sequence_nodes ... ok
[INFO] [stdout] test list_layout_tests_ext::state_rank_covers_all_named_states ... ok
[INFO] [stdout] test listing::tests::allows_state_abandoned_explicit ... ok
[INFO] [stdout] test listing::tests::allows_state_deferred_explicit ... ok
[INFO] [stdout] test listing::tests::allows_state_shipped_without_all_flag ... ok
[INFO] [stdout] test list_layout_tests_ext::layout_knots_returns_empty_for_empty_input ... ok
[INFO] [stdout] test listing::tests::combines_filters ... ok
[INFO] [stdout] test listing::tests::excludes_deferred_by_default ... ok
[INFO] [stdout] test listing::tests::filters_by_alias_query ... ok
[INFO] [stdout] test listing::tests::filters_by_multiple_tags ... ok
[INFO] [stdout] test listing::tests::filters_by_profile_id ... ok
[INFO] [stdout] test listing::tests::excludes_abandoned_by_default ... ok
[INFO] [stdout] test listing::tests::excludes_shipped_by_default ... ok
[INFO] [stdout] test listing::tests::includes_abandoned_and_deferred_with_all_flag ... ok
[INFO] [stdout] test listing::tests::filters_by_query_across_title_and_description ... ok
[INFO] [stdout] test listing::tests::filters_by_state_case_insensitive ... ok
[INFO] [stdout] test listing::tests::includes_shipped_with_all_flag ... ok
[INFO] [stdout] test listing::tests_ext::empty_state_filter_is_treated_as_no_filter ... ok
[INFO] [stdout] test listing::tests_ext::invalid_type_filter_is_ignored ... ok
[INFO] [stdout] test listing::tests_ext::filters_by_type_normalizes_legacy_aliases ... ok
[INFO] [stdout] test listing::tests_ext::include_all_with_user_filter_includes_terminal_knots ... ok
[INFO] [stdout] test init::tests::init_local_store_is_idempotent_with_gitignore ... ok
[INFO] [stdout] test locks::tests::corrupt_lock_is_reclaimed ... ok
[INFO] [stdout] test locks::tests::dead_process_is_detected ... ok
[INFO] [stdout] test locks::tests::live_process_is_not_reclaimed ... ok
[INFO] [stdout] test locks::tests::lock_file_contains_pid ... ok
[INFO] [stdout] test locks::tests::reclaim_stale_returns_true_for_missing_file ... ok
[INFO] [stdout] test locks::tests::stale_lock_is_reclaimed ... ok
[INFO] [stdout] test locks::tests::stale_lock_is_reclaimed_via_try_acquire ... ok
[INFO] [stdout] test listing::tests_ext::normalize_knot_type_filter_covers_edge_cases ... ok
[INFO] [stdout] test init::tests::uninit_local_store_cleans_local_artifacts_and_gitignore ... ok
[INFO] [stdout] test listing::tests_ext::whitespace_only_query_filter_is_treated_as_no_filter ... ok
[INFO] [stdout] test locks::tests::try_lock_is_non_blocking ... ok
[INFO] [stdout] test locks::tests::zero_pid_is_not_alive ... ok
[INFO] [stdout] test main_tests::knot_json_serialization_always_includes_step_history_field ... ok
[INFO] [stdout] test main_tests::knot_ref_prefers_alias_when_available ... ok
[INFO] [stdout] test main_tests::maybe_run_self_command_returns_none_for_non_self_commands ... ok
[INFO] [stdout] test main_tests::run_git_panics_with_stderr_when_command_fails ... ok
[INFO] [stdout] test perf::tests::over_budget_and_error_helpers_cover_edge_paths ... ok
[INFO] [stdout] test locks::tests::acquire_times_out_when_held ... ok
[INFO] [stdout] test list_layout_tests_ext::blocks_edges_affect_readiness_sorting ... ok
[INFO] [stdout] test poll_claim::tests::completion_command_includes_agent_metadata_flags ... ok
[INFO] [stdout] test poll_claim::tests::normalize_ready_type_empty_returns_none ... ok
[INFO] [stdout] test perf::tests::git_helpers_report_failures ... ok
[INFO] [stdout] test poll_claim::tests::normalize_ready_type_lowercases_and_replaces_dashes ... ok
[INFO] [stdout] test poll_claim::tests::normalize_ready_type_none_returns_none ... ok
[INFO] [stdout] test poll_claim::tests::normalize_ready_type_passes_through_stage ... ok
[INFO] [stdout] test poll_claim::tests::parse_owner_defaults_to_agent ... ok
[INFO] [stdout] test poll_claim::tests::parse_owner_recognizes_human ... ok
[INFO] [stdout] test poll_claim::tests::normalize_ready_type_strips_prefix ... ok
[INFO] [stdout] HEAD is now at 6f463e6 init
[INFO] [stdout] test doctor::tests_ext::hooks_check_warns_when_missing_and_passes_after_install ... ok
[INFO] [stdout] test init::tests_ext::warn_if_beads_hooks_present_handles_config_without_matching_hook_files ... ok
[INFO] [stdout] Removing dirty.txt
[INFO] [stdout] test git_hooks::tests::install_hooks_preserves_existing_to_local ... ok
[INFO] [stdout] test main_tests::maybe_run_self_command_update_and_uninstall_paths_execute ... ok
[INFO] [stdout] test doctor::tests_ext::version_check_is_present_in_doctor_report ... ok
[INFO] [stdout] test main_tests::run_hooks_command_handles_install_status_and_uninstall ... ok
[INFO] [stdout] test profile::tests::next_happy_path_follows_sequential_states ... ok
[INFO] [stdout] test profile::tests::loads_builtin_profiles_and_legacy_aliases ... ok
[INFO] [stdout] test profile::tests::next_happy_path_returns_none_for_terminal ... ok
[INFO] [stdout] test profile::tests::no_planning_profiles_start_at_ready_for_implementation ... ok
[INFO] [stdout] test profile::tests::owner_for_action_state_returns_correct_owner ... ok
[INFO] [stdout] test profile_commands::tests::profile_field_formatting_right_aligns_labels ... ok
[INFO] [stdout] test profile_commands::tests::profile_output_mode_labels_remote_main_as_merged ... ok
[INFO] [stdout] test profile::tests::owner_kind_for_state_maps_queue_and_action_states ... ok
[INFO] [stdout] test profile_commands::tests::resolve_profile_state_handles_non_interactive_paths ... ok
[INFO] [stdout] test poll_claim::tests::run_ready_empty_queue_prints_message ... ok
[INFO] [stdout] test prompt::tests::json_no_other_when_single_entries ... ok
[INFO] [stdout] test prompt::tests::json_non_verbose_includes_other_field ... ok
[INFO] [stdout] test prompt::tests::json_output_has_expected_fields ... ok
[INFO] [stdout] test prompt::tests::json_output_includes_invariants ... ok
[INFO] [stdout] test prompt::tests::json_verbose_omits_other_field ... ok
[INFO] [stdout] test prompt::tests::render_contains_skill_and_completion ... ok
[INFO] [stdout] test prompt::tests::render_contains_title_and_id ... ok
[INFO] [stdout] test prompt::tests::render_empty_body_falls_back_to_description ... ok
[INFO] [stdout] test prompt::tests::render_falls_back_to_description ... ok
[INFO] [stdout] test prompt::tests::render_handoff_capsules_appear_in_notes ... ok
[INFO] [stdout] test prompt::tests::render_includes_invariants ... ok
[INFO] [stdout] test prompt::tests::render_includes_notes ... ok
[INFO] [stdout] test prompt::tests::render_no_body_or_description_omits_section ... ok
[INFO] [stdout] test prompt::tests::render_no_priority_shows_none ... ok
[INFO] [stdout] test prompt::tests::render_non_verbose_shows_latest_handoff ... ok
[INFO] [stdout] test prompt::tests::render_non_verbose_shows_only_latest_note ... ok
[INFO] [stdout] test prompt::tests::render_omits_invariants_section_when_empty ... ok
[INFO] [stdout] test prompt::tests::render_uses_body_over_description ... ok
[INFO] [stdout] test prompt::tests::render_verbose_shows_all_notes ... ok
[INFO] [stdout] test poll_claim::tests::run_ready_with_knot_in_queue ... ok
[INFO] [stdout] test poll_claim::tests::run_ready_json_empty_queue ... ok
[INFO] [stdout] test poll_claim::tests::peek_knot_completion_command_has_agent_metadata_flags ... ok
[INFO] [stdout] test poll_claim::tests::peek_knot_does_not_advance_state ... ok
[INFO] [stdout] test doctor_fix::tests::apply_fixes_cleans_worktree_and_creates_remote_branch ... ok
[INFO] [stdout] test remote_init::tests_ext::helper_paths_cover_io_conversion_and_non_git_detection ... ok
[INFO] [stdout] test doctor::tests_ext::remote_check_warns_when_knots_missing_and_passes_when_present ... ok
[INFO] [stdout] test poll_claim::tests::claim_rejects_knot_in_action_state ... ok
[INFO] [stdout] test poll_claim::tests::peek_rejects_knot_in_action_state ... ok
[INFO] [stdout] test remote_init::tests::detects_beads_hook_in_hook_file ... ok
[INFO] [stdout] test remote_init::tests_ext::remote_init_error_display_and_source_cover_variants ... ok
[INFO] [stdout] test init::tests_ext::init_all_installs_sync_hooks ... ok
[INFO] [stdout] test profile_commands::tests::run_profile_command_handles_list_show_and_set_default ... ok
[INFO] [stdout] test remote_init::tests::detects_beads_config ... ok
[INFO] [stdout] test remote_init::tests_ext::detect_beads_hooks_respects_absolute_core_hooks_path ... ok
[INFO] [stdout] test remote_init::tests_ext::uninit_reports_not_repo_or_missing_remote_and_hooks_path_is_respected ... ok
[INFO] [stdout] test profile_commands::tests::profile_set_requires_state_in_non_interactive_mode ... ok
[INFO] [stdout] test remote_init::tests::creates_remote_branch_when_missing ... ok
[INFO] [stdout] test init::tests::init_all_bootstraps_local_store_and_remote_branch ... ok
[INFO] [stdout] test self_manage::tests::canonicalize_and_remove_file_helpers_cover_directory_and_missing_paths ... FAILED
[INFO] [stdout] test self_manage::tests::titled_fields_render_plain_text_when_color_is_disabled ... ok
[INFO] [stdout] test self_manage::tests::paint_respects_no_color ... ok
[INFO] [stdout] test self_manage::tests::uninstall_removes_binary_and_previous_when_requested ... ok
[INFO] [stdout] test self_manage::tests::uninstall_keeps_previous_without_flag ... ok
[INFO] [stdout] test self_manage::tests::upgrade_summary_right_aligns_labels_and_left_aligns_values ... ok
[INFO] [stdout] test remote_init::tests_ext::init_remote_branch_reports_unreachable_remote_as_git_command_failure ... ok
[INFO] [stdout] test skills::tests::implementation_review_rejections_require_enumerated_spec_violations ... ok
[INFO] [stdout] test remote_init::tests::fails_if_remote_branch_exists ... ok
[INFO] [stdout] test skills::tests::implementation_review_skill_uses_only_code_and_spec_for_approval ... ok
[INFO] [stdout] test skills::tests::implementation_skill_does_not_include_shipment_work ... ok
[INFO] [stdout] test skills::tests::planning_skill_forbids_executing_child_knots ... ok
[INFO] [stdout] test skills::tests::implementation_skill_instructs_short_commit_tagging ... ok
[INFO] [stdout] test skills::tests::returns_content_for_action_states ... ok
[INFO] [stdout] test skills::tests::returns_none_for_queue_and_terminal_states ... ok
[INFO] [stdout] test skills::tests::shipment_review_skill_handles_dirty_workspace_failure_mode ... ok
[INFO] [stdout] test skills::tests::review_skills_forbid_code_and_git_writes ... ok
[INFO] [stdout] test skills::tests::shipment_skill_instructs_short_commit_tagging ... ok
[INFO] [stdout] test remote_init::tests_ext::remote_branch_exists_returns_git_command_failure_for_unreachable_remote ... ok
[INFO] [stdout] test snapshots::tests::snapshot_error_display_source_and_from_cover_variants ... ok
[INFO] [stdout] test skills::tests::shipment_review_skill_validates_commit_tagging ... ok
[INFO] [stdout] test snapshots::tests::latest_snapshot_path_skips_directories_and_invalid_filenames ... ok
[INFO] [stdout] test self_manage::tests::update_and_path_helpers_cover_error_paths ... ok
[INFO] [stdout] test skills::tests::all_skills_define_single_step_boundaries ... ok
[INFO] [stdout] test init::tests::uninit_all_removes_remote_and_local_store ... ok
[INFO] [stdout] test remote_init::tests_ext::init_remote_branch_retries_push_without_verify_when_beads_hook_fails ... ok
[INFO] [stdout] test sync::apply::tests_ext::helper_functions_cover_optional_and_error_paths ... ok
[INFO] [stdout] test sync::apply::tests_ext::parse_metadata_entry_requires_all_string_fields ... ok
[INFO] [stdout] test sync::apply::tests_ext::precondition_checks_cover_none_match_and_mismatch ... ok
[INFO] [stdout] test snapshots::tests::writes_and_loads_snapshots ... ok
[INFO] [stdout] test sync::apply::tests_ext::apply_index_event_ignores_missing_and_non_head_files ... ok
[INFO] [stdout] test sync::apply::tests_ext::read_json_file_reports_invalid_payloads ... ok
[INFO] [stdout] test replication::tests::push_propagates_missing_remote_errors_after_local_reset_fallback ... ok
[INFO] [stdout] test sync::error_tests::sync_error_classifiers_detect_expected_git_failures ... ok
[INFO] [stdout] test sync::error_tests::sync_error_display_source_and_from_cover_all_variants ... ok
[INFO] [stdout] test sync::apply::tests_ext::apply_index_event_moves_old_non_terminal_knots_to_warm_cache ... ok
[INFO] [stdout] test sync::apply::tests_ext::apply_full_event_covers_priority_type_tag_remove_note_and_handoff_paths ... ok
[INFO] [stdout] test remote_init::tests_ext::remote_branch_exists_and_uninit_cover_present_and_missing_paths ... ok
[INFO] [stdout] test sync::apply::tests_ext::apply_to_head_reports_snapshot_load_errors_during_bootstrap ... ok
[INFO] [stdout] test sync::apply::tests_invariant::apply_invariants_set_on_missing_hot_knot_is_noop ... ok
[INFO] [stdout] test sync::apply::tests_invariant::apply_index_event_with_invariants_persists_them ... ok
[INFO] [stdout] test tiering::tests::old_non_terminal_is_warm ... ok
[INFO] [stdout] test tiering::tests::recent_non_terminal_is_hot ... ok
[INFO] [stdout] test tiering::tests::terminal_state_is_always_cold ... ok
[INFO] [stdout] test tiering::tests::unparseable_date_falls_back_to_warm ... ok
[INFO] [stdout] test ui::tests::filter_summary_formats_only_active_filters ... ok
[INFO] [stdout] test ui::tests::filter_summary_includes_all_flag ... ok
[INFO] [stdout] test ui::tests::filter_summary_is_none_for_empty_filters ... ok
[INFO] [stdout] test ui::tests::format_entry_inline_falls_back_to_username ... ok
[INFO] [stdout] test ui::tests::format_entry_inline_uses_agentname_over_username ... ok
[INFO] [stdout] test ui::tests::format_knot_show_includes_hint_when_hidden ... ok
[INFO] [stdout] test ui::tests::format_knot_show_verbose_omits_hint ... ok
[INFO] [stdout] test ui::tests::hidden_metadata_hint_empty_when_single_entries ... ok
[INFO] [stdout] test ui::tests::hidden_metadata_hint_shows_counts_when_multiple ... ok
[INFO] [stdout] test ui::tests::knot_show_fields_include_edges_grouped_by_kind ... ok
[INFO] [stdout] test sync::apply::tests_invariant::apply_full_event_invariants_set_updates_hot_knot ... ok
[INFO] [stdout] test ui::tests::knot_show_fields_no_edges_when_empty ... ok
[INFO] [stdout] test ui::tests::show_fields_non_verbose_shows_only_latest ... ok
[INFO] [stdout] test ui::tests::show_fields_right_align_labels ... ok
[INFO] [stdout] test ui::tests::show_fields_verbose_shows_all_entries ... ok
[INFO] [stdout] test ui::tests::show_fields_wrap_values_to_width_and_keep_value_column_alignment ... ok
[INFO] [stdout] test ui::tests::trim_json_metadata_adds_other_field ... ok
[INFO] [stdout] test ui::tests::trim_json_no_other_when_single_entries ... ok
[INFO] [stdout] test ui::tests_ext::doctor_fail_renders_red_x ... ok
[INFO] [stdout] test ui::tests_ext::doctor_lines_align_titles_when_label_width_is_provided ... ok
[INFO] [stdout] test ui::tests_ext::doctor_no_color_omits_ansi_codes ... ok
[INFO] [stdout] test ui::tests_ext::doctor_pass_renders_green_checkmark ... ok
[INFO] [stdout] test ui::tests_ext::doctor_warn_renders_yellow_warning ... ok
[INFO] [stdout] test ui::tests_ext::palette_and_state_color_cover_all_branches ... ok
[INFO] [stdout] test ui::tests_ext::print_doctor_report_covers_all_statuses ... ok
[INFO] [stdout] test ui::tests::knot_show_fields_include_optional_sections ... ok
[INFO] [stdout] test ui::tests_ext::row_and_indent_formatting_cover_alias_tag_and_type_paths ... ok
[INFO] [stdout] test ui::tests_ext::show_and_print_paths_cover_empty_field_and_public_print_functions ... ok
[INFO] [stdout] test ui::tests_ext::wrap_helpers_cover_empty_multiline_and_no_whitespace_paths ... ok
[INFO] [stdout] test workflow::tests::unknown_workflow_error_is_descriptive ... ok
[INFO] [stdout] test workflow::tests::loads_embedded_default_workflow ... ok
[INFO] [stdout] test workflow::tests_ext::error_display_and_source_paths_cover_variants ... ok
[INFO] [stdout] test replication::tests::push_returns_noop_when_no_local_event_files_exist ... ok
[INFO] [stdout] test workflow::tests_ext::profile_definition_reports_unknown_state_and_invalid_transition ... ok
[INFO] [stdout] test workflow::tests_ext::registry_resolve_and_require_failures_are_reported ... ok
[INFO] [stdout] test workflow_diagram::tests::render_lists_unreachable_states ... ok
[INFO] [stdout] test workflow_diagram::tests::render_marks_expanded_cross_links_and_ignores_missing_children ... ok
[INFO] [stdout] test workflow::tests_ext::load_rejects_empty_and_duplicate_definitions ... ok
[INFO] [stdout] test sync::apply::tests_ext::changed_files_falls_back_to_scan_when_base_revision_is_unknown ... ok
[INFO] [stdout] test write_queue::tests::drain_pending_requests_processes_all_items_serially ... ok
[INFO] [stdout] test write_queue::tests::drain_pending_requests_removes_invalid_request_files ... ok
[INFO] [stdout] test write_queue::tests::drain_pending_requests_returns_zero_when_worker_is_busy ... ok
[INFO] [stdout] test write_queue::tests::enqueue_and_wait_round_trips_response ... ok
[INFO] [stdout] test write_queue::tests::enqueue_and_wait_spins_until_worker_lock_is_released ... ok
[INFO] [stdout] test write_queue::tests::list_request_files_and_read_response_file_handle_missing_paths ... ok
[INFO] [stdout] test write_queue::tests::queue_error_display_and_from_cover_all_variants ... ok
[INFO] [stdout] test sync::tests::sync_bootstrap_loads_latest_snapshots_when_no_events_exist ... ok
[INFO] [stdout] test write_dispatch::tests::execute_queued_request_returns_failure_when_app_open_fails ... ok
[INFO] [stdout] test sync::tests::worktree_manager_creates_knots_branch_worktree ... ok
[INFO] [stdout] test sync::tests::sync_ignores_events_with_stale_preconditions ... ok
[INFO] [stdout] test sync::tests::sync_classifies_old_knots_as_warm_and_terminal_as_cold ... ok
[INFO] [stdout] test sync::tests::sync_applies_index_and_edge_events_from_knots_branch ... ok
[INFO] [stdout] test sync::tests::sync_reduces_description_tag_and_note_events ... ok
[INFO] [stdout] test write_dispatch::tests::execute_operation_next_rejects_mismatched_expected_state ... ok
[INFO] [stdout] test replication::tests::push_reports_conflict_when_remote_file_content_differs ... ok
[INFO] [stdout] test replication::tests::second_push_is_noop_when_remote_already_matches_local_events ... ok
[INFO] [stdout] test replication::tests::count_unpushed_event_files_tracks_remote_alignment ... ok
[INFO] [stdout] test replication::tests::push_then_pull_shares_knots_between_clones ... ok
[INFO] [stdout] test write_dispatch::tests::execute_operation_poll_claim_covers_empty_and_json_paths ... ok
[INFO] [stdout] test init::tests::init_all_pulls_knots_when_remote_branch_already_exists ... ok
[INFO] [stdout] test perf::tests::produces_measurements ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- app::tests_error_paths::open_succeeds_when_knots_dir_exists stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'app::tests_error_paths::open_succeeds_when_knots_dir_exists' (85) panicked at src/app/tests_error_paths.rs:458:5:
[INFO] [stdout] assertion failed: result.is_ok()
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x620ce5c2a29a - std[b80a194dd3c418bb]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x620ce5c2a29a - std[b80a194dd3c418bb]::backtrace_rs::backtrace::trace_unsynchronized::<std[b80a194dd3c418bb]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x620ce5c2a29a - std[b80a194dd3c418bb]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x620ce5c2a29a - <<std[b80a194dd3c418bb]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[10b6fa85044e1869]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x620ce5c42aca - <core[10b6fa85044e1869]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x620ce5c42aca - core[10b6fa85044e1869]::fmt::write
[INFO] [stdout]    6:     0x620ce5c2fc62 - std[b80a194dd3c418bb]::io::default_write_fmt::<alloc[dd269455e567d8e9]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x620ce5c2fc62 - <alloc[dd269455e567d8e9]::vec::Vec<u8> as std[b80a194dd3c418bb]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x620ce5c047ff - <std[b80a194dd3c418bb]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x620ce5c047ff - std[b80a194dd3c418bb]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x620ce5c1fdf9 - std[b80a194dd3c418bb]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x620ce58ddfec - <alloc[dd269455e567d8e9]::boxed::Box<dyn for<'a, 'b> core[10b6fa85044e1869]::ops::function::Fn<(&'a std[b80a194dd3c418bb]::panic::PanicHookInfo<'b>,), Output = ()> + core[10b6fa85044e1869]::marker::Sync + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::Fn<(&std[b80a194dd3c418bb]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x620ce58ddfec - test[826cbc6ef54ab466]::test_main_with_exit_callback::<test[826cbc6ef54ab466]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x620ce5c1ffb2 - <alloc[dd269455e567d8e9]::boxed::Box<dyn for<'a, 'b> core[10b6fa85044e1869]::ops::function::Fn<(&'a std[b80a194dd3c418bb]::panic::PanicHookInfo<'b>,), Output = ()> + core[10b6fa85044e1869]::marker::Sync + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::Fn<(&std[b80a194dd3c418bb]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x620ce5c1ffb2 - std[b80a194dd3c418bb]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x620ce5c048ea - std[b80a194dd3c418bb]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x620ce5bfbd89 - std[b80a194dd3c418bb]::sys::backtrace::__rust_end_short_backtrace::<std[b80a194dd3c418bb]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x620ce5c05a1d - __rustc[9698a3e60dd14283]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x620ce5c433ac - core[10b6fa85044e1869]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x620ce5c43372 - core[10b6fa85044e1869]::panicking::panic
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x620ce54d972b - knots::app::tests_error_paths::open_succeeds_when_knots_dir_exists::h7f4b818c7c2d2398
[INFO] [stdout]                                at /opt/rustwide/workdir/src/app/tests_error_paths.rs:458:5
[INFO] [stdout]   21:     0x620ce54d97e7 - knots::app::tests_error_paths::open_succeeds_when_knots_dir_exists::{{closure}}::h4fa91345a0ef56fc
[INFO] [stdout]                                at /opt/rustwide/workdir/src/app/tests_error_paths.rs:453:41
[INFO] [stdout]   22:     0x620ce5667fd6 - core::ops::function::FnOnce::call_once::hbcc1f21ec20f8616
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x620ce58d20cb - <fn() -> core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x620ce58d20cb - test[826cbc6ef54ab466]::__rust_begin_short_backtrace::<core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>, fn() -> core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:663:18
[INFO] [stdout]   25:     0x620ce58deabb - test[826cbc6ef54ab466]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:74
[INFO] [stdout]   26:     0x620ce58deabb - <core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   27:     0x620ce58deabb - std[b80a194dd3c418bb]::panicking::catch_unwind::do_call::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>, core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x620ce58deabb - std[b80a194dd3c418bb]::panicking::catch_unwind::<core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>, core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x620ce58deabb - std[b80a194dd3c418bb]::panic::catch_unwind::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>, core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x620ce58deabb - test[826cbc6ef54ab466]::run_test_in_process
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:27
[INFO] [stdout]   31:     0x620ce58deabb - test[826cbc6ef54ab466]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:607:43
[INFO] [stdout]   32:     0x620ce58da1d4 - test[826cbc6ef54ab466]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:637:41
[INFO] [stdout]   33:     0x620ce58da1d4 - std[b80a194dd3c418bb]::sys::backtrace::__rust_begin_short_backtrace::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x620ce58e16c2 - std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   35:     0x620ce58e16c2 - <core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   36:     0x620ce58e16c2 - std[b80a194dd3c418bb]::panicking::catch_unwind::do_call::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x620ce58e16c2 - std[b80a194dd3c418bb]::panicking::catch_unwind::<(), core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x620ce58e16c2 - std[b80a194dd3c418bb]::panic::catch_unwind::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x620ce58e16c2 - std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   40:     0x620ce58e16c2 - <std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1} as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x620ce5c292df - <alloc[dd269455e567d8e9]::boxed::Box<dyn core[10b6fa85044e1869]::ops::function::FnOnce<(), Output = ()> + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   42:     0x620ce5c292df - <std[b80a194dd3c418bb]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   43:     0x743e1d52baa4 - <unknown>
[INFO] [stdout]   44:     0x743e1d5b8a64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- completions::tests::run_completions_command_print_and_error_modes stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'completions::tests::run_completions_command_print_and_error_modes' (155) panicked at src/completions.rs:305:9:
[INFO] [stdout] assertion failed: result2.is_ok()
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x620ce5c2a29a - std[b80a194dd3c418bb]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x620ce5c2a29a - std[b80a194dd3c418bb]::backtrace_rs::backtrace::trace_unsynchronized::<std[b80a194dd3c418bb]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x620ce5c2a29a - std[b80a194dd3c418bb]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x620ce5c2a29a - <<std[b80a194dd3c418bb]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[10b6fa85044e1869]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x620ce5c42aca - <core[10b6fa85044e1869]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x620ce5c42aca - core[10b6fa85044e1869]::fmt::write
[INFO] [stdout]    6:     0x620ce5c2fc62 - std[b80a194dd3c418bb]::io::default_write_fmt::<alloc[dd269455e567d8e9]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x620ce5c2fc62 - <alloc[dd269455e567d8e9]::vec::Vec<u8> as std[b80a194dd3c418bb]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x620ce5c047ff - <std[b80a194dd3c418bb]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x620ce5c047ff - std[b80a194dd3c418bb]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x620ce5c1fdf9 - std[b80a194dd3c418bb]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x620ce58ddfec - <alloc[dd269455e567d8e9]::boxed::Box<dyn for<'a, 'b> core[10b6fa85044e1869]::ops::function::Fn<(&'a std[b80a194dd3c418bb]::panic::PanicHookInfo<'b>,), Output = ()> + core[10b6fa85044e1869]::marker::Sync + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::Fn<(&std[b80a194dd3c418bb]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x620ce58ddfec - test[826cbc6ef54ab466]::test_main_with_exit_callback::<test[826cbc6ef54ab466]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x620ce5c1ffb2 - <alloc[dd269455e567d8e9]::boxed::Box<dyn for<'a, 'b> core[10b6fa85044e1869]::ops::function::Fn<(&'a std[b80a194dd3c418bb]::panic::PanicHookInfo<'b>,), Output = ()> + core[10b6fa85044e1869]::marker::Sync + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::Fn<(&std[b80a194dd3c418bb]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x620ce5c1ffb2 - std[b80a194dd3c418bb]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x620ce5c048ea - std[b80a194dd3c418bb]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x620ce5bfbd89 - std[b80a194dd3c418bb]::sys::backtrace::__rust_end_short_backtrace::<std[b80a194dd3c418bb]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x620ce5c05a1d - __rustc[9698a3e60dd14283]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x620ce5c433ac - core[10b6fa85044e1869]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x620ce5c43372 - core[10b6fa85044e1869]::panicking::panic
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x620ce541c88b - knots::completions::tests::run_completions_command_print_and_error_modes::h01f020b30d30d633
[INFO] [stdout]                                at /opt/rustwide/workdir/src/completions.rs:305:9
[INFO] [stdout]   21:     0x620ce541c967 - knots::completions::tests::run_completions_command_print_and_error_modes::{{closure}}::h83f792707165e5d5
[INFO] [stdout]                                at /opt/rustwide/workdir/src/completions.rs:301:55
[INFO] [stdout]   22:     0x620ce5668846 - core::ops::function::FnOnce::call_once::hce7e2a7b2f606f2f
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x620ce58d20cb - <fn() -> core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x620ce58d20cb - test[826cbc6ef54ab466]::__rust_begin_short_backtrace::<core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>, fn() -> core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:663:18
[INFO] [stdout]   25:     0x620ce58deabb - test[826cbc6ef54ab466]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:74
[INFO] [stdout]   26:     0x620ce58deabb - <core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   27:     0x620ce58deabb - std[b80a194dd3c418bb]::panicking::catch_unwind::do_call::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>, core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x620ce58deabb - std[b80a194dd3c418bb]::panicking::catch_unwind::<core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>, core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x620ce58deabb - std[b80a194dd3c418bb]::panic::catch_unwind::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>, core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x620ce58deabb - test[826cbc6ef54ab466]::run_test_in_process
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:27
[INFO] [stdout]   31:     0x620ce58deabb - test[826cbc6ef54ab466]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:607:43
[INFO] [stdout]   32:     0x620ce58da1d4 - test[826cbc6ef54ab466]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:637:41
[INFO] [stdout]   33:     0x620ce58da1d4 - std[b80a194dd3c418bb]::sys::backtrace::__rust_begin_short_backtrace::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x620ce58e16c2 - std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   35:     0x620ce58e16c2 - <core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   36:     0x620ce58e16c2 - std[b80a194dd3c418bb]::panicking::catch_unwind::do_call::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x620ce58e16c2 - std[b80a194dd3c418bb]::panicking::catch_unwind::<(), core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x620ce58e16c2 - std[b80a194dd3c418bb]::panic::catch_unwind::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x620ce58e16c2 - std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   40:     0x620ce58e16c2 - <std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1} as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x620ce5c292df - <alloc[dd269455e567d8e9]::boxed::Box<dyn core[10b6fa85044e1869]::ops::function::FnOnce<(), Output = ()> + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   42:     0x620ce5c292df - <std[b80a194dd3c418bb]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   43:     0x743e1d52baa4 - <unknown>
[INFO] [stdout]   44:     0x743e1d5b8a64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- self_manage::tests::canonicalize_and_remove_file_helpers_cover_directory_and_missing_paths stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'self_manage::tests::canonicalize_and_remove_file_helpers_cover_directory_and_missing_paths' (1195) panicked at src/self_manage.rs:392:18:
[INFO] [stdout] permission denied path should fail: false
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x620ce5c2a29a - std[b80a194dd3c418bb]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x620ce5c2a29a - std[b80a194dd3c418bb]::backtrace_rs::backtrace::trace_unsynchronized::<std[b80a194dd3c418bb]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x620ce5c2a29a - std[b80a194dd3c418bb]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x620ce5c2a29a - <<std[b80a194dd3c418bb]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[10b6fa85044e1869]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x620ce5c42aca - <core[10b6fa85044e1869]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x620ce5c42aca - core[10b6fa85044e1869]::fmt::write
[INFO] [stdout]    6:     0x620ce5c2fc62 - std[b80a194dd3c418bb]::io::default_write_fmt::<alloc[dd269455e567d8e9]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x620ce5c2fc62 - <alloc[dd269455e567d8e9]::vec::Vec<u8> as std[b80a194dd3c418bb]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x620ce5c047ff - <std[b80a194dd3c418bb]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x620ce5c047ff - std[b80a194dd3c418bb]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x620ce5c1fdf9 - std[b80a194dd3c418bb]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x620ce58ddfec - <alloc[dd269455e567d8e9]::boxed::Box<dyn for<'a, 'b> core[10b6fa85044e1869]::ops::function::Fn<(&'a std[b80a194dd3c418bb]::panic::PanicHookInfo<'b>,), Output = ()> + core[10b6fa85044e1869]::marker::Sync + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::Fn<(&std[b80a194dd3c418bb]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x620ce58ddfec - test[826cbc6ef54ab466]::test_main_with_exit_callback::<test[826cbc6ef54ab466]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x620ce5c1ffb2 - <alloc[dd269455e567d8e9]::boxed::Box<dyn for<'a, 'b> core[10b6fa85044e1869]::ops::function::Fn<(&'a std[b80a194dd3c418bb]::panic::PanicHookInfo<'b>,), Output = ()> + core[10b6fa85044e1869]::marker::Sync + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::Fn<(&std[b80a194dd3c418bb]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x620ce5c1ffb2 - std[b80a194dd3c418bb]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x620ce5c048b8 - std[b80a194dd3c418bb]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x620ce5bfbd89 - std[b80a194dd3c418bb]::sys::backtrace::__rust_end_short_backtrace::<std[b80a194dd3c418bb]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x620ce5c05a1d - __rustc[9698a3e60dd14283]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x620ce5c433ac - core[10b6fa85044e1869]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x620ce5c43122 - core[10b6fa85044e1869]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x620ce5507da4 - core::result::Result<T,E>::expect_err::hfbab753c9072ebed
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/result.rs:1298:22
[INFO] [stdout]   21:     0x620ce57392e1 - knots::self_manage::tests::canonicalize_and_remove_file_helpers_cover_directory_and_missing_paths::h4ad48bc6f41a1182
[INFO] [stdout]                                at /opt/rustwide/workdir/src/self_manage.rs:392:18
[INFO] [stdout]   22:     0x620ce5739587 - knots::self_manage::tests::canonicalize_and_remove_file_helpers_cover_directory_and_missing_paths::{{closure}}::h0897fc81f4c4337f
[INFO] [stdout]                                at /opt/rustwide/workdir/src/self_manage.rs:363:80
[INFO] [stdout]   23:     0x620ce5669166 - core::ops::function::FnOnce::call_once::hdfff6885191bf57c
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x620ce58d20cb - <fn() -> core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x620ce58d20cb - test[826cbc6ef54ab466]::__rust_begin_short_backtrace::<core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>, fn() -> core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x620ce58deabb - test[826cbc6ef54ab466]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x620ce58deabb - <core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   28:     0x620ce58deabb - std[b80a194dd3c418bb]::panicking::catch_unwind::do_call::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>, core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x620ce58deabb - std[b80a194dd3c418bb]::panicking::catch_unwind::<core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>, core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x620ce58deabb - std[b80a194dd3c418bb]::panic::catch_unwind::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>, core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x620ce58deabb - test[826cbc6ef54ab466]::run_test_in_process
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x620ce58deabb - test[826cbc6ef54ab466]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x620ce58da1d4 - test[826cbc6ef54ab466]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x620ce58da1d4 - std[b80a194dd3c418bb]::sys::backtrace::__rust_begin_short_backtrace::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x620ce58e16c2 - std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   36:     0x620ce58e16c2 - <core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   37:     0x620ce58e16c2 - std[b80a194dd3c418bb]::panicking::catch_unwind::do_call::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x620ce58e16c2 - std[b80a194dd3c418bb]::panicking::catch_unwind::<(), core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x620ce58e16c2 - std[b80a194dd3c418bb]::panic::catch_unwind::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x620ce58e16c2 - std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   41:     0x620ce58e16c2 - <std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1} as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x620ce5c292df - <alloc[dd269455e567d8e9]::boxed::Box<dyn core[10b6fa85044e1869]::ops::function::FnOnce<(), Output = ()> + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   43:     0x620ce5c292df - <std[b80a194dd3c418bb]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x743e1d52baa4 - <unknown>
[INFO] [stdout]   45:     0x743e1d5b8a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     app::tests_error_paths::open_succeeds_when_knots_dir_exists
[INFO] [stdout]     completions::tests::run_completions_command_print_and_error_modes
[INFO] [stdout]     self_manage::tests::canonicalize_and_remove_file_helpers_cover_directory_and_missing_paths
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 427 passed; 3 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.63s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin knots`
[INFO] running `Command { std: "docker" "inspect" "a40b00a1a8a1339369eb10ea07922aa651883ced05a81f51f2510f36ffb42b34", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a40b00a1a8a1339369eb10ea07922aa651883ced05a81f51f2510f36ffb42b34", kill_on_drop: false }`
[INFO] [stdout] a40b00a1a8a1339369eb10ea07922aa651883ced05a81f51f2510f36ffb42b34
