{
  "schema_version": "1.0",
  "id": "rust",
  "name": "Rust",
  "as_of": "2026-09-03",
  "scope": "A structural map of the official Rust toolchain, compiler, package and publication systems, runtime boundaries, and representative community integration layers. It is complete for the relationships listed here, not an exhaustive catalogue of crates.",
  "narrative_source_ids": [
    "release-1-98",
    "rust-reference",
    "book-ownership",
    "book-traits",
    "book-errors",
    "book-concurrency",
    "book-async",
    "editions",
    "cargo-manifest",
    "cargo-commands",
    "cargo-profiles",
    "cargo-tests",
    "cargo-doc",
    "cargo-semver",
    "cargo-lints",
    "cargo-metadata",
    "governance",
    "goals-2026"
  ],
  "stable": {
    "version": "1.98.0",
    "released": "2026-08-20",
    "edition": "2024",
    "source_id": "release-1-98"
  },
  "layers": [
    {
      "id": "services",
      "label": "Public services",
      "description": "Registry, immutable package archives, indexes, and generated API documentation.",
      "class": "s-dynamic"
    },
    {
      "id": "distribution",
      "label": "Distribution",
      "description": "Versioned channels, host toolchains, target standard libraries, and optional components.",
      "class": "s-ownership"
    },
    {
      "id": "authoring",
      "label": "Authoring",
      "description": "Project orchestration, editor semantics, formatting, linting, documentation, testing, and interpretation.",
      "class": "s-static"
    },
    {
      "id": "build",
      "label": "Build-time code",
      "description": "Dependency resolution plus host-executed build scripts and procedural macros.",
      "class": "s-manual"
    },
    {
      "id": "compiler",
      "label": "Compiler",
      "description": "Query-driven parsing, type checking, borrow checking, optimization, code generation, and linking.",
      "class": "s-gc"
    },
    {
      "id": "runtime",
      "label": "Runtime boundary",
      "description": "The core, allocation, and operating-system library layers plus an application-selected async executor.",
      "class": "s-ownership"
    },
    {
      "id": "community",
      "label": "Community stack",
      "description": "Representative, replaceable crates that form application stacks above the language and standard library.",
      "class": "s-neutral"
    }
  ],
  "components": [
    {
      "id": "crates-io",
      "name": "crates.io",
      "short": "registry + index",
      "layer": "services",
      "status": "official-service",
      "role": "Default Cargo registry and permanent archive for published crate versions; index entries carry checksums and yank state.",
      "source_ids": ["cargo-publishing", "registry-index"]
    },
    {
      "id": "docs-rs",
      "name": "docs.rs",
      "short": "hosted rustdoc",
      "layer": "services",
      "status": "official-service",
      "role": "Sandboxed documentation builder and host for libraries published to crates.io.",
      "source_ids": ["docs-rs-about", "docs-rs-builds"]
    },
    {
      "id": "rustup",
      "name": "rustup",
      "short": "toolchain mux",
      "layer": "distribution",
      "status": "official-tool",
      "role": "Installs and selects stable, beta, nightly, archived, or custom toolchains and target libraries.",
      "source_ids": ["rustup-toolchains", "rustup-components"]
    },
    {
      "id": "cargo",
      "name": "Cargo",
      "short": "graph + build",
      "layer": "authoring",
      "status": "official-tool",
      "role": "Owns package metadata, dependency and feature resolution, build planning, compiler invocation, testing, documentation, and publication commands.",
      "source_ids": ["cargo-why", "cargo-internals"]
    },
    {
      "id": "rust-analyzer",
      "name": "rust-analyzer",
      "short": "IDE semantics",
      "layer": "authoring",
      "status": "official-tool",
      "role": "Language Server Protocol implementation with an incremental semantic model of crates and source files.",
      "source_ids": ["rust-tools", "rust-analyzer-book"]
    },
    {
      "id": "quality-tools",
      "name": "fmt + Clippy + test",
      "short": "quality gates",
      "layer": "authoring",
      "status": "official-tool",
      "role": "Standard formatting, compiler-integrated linting, unit/integration/doc-test execution, and fix suggestions.",
      "source_ids": ["rust-tools", "rustup-components"]
    },
    {
      "id": "rustdoc-miri",
      "name": "rustdoc + Miri",
      "short": "docs + MIR checks",
      "layer": "authoring",
      "status": "official-tool",
      "role": "Generates API documentation and interprets MIR to detect classes of undefined behavior; Miri remains an optional component.",
      "source_ids": ["rustup-proxies", "miri"]
    },
    {
      "id": "resolver",
      "name": "Cargo resolver",
      "short": "versions + features",
      "layer": "build",
      "status": "official-tool",
      "role": "Selects compatible package versions, creates the lock graph, and computes activated features for compilation.",
      "source_ids": ["cargo-resolver", "cargo-features"]
    },
    {
      "id": "build-script",
      "name": "build.rs",
      "short": "host executable",
      "layer": "build",
      "status": "project-code",
      "role": "A package-defined program compiled for and executed on the host; communicates compiler and linker configuration through Cargo instructions.",
      "source_ids": ["cargo-build-scripts"]
    },
    {
      "id": "proc-macro",
      "name": "proc macro",
      "short": "token transform",
      "layer": "build",
      "status": "project-code",
      "role": "Host-loaded compiler plugin crate that receives and returns token streams during expansion.",
      "source_ids": ["reference-proc-macros"]
    },
    {
      "id": "rustc-front",
      "name": "rustc front end",
      "short": "tokens → HIR",
      "layer": "compiler",
      "status": "official-tool",
      "role": "Lexes, parses, expands macros, resolves names, lowers the AST to HIR, and performs type and trait checking through compiler queries.",
      "source_ids": ["rustc-overview"]
    },
    {
      "id": "mir",
      "name": "MIR + borrow check",
      "short": "typed CFG",
      "layer": "compiler",
      "status": "official-tool",
      "role": "Runs exhaustiveness and borrow checking over typed intermediate forms, then MIR optimization and monomorphization collection.",
      "source_ids": ["rustc-overview"]
    },
    {
      "id": "backend-linker",
      "name": "backend + linker",
      "short": "LLVM IR → artifact",
      "layer": "compiler",
      "status": "external-boundary",
      "role": "Translates monomorphized MIR to backend IR and machine objects, then combines objects and native libraries into the target artifact.",
      "source_ids": ["rustc-overview", "rustc-linker"]
    },
    {
      "id": "core-alloc-std",
      "name": "core / alloc / std",
      "short": "library profiles",
      "layer": "runtime",
      "status": "official-library",
      "role": "Layered standard libraries: core without OS or allocation assumptions, alloc with a global allocator, and std with operating-system integration.",
      "source_ids": ["embedded-book", "std-docs"]
    },
    {
      "id": "async-runtime",
      "name": "async runtime",
      "short": "explicit choice",
      "layer": "runtime",
      "status": "community-choice",
      "role": "Application-selected executor, reactor, timers, and async I/O; async/await and Future do not select one for the program.",
      "source_ids": ["book-async", "tokio-runtime"]
    },
    {
      "id": "native-platform",
      "name": "OS / ABI / device",
      "short": "target boundary",
      "layer": "runtime",
      "status": "external-boundary",
      "role": "Target-specific operating system, C ABI, linker, WebAssembly host, kernel, or bare-metal device services.",
      "source_ids": ["platform-support", "rustup-cross"]
    },
    {
      "id": "serde",
      "name": "Serde",
      "short": "data formats",
      "layer": "community",
      "status": "community-crate",
      "role": "Trait- and derive-based serialization boundary shared by many formats and protocols.",
      "source_ids": ["serde-docs"]
    },
    {
      "id": "tokio",
      "name": "Tokio",
      "short": "async platform",
      "layer": "community",
      "status": "community-crate",
      "role": "Executor, task scheduler, I/O driver, timers, synchronization, and asynchronous operating-system APIs.",
      "source_ids": ["tokio-docs", "tokio-runtime"]
    },
    {
      "id": "axum-stack",
      "name": "axum / Tower / hyper",
      "short": "HTTP services",
      "layer": "community",
      "status": "community-crate",
      "role": "Composable routing, middleware/service abstraction, and HTTP transport stack built around Tokio.",
      "source_ids": ["axum-docs"]
    },
    {
      "id": "tracing",
      "name": "tracing",
      "short": "diagnostics",
      "layer": "community",
      "status": "community-crate",
      "role": "Structured, span-aware instrumentation suited to asynchronous and concurrent systems.",
      "source_ids": ["tracing-docs"]
    },
    {
      "id": "clap",
      "name": "clap",
      "short": "command line",
      "layer": "community",
      "status": "community-crate",
      "role": "Typed command-line argument parsing through builders or derive macros.",
      "source_ids": ["clap-docs"]
    },
    {
      "id": "database",
      "name": "SQLx / Diesel",
      "short": "database access",
      "layer": "community",
      "status": "community-crate",
      "role": "Two distinct database architectures: asynchronous SQL with checked queries, and a typed query-builder/ORM model.",
      "source_ids": ["sqlx-docs", "diesel-docs"]
    },
    {
      "id": "wasm-bindgen",
      "name": "wasm-bindgen",
      "short": "JS ↔ Wasm",
      "layer": "community",
      "status": "community-crate",
      "role": "Bindings and glue generation between Rust-produced WebAssembly modules and JavaScript hosts.",
      "source_ids": ["wasm-bindgen-guide"]
    },
    {
      "id": "embedded-hal",
      "name": "embedded-hal",
      "short": "device traits",
      "layer": "community",
      "status": "community-crate",
      "role": "Hardware abstraction traits allowing platform-agnostic embedded drivers over concrete HAL implementations.",
      "source_ids": ["embedded-hal-docs"]
    },
    {
      "id": "ffi-bridges",
      "name": "PyO3 / CXX",
      "short": "language bridges",
      "layer": "community",
      "status": "community-crate",
      "role": "Higher-level Python and C++ interoperability layers above raw extern functions and native ABIs.",
      "source_ids": ["pyo3-guide", "cxx-guide"]
    },
    {
      "id": "gui-game",
      "name": "egui / Bevy",
      "short": "UI + game ECS",
      "layer": "community",
      "status": "community-crate",
      "role": "Immediate-mode application UI and data-driven game/application architecture with an entity-component system.",
      "source_ids": ["egui-docs", "bevy-docs"]
    },
    {
      "id": "test-bench",
      "name": "proptest / Criterion",
      "short": "tests + benchmarks",
      "layer": "community",
      "status": "community-crate",
      "role": "Property-based test-case generation and statistics-aware microbenchmarking beyond the built-in test harness.",
      "source_ids": ["proptest-docs", "criterion-docs"]
    },
    {
      "id": "supply-chain",
      "name": "audit / deny / vet",
      "short": "dependency policy",
      "layer": "community",
      "status": "community-crate",
      "role": "Advisory checking, licence/source policy, and review-based dependency auditing over Cargo metadata and lockfiles.",
      "source_ids": ["rustsec", "cargo-deny", "cargo-vet"]
    }
  ],
  "relationships": [
    {"id": "rustup-installs-cargo", "from": "rustup", "to": "cargo", "kind": "installs", "label": "installs a channel-specific Cargo component", "source_ids": ["rustup-components"]},
    {"id": "rustup-installs-rustc", "from": "rustup", "to": "rustc-front", "kind": "installs", "label": "selects and proxies the active compiler toolchain", "source_ids": ["rustup-toolchains", "rustup-proxies"]},
    {"id": "rustup-installs-quality", "from": "rustup", "to": "quality-tools", "kind": "installs", "label": "adds rustfmt and Clippy components", "source_ids": ["rustup-components"]},
    {"id": "rustup-installs-doc-miri", "from": "rustup", "to": "rustdoc-miri", "kind": "installs", "label": "provides rustdoc with rustc and optionally installs Miri", "source_ids": ["rustup-components", "rustup-proxies"]},
    {"id": "cargo-queries-registry", "from": "cargo", "to": "crates-io", "kind": "fetches", "label": "queries index metadata and downloads checksummed crate archives", "source_ids": ["registry-index"]},
    {"id": "cargo-resolves", "from": "cargo", "to": "resolver", "kind": "invokes", "label": "computes package versions and activated features", "source_ids": ["cargo-resolver", "cargo-internals"]},
    {"id": "resolver-locks", "from": "resolver", "to": "cargo", "kind": "produces", "label": "returns the concrete dependency graph recorded in Cargo.lock", "source_ids": ["cargo-resolver"]},
    {"id": "cargo-runs-build-script", "from": "cargo", "to": "build-script", "kind": "executes", "label": "compiles and executes package build scripts on the host", "source_ids": ["cargo-build-scripts"]},
    {"id": "cargo-loads-proc-macro", "from": "cargo", "to": "proc-macro", "kind": "builds", "label": "builds procedural macro crates for the host", "source_ids": ["cargo-build-cache", "reference-proc-macros"]},
    {"id": "build-script-configures-rustc", "from": "build-script", "to": "rustc-front", "kind": "configures", "label": "emits cfg, environment, search-path, and linker instructions", "source_ids": ["cargo-build-scripts"]},
    {"id": "proc-macro-expands-rustc", "from": "proc-macro", "to": "rustc-front", "kind": "expands", "label": "transforms token streams during macro expansion", "source_ids": ["reference-proc-macros", "rustc-overview"]},
    {"id": "cargo-invokes-rustc", "from": "cargo", "to": "rustc-front", "kind": "invokes", "label": "runs rustc once per compilation unit with dependency metadata", "source_ids": ["cargo-why", "cargo-internals"]},
    {"id": "cargo-invokes-tools", "from": "cargo", "to": "quality-tools", "kind": "invokes", "label": "provides common test, lint, format, check, and fix workflows", "source_ids": ["rust-tools"]},
    {"id": "cargo-invokes-rustdoc", "from": "cargo", "to": "rustdoc-miri", "kind": "invokes", "label": "runs documentation and Miri subcommands through toolchain proxies", "source_ids": ["rustup-proxies"]},
    {"id": "analyzer-reads-cargo", "from": "rust-analyzer", "to": "cargo", "kind": "models", "label": "loads Cargo projects and crate graphs for editor analysis", "source_ids": ["rust-analyzer-book"]},
    {"id": "front-lowers-mir", "from": "rustc-front", "to": "mir", "kind": "lowers-to", "label": "lowers typed HIR through THIR into MIR", "source_ids": ["rustc-overview"]},
    {"id": "mir-codegen", "from": "mir", "to": "backend-linker", "kind": "lowers-to", "label": "monomorphizes and lowers optimized MIR to backend IR and objects", "source_ids": ["rustc-overview"]},
    {"id": "backend-targets-platform", "from": "backend-linker", "to": "native-platform", "kind": "targets", "label": "emits and links artifacts for a target triple and ABI", "source_ids": ["platform-support", "rustc-linker"]},
    {"id": "std-targets-platform", "from": "core-alloc-std", "to": "native-platform", "kind": "integrates-with", "label": "std exposes target operating-system services while core can run without them", "source_ids": ["embedded-book", "platform-support"]},
    {"id": "docs-rs-reads-crates", "from": "docs-rs", "to": "crates-io", "kind": "fetches", "label": "builds documentation for packages released through crates.io", "source_ids": ["docs-rs-about", "docs-rs-builds"]},
    {"id": "tokio-is-runtime", "from": "tokio", "to": "async-runtime", "kind": "implements", "label": "supplies an executor, scheduler, I/O driver, and timers", "source_ids": ["tokio-runtime"]},
    {"id": "tokio-targets-os", "from": "tokio", "to": "native-platform", "kind": "integrates-with", "label": "drives operating-system event queues and blocking boundaries", "source_ids": ["tokio-docs"]},
    {"id": "axum-uses-tokio", "from": "axum-stack", "to": "tokio", "kind": "depends-on", "label": "uses Tokio and hyper, with Tower as the middleware/service boundary", "source_ids": ["axum-docs"]},
    {"id": "axum-uses-serde", "from": "axum-stack", "to": "serde", "kind": "integrates-with", "label": "commonly maps typed request and response bodies through Serde formats", "source_ids": ["axum-docs", "serde-docs"]},
    {"id": "tracing-observes-tokio", "from": "tracing", "to": "tokio", "kind": "integrates-with", "label": "adds span-aware diagnostics across asynchronous tasks", "source_ids": ["tracing-docs"]},
    {"id": "database-uses-runtime", "from": "database", "to": "async-runtime", "kind": "integrates-with", "label": "SQLx uses an async runtime while Diesel's core query model is synchronous", "source_ids": ["sqlx-docs", "diesel-docs"]},
    {"id": "serde-uses-proc-macro", "from": "serde", "to": "proc-macro", "kind": "expands", "label": "derive support generates trait implementations at compile time", "source_ids": ["serde-docs"]},
    {"id": "clap-uses-proc-macro", "from": "clap", "to": "proc-macro", "kind": "expands", "label": "derive support generates typed argument parsing declarations", "source_ids": ["clap-docs"]},
    {"id": "wasm-targets-host", "from": "wasm-bindgen", "to": "native-platform", "kind": "targets", "label": "generates WebAssembly and JavaScript glue for a host boundary", "source_ids": ["wasm-bindgen-guide"]},
    {"id": "embedded-uses-core", "from": "embedded-hal", "to": "core-alloc-std", "kind": "depends-on", "label": "supports no_std drivers over target-specific HAL implementations", "source_ids": ["embedded-hal-docs", "embedded-book"]},
    {"id": "ffi-targets-native", "from": "ffi-bridges", "to": "native-platform", "kind": "integrates-with", "label": "crosses Python or C++ runtimes through generated native interfaces", "source_ids": ["pyo3-guide", "cxx-guide"]},
    {"id": "gui-game-targets-platform", "from": "gui-game", "to": "native-platform", "kind": "targets", "label": "builds event-loop, graphics, UI, and game artifacts for native or web targets", "source_ids": ["egui-docs", "bevy-docs"]},
    {"id": "test-bench-invoked", "from": "quality-tools", "to": "test-bench", "kind": "extends", "label": "extends built-in tests with generated cases and statistical benchmarks", "source_ids": ["proptest-docs", "criterion-docs"]},
    {"id": "supply-chain-reads-cargo", "from": "supply-chain", "to": "cargo", "kind": "audits", "label": "evaluates Cargo metadata, sources, and lock graphs against advisories or policy", "source_ids": ["rustsec", "cargo-deny", "cargo-vet"]}
  ],
  "domains": [
    {
      "id": "command-line",
      "label": "Command-line tools",
      "fit": "Single native binaries, typed argument models, fast startup, and straightforward cross-compilation.",
      "boundary": "Treat shell integration, platform packaging, and self-update behavior as product concerns outside Cargo.",
      "component_ids": ["clap", "serde", "tracing"],
      "source_ids": ["clap-docs", "serde-docs", "tracing-docs"]
    },
    {
      "id": "network-services",
      "label": "Network services",
      "fit": "Tokio supplies scheduling and I/O, while hyper/Tower/axum separate transport, middleware, extraction, and handlers.",
      "boundary": "Runtime choice becomes architectural: avoid blocking executor workers and propagate cancellation and backpressure deliberately.",
      "component_ids": ["tokio", "axum-stack", "serde", "tracing", "database"],
      "source_ids": ["tokio-runtime", "axum-docs", "tracing-docs"]
    },
    {
      "id": "embedded",
      "label": "Embedded and kernels",
      "fit": "core and optionally alloc support no_std binaries; embedded-hal traits separate reusable drivers from device HALs.",
      "boundary": "Allocator, panic handler, interrupts, startup, linker script, and hardware concurrency are explicit platform responsibilities.",
      "component_ids": ["core-alloc-std", "embedded-hal", "native-platform"],
      "source_ids": ["embedded-book", "embedded-hal-docs"]
    },
    {
      "id": "webassembly",
      "label": "WebAssembly",
      "fit": "Rust targets Wasm while wasm-bindgen generates the JavaScript-facing import/export layer.",
      "boundary": "The browser or component host owns I/O, threading, loading, and object models; the ABI/glue boundary is part of the system design.",
      "component_ids": ["wasm-bindgen", "core-alloc-std", "native-platform"],
      "source_ids": ["wasm-bindgen-guide", "platform-support"]
    },
    {
      "id": "native-extension",
      "label": "Native extensions and migration",
      "fit": "PyO3 and CXX wrap raw ABIs with generated conversions and safer host-language APIs.",
      "boundary": "Ownership, exceptions or panics, threading, allocator identity, and ABI compatibility must be specified at every foreign edge.",
      "component_ids": ["ffi-bridges", "native-platform", "core-alloc-std"],
      "source_ids": ["pyo3-guide", "cxx-guide", "nomicon-ffi"]
    },
    {
      "id": "data-applications",
      "label": "Data-backed applications",
      "fit": "Serde defines format-independent data traits; SQLx and Diesel offer different compile-time boundaries for database access.",
      "boundary": "Schema migration, connection-pool behavior, transaction ownership, and offline query metadata remain operational design choices.",
      "component_ids": ["serde", "database", "async-runtime"],
      "source_ids": ["serde-docs", "sqlx-docs", "diesel-docs"]
    },
    {
      "id": "interactive",
      "label": "GUI and games",
      "fit": "egui offers immediate-mode interfaces; Bevy supplies a plugin-oriented ECS application and game architecture.",
      "boundary": "Platform windows, GPU APIs, assets, frame scheduling, and web/native feature sets broaden the dependency and build graph quickly.",
      "component_ids": ["gui-game", "native-platform"],
      "source_ids": ["egui-docs", "bevy-docs"]
    },
    {
      "id": "assurance",
      "label": "Testing and supply-chain assurance",
      "fit": "Property tests and statistical benchmarks cover behavior and performance; audit, deny, and vet cover dependency risk from different angles.",
      "boundary": "No single tool establishes trust: advisories, licences, source policy, maintainer review, unsafe code, and reproducibility are separate claims.",
      "component_ids": ["test-bench", "supply-chain", "cargo"],
      "source_ids": ["proptest-docs", "criterion-docs", "rustsec", "cargo-deny", "cargo-vet"]
    }
  ],
  "decisions": [
    {
      "id": "std-profile",
      "question": "Does the target provide an operating system and allocator?",
      "default": "Use std for hosted applications; choose no_std only when the platform contract requires it.",
      "tradeoff": "Moving from std to alloc/core removes assumptions, but transfers allocation, panic, I/O, synchronization, and startup integration to the application.",
      "source_ids": ["embedded-book", "std-docs"]
    },
    {
      "id": "async-boundary",
      "question": "Is there enough concurrent waiting to justify an executor ecosystem?",
      "default": "Prefer synchronous code for small bounded flows; select and isolate one async runtime for high-concurrency I/O.",
      "tradeoff": "Async reduces waiting-thread cost but introduces pinning, cancellation, task-local context, blocking boundaries, and runtime coupling.",
      "source_ids": ["book-async", "tokio-runtime"]
    },
    {
      "id": "workspace-boundary",
      "question": "Which components need independent package identity or dependency policy?",
      "default": "Start with one package and split a workspace at deployable, ownership, compile-time, or feature boundaries.",
      "tradeoff": "Workspaces share a lockfile and target directory, but package splits add public interfaces and can multiply feature/build combinations.",
      "source_ids": ["cargo-glossary", "cargo-workspaces"]
    },
    {
      "id": "dispatch-boundary",
      "question": "Does variation need to be open at runtime or closed at compile time?",
      "default": "Use generics and enums for closed performance-sensitive variation; trait objects for runtime extension points.",
      "tradeoff": "Monomorphization enables inlining but grows code and compile work; dynamic dispatch stabilizes a boundary but erases concrete type information.",
      "source_ids": ["book-traits"]
    },
    {
      "id": "unsafe-boundary",
      "question": "Which invariant cannot be represented in safe types?",
      "default": "Keep unsafe operations private behind a small safe API and document the invariant they rely on.",
      "tradeoff": "An unsafe block is local syntax, but soundness depends on surrounding state and module privacy, so line counts are not a sufficient audit.",
      "source_ids": ["nomicon-safe-unsafe", "nomicon-working-unsafe"]
    },
    {
      "id": "dependency-trust",
      "question": "Which dependency code executes during build or enters the final artifact?",
      "default": "Inspect the resolved graph, minimize features, pin reproducible inputs, and apply advisory, licence, source, and review policies separately.",
      "tradeoff": "Cargo.lock fixes versions and registry checksums protect bytes, but neither establishes maintainer intent or the safety of host-executed build code.",
      "source_ids": ["cargo-resolver", "registry-index", "cargo-build-scripts", "cargo-vet"]
    }
  ],
  "sources": [
    {"id": "release-1-98", "title": "Announcing Rust 1.98.0", "publisher": "Rust Release Team", "url": "https://blog.rust-lang.org/2026/08/20/Rust-1.98.0/"},
    {"id": "rust-reference", "title": "The Rust Reference", "publisher": "The Rust Project", "url": "https://doc.rust-lang.org/reference/"},
    {"id": "book-ownership", "title": "The Rust Programming Language: Understanding Ownership", "publisher": "The Rust Project", "url": "https://doc.rust-lang.org/book/ch04-00-understanding-ownership.html"},
    {"id": "book-traits", "title": "The Rust Programming Language: Traits", "publisher": "The Rust Project", "url": "https://doc.rust-lang.org/book/ch10-02-traits.html"},
    {"id": "book-errors", "title": "The Rust Programming Language: Error Handling", "publisher": "The Rust Project", "url": "https://doc.rust-lang.org/book/ch09-00-error-handling.html"},
    {"id": "book-concurrency", "title": "The Rust Programming Language: Send and Sync", "publisher": "The Rust Project", "url": "https://doc.rust-lang.org/book/ch16-04-extensible-concurrency-sync-and-send.html"},
    {"id": "book-async", "title": "The Rust Programming Language: Async and Await", "publisher": "The Rust Project", "url": "https://doc.rust-lang.org/book/ch17-00-async-await.html"},
    {"id": "editions", "title": "Rust Edition Guide: What are editions?", "publisher": "The Rust Project", "url": "https://doc.rust-lang.org/edition-guide/editions/"},
    {"id": "platform-support", "title": "rustc Platform Support", "publisher": "The Rust Project", "url": "https://doc.rust-lang.org/rustc/platform-support.html"},
    {"id": "rustc-linker", "title": "rustc Codegen Options: linker", "publisher": "The Rust Project", "url": "https://doc.rust-lang.org/rustc/codegen-options/index.html#linker"},
    {"id": "rustup-toolchains", "title": "The rustup book: Toolchains", "publisher": "The Rust Project", "url": "https://rust-lang.github.io/rustup/concepts/toolchains.html"},
    {"id": "rustup-components", "title": "The rustup book: Components", "publisher": "The Rust Project", "url": "https://rust-lang.github.io/rustup/concepts/components.html"},
    {"id": "rustup-proxies", "title": "The rustup book: Proxies", "publisher": "The Rust Project", "url": "https://rust-lang.github.io/rustup/concepts/proxies.html"},
    {"id": "rustup-cross", "title": "The rustup book: Cross-compilation", "publisher": "The Rust Project", "url": "https://rust-lang.github.io/rustup/cross-compilation.html"},
    {"id": "cargo-glossary", "title": "The Cargo Book: Glossary", "publisher": "The Rust Project", "url": "https://doc.rust-lang.org/cargo/appendix/glossary.html"},
    {"id": "cargo-why", "title": "The Cargo Book: Why Cargo Exists", "publisher": "The Rust Project", "url": "https://doc.rust-lang.org/cargo/guide/why-cargo-exists.html"},
    {"id": "cargo-manifest", "title": "The Cargo Book: The Manifest Format", "publisher": "The Rust Project", "url": "https://doc.rust-lang.org/cargo/reference/manifest.html"},
    {"id": "cargo-commands", "title": "The Cargo Book: Commands", "publisher": "The Rust Project", "url": "https://doc.rust-lang.org/cargo/commands/index.html"},
    {"id": "cargo-workspaces", "title": "The Cargo Book: Workspaces", "publisher": "The Rust Project", "url": "https://doc.rust-lang.org/cargo/reference/workspaces.html"},
    {"id": "cargo-resolver", "title": "The Cargo Book: Dependency Resolution", "publisher": "The Rust Project", "url": "https://doc.rust-lang.org/cargo/reference/resolver.html"},
    {"id": "cargo-features", "title": "The Cargo Book: Features", "publisher": "The Rust Project", "url": "https://doc.rust-lang.org/cargo/reference/features.html"},
    {"id": "cargo-profiles", "title": "The Cargo Book: Profiles", "publisher": "The Rust Project", "url": "https://doc.rust-lang.org/cargo/reference/profiles.html"},
    {"id": "cargo-tests", "title": "The Cargo Book: cargo test", "publisher": "The Rust Project", "url": "https://doc.rust-lang.org/cargo/commands/cargo-test.html"},
    {"id": "cargo-doc", "title": "The Cargo Book: cargo doc", "publisher": "The Rust Project", "url": "https://doc.rust-lang.org/cargo/commands/cargo-doc.html"},
    {"id": "cargo-semver", "title": "The Cargo Book: SemVer Compatibility", "publisher": "The Rust Project", "url": "https://doc.rust-lang.org/cargo/reference/semver.html"},
    {"id": "cargo-lints", "title": "The Cargo Book: Lints", "publisher": "The Rust Project", "url": "https://doc.rust-lang.org/cargo/reference/manifest.html#the-lints-section"},
    {"id": "cargo-metadata", "title": "The Cargo Book: cargo metadata", "publisher": "The Rust Project", "url": "https://doc.rust-lang.org/cargo/commands/cargo-metadata.html"},
    {"id": "cargo-build-scripts", "title": "The Cargo Book: Build Scripts", "publisher": "The Rust Project", "url": "https://doc.rust-lang.org/cargo/reference/build-scripts.html"},
    {"id": "cargo-build-cache", "title": "The Cargo Book: Build Cache", "publisher": "The Rust Project", "url": "https://doc.rust-lang.org/cargo/reference/build-cache.html"},
    {"id": "cargo-publishing", "title": "The Cargo Book: Publishing on crates.io", "publisher": "The Rust Project", "url": "https://doc.rust-lang.org/cargo/reference/publishing.html"},
    {"id": "registry-index", "title": "The Cargo Book: Registry Index", "publisher": "The Rust Project", "url": "https://doc.rust-lang.org/cargo/reference/registry-index.html"},
    {"id": "cargo-internals", "title": "Cargo internals overview", "publisher": "The Rust Project", "url": "https://doc.rust-lang.org/stable/nightly-rustc/cargo/index.html"},
    {"id": "reference-proc-macros", "title": "The Rust Reference: Procedural macros", "publisher": "The Rust Project", "url": "https://doc.rust-lang.org/reference/procedural-macros.html"},
    {"id": "rustc-overview", "title": "Rust Compiler Development Guide: Overview", "publisher": "The Rust Project", "url": "https://rustc-dev-guide.rust-lang.org/overview.html"},
    {"id": "rust-tools", "title": "Rust tools", "publisher": "The Rust Project", "url": "https://rust-lang.org/tools/"},
    {"id": "rust-analyzer-book", "title": "rust-analyzer manual", "publisher": "The Rust Project", "url": "https://rust-analyzer.github.io/book/"},
    {"id": "miri", "title": "Miri", "publisher": "The Rust Project", "url": "https://github.com/rust-lang/miri"},
    {"id": "docs-rs-about", "title": "About docs.rs", "publisher": "The Rust Project", "url": "https://docs.rs/about"},
    {"id": "docs-rs-builds", "title": "docs.rs build model", "publisher": "The Rust Project", "url": "https://docs.rs/about/builds"},
    {"id": "embedded-book", "title": "The Embedded Rust Book: no_std", "publisher": "The Rust Project", "url": "https://docs.rust-embedded.org/book/intro/no-std.html"},
    {"id": "std-docs", "title": "The Rust Standard Library", "publisher": "The Rust Project", "url": "https://doc.rust-lang.org/std/"},
    {"id": "nomicon-safe-unsafe", "title": "The Rustonomicon: How Safe and Unsafe Interact", "publisher": "The Rust Project", "url": "https://doc.rust-lang.org/nomicon/safe-unsafe-meaning.html"},
    {"id": "nomicon-working-unsafe", "title": "The Rustonomicon: Working with Unsafe", "publisher": "The Rust Project", "url": "https://doc.rust-lang.org/nomicon/working-with-unsafe.html"},
    {"id": "nomicon-ffi", "title": "The Rustonomicon: FFI", "publisher": "The Rust Project", "url": "https://doc.rust-lang.org/nomicon/ffi.html"},
    {"id": "serde-docs", "title": "Serde documentation", "publisher": "Serde project", "url": "https://serde.rs/"},
    {"id": "tokio-docs", "title": "Tokio documentation", "publisher": "Tokio project", "url": "https://docs.rs/tokio/latest/tokio/"},
    {"id": "tokio-runtime", "title": "Tokio runtime architecture", "publisher": "Tokio project", "url": "https://docs.rs/tokio/latest/tokio/runtime/"},
    {"id": "axum-docs", "title": "axum documentation", "publisher": "Tokio project", "url": "https://docs.rs/axum/latest/axum/"},
    {"id": "tracing-docs", "title": "tracing documentation", "publisher": "Tokio project", "url": "https://docs.rs/tracing/latest/tracing/"},
    {"id": "clap-docs", "title": "clap documentation", "publisher": "clap project", "url": "https://docs.rs/clap/latest/clap/"},
    {"id": "sqlx-docs", "title": "SQLx documentation", "publisher": "launchbadge", "url": "https://docs.rs/sqlx/latest/sqlx/"},
    {"id": "diesel-docs", "title": "Diesel documentation", "publisher": "Diesel project", "url": "https://docs.rs/diesel/latest/diesel/"},
    {"id": "wasm-bindgen-guide", "title": "The wasm-bindgen Guide", "publisher": "wasm-bindgen project", "url": "https://rustwasm.github.io/docs/wasm-bindgen/"},
    {"id": "embedded-hal-docs", "title": "embedded-hal documentation", "publisher": "Rust Embedded", "url": "https://docs.rs/embedded-hal/latest/embedded_hal/"},
    {"id": "pyo3-guide", "title": "PyO3 user guide", "publisher": "PyO3 project", "url": "https://pyo3.rs/"},
    {"id": "cxx-guide", "title": "CXX Rust/C++ interop", "publisher": "CXX project", "url": "https://cxx.rs/"},
    {"id": "egui-docs", "title": "egui documentation", "publisher": "emilk", "url": "https://docs.rs/egui/latest/egui/"},
    {"id": "bevy-docs", "title": "Bevy documentation", "publisher": "Bevy project", "url": "https://docs.rs/bevy/latest/bevy/"},
    {"id": "proptest-docs", "title": "proptest documentation", "publisher": "proptest project", "url": "https://docs.rs/proptest/latest/proptest/"},
    {"id": "criterion-docs", "title": "Criterion.rs documentation", "publisher": "Criterion project", "url": "https://bheisler.github.io/criterion.rs/book/"},
    {"id": "rustsec", "title": "RustSec Advisory Database", "publisher": "RustSec", "url": "https://rustsec.org/"},
    {"id": "cargo-deny", "title": "cargo-deny documentation", "publisher": "Embark Studios", "url": "https://embarkstudios.github.io/cargo-deny/"},
    {"id": "cargo-vet", "title": "cargo-vet documentation", "publisher": "Mozilla", "url": "https://mozilla.github.io/cargo-vet/"},
    {"id": "governance", "title": "Rust governance", "publisher": "The Rust Project", "url": "https://rust-lang.org/governance/"},
    {"id": "goals-2026", "title": "Rust Project Goals 2026", "publisher": "The Rust Project", "url": "https://goals.rust-lang.org/2026/"}
  ]
}
