[INFO] fetching crate ito-config 0.1.33...
[INFO] documenting ito-config-0.1.33 against da3f5c31e5535b3dc210067de660a45784ae1e9c for pr-162169
[INFO] extracting crate ito-config 0.1.33 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate ito-config 0.1.33
[INFO] finished tweaking crates.io crate ito-config 0.1.33
[INFO] tweaked toml for crates.io crate ito-config 0.1.33 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate ito-config 0.1.33 on toolchain da3f5c31e5535b3dc210067de660a45784ae1e9c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate ito-config 0.1.33 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" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 1c42e61a9e1321a379a832295314d0cb7fa9e2c23b56792c973cb6ce8d8475f1
[INFO] running `Command { std: "docker" "start" "1c42e61a9e1321a379a832295314d0cb7fa9e2c23b56792c973cb6ce8d8475f1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1c42e61a9e1321a379a832295314d0cb7fa9e2c23b56792c973cb6ce8d8475f1", 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" "1c42e61a9e1321a379a832295314d0cb7fa9e2c23b56792c973cb6ce8d8475f1" "/opt/rustwide/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1c42e61a9e1321a379a832295314d0cb7fa9e2c23b56792c973cb6ce8d8475f1", 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" "1c42e61a9e1321a379a832295314d0cb7fa9e2c23b56792c973cb6ce8d8475f1" "/opt/rustwide/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "doc" "--frozen" "--no-deps" "--document-private-items" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.46
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]     Checking gimli v0.32.3
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling owo-colors v4.3.0
[INFO] [stderr]     Checking bitflags v2.13.0
[INFO] [stderr]     Checking rustc-demangle v0.1.28
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking is_ci v1.2.0
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]     Checking textwrap v0.16.2
[INFO] [stderr]    Compiling schemars v0.8.22
[INFO] [stderr]     Checking unicode-width v0.1.14
[INFO] [stderr]     Checking supports-unicode v3.0.0
[INFO] [stderr]     Checking supports-hyperlinks v3.2.0
[INFO] [stderr]     Checking supports-color v3.0.2
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]     Checking terminal_size v0.4.4
[INFO] [stderr]     Checking addr2line v0.25.1
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling miette-derive v7.6.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling schemars_derive v0.8.22
[INFO] [stderr]     Checking backtrace v0.3.76
[INFO] [stderr]     Checking backtrace-ext v0.2.1
[INFO] [stderr]     Checking miette v7.6.0
[INFO] [stderr]     Checking ito-common v0.1.33
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]  Documenting ito-config v0.1.33 (/opt/rustwide/workdir)
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/config/setup_coverage.rs:1:1
[INFO] [stdout]     |
[INFO] [stdout]   1 | / //! Setup/update coverage classification for Ito config fields.
[INFO] [stdout]   2 | | //!
[INFO] [stdout]   3 | | //! This module is deliberately small and explicit. The table is an audit
[INFO] [stdout]   4 | | //! surface for `ito init` / `ito update`: when new config areas are added,
[INFO] [stdout] ...   |
[INFO] [stdout] 209 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Configuration loading and schema helpers.`
[INFO] [stdout]     = help: ends near `Setup/update coverage classification for Ito config fields.`
[INFO] [stdout]     = note: `#[deny(rustdoc::unportable_markdown)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/config/setup_coverage.rs:1:1
[INFO] [stdout]     |
[INFO] [stdout]   1 | / //! Setup/update coverage classification for Ito config fields.
[INFO] [stdout]   2 | | //!
[INFO] [stdout]   3 | | //! This module is deliberately small and explicit. The table is an audit
[INFO] [stdout]   4 | | //! surface for `ito init` / `ito update`: when new config areas are added,
[INFO] [stdout] ...   |
[INFO] [stdout] 209 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Setup/update coverage classification for config fields.`
[INFO] [stdout]     = help: ends near `Setup/update coverage classification for config fields.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/config/backend_types.rs:1:1
[INFO] [stdout]     |
[INFO] [stdout]   1 | / //! Backend server configuration types for the multi-tenant Ito API.
[INFO] [stdout]   2 | | //!
[INFO] [stdout]   3 | | //! These types define the configuration schema for hosting a multi-tenant
[INFO] [stdout]   4 | | //! backend server, including storage, auth, allowlist, CORS, and HTTP
[INFO] [stdout] ...   |
[INFO] [stdout] 266 | |     pub token_seed: Option<String>,
[INFO] [stdout] 267 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Configuration loading and schema helpers.`
[INFO] [stdout]     = help: ends near `Backend server configuration types for the multi-tenant Ito API.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/config/backend_types.rs:1:1
[INFO] [stdout]     |
[INFO] [stdout]   1 | / //! Backend server configuration types for the multi-tenant Ito API.
[INFO] [stdout]   2 | | //!
[INFO] [stdout]   3 | | //! These types define the configuration schema for hosting a multi-tenant
[INFO] [stdout]   4 | | //! backend server, including storage, auth, allowlist, CORS, and HTTP
[INFO] [stdout] ...   |
[INFO] [stdout] 266 | |     pub token_seed: Option<String>,
[INFO] [stdout] 267 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Backend server configuration types (multi-tenant API).`
[INFO] [stdout]     = help: ends near `Backend server configuration types (multi-tenant API).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/config/proposal_types.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout]  1 | / //! Configuration types for proposal review and integration.
[INFO] [stdout]  2 | |
[INFO] [stdout]  3 | | use schemars::JsonSchema;
[INFO] [stdout]  4 | | use serde::{Deserialize, Serialize};
[INFO] [stdout] ...  |
[INFO] [stdout] 93 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Configuration loading and schema helpers.`
[INFO] [stdout]    = help: ends near `Configuration types for proposal review and integration.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/config/proposal_types.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout]  1 | / //! Configuration types for proposal review and integration.
[INFO] [stdout]  2 | |
[INFO] [stdout]  3 | | use schemars::JsonSchema;
[INFO] [stdout]  4 | | use serde::{Deserialize, Serialize};
[INFO] [stdout] ...  |
[INFO] [stdout] 93 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Proposal integration configuration types.`
[INFO] [stdout]    = help: ends near `Proposal integration configuration types.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/config/worktree_init_types.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout]  1 | / //! Worktree initialization configuration types.
[INFO] [stdout]  2 | | //!
[INFO] [stdout]  3 | | //! Extracted into a dedicated submodule to keep `types.rs` within the
[INFO] [stdout]  4 | | //! 1200-line limit while keeping the public API unchanged via re-exports.
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Configuration loading and schema helpers.`
[INFO] [stdout]    = help: ends near `Worktree initialization configuration types.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/config/worktree_init_types.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout]  1 | / //! Worktree initialization configuration types.
[INFO] [stdout]  2 | | //!
[INFO] [stdout]  3 | | //! Extracted into a dedicated submodule to keep `types.rs` within the
[INFO] [stdout]  4 | | //! 1200-line limit while keeping the public API unchanged via re-exports.
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Worktree initialization configuration types (split out to keep `types.rs` under the line limit).`
[INFO] [stdout]    = help: ends near `Worktree initialization configuration types (split out to keep `types.rs` under the line limit).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/context.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | / pub struct ItoContext {
[INFO] [stdout] 15 | |     /// Optional directory containing global config (e.g. `~/.config/ito`).
[INFO] [stdout] 16 | |     pub config_dir: Option<PathBuf>,
[INFO] [stdout] ...  |
[INFO] [stdout] 25 | |     pub config: ResolvedConfig,
[INFO] [stdout] 26 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Resolved context for a single invocation.`
[INFO] [stdout]    = help: ends near `Resolved configuration for a single invocation.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/context.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | / pub struct ItoContext {
[INFO] [stdout] 15 | |     /// Optional directory containing global config (e.g. `~/.config/ito`).
[INFO] [stdout] 16 | |     pub config_dir: Option<PathBuf>,
[INFO] [stdout] ...  |
[INFO] [stdout] 25 | |     pub config: ResolvedConfig,
[INFO] [stdout] 26 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Resolved configuration for a single invocation.`
[INFO] [stdout]    = help: ends near `Resolved configuration for a single invocation.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/config/mod.rs:48:1
[INFO] [stdout]    |
[INFO] [stdout] 48 | / pub struct GlobalConfig {
[INFO] [stdout] 49 | |     /// Preferred Ito working directory name.
[INFO] [stdout] 50 | |     #[serde(rename = "projectPath")]
[INFO] [stdout] 51 | |     pub project_path: Option<String>,
[INFO] [stdout] 52 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Configuration loading and schema helpers.`
[INFO] [stdout]    = help: ends near `Global (user-level) configuration.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/config/mod.rs:48:1
[INFO] [stdout]    |
[INFO] [stdout] 48 | / pub struct GlobalConfig {
[INFO] [stdout] 49 | |     /// Preferred Ito working directory name.
[INFO] [stdout] 50 | |     #[serde(rename = "projectPath")]
[INFO] [stdout] 51 | |     pub project_path: Option<String>,
[INFO] [stdout] 52 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Global (user-level) configuration.`
[INFO] [stdout]    = help: ends near `Global (user-level) configuration.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/config/mod.rs:56:1
[INFO] [stdout]    |
[INFO] [stdout] 56 | / pub struct ProjectConfig {
[INFO] [stdout] 57 | |     /// Repo-local Ito working directory name override.
[INFO] [stdout] 58 | |     #[serde(rename = "projectPath")]
[INFO] [stdout] 59 | |     pub project_path: Option<String>,
[INFO] [stdout] 60 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Configuration loading and schema helpers.`
[INFO] [stdout]    = help: ends near `Repo-local configuration.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/config/mod.rs:56:1
[INFO] [stdout]    |
[INFO] [stdout] 56 | / pub struct ProjectConfig {
[INFO] [stdout] 57 | |     /// Repo-local Ito working directory name override.
[INFO] [stdout] 58 | |     #[serde(rename = "projectPath")]
[INFO] [stdout] 59 | |     pub project_path: Option<String>,
[INFO] [stdout] 60 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Repo-local configuration.`
[INFO] [stdout]    = help: ends near `Repo-local configuration.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/config/mod.rs:64:1
[INFO] [stdout]    |
[INFO] [stdout] 64 | / pub struct ConfigContext {
[INFO] [stdout] 65 | |     /// Optional XDG config home path override.
[INFO] [stdout] 66 | |     pub xdg_config_home: Option<PathBuf>,
[INFO] [stdout] 67 | |     /// Home directory, used for non-XDG config lookup.
[INFO] [stdout] ...  |
[INFO] [stdout] 70 | |     pub project_dir: Option<PathBuf>,
[INFO] [stdout] 71 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Configuration loading and schema helpers.`
[INFO] [stdout]    = help: ends near `Process environment inputs for configuration resolution.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/config/mod.rs:64:1
[INFO] [stdout]    |
[INFO] [stdout] 64 | / pub struct ConfigContext {
[INFO] [stdout] 65 | |     /// Optional XDG config home path override.
[INFO] [stdout] 66 | |     pub xdg_config_home: Option<PathBuf>,
[INFO] [stdout] 67 | |     /// Home directory, used for non-XDG config lookup.
[INFO] [stdout] ...  |
[INFO] [stdout] 70 | |     pub project_dir: Option<PathBuf>,
[INFO] [stdout] 71 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Process environment inputs for configuration resolution.`
[INFO] [stdout]    = help: ends near `Process environment inputs for configuration resolution.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/config/mod.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | / pub fn load_project_config(project_root: &Path) -> Option<ProjectConfig> {
[INFO] [stdout] 110 | |     load_project_config_fs(&StdFs, project_root)
[INFO] [stdout] 111 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Configuration loading and schema helpers.`
[INFO] [stdout]     = help: ends near `Load `ito.json` from `project_root`.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/config/mod.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | / pub fn load_project_config(project_root: &Path) -> Option<ProjectConfig> {
[INFO] [stdout] 110 | |     load_project_config_fs(&StdFs, project_root)
[INFO] [stdout] 111 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Load `ito.json` from `project_root`.`
[INFO] [stdout]     = help: ends near `Load `ito.json` from `project_root`.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/config/mod.rs:114:1
[INFO] [stdout]     |
[INFO] [stdout] 114 | / pub fn load_project_config_fs<F: FileSystem>(fs: &F, project_root: &Path) -> Option<ProjectConfig> {
[INFO] [stdout] 115 | |     let path = project_root.join(REPO_CONFIG_FILE_NAME);
[INFO] [stdout] 116 | |     let contents = read_to_string_optional_fs(fs, &path)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 128 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Configuration loading and schema helpers.`
[INFO] [stdout]     = help: ends near `Like [`load_project_config`], but uses an injected file-system.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/config/mod.rs:114:1
[INFO] [stdout]     |
[INFO] [stdout] 114 | / pub fn load_project_config_fs<F: FileSystem>(fs: &F, project_root: &Path) -> Option<ProjectConfig> {
[INFO] [stdout] 115 | |     let path = project_root.join(REPO_CONFIG_FILE_NAME);
[INFO] [stdout] 116 | |     let contents = read_to_string_optional_fs(fs, &path)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 128 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Like [`load_project_config`], but uses an injected file-system.`
[INFO] [stdout]     = help: ends near `Like [`load_project_config`], but uses an injected file-system.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/config/mod.rs:266:1
[INFO] [stdout]     |
[INFO] [stdout] 266 | / pub fn load_repo_project_path_override(project_root: &Path) -> Option<String> {
[INFO] [stdout] 267 | |     load_repo_project_path_override_fs(&StdFs, project_root)
[INFO] [stdout] 268 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Configuration loading and schema helpers.`
[INFO] [stdout]     = help: ends near `Returns a repo-local `projectPath` override (Ito working directory name).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/config/mod.rs:266:1
[INFO] [stdout]     |
[INFO] [stdout] 266 | / pub fn load_repo_project_path_override(project_root: &Path) -> Option<String> {
[INFO] [stdout] 267 | |     load_repo_project_path_override_fs(&StdFs, project_root)
[INFO] [stdout] 268 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Returns a repo-local `projectPath` override (Ito working directory name).`
[INFO] [stdout]     = help: ends near `Returns a repo-local `projectPath` override (Ito working directory name).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/config/mod.rs:271:1
[INFO] [stdout]     |
[INFO] [stdout] 271 | / pub fn load_repo_project_path_override_fs<F: FileSystem>(
[INFO] [stdout] 272 | |     fs: &F,
[INFO] [stdout] 273 | |     project_root: &Path,
[INFO] [stdout] 274 | | ) -> Option<String> {
[INFO] [stdout] ...   |
[INFO] [stdout] 291 | |     out
[INFO] [stdout] 292 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Configuration loading and schema helpers.`
[INFO] [stdout]     = help: ends near `Like [`load_repo_project_path_override`], but uses an injected file-system.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/config/mod.rs:271:1
[INFO] [stdout]     |
[INFO] [stdout] 271 | / pub fn load_repo_project_path_override_fs<F: FileSystem>(
[INFO] [stdout] 272 | |     fs: &F,
[INFO] [stdout] 273 | |     project_root: &Path,
[INFO] [stdout] 274 | | ) -> Option<String> {
[INFO] [stdout] ...   |
[INFO] [stdout] 291 | |     out
[INFO] [stdout] 292 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Like [`load_repo_project_path_override`], but uses an injected file-system.`
[INFO] [stdout]     = help: ends near `Like [`load_repo_project_path_override`], but uses an injected file-system.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/config/mod.rs:296:1
[INFO] [stdout]     |
[INFO] [stdout] 296 | / pub struct CascadingProjectConfig {
[INFO] [stdout] 297 | |     /// Fully merged config JSON.
[INFO] [stdout] 298 | |     pub merged: Value,
[INFO] [stdout] 299 | |     /// Paths that were successfully loaded and merged.
[INFO] [stdout] ...   |
[INFO] [stdout] 308 | |     pub layers: Vec<ResolvedConfigLayer>,
[INFO] [stdout] 309 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Configuration loading and schema helpers.`
[INFO] [stdout]     = help: ends near `Merged project configuration along with provenance.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/config/mod.rs:296:1
[INFO] [stdout]     |
[INFO] [stdout] 296 | / pub struct CascadingProjectConfig {
[INFO] [stdout] 297 | |     /// Fully merged config JSON.
[INFO] [stdout] 298 | |     pub merged: Value,
[INFO] [stdout] 299 | |     /// Paths that were successfully loaded and merged.
[INFO] [stdout] ...   |
[INFO] [stdout] 308 | |     pub layers: Vec<ResolvedConfigLayer>,
[INFO] [stdout] 309 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Merged project configuration along with provenance.`
[INFO] [stdout]     = help: ends near `Merged project configuration along with provenance.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/config/mod.rs:313:1
[INFO] [stdout]     |
[INFO] [stdout] 313 | / pub struct ResolvedConfigLayer {
[INFO] [stdout] 314 | |     /// Absolute path of the layer's source file.
[INFO] [stdout] 315 | |     pub path: PathBuf,
[INFO] [stdout] 316 | |     /// Parsed JSON of this layer, before merging.
[INFO] [stdout] 317 | |     pub value: Value,
[INFO] [stdout] 318 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Configuration loading and schema helpers.`
[INFO] [stdout]     = help: ends near `A single configuration layer that contributed to the merged view.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/config/mod.rs:313:1
[INFO] [stdout]     |
[INFO] [stdout] 313 | / pub struct ResolvedConfigLayer {
[INFO] [stdout] 314 | |     /// Absolute path of the layer's source file.
[INFO] [stdout] 315 | |     pub path: PathBuf,
[INFO] [stdout] 316 | |     /// Parsed JSON of this layer, before merging.
[INFO] [stdout] 317 | |     pub value: Value,
[INFO] [stdout] 318 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `A single configuration layer that contributed to the merged view.`
[INFO] [stdout]     = help: ends near `A single configuration layer that contributed to the merged view.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/config/mod.rs:321:1
[INFO] [stdout]     |
[INFO] [stdout] 321 | pub type ResolvedConfig = CascadingProjectConfig;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Configuration loading and schema helpers.`
[INFO] [stdout]     = help: ends near `Alias used by consumers who only care about the resolved config output.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/config/mod.rs:321:1
[INFO] [stdout]     |
[INFO] [stdout] 321 | pub type ResolvedConfig = CascadingProjectConfig;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Alias used by consumers who only care about the resolved config output.`
[INFO] [stdout]     = help: ends near `Alias used by consumers who only care about the resolved config output.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/config/mod.rs:324:1
[INFO] [stdout]     |
[INFO] [stdout] 324 | / pub fn project_config_paths(
[INFO] [stdout] 325 | |     project_root: &Path,
[INFO] [stdout] 326 | |     ito_path: &Path,
[INFO] [stdout] 327 | |     ctx: &ConfigContext,
[INFO] [stdout] ...   |
[INFO] [stdout] 347 | |     out
[INFO] [stdout] 348 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Configuration loading and schema helpers.`
[INFO] [stdout]     = help: ends near `Return the ordered list of configuration file paths consulted for a project.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/config/mod.rs:324:1
[INFO] [stdout]     |
[INFO] [stdout] 324 | / pub fn project_config_paths(
[INFO] [stdout] 325 | |     project_root: &Path,
[INFO] [stdout] 326 | |     ito_path: &Path,
[INFO] [stdout] 327 | |     ctx: &ConfigContext,
[INFO] [stdout] ...   |
[INFO] [stdout] 347 | |     out
[INFO] [stdout] 348 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Return the ordered list of configuration file paths consulted for a project.`
[INFO] [stdout]     = help: ends near `Return the ordered list of configuration file paths consulted for a project.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/config/mod.rs:360:1
[INFO] [stdout]     |
[INFO] [stdout] 360 | / pub fn load_cascading_project_config(
[INFO] [stdout] 361 | |     project_root: &Path,
[INFO] [stdout] 362 | |     ito_path: &Path,
[INFO] [stdout] 363 | |     ctx: &ConfigContext,
[INFO] [stdout] 364 | | ) -> CascadingProjectConfig {
[INFO] [stdout] 365 | |     load_cascading_project_config_fs(&StdFs, project_root, ito_path, ctx)
[INFO] [stdout] 366 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Configuration loading and schema helpers.`
[INFO] [stdout]     = help: ends near `Load and merge project configuration sources in precedence order.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/config/mod.rs:360:1
[INFO] [stdout]     |
[INFO] [stdout] 360 | / pub fn load_cascading_project_config(
[INFO] [stdout] 361 | |     project_root: &Path,
[INFO] [stdout] 362 | |     ito_path: &Path,
[INFO] [stdout] 363 | |     ctx: &ConfigContext,
[INFO] [stdout] 364 | | ) -> CascadingProjectConfig {
[INFO] [stdout] 365 | |     load_cascading_project_config_fs(&StdFs, project_root, ito_path, ctx)
[INFO] [stdout] 366 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Load and merge project configuration sources in precedence order.`
[INFO] [stdout]     = help: ends near `Load and merge project configuration sources in precedence order.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/config/mod.rs:372:1
[INFO] [stdout]     |
[INFO] [stdout] 372 | / pub fn resolve_coordination_branch_settings(merged: &Value) -> (bool, String) {
[INFO] [stdout] 373 | |     let Ok(cfg) = serde_json::from_value::<types::ItoConfig>(merged.clone()) else {
[INFO] [stdout] 374 | |         let defaults = types::CoordinationBranchConfig::default();
[INFO] [stdout] 375 | |         return (defaults.enabled.0, defaults.name);
[INFO] [stdout] ...   |
[INFO] [stdout] 382 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Configuration loading and schema helpers.`
[INFO] [stdout]     = help: ends near `Resolve coordination branch settings from merged config JSON.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/config/mod.rs:372:1
[INFO] [stdout]     |
[INFO] [stdout] 372 | / pub fn resolve_coordination_branch_settings(merged: &Value) -> (bool, String) {
[INFO] [stdout] 373 | |     let Ok(cfg) = serde_json::from_value::<types::ItoConfig>(merged.clone()) else {
[INFO] [stdout] 374 | |         let defaults = types::CoordinationBranchConfig::default();
[INFO] [stdout] 375 | |         return (defaults.enabled.0, defaults.name);
[INFO] [stdout] ...   |
[INFO] [stdout] 382 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Resolve coordination branch settings from merged config JSON.`
[INFO] [stdout]     = help: ends near `Resolve coordination branch settings from merged config JSON.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/config/mod.rs:388:1
[INFO] [stdout]     |
[INFO] [stdout] 388 | / pub fn resolve_audit_mirror_settings(merged: &Value) -> (bool, String) {
[INFO] [stdout] 389 | |     let Ok(cfg) = serde_json::from_value::<types::ItoConfig>(merged.clone()) else {
[INFO] [stdout] 390 | |         let defaults = types::AuditMirrorConfig::default();
[INFO] [stdout] 391 | |         return (defaults.enabled, defaults.branch);
[INFO] [stdout] ...   |
[INFO] [stdout] 394 | |     (cfg.audit.mirror.enabled, cfg.audit.mirror.branch)
[INFO] [stdout] 395 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Configuration loading and schema helpers.`
[INFO] [stdout]     = help: ends near `Resolve audit mirror settings from merged config JSON.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/config/mod.rs:388:1
[INFO] [stdout]     |
[INFO] [stdout] 388 | / pub fn resolve_audit_mirror_settings(merged: &Value) -> (bool, String) {
[INFO] [stdout] 389 | |     let Ok(cfg) = serde_json::from_value::<types::ItoConfig>(merged.clone()) else {
[INFO] [stdout] 390 | |         let defaults = types::AuditMirrorConfig::default();
[INFO] [stdout] 391 | |         return (defaults.enabled, defaults.branch);
[INFO] [stdout] ...   |
[INFO] [stdout] 394 | |     (cfg.audit.mirror.enabled, cfg.audit.mirror.branch)
[INFO] [stdout] 395 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Resolve audit mirror settings from merged config JSON.`
[INFO] [stdout]     = help: ends near `Resolve audit mirror settings from merged config JSON.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/config/mod.rs:398:1
[INFO] [stdout]     |
[INFO] [stdout] 398 | / pub fn load_cascading_project_config_fs<F: FileSystem>(
[INFO] [stdout] 399 | |     fs: &F,
[INFO] [stdout] 400 | |     project_root: &Path,
[INFO] [stdout] 401 | |     ito_path: &Path,
[INFO] [stdout] ...   |
[INFO] [stdout] 431 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Configuration loading and schema helpers.`
[INFO] [stdout]     = help: ends near `Like [`load_cascading_project_config`], but uses an injected file-system.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/config/mod.rs:398:1
[INFO] [stdout]     |
[INFO] [stdout] 398 | / pub fn load_cascading_project_config_fs<F: FileSystem>(
[INFO] [stdout] 399 | |     fs: &F,
[INFO] [stdout] 400 | |     project_root: &Path,
[INFO] [stdout] 401 | |     ito_path: &Path,
[INFO] [stdout] ...   |
[INFO] [stdout] 431 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Like [`load_cascading_project_config`], but uses an injected file-system.`
[INFO] [stdout]     = help: ends near `Like [`load_cascading_project_config`], but uses an injected file-system.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/config/mod.rs:434:1
[INFO] [stdout]     |
[INFO] [stdout] 434 | / pub fn global_config_path(ctx: &ConfigContext) -> Option<PathBuf> {
[INFO] [stdout] 435 | |     ito_config_dir(ctx).map(|d| d.join("config.json"))
[INFO] [stdout] 436 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Configuration loading and schema helpers.`
[INFO] [stdout]     = help: ends near `Return the global configuration file path, if it can be determined.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/config/mod.rs:434:1
[INFO] [stdout]     |
[INFO] [stdout] 434 | / pub fn global_config_path(ctx: &ConfigContext) -> Option<PathBuf> {
[INFO] [stdout] 435 | |     ito_config_dir(ctx).map(|d| d.join("config.json"))
[INFO] [stdout] 436 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Return the global configuration file path, if it can be determined.`
[INFO] [stdout]     = help: ends near `Return the global configuration file path, if it can be determined.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/config/mod.rs:439:1
[INFO] [stdout]     |
[INFO] [stdout] 439 | / pub fn ito_config_dir(ctx: &ConfigContext) -> Option<PathBuf> {
[INFO] [stdout] 440 | |     #[cfg(windows)]
[INFO] [stdout] ...   |
[INFO] [stdout] 462 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Configuration loading and schema helpers.`
[INFO] [stdout]     = help: ends near `Return the global configuration directory (`~/.config/ito` or XDG equivalent).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/config/mod.rs:439:1
[INFO] [stdout]     |
[INFO] [stdout] 439 | / pub fn ito_config_dir(ctx: &ConfigContext) -> Option<PathBuf> {
[INFO] [stdout] 440 | |     #[cfg(windows)]
[INFO] [stdout] ...   |
[INFO] [stdout] 462 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Return the global configuration directory (`~/.config/ito` or XDG equivalent).`
[INFO] [stdout]     = help: ends near `Return the global configuration directory (`~/.config/ito` or XDG equivalent).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/config/mod.rs:465:1
[INFO] [stdout]     |
[INFO] [stdout] 465 | / pub fn load_global_config(ctx: &ConfigContext) -> GlobalConfig {
[INFO] [stdout] 466 | |     load_global_config_fs(&StdFs, ctx)
[INFO] [stdout] 467 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Configuration loading and schema helpers.`
[INFO] [stdout]     = help: ends near `Load the global config file.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/config/mod.rs:465:1
[INFO] [stdout]     |
[INFO] [stdout] 465 | / pub fn load_global_config(ctx: &ConfigContext) -> GlobalConfig {
[INFO] [stdout] 466 | |     load_global_config_fs(&StdFs, ctx)
[INFO] [stdout] 467 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Load the global config file.`
[INFO] [stdout]     = help: ends near `Load the global config file.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/config/mod.rs:470:1
[INFO] [stdout]     |
[INFO] [stdout] 470 | / pub fn load_global_config_fs<F: FileSystem>(fs: &F, ctx: &ConfigContext) -> GlobalConfig {
[INFO] [stdout] 471 | |     let Some(path) = global_config_path(ctx) else {
[INFO] [stdout] 472 | |         return GlobalConfig::default();
[INFO] [stdout] 473 | |     };
[INFO] [stdout] ...   |
[INFO] [stdout] 489 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Configuration loading and schema helpers.`
[INFO] [stdout]     = help: ends near `Like [`load_global_config`], but uses an injected file-system.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/config/mod.rs:470:1
[INFO] [stdout]     |
[INFO] [stdout] 470 | / pub fn load_global_config_fs<F: FileSystem>(fs: &F, ctx: &ConfigContext) -> GlobalConfig {
[INFO] [stdout] 471 | |     let Some(path) = global_config_path(ctx) else {
[INFO] [stdout] 472 | |         return GlobalConfig::default();
[INFO] [stdout] 473 | |     };
[INFO] [stdout] ...   |
[INFO] [stdout] 489 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Like [`load_global_config`], but uses an injected file-system.`
[INFO] [stdout]     = help: ends near `Like [`load_global_config`], but uses an injected file-system.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/config/mod.rs:496:1
[INFO] [stdout]     |
[INFO] [stdout] 496 | / pub fn load_global_ito_config(ctx: &ConfigContext) -> types::ItoConfig {
[INFO] [stdout] 497 | |     load_global_ito_config_fs(&StdFs, ctx)
[INFO] [stdout] 498 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Configuration loading and schema helpers.`
[INFO] [stdout]     = help: ends near `Load the full [`types::ItoConfig`] from the global config file.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/config/mod.rs:496:1
[INFO] [stdout]     |
[INFO] [stdout] 496 | / pub fn load_global_ito_config(ctx: &ConfigContext) -> types::ItoConfig {
[INFO] [stdout] 497 | |     load_global_ito_config_fs(&StdFs, ctx)
[INFO] [stdout] 498 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Load the full [`types::ItoConfig`] from the global config file.`
[INFO] [stdout]     = help: ends near `Load the full [`types::ItoConfig`] from the global config file.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/config/mod.rs:501:1
[INFO] [stdout]     |
[INFO] [stdout] 501 | / pub fn load_global_ito_config_fs<F: FileSystem>(fs: &F, ctx: &ConfigContext) -> types::ItoConfig {
[INFO] [stdout] 502 | |     let Some(path) = global_config_path(ctx) else {
[INFO] [stdout] 503 | |         return types::ItoConfig::default();
[INFO] [stdout] 504 | |     };
[INFO] [stdout] ...   |
[INFO] [stdout] 520 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Configuration loading and schema helpers.`
[INFO] [stdout]     = help: ends near `Like [`load_global_ito_config`], but uses an injected file-system.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/config/mod.rs:501:1
[INFO] [stdout]     |
[INFO] [stdout] 501 | / pub fn load_global_ito_config_fs<F: FileSystem>(fs: &F, ctx: &ConfigContext) -> types::ItoConfig {
[INFO] [stdout] 502 | |     let Some(path) = global_config_path(ctx) else {
[INFO] [stdout] 503 | |         return types::ItoConfig::default();
[INFO] [stdout] 504 | |     };
[INFO] [stdout] ...   |
[INFO] [stdout] 520 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Like [`load_global_ito_config`], but uses an injected file-system.`
[INFO] [stdout]     = help: ends near `Like [`load_global_ito_config`], but uses an injected file-system.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not document `ito-config`
[INFO] running `Command { std: "docker" "inspect" "1c42e61a9e1321a379a832295314d0cb7fa9e2c23b56792c973cb6ce8d8475f1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1c42e61a9e1321a379a832295314d0cb7fa9e2c23b56792c973cb6ce8d8475f1", kill_on_drop: false }`
[INFO] [stdout] 1c42e61a9e1321a379a832295314d0cb7fa9e2c23b56792c973cb6ce8d8475f1
