[INFO] cloning repository https://github.com/theuseless-ai/telegram-opencode-proxy
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/theuseless-ai/telegram-opencode-proxy" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftheuseless-ai%2Ftelegram-opencode-proxy", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftheuseless-ai%2Ftelegram-opencode-proxy'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9bffc7d377f8726d1b361648df812e4375f2e2fa
[INFO] documenting theuseless-ai/telegram-opencode-proxy against 1.99.0-beta.1 for beta-rustdoc-1.99-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftheuseless-ai%2Ftelegram-opencode-proxy" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/theuseless-ai/telegram-opencode-proxy
[INFO] finished tweaking git repo https://github.com/theuseless-ai/telegram-opencode-proxy
[INFO] tweaked toml for git repo https://github.com/theuseless-ai/telegram-opencode-proxy written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/theuseless-ai/telegram-opencode-proxy on toolchain 1.99.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/theuseless-ai/telegram-opencode-proxy already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:00c5645b54fe3ce5dae1417175e3c7fb6a6646c021d554ecd63a097b8b9f3602" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 828f242e03e02a22aae4c8c0593b2173813d9b7202595b3b18e321fb00723ddc
[INFO] running `Command { std: "docker" "start" "828f242e03e02a22aae4c8c0593b2173813d9b7202595b3b18e321fb00723ddc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "828f242e03e02a22aae4c8c0593b2173813d9b7202595b3b18e321fb00723ddc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "828f242e03e02a22aae4c8c0593b2173813d9b7202595b3b18e321fb00723ddc" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "828f242e03e02a22aae4c8c0593b2173813d9b7202595b3b18e321fb00723ddc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "828f242e03e02a22aae4c8c0593b2173813d9b7202595b3b18e321fb00723ddc" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "doc" "--frozen" "--no-deps" "--document-private-items" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]     Checking log v0.4.33
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling cc v1.2.66
[INFO] [stderr]     Checking bitflags v2.13.0
[INFO] [stderr]     Checking http v1.4.2
[INFO] [stderr]    Compiling quote v1.0.46
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking socket2 v0.6.4
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]     Checking hashbrown v0.17.1
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]    Compiling zerocopy v0.8.54
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling openssl v0.10.81
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]     Checking rand_core v0.10.1
[INFO] [stderr]     Checking ipnet v2.12.0
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]     Checking openssl-probe v0.2.1
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling erasable v1.3.0
[INFO] [stderr]     Checking mio v1.2.1
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]     Checking rustls-pki-types v1.15.0
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling inotify-sys v0.1.8
[INFO] [stderr]     Checking uuid v1.23.4
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]    Compiling proc-macro-error-attr2 v2.0.0
[INFO] [stderr]    Compiling include_dir_macros v0.7.4
[INFO] [stderr]     Checking indexmap v2.14.0
[INFO] [stderr]     Checking bytemuck v1.25.1
[INFO] [stderr]     Checking regex-syntax v0.8.11
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking cpufeatures v0.3.0
[INFO] [stderr]    Compiling either v1.16.0
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking chacha20 v0.10.1
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]     Checking rgb v0.8.53
[INFO] [stderr]    Compiling proc-macro-error2 v2.0.1
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling include_dir v0.7.4
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking rc-box v1.3.0
[INFO] [stderr]     Checking dyn-clone v1.0.20
[INFO] [stderr]    Compiling rmcp v2.2.0
[INFO] [stderr]     Checking take_mut v0.2.2
[INFO] [stderr]     Checking toml_writer v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling pulldown-cmark v0.13.4
[INFO] [stderr]    Compiling anyhow v1.0.103
[INFO] [stderr]     Checking colored v3.1.1
[INFO] [stderr]     Checking takecell v0.1.1
[INFO] [stderr]     Checking rustix v1.1.4
[INFO] [stderr]     Checking inotify v0.11.4
[INFO] [stderr]     Checking rand v0.10.2
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking notify-types v2.1.0
[INFO] [stderr]     Checking thread_local v1.1.10
[INFO] [stderr]     Checking fallible-streaming-iterator v0.1.9
[INFO] [stderr]     Checking futures-timer v3.0.4
[INFO] [stderr]     Checking regex-automata v0.4.15
[INFO] [stderr]     Checking notify v8.2.0
[INFO] [stderr]    Compiling openssl-sys v0.9.117
[INFO] [stderr]    Compiling stacker v0.1.24
[INFO] [stderr]    Compiling libsqlite3-sys v0.30.1
[INFO] [stderr]     Checking eventsource-stream v0.2.3
[INFO] [stderr]     Checking toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]     Checking serde_spanned v1.1.1
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking toml_edit v0.25.12+spec-1.1.0
[INFO] [stderr]     Checking toml v1.1.2+spec-1.1.0
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling ar_archive_writer v0.5.2
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling pin-project-internal v1.1.13
[INFO] [stderr]    Compiling derive_more-impl v1.0.0
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling psm v0.1.31
[INFO] [stderr]     Checking tokio v1.52.3
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]    Compiling schemars_derive v1.2.1
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking zerofrom v0.1.8
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking yoke v0.8.3
[INFO] [stderr]    Compiling aquamarine v0.6.0
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]     Checking pin-project v1.1.13
[INFO] [stderr]     Checking hashlink v0.9.1
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]     Checking axum-core v0.5.6
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling teloxide-macros v0.10.0
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking rand v0.9.5
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]     Checking derive_more v1.0.0
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]     Checking clap v4.6.1
[INFO] [stderr]    Compiling serde_with_macros v3.21.0
[INFO] [stderr]    Compiling rmcp-macros v2.2.0
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking chrono v0.4.45
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking sse-stream v0.2.4
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking dptree v0.5.1
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]     Checking serde_with v3.21.0
[INFO] [stderr]     Checking schemars v1.2.1
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]     Checking tower-http v0.6.11
[INFO] [stderr]     Checking h2 v0.4.14
[INFO] [stderr]     Checking rusqlite v0.32.1
[INFO] [stderr]     Checking hyper v1.10.1
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking axum v0.8.9
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking teloxide-core v0.13.0
[INFO] [stderr]     Checking reqwest-eventsource v0.6.0
[INFO] [stderr]     Checking teloxide v0.17.0
[INFO] [stderr]  Documenting telegram-opencode-proxy v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: public documentation for `admin` links to private item `dispatch`
[INFO] [stdout]  --> src/admin.rs:4:31
[INFO] [stdout]   |
[INFO] [stdout] 4 | //! Two transports over one [`dispatch`] core:
[INFO] [stdout]   |                               ^^^^^^^^ this item is private
[INFO] [stdout]   |
[INFO] [stdout]   = note: this link resolves only because you passed `--document-private-items`, but will break without
[INFO] [stdout]   = note: `#[warn(rustdoc::private_intra_doc_links)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `AdminRequest` links to private item `handle`
[INFO] [stdout]   --> src/admin.rs:71:72
[INFO] [stdout]    |
[INFO] [stdout] 71 | /// / `PairDeny { code }`. Each is a new variant here plus an arm in [`handle`].
[INFO] [stdout]    |                                                                        ^^^^^^ this item is private
[INFO] [stdout]    |
[INFO] [stdout]    = note: this link resolves only because you passed `--document-private-items`, but will break without
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `mcp` links to private item `FilesMcp::slot_of`
[INFO] [stdout]   --> src/mcp/mod.rs:15:72
[INFO] [stdout]    |
[INFO] [stdout] 15 | //! [`Extension`](rmcp::handler::server::tool::Extension) extractor. [`FilesMcp::slot_of`]
[INFO] [stdout]    |                                                                        ^^^^^^^^^^^^^^^^^ this item is private
[INFO] [stdout]    |
[INFO] [stdout]    = note: this link resolves only because you passed `--document-private-items`, but will break without
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `mcp` links to private item `crate::telegram::bot::AppState::slot_snapshot`
[INFO] [stdout]   --> src/mcp/mod.rs:21:34
[INFO] [stdout]    |
[INFO] [stdout] 21 | //! [`AppState::slot_snapshot`]: crate::telegram::bot::AppState::slot_snapshot
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this item is private
[INFO] [stdout]    |
[INFO] [stdout]    = note: this link resolves only because you passed `--document-private-items`, but will break without
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `store` links to private item `FileMeta`
[INFO] [stdout]  --> src/mcp/store.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | //! small [`FileMeta`] record — slot, filename, mime, size, TTL deadline, and the
[INFO] [stdout]   |             ^^^^^^^^ this item is private
[INFO] [stdout]   |
[INFO] [stdout]   = note: this link resolves only because you passed `--document-private-items`, but will break without
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `store` links to private item `FileMeta`
[INFO] [stdout]   --> src/mcp/store.rs:33:7
[INFO] [stdout]    |
[INFO] [stdout] 33 | //! [`FileMeta`], moved out on take, or dropped by the sweeper) is dropped, the
[INFO] [stdout]    |       ^^^^^^^^ this item is private
[INFO] [stdout]    |
[INFO] [stdout]    = note: this link resolves only because you passed `--document-private-items`, but will break without
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `FileStore::take`
[INFO] [stdout]   --> src/mcp/store.rs:80:32
[INFO] [stdout]    |
[INFO] [stdout] 80 | /// The successful result of [`FileStore::take`]: the file's identity plus its
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ the struct `FileStore` has no field or associated item named `take`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(rustdoc::broken_intra_doc_links)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `spawn_ttl_sweep` links to private item `FileMeta`
[INFO] [stdout]    --> src/mcp/store.rs:262:46
[INFO] [stdout]     |
[INFO] [stdout] 262 |     /// drop expired entries (each dropped [`FileMeta`] unlinks its temp file). The
[INFO] [stdout]     |                                              ^^^^^^^^ this item is private
[INFO] [stdout]     |
[INFO] [stdout]     = note: this link resolves only because you passed `--document-private-items`, but will break without
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `Router`
[INFO] [stdout]    --> src/mcp/mod.rs:298:28
[INFO] [stdout]     |
[INFO] [stdout] 298 | /// Two mounts share one [`Router`]:
[INFO] [stdout]     |                            ^^^^^^ no item named `Router` in scope
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `Router::with_state`
[INFO] [stdout]    --> src/mcp/mod.rs:306:59
[INFO] [stdout]     |
[INFO] [stdout] 306 | ///   the router is typed `Router<Arc<AppState>>` until [`Router::with_state`]
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^ no item named `Router` in scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `outbox` links to private item `DEBOUNCE`
[INFO] [stdout]   --> src/outbox.rs:15:27
[INFO] [stdout]    |
[INFO] [stdout] 15 | //! short quiet window ([`DEBOUNCE`]) so a file is sent **once**, and **whole**.
[INFO] [stdout]    |                           ^^^^^^^^ this item is private
[INFO] [stdout]    |
[INFO] [stdout]    = note: this link resolves only because you passed `--document-private-items`, but will break without
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `run` links to private item `shutdown_on_sigterm`
[INFO] [stdout]    --> src/telegram/bot.rs:598:19
[INFO] [stdout]     |
[INFO] [stdout] 598 | /// SIGTERM via [`shutdown_on_sigterm`]); the caller then drains workers and
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^ this item is private
[INFO] [stdout]     |
[INFO] [stdout]     = note: this link resolves only because you passed `--document-private-items`, but will break without
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `handle_media` links to private item `handle_media_announce`
[INFO] [stdout]    --> src/telegram/bot.rs:922:9
[INFO] [stdout]     |
[INFO] [stdout] 922 | ///   [`handle_media_announce`].
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ this item is private
[INFO] [stdout]     |
[INFO] [stdout]     = note: this link resolves only because you passed `--document-private-items`, but will break without
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `handle_media` links to private item `handle_media_filepart`
[INFO] [stdout]    --> src/telegram/bot.rs:925:43
[INFO] [stdout]     |
[INFO] [stdout] 925 | ///   the turn, unchanged from #11. See [`handle_media_filepart`].
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^ this item is private
[INFO] [stdout]     |
[INFO] [stdout]     = note: this link resolves only because you passed `--document-private-items`, but will break without
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `download_inbound` links to private item `MAX_INBOUND_BYTES`
[INFO] [stdout]    --> src/telegram/files.rs:109:20
[INFO] [stdout]     |
[INFO] [stdout] 109 | /// enforces the [`MAX_INBOUND_BYTES`] guard, runs `getFile` + streams the bytes,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^ this item is private
[INFO] [stdout]     |
[INFO] [stdout]     = note: this link resolves only because you passed `--document-private-items`, but will break without
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `send_outbound_file` links to private item `resolve_mime`
[INFO] [stdout]    --> src/telegram/files.rs:197:47
[INFO] [stdout]     |
[INFO] [stdout] 197 | /// MIME is inferred from the extension via [`resolve_mime`] — Telegram picks the
[INFO] [stdout]     |                                               ^^^^^^^^^^^^ this item is private
[INFO] [stdout]     |
[INFO] [stdout]     = note: this link resolves only because you passed `--document-private-items`, but will break without
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `send_outbound_bytes` links to private item `outbound_send_kind`
[INFO] [stdout]    --> src/telegram/files.rs:223:38
[INFO] [stdout]     |
[INFO] [stdout] 223 | /// MIME→photo/document split (via [`outbound_send_kind`], keyed off `filename`'s
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^ this item is private
[INFO] [stdout]     |
[INFO] [stdout]     = note: this link resolves only because you passed `--document-private-items`, but will break without
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `send_outbound_bytes` links to private item `resolve_mime`
[INFO] [stdout]    --> src/telegram/files.rs:224:25
[INFO] [stdout]     |
[INFO] [stdout] 224 | /// extension through [`resolve_mime`]) and the same `upload_*` liveness action
[INFO] [stdout]     |                         ^^^^^^^^^^^^ this item is private
[INFO] [stdout]     |
[INFO] [stdout]     = note: this link resolves only because you passed `--document-private-items`, but will break without
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `escape` links to private item `escape_text`
[INFO] [stdout]    --> src/telegram/markdown.rs:149:7
[INFO] [stdout]     |
[INFO] [stdout] 149 | /// [`escape_text`] as a returning function — for callers assembling small
[INFO] [stdout]     |       ^^^^^^^^^^^ this item is private
[INFO] [stdout]     |
[INFO] [stdout]     = note: this link resolves only because you passed `--document-private-items`, but will break without
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `render`
[INFO] [stdout]    --> src/telegram/render.rs:121:69
[INFO] [stdout]     |
[INFO] [stdout] 121 | /// The driver edits the message on a ≤1/sec ticker and only when [`render`] has
[INFO] [stdout]     |                                                                     ^^^^^^ no item named `render` in scope
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `render`
[INFO] [stdout]    --> src/telegram/render.rs:175:27
[INFO] [stdout]     |
[INFO] [stdout] 175 |     /// activity log in [`render`] (#6).
[INFO] [stdout]     |                           ^^^^^^ no item named `render` in scope
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `push_text`
[INFO] [stdout]    --> src/telegram/render.rs:182:62
[INFO] [stdout]     |
[INFO] [stdout] 182 |     /// Non-tool parts are ignored here — text arrives via [`push_text`].
[INFO] [stdout]     |                                                              ^^^^^^^^^ no item named `push_text` in scope
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `retry` links to private item `MAX_ATTEMPTS`
[INFO] [stdout]   --> src/telegram/retry.rs:11:33
[INFO] [stdout]    |
[INFO] [stdout] 11 | //! - all paths give up after [`MAX_ATTEMPTS`], returning the error to the caller
[INFO] [stdout]    |                                 ^^^^^^^^^^^^ this item is private
[INFO] [stdout]    |
[INFO] [stdout]    = note: this link resolves only because you passed `--document-private-items`, but will break without
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `stream` links to private item `TextRouter`
[INFO] [stdout]   --> src/telegram/stream.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | //!   [`TextRouter`], since a delta can arrive before the part's kind is known;
[INFO] [stdout]    |         ^^^^^^^^^^ this item is private
[INFO] [stdout]    |
[INFO] [stdout]    = note: this link resolves only because you passed `--document-private-items`, but will break without
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> src/mcp/mod.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | //! [`Parts`](axum::http::request::Parts) to each tool via an
[INFO] [stdout]    |      -------  ^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]    |      |
[INFO] [stdout]    |      because label contains path that resolves to same destination
[INFO] [stdout]    |
[INFO] [stdout]    = note: when a link's destination is not specified,
[INFO] [stdout]            the label is used to resolve intra-doc links
[INFO] [stdout]    = note: `#[warn(rustdoc::redundant_explicit_links)]` on by default
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]    |
[INFO] [stdout] 14 - //! [`Parts`](axum::http::request::Parts) to each tool via an
[INFO] [stdout] 14 + //! [`Parts`] to each tool via an
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> src/mcp/mod.rs:15:19
[INFO] [stdout]    |
[INFO] [stdout] 15 | //! [`Extension`](rmcp::handler::server::tool::Extension) extractor. [`FilesMcp::slot_of`]
[INFO] [stdout]    |      -----------  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]    |      |
[INFO] [stdout]    |      because label contains path that resolves to same destination
[INFO] [stdout]    |
[INFO] [stdout]    = note: when a link's destination is not specified,
[INFO] [stdout]            the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]    |
[INFO] [stdout] 15 - //! [`Extension`](rmcp::handler::server::tool::Extension) extractor. [`FilesMcp::slot_of`]
[INFO] [stdout] 15 + //! [`Extension`] extractor. [`FilesMcp::slot_of`]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> src/opencode/events.rs:17:18
[INFO] [stdout]    |
[INFO] [stdout] 17 | //! [`Constant`](reqwest_eventsource::retry::Constant) retry policy: when the
[INFO] [stdout]    |      ----------  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]    |      |
[INFO] [stdout]    |      because label contains path that resolves to same destination
[INFO] [stdout]    |
[INFO] [stdout]    = note: when a link's destination is not specified,
[INFO] [stdout]            the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]    |
[INFO] [stdout] 17 - //! [`Constant`](reqwest_eventsource::retry::Constant) retry policy: when the
[INFO] [stdout] 17 + //! [`Constant`] retry policy: when the
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]    --> src/telegram/bot.rs:919:44
[INFO] [stdout]     |
[INFO] [stdout] 919 | ///   stash the bytes in the [`FileStore`](crate::mcp::store::FileStore) under the
[INFO] [stdout]     |                               -----------  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               because label contains path that resolves to same destination
[INFO] [stdout]     |
[INFO] [stdout]     = note: when a link's destination is not specified,
[INFO] [stdout]             the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]     |
[INFO] [stdout] 919 - ///   stash the bytes in the [`FileStore`](crate::mcp::store::FileStore) under the
[INFO] [stdout] 919 + ///   stash the bytes in the [`FileStore`] under the
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]    --> src/telegram/bot.rs:941:23
[INFO] [stdout]     |
[INFO] [stdout] 941 | /// the [`FileStore`](crate::mcp::store::FileStore) under `slot`, and enqueue an
[INFO] [stdout]     |          -----------  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]     |          |
[INFO] [stdout]     |          because label contains path that resolves to same destination
[INFO] [stdout]     |
[INFO] [stdout]     = note: when a link's destination is not specified,
[INFO] [stdout]             the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]     |
[INFO] [stdout] 941 - /// the [`FileStore`](crate::mcp::store::FileStore) under `slot`, and enqueue an
[INFO] [stdout] 941 + /// the [`FileStore`] under `slot`, and enqueue an
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]  --> src/telegram/stream.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | //! [`Subscription`](crate::opencode::events::Subscription) to the slot's
[INFO] [stdout]   |      --------------  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]   |      |
[INFO] [stdout]   |      because label contains path that resolves to same destination
[INFO] [stdout]   |
[INFO] [stdout]   = note: when a link's destination is not specified,
[INFO] [stdout]           the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]   |
[INFO] [stdout] 4 - //! [`Subscription`](crate::opencode::events::Subscription) to the slot's
[INFO] [stdout] 4 + //! [`Subscription`] to the slot's
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 33s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: proc-macro-error2 v2.0.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 5`
[INFO] [stderr]    Generated /opt/rustwide/target/doc/telegram_opencode_proxy/index.html
[INFO] running `Command { std: "docker" "inspect" "828f242e03e02a22aae4c8c0593b2173813d9b7202595b3b18e321fb00723ddc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "RUSTC_BOOTSTRAP=1" "-e" "DOCS_RS=1" "-w" "/opt/rustwide/workdir" "--user" "0:0" "828f242e03e02a22aae4c8c0593b2173813d9b7202595b3b18e321fb00723ddc" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "rustdoc" "--lib" "-Zrustdoc-map" "--config" "build.rustdocflags=[\"--cfg\", \"docsrs\", \"-Z\", \"unstable-options\", \"--document-private-items\"]" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling anyhow v1.0.103
[INFO] [stderr]    Compiling quote v1.0.46
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]    Compiling proc-macro-error-attr2 v2.0.0
[INFO] [stderr]    Compiling include_dir_macros v0.7.4
[INFO] [stderr]    Compiling proc-macro-error2 v2.0.1
[INFO] [stderr]    Compiling include_dir v0.7.4
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling derive_more-impl v1.0.0
[INFO] [stderr]    Compiling pin-project-internal v1.1.13
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking openssl v0.10.81
[INFO] [stderr]     Checking ref-cast v1.0.25
[INFO] [stderr]    Compiling aquamarine v0.6.0
[INFO] [stderr]    Compiling schemars_derive v1.2.1
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking tokio v1.52.3
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]     Checking pin-project v1.1.13
[INFO] [stderr]     Checking zerofrom v0.1.8
[INFO] [stderr]    Compiling teloxide-macros v0.10.0
[INFO] [stderr]     Checking yoke v0.8.3
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]     Checking axum-core v0.5.6
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]    Compiling serde_with_macros v3.21.0
[INFO] [stderr]    Compiling rmcp-macros v2.2.0
[INFO] [stderr]     Checking derive_more v1.0.0
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]     Checking clap v4.6.1
[INFO] [stderr]     Checking serde_with v3.21.0
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking chrono v0.4.45
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking sse-stream v0.2.4
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking dptree v0.5.1
[INFO] [stderr]     Checking native-tls v0.2.18
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking schemars v1.2.1
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]     Checking h2 v0.4.14
[INFO] [stderr]     Checking rmcp v2.2.0
[INFO] [stderr]     Checking tower-http v0.6.11
[INFO] [stderr]     Checking hyper v1.10.1
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking axum v0.8.9
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking teloxide-core v0.13.0
[INFO] [stderr]     Checking reqwest-eventsource v0.6.0
[INFO] [stderr]     Checking teloxide v0.17.0
[INFO] [stderr]  Documenting telegram-opencode-proxy v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: public documentation for `admin` links to private item `dispatch`
[INFO] [stdout]  --> src/admin.rs:4:31
[INFO] [stdout]   |
[INFO] [stdout] 4 | //! Two transports over one [`dispatch`] core:
[INFO] [stdout]   |                               ^^^^^^^^ this item is private
[INFO] [stdout]   |
[INFO] [stdout]   = note: this link will resolve properly if you pass `--document-private-items`
[INFO] [stdout]   = note: `#[warn(rustdoc::private_intra_doc_links)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `AdminRequest` links to private item `handle`
[INFO] [stdout]   --> src/admin.rs:71:72
[INFO] [stdout]    |
[INFO] [stdout] 71 | /// / `PairDeny { code }`. Each is a new variant here plus an arm in [`handle`].
[INFO] [stdout]    |                                                                        ^^^^^^ this item is private
[INFO] [stdout]    |
[INFO] [stdout]    = note: this link will resolve properly if you pass `--document-private-items`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `mcp` links to private item `FilesMcp::slot_of`
[INFO] [stdout]   --> src/mcp/mod.rs:15:72
[INFO] [stdout]    |
[INFO] [stdout] 15 | //! [`Extension`](rmcp::handler::server::tool::Extension) extractor. [`FilesMcp::slot_of`]
[INFO] [stdout]    |                                                                        ^^^^^^^^^^^^^^^^^ this item is private
[INFO] [stdout]    |
[INFO] [stdout]    = note: this link will resolve properly if you pass `--document-private-items`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `mcp` links to private item `crate::telegram::bot::AppState::slot_snapshot`
[INFO] [stdout]   --> src/mcp/mod.rs:21:34
[INFO] [stdout]    |
[INFO] [stdout] 21 | //! [`AppState::slot_snapshot`]: crate::telegram::bot::AppState::slot_snapshot
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this item is private
[INFO] [stdout]    |
[INFO] [stdout]    = note: this link will resolve properly if you pass `--document-private-items`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `store` links to private item `FileMeta`
[INFO] [stdout]  --> src/mcp/store.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | //! small [`FileMeta`] record — slot, filename, mime, size, TTL deadline, and the
[INFO] [stdout]   |             ^^^^^^^^ this item is private
[INFO] [stdout]   |
[INFO] [stdout]   = note: this link will resolve properly if you pass `--document-private-items`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `store` links to private item `FileMeta`
[INFO] [stdout]   --> src/mcp/store.rs:33:7
[INFO] [stdout]    |
[INFO] [stdout] 33 | //! [`FileMeta`], moved out on take, or dropped by the sweeper) is dropped, the
[INFO] [stdout]    |       ^^^^^^^^ this item is private
[INFO] [stdout]    |
[INFO] [stdout]    = note: this link will resolve properly if you pass `--document-private-items`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `FileStore::take`
[INFO] [stdout]   --> src/mcp/store.rs:80:32
[INFO] [stdout]    |
[INFO] [stdout] 80 | /// The successful result of [`FileStore::take`]: the file's identity plus its
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ the struct `FileStore` has no field or associated item named `take`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(rustdoc::broken_intra_doc_links)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `spawn_ttl_sweep` links to private item `FileMeta`
[INFO] [stdout]    --> src/mcp/store.rs:262:46
[INFO] [stdout]     |
[INFO] [stdout] 262 |     /// drop expired entries (each dropped [`FileMeta`] unlinks its temp file). The
[INFO] [stdout]     |                                              ^^^^^^^^ this item is private
[INFO] [stdout]     |
[INFO] [stdout]     = note: this link will resolve properly if you pass `--document-private-items`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `outbox` links to private item `DEBOUNCE`
[INFO] [stdout]   --> src/outbox.rs:15:27
[INFO] [stdout]    |
[INFO] [stdout] 15 | //! short quiet window ([`DEBOUNCE`]) so a file is sent **once**, and **whole**.
[INFO] [stdout]    |                           ^^^^^^^^ this item is private
[INFO] [stdout]    |
[INFO] [stdout]    = note: this link will resolve properly if you pass `--document-private-items`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `run` links to private item `shutdown_on_sigterm`
[INFO] [stdout]    --> src/telegram/bot.rs:598:19
[INFO] [stdout]     |
[INFO] [stdout] 598 | /// SIGTERM via [`shutdown_on_sigterm`]); the caller then drains workers and
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^ this item is private
[INFO] [stdout]     |
[INFO] [stdout]     = note: this link will resolve properly if you pass `--document-private-items`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `handle_media` links to private item `handle_media_announce`
[INFO] [stdout]    --> src/telegram/bot.rs:922:9
[INFO] [stdout]     |
[INFO] [stdout] 922 | ///   [`handle_media_announce`].
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ this item is private
[INFO] [stdout]     |
[INFO] [stdout]     = note: this link will resolve properly if you pass `--document-private-items`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `handle_media` links to private item `handle_media_filepart`
[INFO] [stdout]    --> src/telegram/bot.rs:925:43
[INFO] [stdout]     |
[INFO] [stdout] 925 | ///   the turn, unchanged from #11. See [`handle_media_filepart`].
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^ this item is private
[INFO] [stdout]     |
[INFO] [stdout]     = note: this link will resolve properly if you pass `--document-private-items`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `download_inbound` links to private item `MAX_INBOUND_BYTES`
[INFO] [stdout]    --> src/telegram/files.rs:109:20
[INFO] [stdout]     |
[INFO] [stdout] 109 | /// enforces the [`MAX_INBOUND_BYTES`] guard, runs `getFile` + streams the bytes,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^ this item is private
[INFO] [stdout]     |
[INFO] [stdout]     = note: this link will resolve properly if you pass `--document-private-items`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `send_outbound_file` links to private item `resolve_mime`
[INFO] [stdout]    --> src/telegram/files.rs:197:47
[INFO] [stdout]     |
[INFO] [stdout] 197 | /// MIME is inferred from the extension via [`resolve_mime`] — Telegram picks the
[INFO] [stdout]     |                                               ^^^^^^^^^^^^ this item is private
[INFO] [stdout]     |
[INFO] [stdout]     = note: this link will resolve properly if you pass `--document-private-items`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `send_outbound_bytes` links to private item `outbound_send_kind`
[INFO] [stdout]    --> src/telegram/files.rs:223:38
[INFO] [stdout]     |
[INFO] [stdout] 223 | /// MIME→photo/document split (via [`outbound_send_kind`], keyed off `filename`'s
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^ this item is private
[INFO] [stdout]     |
[INFO] [stdout]     = note: this link will resolve properly if you pass `--document-private-items`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `send_outbound_bytes` links to private item `resolve_mime`
[INFO] [stdout]    --> src/telegram/files.rs:224:25
[INFO] [stdout]     |
[INFO] [stdout] 224 | /// extension through [`resolve_mime`]) and the same `upload_*` liveness action
[INFO] [stdout]     |                         ^^^^^^^^^^^^ this item is private
[INFO] [stdout]     |
[INFO] [stdout]     = note: this link will resolve properly if you pass `--document-private-items`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `escape` links to private item `escape_text`
[INFO] [stdout]    --> src/telegram/markdown.rs:149:7
[INFO] [stdout]     |
[INFO] [stdout] 149 | /// [`escape_text`] as a returning function — for callers assembling small
[INFO] [stdout]     |       ^^^^^^^^^^^ this item is private
[INFO] [stdout]     |
[INFO] [stdout]     = note: this link will resolve properly if you pass `--document-private-items`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `render`
[INFO] [stdout]    --> src/telegram/render.rs:121:69
[INFO] [stdout]     |
[INFO] [stdout] 121 | /// The driver edits the message on a ≤1/sec ticker and only when [`render`] has
[INFO] [stdout]     |                                                                     ^^^^^^ no item named `render` in scope
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `render`
[INFO] [stdout]    --> src/telegram/render.rs:175:27
[INFO] [stdout]     |
[INFO] [stdout] 175 |     /// activity log in [`render`] (#6).
[INFO] [stdout]     |                           ^^^^^^ no item named `render` in scope
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `push_text`
[INFO] [stdout]    --> src/telegram/render.rs:182:62
[INFO] [stdout]     |
[INFO] [stdout] 182 |     /// Non-tool parts are ignored here — text arrives via [`push_text`].
[INFO] [stdout]     |                                                              ^^^^^^^^^ no item named `push_text` in scope
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `retry` links to private item `MAX_ATTEMPTS`
[INFO] [stdout]   --> src/telegram/retry.rs:11:33
[INFO] [stdout]    |
[INFO] [stdout] 11 | //! - all paths give up after [`MAX_ATTEMPTS`], returning the error to the caller
[INFO] [stdout]    |                                 ^^^^^^^^^^^^ this item is private
[INFO] [stdout]    |
[INFO] [stdout]    = note: this link will resolve properly if you pass `--document-private-items`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `stream` links to private item `TextRouter`
[INFO] [stdout]   --> src/telegram/stream.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | //!   [`TextRouter`], since a delta can arrive before the part's kind is known;
[INFO] [stdout]    |         ^^^^^^^^^^ this item is private
[INFO] [stdout]    |
[INFO] [stdout]    = note: this link will resolve properly if you pass `--document-private-items`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> src/mcp/mod.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | //! [`Parts`](axum::http::request::Parts) to each tool via an
[INFO] [stdout]    |      -------  ^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]    |      |
[INFO] [stdout]    |      because label contains path that resolves to same destination
[INFO] [stdout]    |
[INFO] [stdout]    = note: when a link's destination is not specified,
[INFO] [stdout]            the label is used to resolve intra-doc links
[INFO] [stdout]    = note: `#[warn(rustdoc::redundant_explicit_links)]` on by default
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]    |
[INFO] [stdout] 14 - //! [`Parts`](axum::http::request::Parts) to each tool via an
[INFO] [stdout] 14 + //! [`Parts`] to each tool via an
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> src/mcp/mod.rs:15:19
[INFO] [stdout]    |
[INFO] [stdout] 15 | //! [`Extension`](rmcp::handler::server::tool::Extension) extractor. [`FilesMcp::slot_of`]
[INFO] [stdout]    |      -----------  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]    |      |
[INFO] [stdout]    |      because label contains path that resolves to same destination
[INFO] [stdout]    |
[INFO] [stdout]    = note: when a link's destination is not specified,
[INFO] [stdout]            the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]    |
[INFO] [stdout] 15 - //! [`Extension`](rmcp::handler::server::tool::Extension) extractor. [`FilesMcp::slot_of`]
[INFO] [stdout] 15 + //! [`Extension`] extractor. [`FilesMcp::slot_of`]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> src/opencode/events.rs:17:18
[INFO] [stdout]    |
[INFO] [stdout] 17 | //! [`Constant`](reqwest_eventsource::retry::Constant) retry policy: when the
[INFO] [stdout]    |      ----------  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]    |      |
[INFO] [stdout]    |      because label contains path that resolves to same destination
[INFO] [stdout]    |
[INFO] [stdout]    = note: when a link's destination is not specified,
[INFO] [stdout]            the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]    |
[INFO] [stdout] 17 - //! [`Constant`](reqwest_eventsource::retry::Constant) retry policy: when the
[INFO] [stdout] 17 + //! [`Constant`] retry policy: when the
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]    --> src/telegram/bot.rs:919:44
[INFO] [stdout]     |
[INFO] [stdout] 919 | ///   stash the bytes in the [`FileStore`](crate::mcp::store::FileStore) under the
[INFO] [stdout]     |                               -----------  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               because label contains path that resolves to same destination
[INFO] [stdout]     |
[INFO] [stdout]     = note: when a link's destination is not specified,
[INFO] [stdout]             the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]     |
[INFO] [stdout] 919 - ///   stash the bytes in the [`FileStore`](crate::mcp::store::FileStore) under the
[INFO] [stdout] 919 + ///   stash the bytes in the [`FileStore`] under the
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]  --> src/telegram/stream.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | //! [`Subscription`](crate::opencode::events::Subscription) to the slot's
[INFO] [stdout]   |      --------------  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]   |      |
[INFO] [stdout]   |      because label contains path that resolves to same destination
[INFO] [stdout]   |
[INFO] [stdout]   = note: when a link's destination is not specified,
[INFO] [stdout]           the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]   |
[INFO] [stdout] 4 - //! [`Subscription`](crate::opencode::events::Subscription) to the slot's
[INFO] [stdout] 4 + //! [`Subscription`] to the slot's
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 04s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: proc-macro-error2 v2.0.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 5`
[INFO] [stderr]    Generated /opt/rustwide/target/doc/telegram_opencode_proxy/index.html
[INFO] running `Command { std: "docker" "inspect" "828f242e03e02a22aae4c8c0593b2173813d9b7202595b3b18e321fb00723ddc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "828f242e03e02a22aae4c8c0593b2173813d9b7202595b3b18e321fb00723ddc", kill_on_drop: false }`
[INFO] [stdout] 828f242e03e02a22aae4c8c0593b2173813d9b7202595b3b18e321fb00723ddc
