Build failed. If you want to re-trigger a documentation build, you can do it here. You can find more information on docs.rs builds documentation on the builds page.
# error kind ExecutionFailed
# pre-build errors command failed: exit status: 101
# rustc version rustc 1.98.0-nightly (f28ac764c 2026-06-23)
# docs.rs version docsrs 0.0.0 (886bc7a22b1adc4b387ce1343447fe3af98d9ce5 2026-06-14 )
# build log [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" "DOCS_RS=1" "-w" "/opt/rustwide/workdir" "--user" "1001:1001" "5bf8da9e6bed915f5f25a44ffc10aae223c3c9ffb326f4ac1b47f73e5401e1df" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "rustdoc" "--lib" "-Zrustdoc-map" "--config" "build.rustdocflags=[\"--cfg\", \"docsrs\", \"-Z\", \"unstable-options\", \"--emit=invocation-specific\", \"--resource-suffix\", \"-20260623-1.98.0-nightly-f28ac764c\", \"--static-root-path\", \"/-/rustdoc.static/\", \"--cap-lints\", \"warn\", \"--extern-html-root-takes-precedence\"]" "--offline" "-Zunstable-options" "--config=doc.extern-map.registries.crates-io=\"https://docs.rs/{pkg_name}/{version}/x86_64-unknown-linux-gnu\"" "-Zrustdoc-scrape-examples" "-j6" "--target" "x86_64-unknown-linux-gnu", kill_on_drop: false }` [INFO] [stderr] warning: target filter specified, but no targets matched; this is a no-op [INFO] [stderr] Documenting difflore-core v0.2.0 (/opt/rustwide/workdir) [INFO] [stderr] error: failed to load spec: failed to read "openapi-spec.json": file not found [INFO] [stderr] --> src/cloud/client.rs:511:61 [INFO] [stderr] | [INFO] [stderr] 511 | let body_value: serde_json::Value = match api!(POST "/token/refresh", body = &payload) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: failed to load spec: failed to read "openapi-spec.json": file not found [INFO] [stderr] --> src/cloud/client.rs:599:27 [INFO] [stderr] | [INFO] [stderr] 599 | api!(POST "/reviews/recall-past-verdicts", body = &req), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: failed to load spec: failed to read "openapi-spec.json": file not found [INFO] [stderr] --> src/cloud/client.rs:714:23 [INFO] [stderr] | [INFO] [stderr] 714 | api!(POST "/reviews/{prReviewId}/trajectory", prReviewId = &pr_review_id, body = &req), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: failed to load spec: failed to read "openapi-spec.json": file not found [INFO] [stderr] --> src/cloud/client.rs:728:23 [INFO] [stderr] | [INFO] [stderr] 728 | api!(POST "/reviews/{id}/metrics", id = &review_id, body = &req), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: failed to load spec: failed to read "openapi-spec.json": file not found [INFO] [stderr] --> src/cloud/client.rs:760:23 [INFO] [stderr] | [INFO] [stderr] 760 | api!(POST "/dashboard/mcp-query", body = &body), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: failed to load spec: failed to read "openapi-spec.json": file not found [INFO] [stderr] --> src/cloud/client.rs:772:23 [INFO] [stderr] | [INFO] [stderr] 772 | api!(POST "/reviews/import", body = req), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: failed to load spec: failed to read "openapi-spec.json": file not found [INFO] [stderr] --> src/cloud/client.rs:784:23 [INFO] [stderr] | [INFO] [stderr] 784 | api!(POST "/cloud/observations", body = &batch), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: failed to load spec: failed to read "openapi-spec.json": file not found [INFO] [stderr] --> src/cloud/client.rs:797:23 [INFO] [stderr] | [INFO] [stderr] 797 | api!(POST "/cloud/session-mined-candidates", body = &batch), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: failed to load spec: failed to read "openapi-spec.json": file not found [INFO] [stderr] --> src/cloud/client.rs:814:23 [INFO] [stderr] | [INFO] [stderr] 814 | api!(POST "/reviews/{id}/metrics", id = &review_id, body = &req), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: failed to load spec: failed to read "openapi-spec.json": file not found [INFO] [stderr] --> src/cloud/client.rs:827:23 [INFO] [stderr] | [INFO] [stderr] 827 | api!(POST "/reviews/{prReviewId}/trajectory", prReviewId = &pr_review_id, body = &req), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: failed to load spec: failed to read "openapi-spec.json": file not found [INFO] [stderr] --> src/cloud/client.rs:847:22 [INFO] [stderr] | [INFO] [stderr] 847 | api!(GET "/reviews/{prReviewId}/trajectory", prReviewId = &pr_review_id), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: failed to load spec: failed to read "openapi-spec.json": file not found [INFO] [stderr] --> src/cloud/client.rs:862:23 [INFO] [stderr] | [INFO] [stderr] 862 | api!(POST "/accepted-edits", body = &req), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: failed to load spec: failed to read "openapi-spec.json": file not found [INFO] [stderr] --> src/cloud/client.rs:873:23 [INFO] [stderr] | [INFO] [stderr] 873 | api!(POST "/reviews/import", body = req), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: failed to load spec: failed to read "openapi-spec.json": file not found [INFO] [stderr] --> src/cloud/client.rs:889:23 [INFO] [stderr] | [INFO] [stderr] 889 | api!(POST "/cloud/observations", body = &batch), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: failed to load spec: failed to read "openapi-spec.json": file not found [INFO] [stderr] --> src/cloud/client.rs:1004:48 [INFO] [stderr] | [INFO] [stderr] 1004 | self.fetch_logged_in_api_json(api!(GET "/impact/banner"), "impact_banner") [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: failed to load spec: failed to read "openapi-spec.json": file not found [INFO] [stderr] --> src/cloud/client.rs:1010:48 [INFO] [stderr] | [INFO] [stderr] 1010 | self.fetch_logged_in_api_json(api!(GET "/impact/weekly"), "impact_weekly") [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: failed to load spec: failed to read "openapi-spec.json": file not found [INFO] [stderr] --> src/cloud/client.rs:1016:48 [INFO] [stderr] | [INFO] [stderr] 1016 | self.fetch_logged_in_api_json(api!(GET "/impact/top-rules"), "impact_top_rules") [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: failed to load spec: failed to read "openapi-spec.json": file not found [INFO] [stderr] --> src/cloud/client.rs:1022:48 [INFO] [stderr] | [INFO] [stderr] 1022 | self.fetch_logged_in_api_json(api!(GET "/impact/coverage"), "impact_coverage") [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: failed to load spec: failed to read "openapi-spec.json": file not found [INFO] [stderr] --> src/cloud/client.rs:1028:48 [INFO] [stderr] | [INFO] [stderr] 1028 | self.fetch_logged_in_api_json(api!(GET "/impact/fix-scorecard"), "impact_fix_scorecard") [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: failed to load spec: failed to read "openapi-spec.json": file not found [INFO] [stderr] --> src/cloud/endpoints.rs:132:50 [INFO] [stderr] | [INFO] [stderr] 132 | let device: RegisterDeviceResult = api!(POST "/auth/devices", body = &payload) [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: failed to load spec: failed to read "openapi-spec.json": file not found [INFO] [stderr] --> src/cloud/sync.rs:97:35 [INFO] [stderr] | [INFO] [stderr] 97 | .fetch_api_json(api!(POST "/rules/sync", body = &payload), "rules_sync") [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: failed to load spec: failed to read "openapi-spec.json": file not found [INFO] [stderr] --> src/cloud/sync.rs:265:56 [INFO] [stderr] | [INFO] [stderr] 265 | let skills_json: Vec<serde_json::Value> = api!(GET "/rules/team").fetch(client).await?; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: failed to load spec: failed to read "openapi-spec.json": file not found [INFO] [stderr] --> src/cloud/sync.rs:287:31 [INFO] [stderr] | [INFO] [stderr] 287 | let _: Success = api!(PUT "/sync/settings", body = &payload) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: failed to load spec: failed to read "openapi-spec.json": file not found [INFO] [stderr] --> src/cloud/sync.rs:347:31 [INFO] [stderr] | [INFO] [stderr] 347 | let _: Success = api!(PUT "/sync/providers", body = &payload) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: failed to load spec: failed to read "openapi-spec.json": file not found [INFO] [stderr] --> src/cloud/sync.rs:358:41 [INFO] [stderr] | [INFO] [stderr] 358 | let result: SyncSettings = api!(GET "/sync/settings").fetch(client).await?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: failed to load spec: failed to read "openapi-spec.json": file not found [INFO] [stderr] --> src/cloud/sync.rs:381:42 [INFO] [stderr] | [INFO] [stderr] 381 | let result: SyncProviders = api!(GET "/sync/providers").fetch(client).await?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: failed to load spec: failed to read "openapi-spec.json": file not found [INFO] [stderr] --> src/cloud/sync.rs:483:63 [INFO] [stderr] | [INFO] [stderr] 483 | let mut profile_result: Result<UserProfile, _> = api!(GET "/auth/profile").fetch(client).await; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: failed to load spec: failed to read "openapi-spec.json": file not found [INFO] [stderr] --> src/cloud/sync.rs:486:35 [INFO] [stderr] | [INFO] [stderr] 486 | profile_result = api!(GET "/auth/profile").fetch(&status_client).await; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: failed to load spec: failed to read "openapi-spec.json": file not found [INFO] [stderr] --> src/cloud/sync.rs:503:18 [INFO] [stderr] | [INFO] [stderr] 503 | api!(GET "/billing/current").fetch(&status_client).await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: failed to load spec: failed to read "openapi-spec.json": file not found [INFO] [stderr] --> src/cloud/sync.rs:509:57 [INFO] [stderr] | [INFO] [stderr] 509 | let team_result: Result<Option<Team>, _> = api!(GET "/teams/my").fetch(&status_client).await; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: failed to load spec: failed to read "openapi-spec.json": file not found [INFO] [stderr] --> src/team/api.rs:28:39 [INFO] [stderr] | [INFO] [stderr] 28 | let team: Option<Team> = api!(GET "/teams/my").fetch(client).await.ok().flatten(); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: failed to load spec: failed to read "openapi-spec.json": file not found [INFO] [stderr] --> src/team/api.rs:50:45 [INFO] [stderr] | [INFO] [stderr] 50 | let members: Vec<TeamMember> = api!(GET "/teams/{id}/members", id = &team_id) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: failed to load spec: failed to read "openapi-spec.json": file not found [INFO] [stderr] --> src/team/api.rs:69:42 [INFO] [stderr] | [INFO] [stderr] 69 | let result: InviteResult = api!(POST "/teams/{id}/invite", id = &team_id, body = &body) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: failed to load spec: failed to read "openapi-spec.json": file not found [INFO] [stderr] --> src/team/api.rs:85:21 [INFO] [stderr] | [INFO] [stderr] 85 | api!(DELETE "/teams/{id}/members/{userId}", id = &team_id, userId = &input.user_id) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: failed to load spec: failed to read "openapi-spec.json": file not found [INFO] [stderr] --> src/team/api.rs:98:31 [INFO] [stderr] | [INFO] [stderr] 98 | let _: Success = api!(PUT "/teams/{id}/members/{userId}/role", id = &team_id, userId = &input.user_id, body = &body) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: failed to load spec: failed to read "openapi-spec.json": file not found [INFO] [stderr] --> src/team/api.rs:114:55 [INFO] [stderr] | [INFO] [stderr] 114 | let rules_json: Vec<serde_json::Value> = api!(GET "/rules/team").fetch(&client).await?; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: failed to load spec: failed to read "openapi-spec.json": file not found [INFO] [stderr] --> src/team/api.rs:205:32 [INFO] [stderr] | [INFO] [stderr] 205 | let _: Success = api!(POST "/rules/team/publish", body = &body) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: failed to load spec: failed to read "openapi-spec.json": file not found [INFO] [stderr] --> src/team/api.rs:224:32 [INFO] [stderr] | [INFO] [stderr] 224 | let _: Success = api!(POST "/rules/team/unpublish", body = &body) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: failed to load spec: failed to read "openapi-spec.json": file not found [INFO] [stderr] --> src/team/api.rs:236:42 [INFO] [stderr] | [INFO] [stderr] 236 | let rows: Vec<Extraction> = api!(GET "/reviews/extractions/recent") [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: failed to load spec: failed to read "openapi-spec.json": file not found [INFO] [stderr] --> src/team/cloud_id.rs:194:53 [INFO] [stderr] | [INFO] [stderr] 194 | let created_json: serde_json::Value = api!(POST "/rules", body = &body).fetch(client).await?; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: could not document `difflore-core` [INFO] running `Command { std: "docker" "inspect" "5bf8da9e6bed915f5f25a44ffc10aae223c3c9ffb326f4ac1b47f73e5401e1df", kill_on_drop: false }`