[INFO] cloning repository https://github.com/lifeFedorovAlexey/orchestrator
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/lifeFedorovAlexey/orchestrator" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FlifeFedorovAlexey%2Forchestrator", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FlifeFedorovAlexey%2Forchestrator'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 788ba7b57610cd7acc53ef886b0e5557bd4844f2
[INFO] documenting lifeFedorovAlexey/orchestrator against da3f5c31e5535b3dc210067de660a45784ae1e9c for pr-162169
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FlifeFedorovAlexey%2Forchestrator" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/lifeFedorovAlexey/orchestrator
[INFO] finished tweaking git repo https://github.com/lifeFedorovAlexey/orchestrator
[INFO] tweaked toml for git repo https://github.com/lifeFedorovAlexey/orchestrator written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/lifeFedorovAlexey/orchestrator 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 git repo https://github.com/lifeFedorovAlexey/orchestrator 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] 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] 698f24619dac30eb303b8c1ab2f9a170385adad71e9782a0cab4d6656f20a2f9
[INFO] running `Command { std: "docker" "start" "698f24619dac30eb303b8c1ab2f9a170385adad71e9782a0cab4d6656f20a2f9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "698f24619dac30eb303b8c1ab2f9a170385adad71e9782a0cab4d6656f20a2f9", 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" "698f24619dac30eb303b8c1ab2f9a170385adad71e9782a0cab4d6656f20a2f9" "/opt/rustwide/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "698f24619dac30eb303b8c1ab2f9a170385adad71e9782a0cab4d6656f20a2f9", 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" "698f24619dac30eb303b8c1ab2f9a170385adad71e9782a0cab4d6656f20a2f9" "/opt/rustwide/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "doc" "--frozen" "--no-deps" "--document-private-items" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling cc v1.2.61
[INFO] [stderr]     Checking futures-task v0.3.32
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking tokio v1.52.2
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]     Checking regex-syntax v0.8.10
[INFO] [stderr]     Checking bitflags v2.11.1
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]     Checking symlink v0.1.0
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking axum-core v0.5.6
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking tracing-serde v0.2.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking tracing-appender v0.2.5
[INFO] [stderr]     Checking hyper v1.9.0
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking tower-http v0.6.10
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking rustls-webpki v0.103.13
[INFO] [stderr]     Checking axum v0.8.9
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking hyper-rustls v0.27.9
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]  Documenting orchestrator v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/app/routes.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | / pub fn build_router(state: AppState) -> Router {
[INFO] [stdout] 22 | |     Router::new()
[INFO] [stdout] 23 | |         .route("/healthz", get(health_handler))
[INFO] [stdout] 24 | |         .route("/api/v1/tasks/ollama/generate", post(generate_handler))
[INFO] [stdout] ...  |
[INFO] [stdout] 54 | |         .with_state(state)
[INFO] [stdout] 55 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Builds the API router for the orchestrator process.`
[INFO] [stdout]    = help: ends near `Builds the Axum router for health checks and Ollama generation requests.`
[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/app/routes.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | / pub fn build_router(state: AppState) -> Router {
[INFO] [stdout] 22 | |     Router::new()
[INFO] [stdout] 23 | |         .route("/healthz", get(health_handler))
[INFO] [stdout] 24 | |         .route("/api/v1/tasks/ollama/generate", post(generate_handler))
[INFO] [stdout] ...  |
[INFO] [stdout] 54 | |         .with_state(state)
[INFO] [stdout] 55 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Builds the Axum router for health checks and Ollama generation requests.`
[INFO] [stdout]    = help: ends near `Builds the Axum router for health checks and Ollama generation requests.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/app/state.rs:7:1
[INFO] [stdout]    |
[INFO] [stdout]  7 | / pub struct AppState {
[INFO] [stdout]  8 | |     /// Use-case service for model-backed task execution.
[INFO] [stdout]  9 | |     pub inference_service: Arc<InferenceService>,
[INFO] [stdout] 10 | |     /// Optional API key required for remote requests.
[INFO] [stdout] 11 | |     pub api_key: Option<String>,
[INFO] [stdout] 12 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Shared application state injected into HTTP handlers.`
[INFO] [stdout]    = help: ends near `Shared dependencies required by HTTP handlers.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/app/state.rs:7:1
[INFO] [stdout]    |
[INFO] [stdout]  7 | / pub struct AppState {
[INFO] [stdout]  8 | |     /// Use-case service for model-backed task execution.
[INFO] [stdout]  9 | |     pub inference_service: Arc<InferenceService>,
[INFO] [stdout] 10 | |     /// Optional API key required for remote requests.
[INFO] [stdout] 11 | |     pub api_key: Option<String>,
[INFO] [stdout] 12 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Shared dependencies required by HTTP handlers.`
[INFO] [stdout]    = help: ends near `Shared dependencies required by HTTP handlers.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/backend/adapters.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct ProcessCommandExecutor;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Concrete adapters backed by local processes, Tokio, and Reqwest.`
[INFO] [stdout]    = help: ends near `Command executor that spawns local subprocesses via Tokio.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/backend/adapters.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct ProcessCommandExecutor;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Command executor that spawns local subprocesses via Tokio.`
[INFO] [stdout]    = help: ends near `Command executor that spawns local subprocesses via Tokio.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/backend/adapters.rs:44:1
[INFO] [stdout]    |
[INFO] [stdout] 44 | / pub struct ReqwestHealthChecker {
[INFO] [stdout] 45 | |     client: reqwest::Client,
[INFO] [stdout] 46 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Concrete adapters backed by local processes, Tokio, and Reqwest.`
[INFO] [stdout]    = help: ends near `HTTP-based healthchecker used for service-style backends.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/backend/adapters.rs:44:1
[INFO] [stdout]    |
[INFO] [stdout] 44 | / pub struct ReqwestHealthChecker {
[INFO] [stdout] 45 | |     client: reqwest::Client,
[INFO] [stdout] 46 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `HTTP-based healthchecker used for service-style backends.`
[INFO] [stdout]    = help: ends near `HTTP-based healthchecker used for service-style backends.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/backend/adapters.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct SystemClock;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Concrete adapters backed by local processes, Tokio, and Reqwest.`
[INFO] [stdout]    = help: ends near `Default clock backed by system time.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/backend/adapters.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct SystemClock;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Default clock backed by system time.`
[INFO] [stdout]    = help: ends near `Default clock backed by system time.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/backend/manager.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | / pub struct BackendManager {
[INFO] [stdout] 20 | |     backends: HashMap<String, EffectiveBackendConfig>,
[INFO] [stdout] 21 | |     states: Arc<Mutex<HashMap<String, BackendRuntimeState>>>,
[INFO] [stdout] 22 | |     controls: Arc<HashMap<String, Arc<BackendControl>>>,
[INFO] [stdout] ...  |
[INFO] [stdout] 25 | |     clock: Arc<dyn Clock>,
[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 `Coordinates backend startup, healthchecks, usage tracking, and idle stop.`
[INFO] [stdout]    = help: ends near `Owns backend lifecycle orchestration for all configured backend units.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/backend/manager.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | / pub struct BackendManager {
[INFO] [stdout] 20 | |     backends: HashMap<String, EffectiveBackendConfig>,
[INFO] [stdout] 21 | |     states: Arc<Mutex<HashMap<String, BackendRuntimeState>>>,
[INFO] [stdout] 22 | |     controls: Arc<HashMap<String, Arc<BackendControl>>>,
[INFO] [stdout] ...  |
[INFO] [stdout] 25 | |     clock: Arc<dyn Clock>,
[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 `Owns backend lifecycle orchestration for all configured backend units.`
[INFO] [stdout]    = help: ends near `Owns backend lifecycle orchestration for all configured backend units.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/backend/manager.rs:39:1
[INFO] [stdout]    |
[INFO] [stdout] 39 | / pub struct BackendRequestLease {
[INFO] [stdout] 40 | |     backend_name: String,
[INFO] [stdout] 41 | |     states: Arc<Mutex<HashMap<String, BackendRuntimeState>>>,
[INFO] [stdout] 42 | |     clock: Arc<dyn Clock>,
[INFO] [stdout] 43 | |     _admission_permit: OwnedSemaphorePermit,
[INFO] [stdout] 44 | |     _execution_permit: OwnedSemaphorePermit,
[INFO] [stdout] 45 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Coordinates backend startup, healthchecks, usage tracking, and idle stop.`
[INFO] [stdout]    = help: ends near `Holds backend capacity while a request is queued or executing.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/backend/manager.rs:39:1
[INFO] [stdout]    |
[INFO] [stdout] 39 | / pub struct BackendRequestLease {
[INFO] [stdout] 40 | |     backend_name: String,
[INFO] [stdout] 41 | |     states: Arc<Mutex<HashMap<String, BackendRuntimeState>>>,
[INFO] [stdout] 42 | |     clock: Arc<dyn Clock>,
[INFO] [stdout] 43 | |     _admission_permit: OwnedSemaphorePermit,
[INFO] [stdout] 44 | |     _execution_permit: OwnedSemaphorePermit,
[INFO] [stdout] 45 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Holds backend capacity while a request is queued or executing.`
[INFO] [stdout]    = help: ends near `Holds backend capacity while a request is queued or executing.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/backend/ports.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | / pub trait Clock: Send + Sync {
[INFO] [stdout] 22 | |     /// Returns the current instant used by the manager.
[INFO] [stdout] 23 | |     fn now(&self) -> Duration;
[INFO] [stdout] 24 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Abstract ports for command execution, health probing, and time.`
[INFO] [stdout]    = help: ends near `Provides the current time for lifecycle logic and tests.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/backend/ports.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | / pub trait Clock: Send + Sync {
[INFO] [stdout] 22 | |     /// Returns the current instant used by the manager.
[INFO] [stdout] 23 | |     fn now(&self) -> Duration;
[INFO] [stdout] 24 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Provides the current time for lifecycle logic and tests.`
[INFO] [stdout]    = help: ends near `Provides the current time for lifecycle logic and tests.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/backend/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | /// Abstract ports for command execution, health probing, and time.
[INFO] [stdout]    |     ^ starts here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: ends near ` Executes a runtime command such as `docker start ...` or `docker stop ...`.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/backend/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | /// Abstract ports for command execution, health probing, and time.
[INFO] [stdout]    |     ^ starts here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: ends near ` Probes whether a backend service is healthy and ready to receive work.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/backend/state.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | / pub struct BackendRuntimeState {
[INFO] [stdout]  6 | |     /// Whether the orchestrator currently considers the backend running.
[INFO] [stdout]  7 | |     pub running: bool,
[INFO] [stdout]  8 | |     /// Last time the backend was used by a task.
[INFO] [stdout] ...  |
[INFO] [stdout] 11 | |     pub active_requests: usize,
[INFO] [stdout] 12 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `In-memory runtime state tracked for a backend instance.`
[INFO] [stdout]    = help: ends near `In-memory runtime state tracked for one backend unit.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/backend/state.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | / pub struct BackendRuntimeState {
[INFO] [stdout]  6 | |     /// Whether the orchestrator currently considers the backend running.
[INFO] [stdout]  7 | |     pub running: bool,
[INFO] [stdout]  8 | |     /// Last time the backend was used by a task.
[INFO] [stdout] ...  |
[INFO] [stdout] 11 | |     pub active_requests: usize,
[INFO] [stdout] 12 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `In-memory runtime state tracked for one backend unit.`
[INFO] [stdout]    = help: ends near `In-memory runtime state tracked for one backend unit.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/config/app_config.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout]  9 | / pub struct AppConfig {
[INFO] [stdout] 10 | |     /// HTTP server settings.
[INFO] [stdout] 11 | |     pub server: ServerConfig,
[INFO] [stdout] 12 | |     /// Global runtime defaults for backend lifecycle behavior.
[INFO] [stdout] ...  |
[INFO] [stdout] 17 | |     pub security: SecurityConfig,
[INFO] [stdout] 18 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Top-level orchestrator configuration and shared runtime defaults.`
[INFO] [stdout]    = help: ends near `Root application configuration loaded during bootstrap.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/config/app_config.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout]  9 | / pub struct AppConfig {
[INFO] [stdout] 10 | |     /// HTTP server settings.
[INFO] [stdout] 11 | |     pub server: ServerConfig,
[INFO] [stdout] 12 | |     /// Global runtime defaults for backend lifecycle behavior.
[INFO] [stdout] ...  |
[INFO] [stdout] 17 | |     pub security: SecurityConfig,
[INFO] [stdout] 18 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Root application configuration loaded during bootstrap.`
[INFO] [stdout]    = help: ends near `Root application configuration loaded during bootstrap.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/config/app_config.rs:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | / pub struct RuntimeConfig {
[INFO] [stdout] 30 | |     /// Default startup timeout for a backend when no override is present.
[INFO] [stdout] 31 | |     #[serde(default = "default_startup_timeout_sec")]
[INFO] [stdout] 32 | |     pub default_backend_startup_timeout_sec: u64,
[INFO] [stdout] ...  |
[INFO] [stdout] 50 | |     pub backend_request_acquire_timeout_ms: u64,
[INFO] [stdout] 51 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Top-level orchestrator configuration and shared runtime defaults.`
[INFO] [stdout]    = help: ends near `Global backend lifecycle defaults shared across descriptors.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/config/app_config.rs:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | / pub struct RuntimeConfig {
[INFO] [stdout] 30 | |     /// Default startup timeout for a backend when no override is present.
[INFO] [stdout] 31 | |     #[serde(default = "default_startup_timeout_sec")]
[INFO] [stdout] 32 | |     pub default_backend_startup_timeout_sec: u64,
[INFO] [stdout] ...  |
[INFO] [stdout] 50 | |     pub backend_request_acquire_timeout_ms: u64,
[INFO] [stdout] 51 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Global backend lifecycle defaults shared across descriptors.`
[INFO] [stdout]    = help: ends near `Global backend lifecycle defaults shared across descriptors.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/config/app_config.rs:69:1
[INFO] [stdout]    |
[INFO] [stdout] 69 | / pub struct SecurityConfig {
[INFO] [stdout] 70 | |     /// Optional shared API key accepted by the HTTP layer.
[INFO] [stdout] 71 | |     #[serde(default)]
[INFO] [stdout] 72 | |     pub api_key: Option<String>,
[INFO] [stdout] 73 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Top-level orchestrator configuration and shared runtime defaults.`
[INFO] [stdout]    = help: ends near `Security configuration for remote access.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/config/app_config.rs:69:1
[INFO] [stdout]    |
[INFO] [stdout] 69 | / pub struct SecurityConfig {
[INFO] [stdout] 70 | |     /// Optional shared API key accepted by the HTTP layer.
[INFO] [stdout] 71 | |     #[serde(default)]
[INFO] [stdout] 72 | |     pub api_key: Option<String>,
[INFO] [stdout] 73 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Security configuration for remote access.`
[INFO] [stdout]    = help: ends near `Security configuration for remote access.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/config/app_config.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | / pub struct ServerConfig {
[INFO] [stdout] 23 | |     /// Socket address the API server binds to.
[INFO] [stdout] 24 | |     pub bind_addr: String,
[INFO] [stdout] 25 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Top-level orchestrator configuration and shared runtime defaults.`
[INFO] [stdout]    = help: ends near `Network settings for the HTTP server.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/config/app_config.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | / pub struct ServerConfig {
[INFO] [stdout] 23 | |     /// Socket address the API server binds to.
[INFO] [stdout] 24 | |     pub bind_addr: String,
[INFO] [stdout] 25 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Network settings for the HTTP server.`
[INFO] [stdout]    = help: ends near `Network settings for the HTTP server.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/config/backend_config.rs:34:1
[INFO] [stdout]    |
[INFO] [stdout] 34 | / pub struct BackendCommands {
[INFO] [stdout] 35 | |     /// Tokenized command used to start the backend.
[INFO] [stdout] 36 | |     pub start: Vec<String>,
[INFO] [stdout] 37 | |     /// Tokenized command used to stop the backend.
[INFO] [stdout] 38 | |     pub stop: Vec<String>,
[INFO] [stdout] 39 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Backend descriptor types and effective merged runtime configuration.`
[INFO] [stdout]    = help: ends near `Start and stop commands for a backend runtime unit.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/config/backend_config.rs:34:1
[INFO] [stdout]    |
[INFO] [stdout] 34 | / pub struct BackendCommands {
[INFO] [stdout] 35 | |     /// Tokenized command used to start the backend.
[INFO] [stdout] 36 | |     pub start: Vec<String>,
[INFO] [stdout] 37 | |     /// Tokenized command used to stop the backend.
[INFO] [stdout] 38 | |     pub stop: Vec<String>,
[INFO] [stdout] 39 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Start and stop commands for a backend runtime unit.`
[INFO] [stdout]    = help: ends near `Start and stop commands for a backend runtime unit.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/config/backend_config.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout]  9 | / pub struct BackendDescriptor {
[INFO] [stdout] 10 | |     /// Logical backend identifier referenced by tasks.
[INFO] [stdout] 11 | |     pub name: String,
[INFO] [stdout] 12 | |     /// Runtime family such as `docker`.
[INFO] [stdout] ...  |
[INFO] [stdout] 20 | |     pub lifecycle: BackendLifecycleOverrides,
[INFO] [stdout] 21 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Backend descriptor types and effective merged runtime configuration.`
[INFO] [stdout]    = help: ends near `Raw backend descriptor loaded from `backends/*.toml`.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/config/backend_config.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout]  9 | / pub struct BackendDescriptor {
[INFO] [stdout] 10 | |     /// Logical backend identifier referenced by tasks.
[INFO] [stdout] 11 | |     pub name: String,
[INFO] [stdout] 12 | |     /// Runtime family such as `docker`.
[INFO] [stdout] ...  |
[INFO] [stdout] 20 | |     pub lifecycle: BackendLifecycleOverrides,
[INFO] [stdout] 21 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Raw backend descriptor loaded from `backends/*.toml`.`
[INFO] [stdout]    = help: ends near `Raw backend descriptor loaded from `backends/*.toml`.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/config/backend_config.rs:43:1
[INFO] [stdout]    |
[INFO] [stdout] 43 | / pub struct BackendLifecycleOverrides {
[INFO] [stdout] 44 | |     /// Optional startup timeout in seconds.
[INFO] [stdout] 45 | |     pub startup_timeout_sec: Option<u64>,
[INFO] [stdout] 46 | |     /// Optional idle TTL in seconds.
[INFO] [stdout] ...  |
[INFO] [stdout] 55 | |     pub request_acquire_timeout_ms: Option<u64>,
[INFO] [stdout] 56 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Backend descriptor types and effective merged runtime configuration.`
[INFO] [stdout]    = help: ends near `Per-backend lifecycle overrides on top of global runtime defaults.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/config/backend_config.rs:43:1
[INFO] [stdout]    |
[INFO] [stdout] 43 | / pub struct BackendLifecycleOverrides {
[INFO] [stdout] 44 | |     /// Optional startup timeout in seconds.
[INFO] [stdout] 45 | |     pub startup_timeout_sec: Option<u64>,
[INFO] [stdout] 46 | |     /// Optional idle TTL in seconds.
[INFO] [stdout] ...  |
[INFO] [stdout] 55 | |     pub request_acquire_timeout_ms: Option<u64>,
[INFO] [stdout] 56 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Per-backend lifecycle overrides on top of global runtime defaults.`
[INFO] [stdout]    = help: ends near `Per-backend lifecycle overrides on top of global runtime defaults.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/config/backend_config.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | / pub struct BackendServiceDescriptor {
[INFO] [stdout] 26 | |     /// Base URL used for normal task traffic.
[INFO] [stdout] 27 | |     pub base_url: String,
[INFO] [stdout] 28 | |     /// Healthcheck URL used during backend startup and readiness checks.
[INFO] [stdout] 29 | |     pub healthcheck_url: String,
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Backend descriptor types and effective merged runtime configuration.`
[INFO] [stdout]    = help: ends near `Service endpoints used by the orchestrator to call and probe a backend.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/config/backend_config.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | / pub struct BackendServiceDescriptor {
[INFO] [stdout] 26 | |     /// Base URL used for normal task traffic.
[INFO] [stdout] 27 | |     pub base_url: String,
[INFO] [stdout] 28 | |     /// Healthcheck URL used during backend startup and readiness checks.
[INFO] [stdout] 29 | |     pub healthcheck_url: String,
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Service endpoints used by the orchestrator to call and probe a backend.`
[INFO] [stdout]    = help: ends near `Service endpoints used by the orchestrator to call and probe a backend.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/config/backend_config.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / pub struct EffectiveBackendConfig {
[INFO] [stdout] 61 | |     /// Logical backend identifier referenced by tasks.
[INFO] [stdout] 62 | |     pub name: String,
[INFO] [stdout] 63 | |     /// Runtime family such as `docker`.
[INFO] [stdout] ...  |
[INFO] [stdout] 84 | |     pub request_acquire_timeout: Duration,
[INFO] [stdout] 85 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Backend descriptor types and effective merged runtime configuration.`
[INFO] [stdout]    = help: ends near `Fully resolved backend configuration used at runtime.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/config/backend_config.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / pub struct EffectiveBackendConfig {
[INFO] [stdout] 61 | |     /// Logical backend identifier referenced by tasks.
[INFO] [stdout] 62 | |     pub name: String,
[INFO] [stdout] 63 | |     /// Runtime family such as `docker`.
[INFO] [stdout] ...  |
[INFO] [stdout] 84 | |     pub request_acquire_timeout: Duration,
[INFO] [stdout] 85 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Fully resolved backend configuration used at runtime.`
[INFO] [stdout]    = help: ends near `Fully resolved backend configuration used at runtime.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/config/loaders.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout]  9 | / pub fn load_backends(
[INFO] [stdout] 10 | |     dir: impl AsRef<Path>,
[INFO] [stdout] 11 | |     config: &AppConfig,
[INFO] [stdout] 12 | | ) -> Result<HashMap<String, EffectiveBackendConfig>> {
[INFO] [stdout] ...  |
[INFO] [stdout] 31 | |     Ok(backends)
[INFO] [stdout] 32 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Loaders for backend descriptors and task manifests.`
[INFO] [stdout]    = help: ends near `Loads all backend descriptor files from the given directory.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/config/loaders.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout]  9 | / pub fn load_backends(
[INFO] [stdout] 10 | |     dir: impl AsRef<Path>,
[INFO] [stdout] 11 | |     config: &AppConfig,
[INFO] [stdout] 12 | | ) -> Result<HashMap<String, EffectiveBackendConfig>> {
[INFO] [stdout] ...  |
[INFO] [stdout] 31 | |     Ok(backends)
[INFO] [stdout] 32 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Loads all backend descriptor files from the given directory.`
[INFO] [stdout]    = help: ends near `Loads all backend descriptor files from the given directory.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/config/loaders.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | / pub fn load_tasks(dir: impl AsRef<Path>) -> Result<HashMap<String, TaskManifest>> {
[INFO] [stdout] 36 | |     let mut tasks = HashMap::new();
[INFO] [stdout] 37 | |
[INFO] [stdout] 38 | |     for entry in fs::read_dir(dir)? {
[INFO] [stdout] ...  |
[INFO] [stdout] 58 | |     Ok(tasks)
[INFO] [stdout] 59 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Loaders for backend descriptors and task manifests.`
[INFO] [stdout]    = help: ends near `Loads all task manifests from the given tasks directory.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/config/loaders.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | / pub fn load_tasks(dir: impl AsRef<Path>) -> Result<HashMap<String, TaskManifest>> {
[INFO] [stdout] 36 | |     let mut tasks = HashMap::new();
[INFO] [stdout] 37 | |
[INFO] [stdout] 38 | |     for entry in fs::read_dir(dir)? {
[INFO] [stdout] ...  |
[INFO] [stdout] 58 | |     Ok(tasks)
[INFO] [stdout] 59 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Loads all task manifests from the given tasks directory.`
[INFO] [stdout]    = help: ends near `Loads all task manifests from the given tasks directory.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/config/task_config.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | / pub struct TaskManifest {
[INFO] [stdout]  6 | |     /// Stable task identifier used by the orchestrator.
[INFO] [stdout]  7 | |     pub name: String,
[INFO] [stdout]  8 | |     /// Route path exposed by the HTTP layer for the task.
[INFO] [stdout] ...  |
[INFO] [stdout] 13 | |     pub default_model: Option<String>,
[INFO] [stdout] 14 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Task manifest describing route identity and backend requirement.`
[INFO] [stdout]    = help: ends near `Task manifest loaded from `tasks/*/task.toml`.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/config/task_config.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | / pub struct TaskManifest {
[INFO] [stdout]  6 | |     /// Stable task identifier used by the orchestrator.
[INFO] [stdout]  7 | |     pub name: String,
[INFO] [stdout]  8 | |     /// Route path exposed by the HTTP layer for the task.
[INFO] [stdout] ...  |
[INFO] [stdout] 13 | |     pub default_model: Option<String>,
[INFO] [stdout] 14 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Task manifest loaded from `tasks/*/task.toml`.`
[INFO] [stdout]    = help: ends near `Task manifest loaded from `tasks/*/task.toml`.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/inference/client.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | / pub struct ReqwestOllamaClient {
[INFO] [stdout] 11 | |     client: reqwest::Client,
[INFO] [stdout] 12 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Reqwest-backed Ollama client implementation.`
[INFO] [stdout]    = help: ends near `Ollama client backed by Reqwest.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/inference/client.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | / pub struct ReqwestOllamaClient {
[INFO] [stdout] 11 | |     client: reqwest::Client,
[INFO] [stdout] 12 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Ollama client backed by Reqwest.`
[INFO] [stdout]    = help: ends near `Ollama client backed by Reqwest.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/inference/ports.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pub trait ModelClient: Send + Sync {
[INFO] [stdout] 12 | |     /// Sends a generation request to the provided backend.
[INFO] [stdout] 13 | |     async fn generate(
[INFO] [stdout] 14 | |         &self,
[INFO] [stdout] ...  |
[INFO] [stdout] 17 | |     ) -> Result<OllamaGenerateResponse>;
[INFO] [stdout] 18 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Port used by the inference service to call a model backend.`
[INFO] [stdout]    = help: ends near ` Port used by the inference service to talk to a concrete model backend.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/inference/service.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / pub struct InferenceService {
[INFO] [stdout] 16 | |     backend_manager: Arc<BackendManager>,
[INFO] [stdout] 17 | |     tasks: Arc<HashMap<String, TaskManifest>>,
[INFO] [stdout] 18 | |     model_client: Arc<dyn ModelClient>,
[INFO] [stdout] 19 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Application service that executes inference tasks.`
[INFO] [stdout]    = help: ends near `forwards the request to the model client.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/inference/service.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / pub struct InferenceService {
[INFO] [stdout] 16 | |     backend_manager: Arc<BackendManager>,
[INFO] [stdout] 17 | |     tasks: Arc<HashMap<String, TaskManifest>>,
[INFO] [stdout] 18 | |     model_client: Arc<dyn ModelClient>,
[INFO] [stdout] 19 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Application service that resolves a task, ensures its backend is ready, and`
[INFO] [stdout]    = help: ends near `Application service that resolves a task, ensures its backend is ready, and`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/inference/types.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | / pub struct GenerateTaskRequest {
[INFO] [stdout]  6 | |     /// Optional model override chosen by the caller.
[INFO] [stdout]  7 | |     pub model: Option<String>,
[INFO] [stdout]  8 | |     /// User prompt forwarded to the model backend.
[INFO] [stdout] ...  |
[INFO] [stdout] 11 | |     pub system: Option<String>,
[INFO] [stdout] 12 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Public request and response types used by inference tasks.`
[INFO] [stdout]    = help: ends near `External request payload accepted by the generate task route.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/inference/types.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | / pub struct GenerateTaskRequest {
[INFO] [stdout]  6 | |     /// Optional model override chosen by the caller.
[INFO] [stdout]  7 | |     pub model: Option<String>,
[INFO] [stdout]  8 | |     /// User prompt forwarded to the model backend.
[INFO] [stdout] ...  |
[INFO] [stdout] 11 | |     pub system: Option<String>,
[INFO] [stdout] 12 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `External request payload accepted by the generate task route.`
[INFO] [stdout]    = help: ends near `External request payload accepted by the generate task route.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/inference/types.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | / pub struct GenerateTaskResponse {
[INFO] [stdout] 17 | |     /// Task identifier used to fulfill the request.
[INFO] [stdout] 18 | |     pub task: String,
[INFO] [stdout] 19 | |     /// Backend identifier that handled the request.
[INFO] [stdout] ...  |
[INFO] [stdout] 24 | |     pub response: String,
[INFO] [stdout] 25 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Public request and response types used by inference tasks.`
[INFO] [stdout]    = help: ends near `Structured response returned by the generate task route.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/inference/types.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | / pub struct GenerateTaskResponse {
[INFO] [stdout] 17 | |     /// Task identifier used to fulfill the request.
[INFO] [stdout] 18 | |     pub task: String,
[INFO] [stdout] 19 | |     /// Backend identifier that handled the request.
[INFO] [stdout] ...  |
[INFO] [stdout] 24 | |     pub response: String,
[INFO] [stdout] 25 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Structured response returned by the generate task route.`
[INFO] [stdout]    = help: ends near `Structured response returned by the generate task route.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/inference/types.rs:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | / pub struct OllamaGenerateRequest {
[INFO] [stdout] 30 | |     /// Model name to execute.
[INFO] [stdout] 31 | |     pub model: String,
[INFO] [stdout] 32 | |     /// Prompt content for inference.
[INFO] [stdout] ...  |
[INFO] [stdout] 37 | |     pub stream: bool,
[INFO] [stdout] 38 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Public request and response types used by inference tasks.`
[INFO] [stdout]    = help: ends near `Payload sent from the orchestrator to Ollama's `/api/generate` endpoint.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/inference/types.rs:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | / pub struct OllamaGenerateRequest {
[INFO] [stdout] 30 | |     /// Model name to execute.
[INFO] [stdout] 31 | |     pub model: String,
[INFO] [stdout] 32 | |     /// Prompt content for inference.
[INFO] [stdout] ...  |
[INFO] [stdout] 37 | |     pub stream: bool,
[INFO] [stdout] 38 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Payload sent from the orchestrator to Ollama's `/api/generate` endpoint.`
[INFO] [stdout]    = help: ends near `Payload sent from the orchestrator to Ollama's `/api/generate` endpoint.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/inference/types.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | / pub struct OllamaGenerateResponse {
[INFO] [stdout] 43 | |     /// Full textual response returned by Ollama.
[INFO] [stdout] 44 | |     pub response: String,
[INFO] [stdout] 45 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Public request and response types used by inference tasks.`
[INFO] [stdout]    = help: ends near `Minimal response shape consumed from Ollama's generate API.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/inference/types.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | / pub struct OllamaGenerateResponse {
[INFO] [stdout] 43 | |     /// Full textual response returned by Ollama.
[INFO] [stdout] 44 | |     pub response: String,
[INFO] [stdout] 45 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Minimal response shape consumed from Ollama's generate API.`
[INFO] [stdout]    = help: ends near `Minimal response shape consumed from Ollama's generate API.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not document `orchestrator`
[INFO] running `Command { std: "docker" "inspect" "698f24619dac30eb303b8c1ab2f9a170385adad71e9782a0cab4d6656f20a2f9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "698f24619dac30eb303b8c1ab2f9a170385adad71e9782a0cab4d6656f20a2f9", kill_on_drop: false }`
[INFO] [stdout] 698f24619dac30eb303b8c1ab2f9a170385adad71e9782a0cab4d6656f20a2f9
