[INFO] cloning repository https://github.com/chebizarro/ngit-grasp-fork1
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/chebizarro/ngit-grasp-fork1" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fchebizarro%2Fngit-grasp-fork1", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fchebizarro%2Fngit-grasp-fork1'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 18032d55109560476f6c890c2b7b2d2133ff9ec5
[INFO] documenting chebizarro/ngit-grasp-fork1/18032d55109560476f6c890c2b7b2d2133ff9ec5 against 824336ad4127ce295849937a24c08a4aeff6ada7 for pr-162169
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fchebizarro%2Fngit-grasp-fork1" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/chebizarro/ngit-grasp-fork1
[INFO] finished tweaking git repo https://github.com/chebizarro/ngit-grasp-fork1
[INFO] tweaked toml for git repo https://github.com/chebizarro/ngit-grasp-fork1 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/chebizarro/ngit-grasp-fork1 on toolchain 824336ad4127ce295849937a24c08a4aeff6ada7
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+824336ad4127ce295849937a24c08a4aeff6ada7" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/chebizarro/ngit-grasp-fork1 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" "+824336ad4127ce295849937a24c08a4aeff6ada7" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating git repository `https://github.com/rust-nostr/nostr`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tokio-test v0.4.4
[INFO] [stderr]   Downloaded cc v1.2.44
[INFO] [stderr]   Downloaded bitcoin-internals v0.2.0
[INFO] [stderr]   Downloaded negentropy v0.5.0
[INFO] [stderr]   Downloaded bitcoin_hashes v0.14.0
[INFO] [stderr]   Downloaded atomic-destructor v0.3.0
[INFO] [stderr]   Downloaded btreecap v0.1.0
[INFO] [stderr]   Downloaded async-utility v0.3.1
[INFO] [stderr]   Downloaded tungstenite v0.26.2
[INFO] [stderr]   Downloaded hex-conservative v0.2.1
[INFO] [stderr]   Downloaded lru v0.16.2
[INFO] [stderr]   Downloaded tokio-socks v0.5.2
[INFO] [stderr]   Downloaded hex-conservative v0.1.2
[INFO] [stderr]   Downloaded async-wsocket v0.13.1
[INFO] [stderr]   Downloaded bitcoin_hashes v0.13.0
[INFO] [stderr]   Downloaded secp256k1 v0.29.1
[INFO] [stderr]   Downloaded heed-types v0.20.1
[INFO] [stderr]   Downloaded heed v0.20.5
[INFO] [stderr]   Downloaded bitcoin-io v0.1.3
[INFO] [stderr]   Downloaded bip39 v2.2.0
[INFO] [stderr]   Downloaded tower-http v0.6.7
[INFO] [stderr]   Downloaded lmdb-master-sys v0.2.5
[INFO] [stderr]   Downloaded rustls v0.23.34
[INFO] [stderr]   Downloaded tokio-tungstenite v0.26.2
[INFO] [stderr]   Downloaded secp256k1-sys v0.10.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/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:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] ca98c01e52f55fe8c2362566914242cdda7b989769f66eb90fa90045d0a34b3e
[INFO] running `Command { std: "docker" "start" "ca98c01e52f55fe8c2362566914242cdda7b989769f66eb90fa90045d0a34b3e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ca98c01e52f55fe8c2362566914242cdda7b989769f66eb90fa90045d0a34b3e", 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" "ca98c01e52f55fe8c2362566914242cdda7b989769f66eb90fa90045d0a34b3e" "/opt/rustwide/cargo-home/bin/cargo" "+824336ad4127ce295849937a24c08a4aeff6ada7" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ca98c01e52f55fe8c2362566914242cdda7b989769f66eb90fa90045d0a34b3e", 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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ca98c01e52f55fe8c2362566914242cdda7b989769f66eb90fa90045d0a34b3e" "/opt/rustwide/cargo-home/bin/cargo" "+824336ad4127ce295849937a24c08a4aeff6ada7" "doc" "--frozen" "--no-deps" "--document-private-items" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling find-msvc-tools v0.1.4
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling generic-array v0.14.9
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking socket2 v0.6.1
[INFO] [stderr]     Checking mio v1.1.0
[INFO] [stderr]     Checking signal-hook-registry v1.4.6
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling bitcoin-io v0.1.3
[INFO] [stderr]     Checking percent-encoding v2.3.2
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]    Compiling cc v1.2.44
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]     Checking rustls-pki-types v1.13.0
[INFO] [stderr]     Checking form_urlencoded v1.2.2
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling rustls v0.23.34
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking bitflags v2.10.0
[INFO] [stderr]     Checking hex-conservative v0.2.1
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]     Checking bech32 v0.11.0
[INFO] [stderr]     Checking webpki-roots v1.0.4
[INFO] [stderr]     Checking utf-8 v0.7.6
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]     Checking data-encoding v2.9.0
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking webpki-roots v0.26.11
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking lru v0.16.2
[INFO] [stderr]     Checking btreecap v0.1.0
[INFO] [stderr]     Checking crossbeam-queue v0.3.12
[INFO] [stderr]     Checking atomic-destructor v0.3.0
[INFO] [stderr]    Compiling protobuf v2.28.0
[INFO] [stderr]     Checking anstyle v1.0.13
[INFO] [stderr]     Checking anstyle-query v1.1.4
[INFO] [stderr]     Checking regex-syntax v0.8.8
[INFO] [stderr]     Checking heed-traits v0.20.0
[INFO] [stderr]     Checking negentropy v0.5.0
[INFO] [stderr]     Checking synchronoise v1.0.1
[INFO] [stderr]     Checking heed-types v0.20.1
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]    Compiling flatbuffers v25.12.19
[INFO] [stderr]     Checking nanorand v0.7.0
[INFO] [stderr]     Checking page_size v0.6.0
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking simd-adler32 v0.3.7
[INFO] [stderr]     Checking clap_lex v0.7.6
[INFO] [stderr]     Checking anstream v0.6.21
[INFO] [stderr]    Compiling prometheus v0.13.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking flume v0.11.1
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking clap_builder v4.5.51
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking thread_local v1.1.9
[INFO] [stderr]     Checking nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling ngit-grasp v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking dashmap v5.5.3
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling syn v2.0.108
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling secp256k1-sys v0.10.1
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking flate2 v1.1.5
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking rustls-webpki v0.103.8
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling phf_macros v0.11.3
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]     Checking tokio v1.48.0
[INFO] [stderr]    Compiling doxygen-rs v0.4.2
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling lmdb-master-sys v0.2.5
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking thiserror v2.0.17
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking tracing-subscriber v0.3.20
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking heed v0.20.5
[INFO] [stderr]     Checking clap v4.5.51
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking icu_properties v2.1.1
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking tungstenite v0.26.2
[INFO] [stderr]     Checking secp256k1 v0.29.1
[INFO] [stderr]     Checking bitcoin_hashes v0.14.0
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.7
[INFO] [stderr]     Checking nostr v0.44.1 (https://github.com/rust-nostr/nostr?rev=4767ad13#4767ad13)
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking tokio-socks v0.5.2
[INFO] [stderr]     Checking async-utility v0.3.1
[INFO] [stderr]     Checking tokio-util v0.7.17
[INFO] [stderr]     Checking tokio-tungstenite v0.26.2
[INFO] [stderr]     Checking h2 v0.4.12
[INFO] [stderr]     Checking async-wsocket v0.13.1
[INFO] [stderr]     Checking nostr-database v0.44.0 (https://github.com/rust-nostr/nostr?rev=4767ad13#4767ad13)
[INFO] [stderr]     Checking nostr-gossip v0.44.0 (https://github.com/rust-nostr/nostr?rev=4767ad13#4767ad13)
[INFO] [stderr]     Checking nostr-relay-pool v0.44.0 (https://github.com/rust-nostr/nostr?rev=4767ad13#4767ad13)
[INFO] [stderr]     Checking nostr-lmdb v0.44.0 (https://github.com/rust-nostr/nostr?rev=4767ad13#4767ad13)
[INFO] [stderr]     Checking hyper v1.8.1
[INFO] [stderr]     Checking hyper-util v0.1.18
[INFO] [stderr]     Checking nostr-sdk v0.44.1 (https://github.com/rust-nostr/nostr?rev=4767ad13#4767ad13)
[INFO] [stderr]     Checking nostr-relay-builder v0.44.0 (https://github.com/rust-nostr/nostr?rev=4767ad13#4767ad13)
[INFO] [stderr]  Documenting ngit-grasp v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unclosed HTML tag `event-id`
[INFO] [stdout]     --> src/git/authorization.rs:1073:54
[INFO] [stdout]      |
[INFO] [stdout] 1073 | /// This is used for validating pushes to refs/nostr/<event-id>. Per GRASP-01,
[INFO] [stdout]      |                                                      ^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(rustdoc::invalid_html_tags)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `event-id`
[INFO] [stdout]     --> src/git/authorization.rs:1124:45
[INFO] [stdout]      |
[INFO] [stdout] 1124 | /// For each ref being pushed to refs/nostr/<event-id>:
[INFO] [stdout]      |                                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `event-id`
[INFO] [stdout]    --> src/git/process.rs:187:26
[INFO] [stdout]     |
[INFO] [stdout] 187 | /// 2. Create refs/nostr/<event-id> ref in source repo (if missing)
[INFO] [stdout]     |                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `event-id`
[INFO] [stdout]    --> src/git/process.rs:188:26
[INFO] [stdout]     |
[INFO] [stdout] 188 | /// 3. Create refs/nostr/<event-id> refs in all synced repos
[INFO] [stdout]     |                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this URL is not a hyperlink
[INFO] [stdout]   --> src/git/protocol.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | //! - https://git-scm.com/docs/protocol-common#_pkt_line_format
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: bare URLs are not automatically turned into clickable links
[INFO] [stdout]    = note: `#[warn(rustdoc::bare_urls)]` on by default
[INFO] [stdout] help: use an automatic link instead
[INFO] [stdout]    |
[INFO] [stdout] 13 | //! - <https://git-scm.com/docs/protocol-common#>_pkt_line_format
[INFO] [stdout]    |       +                                         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `event-id`
[INFO] [stdout]   --> src/git/sync.rs:10:29
[INFO] [stdout]    |
[INFO] [stdout] 10 | //! 3. A push to refs/nostr/<event-id> (PR data) is received - needs to be synced
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `event-id`
[INFO] [stdout]    --> src/git/sync.rs:158:30
[INFO] [stdout]     |
[INFO] [stdout] 158 | /// Sync PR data (refs/nostr/<event-id>) from a source repository to owner
[INFO] [stdout]     |                              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `event-id`
[INFO] [stdout]    --> src/git/sync.rs:796:29
[INFO] [stdout]     |
[INFO] [stdout] 796 | ///    - Creates refs/nostr/<event-id> refs
[INFO] [stdout]     |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `npub`
[INFO] [stdout]   --> src/git/mod.rs:33:15
[INFO] [stdout]    |
[INFO] [stdout] 33 | /// Converts /<npub>/<identifier>.git/* to a filesystem path
[INFO] [stdout]    |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `identifier`
[INFO] [stdout]   --> src/git/mod.rs:33:22
[INFO] [stdout]    |
[INFO] [stdout] 33 | /// Converts /<npub>/<identifier>.git/* to a filesystem path
[INFO] [stdout]    |                      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `event-id`
[INFO] [stdout]    --> src/git/mod.rs:184:52
[INFO] [stdout]     |
[INFO] [stdout] 184 | /// * `ref_name` - The ref name (e.g., "refs/nostr/<event-id>")
[INFO] [stdout]     |                                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `event-id`
[INFO] [stdout]    --> src/git/mod.rs:206:62
[INFO] [stdout]     |
[INFO] [stdout] 206 | /// * `ref_name` - The ref name to delete (e.g., "refs/nostr/<event-id>")
[INFO] [stdout]     |                                                              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `event-id`
[INFO] [stdout]    --> src/git/mod.rs:304:25
[INFO] [stdout]     |
[INFO] [stdout] 304 | /// Validate refs/nostr/<event-id> ref against expected commit
[INFO] [stdout]     |                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `npub`
[INFO] [stdout]    --> src/nostr/events.rs:184:34
[INFO] [stdout]     |
[INFO] [stdout] 184 |     /// Get the repository path: <npub>/<identifier>.git
[INFO] [stdout]     |                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `identifier`
[INFO] [stdout]    --> src/nostr/events.rs:184:41
[INFO] [stdout]     |
[INFO] [stdout] 184 |     /// Get the repository path: <npub>/<identifier>.git
[INFO] [stdout]     |                                         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `npub`
[INFO] [stdout]   --> src/nostr/policy/announcement.rs:76:38
[INFO] [stdout]    |
[INFO] [stdout] 76 |     /// Path format: <git_data_path>/<npub>/<identifier>.git
[INFO] [stdout]    |                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `identifier`
[INFO] [stdout]   --> src/nostr/policy/announcement.rs:76:45
[INFO] [stdout]    |
[INFO] [stdout] 76 |     /// Path format: <git_data_path>/<npub>/<identifier>.git
[INFO] [stdout]    |                                             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `event-id`
[INFO] [stdout]   --> src/nostr/policy/pr_event.rs:28:45
[INFO] [stdout]    |
[INFO] [stdout] 28 |     /// 3. Deletion of incorrect refs/nostr/<event-id> refs
[INFO] [stdout]    |                                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: Rust code block is empty
[INFO] [stdout]    --> src/purgatory/helpers.rs:94:5
[INFO] [stdout]     |
[INFO] [stdout]  94 |   /// ```ignore
[INFO] [stdout]     |  _____^
[INFO] [stdout]  95 | | /// // State event declares:
[INFO] [stdout]  96 | | /// //   refs/heads/main -> abc123
[INFO] [stdout]  97 | | /// //   refs/heads/dev -> def456
[INFO] [stdout] ...   |
[INFO] [stdout] 102 | | /// // The symbolic ref doesn't require an OID check
[INFO] [stdout] 103 | | /// ```
[INFO] [stdout]     | |_______^
[INFO] [stdout]     |
[INFO] [stdout] help: `ignore` code blocks require valid Rust code for syntax highlighting; mark blocks that do not contain Rust code as text: ```text
[INFO] [stdout]    --> src/purgatory/helpers.rs:94:5
[INFO] [stdout]     |
[INFO] [stdout]  94 | /// ```ignore
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     = note: `#[warn(rustdoc::invalid_rust_codeblocks)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: Rust code block is empty
[INFO] [stdout]    --> src/purgatory/helpers.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 145 |   /// ```ignore
[INFO] [stdout]     |  _____^
[INFO] [stdout] 146 | | /// // State event declares: refs/heads/main@abc123
[INFO] [stdout] 147 | | /// // Local: refs/heads/main@old123, refs/heads/dev@def456
[INFO] [stdout] 148 | | /// // Push updates: main old123->abc123, dev def456->0000 (delete)
[INFO] [stdout] 149 | | /// // Result: false (event doesn't declare dev deletion)
[INFO] [stdout] 150 | | /// ```
[INFO] [stdout]     | |_______^
[INFO] [stdout]     |
[INFO] [stdout] help: `ignore` code blocks require valid Rust code for syntax highlighting; mark blocks that do not contain Rust code as text: ```text
[INFO] [stdout]    --> src/purgatory/helpers.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 145 | /// ```ignore
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: Rust code block is empty
[INFO] [stdout]    --> src/purgatory/helpers.rs:208:5
[INFO] [stdout]     |
[INFO] [stdout] 208 |   /// ```ignore
[INFO] [stdout]     |  _____^
[INFO] [stdout] 209 | | /// // State event declares: refs/heads/main@abc123, refs/heads/dev@def456
[INFO] [stdout] 210 | | /// // Pushed: refs/heads/main@abc123
[INFO] [stdout] 211 | | /// // Result: [RefPair { ref_name: "refs/heads/dev", object_sha: "def456" }]
[INFO] [stdout] 212 | | /// ```
[INFO] [stdout]     | |_______^
[INFO] [stdout]     |
[INFO] [stdout] help: `ignore` code blocks require valid Rust code for syntax highlighting; mark blocks that do not contain Rust code as text: ```text
[INFO] [stdout]    --> src/purgatory/helpers.rs:208:5
[INFO] [stdout]     |
[INFO] [stdout] 208 | /// ```ignore
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this URL is not a hyperlink
[INFO] [stdout]    --> src/sync/self_subscriber.rs:200:36
[INFO] [stdout]     |
[INFO] [stdout] 200 |     /// - `clone` tags: ["clone", "https://example.com/repo.git", ...] (converted to ws://)
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: bare URLs are not automatically turned into clickable links
[INFO] [stdout] help: use an automatic link instead
[INFO] [stdout]     |
[INFO] [stdout] 200 |     /// - `clone` tags: ["clone", "<https://example.com/repo.git>", ...] (converted to ws://)
[INFO] [stdout]     |                                    +                            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 46.14s
[INFO] [stderr]    Generated /opt/rustwide/target/doc/ngit_grasp/index.html
[INFO] running `Command { std: "docker" "inspect" "ca98c01e52f55fe8c2362566914242cdda7b989769f66eb90fa90045d0a34b3e", 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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "DOCS_RS=1" "-e" "RUSTC_BOOTSTRAP=1" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ca98c01e52f55fe8c2362566914242cdda7b989769f66eb90fa90045d0a34b3e" "/opt/rustwide/cargo-home/bin/cargo" "+824336ad4127ce295849937a24c08a4aeff6ada7" "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]  Documenting ngit-grasp v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unclosed HTML tag `event-id`
[INFO] [stdout]     --> src/git/authorization.rs:1073:54
[INFO] [stdout]      |
[INFO] [stdout] 1073 | /// This is used for validating pushes to refs/nostr/<event-id>. Per GRASP-01,
[INFO] [stdout]      |                                                      ^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(rustdoc::invalid_html_tags)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `event-id`
[INFO] [stdout]     --> src/git/authorization.rs:1124:45
[INFO] [stdout]      |
[INFO] [stdout] 1124 | /// For each ref being pushed to refs/nostr/<event-id>:
[INFO] [stdout]      |                                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `event-id`
[INFO] [stdout]    --> src/git/process.rs:187:26
[INFO] [stdout]     |
[INFO] [stdout] 187 | /// 2. Create refs/nostr/<event-id> ref in source repo (if missing)
[INFO] [stdout]     |                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `event-id`
[INFO] [stdout]    --> src/git/process.rs:188:26
[INFO] [stdout]     |
[INFO] [stdout] 188 | /// 3. Create refs/nostr/<event-id> refs in all synced repos
[INFO] [stdout]     |                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this URL is not a hyperlink
[INFO] [stdout]   --> src/git/protocol.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | //! - https://git-scm.com/docs/protocol-common#_pkt_line_format
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: bare URLs are not automatically turned into clickable links
[INFO] [stdout]    = note: `#[warn(rustdoc::bare_urls)]` on by default
[INFO] [stdout] help: use an automatic link instead
[INFO] [stdout]    |
[INFO] [stdout] 13 | //! - <https://git-scm.com/docs/protocol-common#>_pkt_line_format
[INFO] [stdout]    |       +                                         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `event-id`
[INFO] [stdout]   --> src/git/sync.rs:10:29
[INFO] [stdout]    |
[INFO] [stdout] 10 | //! 3. A push to refs/nostr/<event-id> (PR data) is received - needs to be synced
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `event-id`
[INFO] [stdout]    --> src/git/sync.rs:158:30
[INFO] [stdout]     |
[INFO] [stdout] 158 | /// Sync PR data (refs/nostr/<event-id>) from a source repository to owner
[INFO] [stdout]     |                              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `event-id`
[INFO] [stdout]    --> src/git/sync.rs:796:29
[INFO] [stdout]     |
[INFO] [stdout] 796 | ///    - Creates refs/nostr/<event-id> refs
[INFO] [stdout]     |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `npub`
[INFO] [stdout]   --> src/git/mod.rs:33:15
[INFO] [stdout]    |
[INFO] [stdout] 33 | /// Converts /<npub>/<identifier>.git/* to a filesystem path
[INFO] [stdout]    |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `identifier`
[INFO] [stdout]   --> src/git/mod.rs:33:22
[INFO] [stdout]    |
[INFO] [stdout] 33 | /// Converts /<npub>/<identifier>.git/* to a filesystem path
[INFO] [stdout]    |                      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `event-id`
[INFO] [stdout]    --> src/git/mod.rs:184:52
[INFO] [stdout]     |
[INFO] [stdout] 184 | /// * `ref_name` - The ref name (e.g., "refs/nostr/<event-id>")
[INFO] [stdout]     |                                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `event-id`
[INFO] [stdout]    --> src/git/mod.rs:206:62
[INFO] [stdout]     |
[INFO] [stdout] 206 | /// * `ref_name` - The ref name to delete (e.g., "refs/nostr/<event-id>")
[INFO] [stdout]     |                                                              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `event-id`
[INFO] [stdout]    --> src/git/mod.rs:304:25
[INFO] [stdout]     |
[INFO] [stdout] 304 | /// Validate refs/nostr/<event-id> ref against expected commit
[INFO] [stdout]     |                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `npub`
[INFO] [stdout]    --> src/nostr/events.rs:184:34
[INFO] [stdout]     |
[INFO] [stdout] 184 |     /// Get the repository path: <npub>/<identifier>.git
[INFO] [stdout]     |                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `identifier`
[INFO] [stdout]    --> src/nostr/events.rs:184:41
[INFO] [stdout]     |
[INFO] [stdout] 184 |     /// Get the repository path: <npub>/<identifier>.git
[INFO] [stdout]     |                                         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `npub`
[INFO] [stdout]   --> src/nostr/policy/announcement.rs:76:38
[INFO] [stdout]    |
[INFO] [stdout] 76 |     /// Path format: <git_data_path>/<npub>/<identifier>.git
[INFO] [stdout]    |                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `identifier`
[INFO] [stdout]   --> src/nostr/policy/announcement.rs:76:45
[INFO] [stdout]    |
[INFO] [stdout] 76 |     /// Path format: <git_data_path>/<npub>/<identifier>.git
[INFO] [stdout]    |                                             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `event-id`
[INFO] [stdout]   --> src/nostr/policy/pr_event.rs:28:45
[INFO] [stdout]    |
[INFO] [stdout] 28 |     /// 3. Deletion of incorrect refs/nostr/<event-id> refs
[INFO] [stdout]    |                                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: Rust code block is empty
[INFO] [stdout]    --> src/purgatory/helpers.rs:94:5
[INFO] [stdout]     |
[INFO] [stdout]  94 |   /// ```ignore
[INFO] [stdout]     |  _____^
[INFO] [stdout]  95 | | /// // State event declares:
[INFO] [stdout]  96 | | /// //   refs/heads/main -> abc123
[INFO] [stdout]  97 | | /// //   refs/heads/dev -> def456
[INFO] [stdout] ...   |
[INFO] [stdout] 102 | | /// // The symbolic ref doesn't require an OID check
[INFO] [stdout] 103 | | /// ```
[INFO] [stdout]     | |_______^
[INFO] [stdout]     |
[INFO] [stdout] help: `ignore` code blocks require valid Rust code for syntax highlighting; mark blocks that do not contain Rust code as text: ```text
[INFO] [stdout]    --> src/purgatory/helpers.rs:94:5
[INFO] [stdout]     |
[INFO] [stdout]  94 | /// ```ignore
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     = note: `#[warn(rustdoc::invalid_rust_codeblocks)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: Rust code block is empty
[INFO] [stdout]    --> src/purgatory/helpers.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 145 |   /// ```ignore
[INFO] [stdout]     |  _____^
[INFO] [stdout] 146 | | /// // State event declares: refs/heads/main@abc123
[INFO] [stdout] 147 | | /// // Local: refs/heads/main@old123, refs/heads/dev@def456
[INFO] [stdout] 148 | | /// // Push updates: main old123->abc123, dev def456->0000 (delete)
[INFO] [stdout] 149 | | /// // Result: false (event doesn't declare dev deletion)
[INFO] [stdout] 150 | | /// ```
[INFO] [stdout]     | |_______^
[INFO] [stdout]     |
[INFO] [stdout] help: `ignore` code blocks require valid Rust code for syntax highlighting; mark blocks that do not contain Rust code as text: ```text
[INFO] [stdout]    --> src/purgatory/helpers.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 145 | /// ```ignore
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: Rust code block is empty
[INFO] [stdout]    --> src/purgatory/helpers.rs:208:5
[INFO] [stdout]     |
[INFO] [stdout] 208 |   /// ```ignore
[INFO] [stdout]     |  _____^
[INFO] [stdout] 209 | | /// // State event declares: refs/heads/main@abc123, refs/heads/dev@def456
[INFO] [stdout] 210 | | /// // Pushed: refs/heads/main@abc123
[INFO] [stdout] 211 | | /// // Result: [RefPair { ref_name: "refs/heads/dev", object_sha: "def456" }]
[INFO] [stdout] 212 | | /// ```
[INFO] [stdout]     | |_______^
[INFO] [stdout]     |
[INFO] [stdout] help: `ignore` code blocks require valid Rust code for syntax highlighting; mark blocks that do not contain Rust code as text: ```text
[INFO] [stdout]    --> src/purgatory/helpers.rs:208:5
[INFO] [stdout]     |
[INFO] [stdout] 208 | /// ```ignore
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.62s
[INFO] [stderr]    Generated /opt/rustwide/target/doc/ngit_grasp/index.html
[INFO] running `Command { std: "docker" "inspect" "ca98c01e52f55fe8c2362566914242cdda7b989769f66eb90fa90045d0a34b3e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ca98c01e52f55fe8c2362566914242cdda7b989769f66eb90fa90045d0a34b3e", kill_on_drop: false }`
[INFO] [stdout] ca98c01e52f55fe8c2362566914242cdda7b989769f66eb90fa90045d0a34b3e
