---
description: Scrape, reconcile, and rebuild accurate Zenoh documentation from 15 parallel source streams.
category: personal
---
flowchart TD
_HEADER_["
Rebuild Zenoh Docs
Scrape, reconcile, and rebuild accurate Zenoh documentation from 15 parallel source streams.
"]:::headerStyle
classDef headerStyle fill:none,stroke:none
subgraph _MAIN_[" "]
direction LR
%% Phase 1: Source Inventory
subgraph Inventory["Phase 1: Source Inventory"]
REPOS[Enumerate Repos] --> MANIFEST[Build Source Manifest]
SITES[Identify Doc Sites] --> MANIFEST
MEDIA[Find Media Sources] --> MANIFEST
ECOMAP[Map Ecosystem] --> MANIFEST
end
%% Phase 2a: Official Sources
subgraph Official["Phase 2a: Official Sources"]
MANIFEST --> WEB[Scrape zenoh.io]
MANIFEST --> RUST[Scrape Rust Docs]
MANIFEST --> LANG[Scrape Language Bindings]
MANIFEST --> BLOG[Scrape Blog Posts]
MANIFEST --> ZETTA[Scrape ZettaScale]
end
%% Phase 2b: GitHub Sources
subgraph GitHub["Phase 2b: GitHub Sources"]
MANIFEST --> GH[Scrape GitHub History]
MANIFEST --> DEPS[Mine Reverse Deps]
MANIFEST --> DEMOS[Scrape Demo Repos]
end
%% Phase 2c: Community Sources
subgraph Community["Phase 2c: Community Sources"]
MANIFEST --> YT[Scrape YouTube]
MANIFEST --> CONF[Scrape Conferences]
MANIFEST --> DISCORD[Mine Discord]
MANIFEST --> FORUMS[Mine Forums]
end
%% Phase 2d: Ecosystem Sources
subgraph Ecosystem["Phase 2d: Ecosystem Sources"]
MANIFEST --> ROS[Scrape ROS2 Ecosystem]
MANIFEST --> PAPERS[Scrape Academic Papers]
MANIFEST --> EMBED[Scrape Embedded Ecosystem]
MANIFEST --> SEC[Scrape Security Sources]
MANIFEST --> INTEG[Scrape Integrations]
end
%% Phase 3: Knowledge Extraction
subgraph Extract["Phase 3: Knowledge Extraction"]
WEB & RUST & LANG & DEPS --> API[Extract API Surface]
GH --> CHANGES[Extract Breaking Changes]
GH & DISCORD & FORUMS --> TRIBAL[Extract Tribal Knowledge]
YT & BLOG & CONF & ZETTA --> CONCEPTS[Extract Concepts]
PAPERS --> BENCH[Extract Benchmarks]
ROS & EMBED & INTEG & DEMOS --> USAGE[Extract Usage Patterns]
SEC --> SECMOD[Extract Security Model]
API & CHANGES & TRIBAL & CONCEPTS & BENCH & USAGE & SECMOD --> KB[Knowledge Base]
end
%% Phase 4: Reconciliation
subgraph Reconcile["Phase 4: Reconciliation"]
KB --> DIFF[Diff Docs vs Source]
DIFF --> STALE{Stale Content?}
STALE -->|Yes| TAG[Tag as Outdated]
STALE -->|No| VALID[Mark Verified]
TAG --> GAPS[Gap Analysis]
VALID --> GAPS
GAPS --> UNDOC{Undocumented Features?}
UNDOC -->|Yes| DRAFT[Draft New Docs]
UNDOC -->|No| ASSEMBLE[Assemble]
end
%% Phase 5: Assembly & Output
subgraph Output["Phase 5: Assembly"]
DRAFT --> ASSEMBLE
ASSEMBLE --> LLM[Generate to llm-code-docs]
ASSEMBLE --> SITE[Generate Website Docs]
ASSEMBLE --> REPORT[Staleness Report]
end
%% --- Phase 1 Tooltips ---
click REPOS "#" "**Enumerate Repos**\nCrawl the [eclipse-zenoh GitHub org](https://github.com/eclipse-zenoh) to build a complete repo list (28 repos).\n\nKey repos:\n- `zenoh` — Core Rust implementation (2.5k stars)\n- `zenoh-c` — C API bindings\n- `zenoh-python` — Python API\n- `zenoh-ts` — TypeScript bindings\n- `zenoh-kotlin` — Kotlin bindings\n- `zenoh-java` — Java API\n- `zenoh-cpp` — C++ bindings\n- `zenoh-pico` — Embedded C for microcontrollers\n- Plugins: `zenoh-plugin-ros2dds`, `zenoh-plugin-dds`, `zenoh-plugin-mqtt`, `zenoh-plugin-kafka`, `zenoh-plugin-webserver`\n- Backends: `zenoh-backend-rocksdb`, `zenoh-backend-filesystem`, `zenoh-backend-s3`, `zenoh-backend-influxdb`\n- `zenoh-demos` — Full working examples\n\n`gh api orgs/eclipse-zenoh/repos --paginate`\nCapture: repo name, description, language, last push date, open issues count."
click SITES "#" "**Identify Doc Sites**\nKnown documentation locations:\n- https://zenoh.io/docs/ — Official docs portal\n- https://docs.rs/zenoh — Rust crate API docs (77% coverage)\n- https://zenoh-python.readthedocs.io — Python API\n- https://zenoh-c.readthedocs.io — C API (Doxygen)\n- https://zenoh.io/blog/ — Release announcements, technical posts\n- https://www.zettascale.tech/ — Corporate site, whitepapers, resource hub\n- https://docs.ros.org/en/rolling/p/zenoh_bridge_dds/ — ROS2 docs\n- https://docs.zephyrproject.org/ — Zephyr RTOS zenoh-pico reference\n\nCheck each repo README for additional doc links.\nNote: zenoh.io pages show '0001-01-01' timestamps — cannot rely on page dates for recency."
click MEDIA "#" "**Find Media Sources**\nVideo and presentation sources:\n- [YouTube channel](https://www.youtube.com/channel/UCslbiyiqgOAPMjCrPWIfQ5Q)\n- [ZettaScale videos](https://www.zettascale.tech/resources/videos/videos-zenoh/)\n- [Speakerdeck](https://speakerdeck.com/kydos) — Advanced tutorials\n- [SlideShare](https://www.slideshare.net/) — Embedded/microcontroller talks\n\nKey playlists:\n- Advanced Zenoh Tutorial Playlist\n- Zenoh User Meeting 2024 (December 2024)\n- Zenoh User Meeting 2023\n- Zenoh in Robotics\n- Zenoh in Automotive\n\nAlso: FOSDEM 2025, EclipseCon, ROSCon recordings."
click ECOMAP "#" "**Map Ecosystem**\nDiscover sources beyond official channels:\n\n**Package managers:**\n- crates.io: `zenoh` + reverse dependencies (~72 crates)\n- PyPI: `eclipse-zenoh` package\n- npm: `@eclipse-zenoh/zenoh-ts`\n- Maven: `zenoh-kotlin-android`\n\n**Community channels:**\n- Discord server (from zenoh.io/community)\n- Hacker News threads\n- ROS Discourse (discourse.ros.org)\n- Reddit: r/rust, r/robotics, r/ros, r/iot\n\n**Academic:**\n- Google Scholar citations\n- arxiv papers\n\n**Integrations:**\n- Node-RED: `nodered-contrib-zenoh`\n- Docker: `eclipse/zenoh`\n- Autoware autonomous driving project\n- Zephyr RTOS\n\nOutput: complete map of all knowledge locations."
click MANIFEST "#" "**Build Source Manifest**\nJSON manifest listing every source to scrape with metadata:\n\n`manifest.json` structure per source:\n- `type`: website, rustdoc, readthedocs, github, youtube, conference, discord, forum, paper, package-registry\n- `url`: base URL\n- `scrape_method`: llms.txt, tavily crawl, gh api, yt-dlp, whisper, arxiv api, discord export\n- `priority`: high/medium/low\n- `estimated_pages`: rough page count\n- `last_known_update`: if discoverable\n- `category`: official, community, ecosystem, academic\n\nThis manifest drives all Phase 2 scrapers — each reads its entries and knows what to fetch."
%% --- Phase 2a: Official Sources Tooltips ---
click WEB "#" "**Scrape zenoh.io**\nPrimary documentation site. Scrape all pages under /docs/.\n\nApproach:\n1. Check for `zenoh.io/llms.txt` or `zenoh.io/.well-known/llms.txt` first\n2. If no llms.txt, use `tavily-cli crawl https://zenoh.io/docs/ --depth 3`\n3. Fallback: `playwright` sitemap crawl\n\nKey sections to capture:\n- Getting Started guides\n- Configuration reference\n- API concepts (pub/sub, queryable, storage)\n- Migration guides (v0.5 to v0.6, v0.6 to v1.0)\n- Plugin documentation\n- REST API guide\n- TLS/QUIC transport docs\n- Security manual\n\nStore raw HTML and extracted markdown per page."
click RUST "#" "**Scrape Rust Docs**\nPrimary API reference. docs.rs/zenoh has 77% coverage.\n\nApproach:\n1. `cargo doc --no-deps` on a fresh clone for latest unreleased docs\n2. Scrape docs.rs/zenoh/latest for published stable docs\n3. Compare: anything in cargo doc but missing from docs.rs = unreleased\n\nKey crates:\n- `zenoh` — main crate\n- `zenoh-config` — configuration types\n- `zenoh-protocol` — wire protocol\n- `zenoh-transport` — transport layer\n- `zenoh-ext` — extensions and serialization\n\nCapture: all public types, traits, functions with their doc comments.\nFlag items with no doc comments (the missing 23%).\nRun `cargo test --doc` to verify which examples still compile."
click LANG "#" "**Scrape Language Bindings Docs**\nEach binding has its own doc site:\n\n- **Python**: https://zenoh-python.readthedocs.io\n `tavily-cli crawl` or check for llms.txt\n- **C**: https://zenoh-c.readthedocs.io (Doxygen-generated)\n Scrape or build from source with `doxygen`\n- **C++**: check zenoh-cpp repo for docs\n- **TypeScript**: npm `@eclipse-zenoh/zenoh-ts`, check repo docs\n- **Kotlin**: Maven `zenoh-kotlin-android`, check repo docs\n- **Java**: check zenoh-java repo for docs\n- **Pico (embedded C)**: check zenoh-pico repo README + examples\n\nFor each binding, capture:\n- API surface (classes, functions, types)\n- Examples and quickstart\n- Version compatibility with core zenoh"
click BLOG "#" "**Scrape Blog Posts**\nhttps://zenoh.io/blog/ — release announcements and technical deep dives.\n\nApproach: `tavily-cli crawl https://zenoh.io/blog/ --depth 2`\n\nKey content:\n- Release announcements (changelog, migration notes)\n- Technical architecture posts\n- Performance benchmarks (zenoh overhead, async performance)\n- Use case studies\n- Security guides (Let's Encrypt integration)\n- Embedded guides (zenoh-pico, Pi Pico support)\n\nBlog posts often contain the *why* behind API decisions — critical context that API docs lack."
click ZETTA "#" "**Scrape ZettaScale Corporate**\nZettaScale Technology is the company behind Zenoh. Their site has content not on zenoh.io.\n\nSources:\n- [Resource Hub](https://www.zettascale.tech/news/resource-hub-for-zenoh/) — whitepapers, tutorials, podcasts, comics\n- [News/Blog](https://www.zettascale.tech/news/) — roadmaps, partnerships, case studies\n- [Zetta Auto](https://www.zettascale.tech/zetta-auto/) — ASIL-D certified automotive solution\n- [Videos](https://www.zettascale.tech/resources/videos/videos-zenoh/) — dedicated video library\n- [LinkedIn](https://www.linkedin.com/company/zettascaletech/) — announcements not cross-posted\n\nApproach: `tavily-cli crawl https://www.zettascale.tech/ --depth 3`\n\nKey content unique to ZettaScale:\n- V2X/automotive use cases\n- Enterprise deployment patterns\n- Product roadmap and vision posts\n- TTTech Auto partnership details\n- Whitepapers with deep protocol analysis"
%% --- Phase 2b: GitHub Sources Tooltips ---
click GH "#" "**Scrape GitHub History**\nThe richest source of tribal knowledge. Scrape across all 28 eclipse-zenoh repos.\n\n**Issues and discussions:**\n`gh api repos/eclipse-zenoh/zenoh/issues --paginate`\nFilter for: closed issues, bug reports with fixes, feature requests that shipped, migration questions\n\n**PR descriptions and review comments:**\n`gh api repos/eclipse-zenoh/zenoh/pulls --paginate --state all`\nCapture: breaking change PRs, API change PRs, deprecation PRs\n\n**Pending PRs (open):**\nThese reveal upcoming changes not yet documented.\n\n**Release notes:**\n`gh api repos/eclipse-zenoh/zenoh/releases --paginate`\nCapture every release changelog — v1.7.2 is latest (Jan 2026).\n\n**Commit messages:**\nMine commit history for 'breaking:', 'feat:', 'fix:' prefixes.\n\n**Do this for ALL 28 repos**, not just the main zenoh repo."
click DEPS "#" "**Mine Reverse Dependencies**\n~72 crates on crates.io depend on zenoh. Each is a real-world usage example.\n\nApproach:\n1. List all: https://crates.io/crates/zenoh/reverse_dependencies\n2. For each dependent crate:\n - Read docs.rs page for usage patterns\n - Check `examples/` directory in their repo\n - Read their README for integration patterns\n - Note any workarounds or non-obvious API usage\n\nThis is 200-300 integration patterns hidden in plain sight.\n\nAlso check GitHub repos outside eclipse-zenoh org:\n`gh search repos zenoh language:rust --sort stars`\n\nThese third-party repos often document real-world gotchas the official docs miss."
click DEMOS "#" "**Scrape Demo Repos**\n[zenoh-demos](https://github.com/eclipse-zenoh/zenoh-demos) contains full working examples:\n\n- TurtleBot 3 teleoperation\n- Face recognition pipeline\n- Distributed web serving\n- Android app (ZenohApp)\n- IoT sensor networks\n\nFor each demo:\n1. Read README for architecture description\n2. Extract code patterns and API usage\n3. Note configuration patterns\n4. Capture deployment instructions (Docker, native)\n\nAlso check example directories in every eclipse-zenoh repo — `examples/` dirs are often the best API documentation."
%% --- Phase 2c: Community Sources Tooltips ---
click YT "#" "**Scrape YouTube Presentations**\nExtract knowledge from video content.\n\nSources:\n- [ZettaScale YouTube channel](https://www.youtube.com/channel/UCslbiyiqgOAPMjCrPWIfQ5Q)\n- [ZettaScale video library](https://www.zettascale.tech/resources/videos/videos-zenoh/)\n- [RMW Zenoh Workshop](https://newsroom.eclipse.org/events/rmw-zenoh-workshop) (Jan 2025)\n\nApproach:\n1. List all videos: `yt-dlp --flat-playlist CHANNEL_URL`\n2. Download transcripts: `yt-dlp --write-auto-sub --skip-download VIDEO_URL`\n3. For videos without auto-subs: download audio, run Whisper\n4. Feed transcripts to LLM for structured extraction\n\nPrioritize:\n- User Meeting talks (most technical depth)\n- Tutorial videos (API usage patterns)\n- Architecture talks (design decisions)\n\nExtract: concepts explained, API patterns demonstrated, roadmap hints, deprecated patterns warned about."
click CONF "#" "**Scrape Conference Talks**\nTalks NOT on the main YouTube channel:\n\n- **FOSDEM 2025**: [Understanding the Protocol and its Potential in Robotics](https://archive.fosdem.org/2025/schedule/event/fosdem-2025-5446-eclipse-zenoh-understanding-the-protocol-and-its-potential-in-robotic/)\n- **EclipseCon 2023**: [ZettaScale keynote](https://www.zettascale.tech/news/zettascale-x-eclipsecon-2023/) with live TurtleBot demo\n- **EclipseCon 2021**: IoT developer talks featuring Zenoh\n- **ROSCon 2022**: ZettaScale robotics demonstration\n- **Speakerdeck**: [Advanced Tutorial Part I](https://speakerdeck.com/kydos/advanced-zenoh-tutorial-part-i) and [Part II](https://speakerdeck.com/kydos/advanced-zenoh-tutorial-part-ii)\n- **SlideShare**: [Taming the Dragon](https://www.slideshare.net/slideshow/taming-the-dragon-zenoh-on-microcontrollers-and-low-power-networks/255411216) — microcontrollers talk\n- **MobEx webinar**: [V2X communication with Zetta Auto](https://mobex.io/webinars/transforming-in-vehicle-and-v2x-communication-in-sdvs-with-zetta-auto/)\n\nFor slide decks: download PDFs, extract text with `pdf-ocr` skill.\nFor recorded talks: download video, extract transcript with Whisper."
click DISCORD "#" "**Mine Discord Server**\nThe official Zenoh Discord (linked from zenoh.io/community) contains 50-100+ expert Q&A threads invisible to web search.\n\nApproach:\n1. Join the Discord server\n2. Export channels using `discord-chat-exporter` or Discord API\n3. Focus on: help channels, troubleshooting, configuration questions\n4. Extract Q&A pairs where maintainers answered user questions\n\nKey value:\n- Real-world problems and solutions\n- Configuration recipes not in docs\n- Migration advice from maintainers\n- Workarounds for known limitations\n- Upcoming feature discussions\n\nThis is the single largest source of knowledge invisible to web search engines."
click FORUMS "#" "**Mine Web Forums**\nMultiple forum sources with Zenoh discussions:\n\n**Hacker News:**\n- [Zenoh launch thread](https://news.ycombinator.com/item?id=25228698) — technical discussion with maintainer responses\n- [Security analysis thread](https://news.ycombinator.com/item?id=25230593)\n- Search: `site:news.ycombinator.com zenoh`\n\n**Reddit:**\n- r/rust — Zenoh architecture discussions\n- r/robotics — ROS2/Zenoh integration\n- r/ros — migration from DDS to Zenoh\n- r/iot — edge computing with Zenoh\n\n**Medium:**\n- [Zenoh: A Protocol That Should be on Your Radar](https://medium.com/@kelj/zenoh-a-protocol-that-should-be-on-your-radar-72befa697411)\n- Search for other Medium posts\n\n**Stack Overflow:**\n- Search for [zenoh] tagged questions\n- Often contain concise code solutions\n\nApproach: `tavily-cli search 'zenoh' --max-results 20` per platform."
%% --- Phase 2d: Ecosystem Sources Tooltips ---
click ROS "#" "**Scrape ROS2 Ecosystem**\nZenoh is a Tier-1 ROS2 middleware. Massive documentation exists in the ROS ecosystem.\n\n**Official ROS docs:**\n- https://docs.ros.org/en/rolling/p/zenoh_bridge_dds/ (Rolling)\n- Same for Humble, Jazzy distributions\n\n**ROS Discourse (25+ threads):**\n- discourse.ros.org — search for 'zenoh'\n- Migration discussions from CycloneDDS to Zenoh\n- Configuration and troubleshooting threads\n\n**Autoware Project:**\n- [Running multiple vehicles with Zenoh](https://autoware.org/running-multiple-autoware-powered-vehicles-in-carla-using-zenoh/)\n- [Driving Autoware with Zenoh](https://autoware.org/driving-autoware-with-zenoh/)\n\n**Zenoh blog ROS content:**\n- [ROS2 integration guide](https://zenoh.io/blog/2021-04-28-ros2-integration/)\n- [ROS2 and microcontrollers via zenoh-pico](https://zenoh.io/blog/2021-11-09-ros2-zenoh-pico/)\n\nThe ROS ecosystem is the largest user community — their docs are often more practical than official docs."
click PAPERS "#" "**Scrape Academic Papers**\n30-50 papers cite or evaluate Zenoh. These contain deep technical analysis unavailable elsewhere.\n\nKey papers:\n- [arxiv 2303.09419](https://arxiv.org/abs/2303.09419) — Throughput/latency: Zenoh vs MQTT, Kafka, DDS (National Taiwan University)\n- [arxiv 2309.07496](https://arxiv.org/abs/2309.07496) — DDS vs MQTT vs Zenoh for distributed ROS2 (University of Turku)\n- [ScienceDirect](https://www.sciencedirect.com/science/article/pii/S1570870525000320) — Industrial IoT performance\n- [Springer](https://link.springer.com/article/10.1007/s10846-024-02211-2) — ROS2 middleware for mesh networks\n- Original paper: 'Zenoh: Unifying Communication, Storage and Computation'\n\nApproach:\n1. `arxiv api search zenoh` for arxiv papers\n2. Google Scholar search for broader coverage\n3. Download PDFs, extract with `pdf-ocr` skill\n4. Extract: benchmark results, protocol analysis, deployment architectures\n\nPapers often reveal performance characteristics and design trade-offs not in official docs."
click EMBED "#" "**Scrape Embedded Ecosystem**\nZenoh-pico targets microcontrollers. Embedded docs live in different places.\n\n**Zephyr RTOS:**\n- [Official Zephyr docs reference zenoh-pico](https://docs.zephyrproject.org/latest/develop/manifest/external/zenoh-pico.html)\n- Community repo: [zenoh-pico-zephyr](https://github.com/entire/zenoh-pico-zephyr)\n\n**Raspberry Pi Pico:**\n- [Pi Pico support announcement](https://zenoh.io/blog/2025-01-08-introducing-raspberry-pi-pico-support-in-zenoh-pico/) (Jan 2025)\n\n**Zenoh-pico blog posts:**\n- [zenoh-pico guide](https://zenoh.io/blog/2021-10-04-zenoh-pico-guide/)\n- [zenoh-pico: Above and Beyond](https://zenoh.io/blog/2022-06-09-zenoh-pico-above-and-beyond/)\n\n**Conference content:**\n- SlideShare: 'Taming the Dragon' — microcontrollers and low-power networks\n\nCapture: supported platforms, memory footprint, API differences from full zenoh, configuration constraints, real hardware examples."
click SEC "#" "**Scrape Security Sources**\nSecurity documentation is scattered across multiple locations.\n\n**Third-party audit:**\n- [Census Labs Protocol Security Analysis](https://census-labs.com/news/2025/03/17/zenoh-protocol-security-analysis/) (March 2025)\n\n**Official security docs:**\n- [TLS authentication](https://zenoh.io/docs/manual/tls/)\n- [QUIC transport](https://zenoh.io/docs/manual/quic/)\n- [Let's Encrypt guide](https://zenoh.io/blog/2023-04-04-letsencrypt/)\n\n**Security repo:**\n- [ZettaScaleLabs/zenoh-security](https://github.com/ZettaScaleLabs/zenoh-security) — security-focused implementations\n\nCapture: threat model, authentication mechanisms, encryption options, certificate management, known vulnerabilities, audit findings, security best practices."
click INTEG "#" "**Scrape Integration Projects**\nThird-party projects that integrate with Zenoh contain practical usage documentation.\n\n**Node-RED:**\n- [nodered-contrib-zenoh](https://github.com/freol35241/nodered-contrib-zenoh) — community plugin\n\n**Docker:**\n- `eclipse/zenoh` image on Docker Hub\n- Docker Compose examples in zenoh-demos\n- [Quick test with Docker](https://zenoh.io/docs/getting-started/quick-test/)\n\n**Protocol bridges:**\n- zenoh-plugin-mqtt — MQTT bridge\n- zenoh-plugin-dds — DDS bridge\n- zenoh-plugin-kafka — Kafka bridge (if exists)\n- zenoh-plugin-webserver — HTTP interface\n\n**Storage backends:**\n- S3, RocksDB, InfluxDB, Filesystem\n- Each has its own config and deployment patterns\n\n**ADLINK Tech:**\n- [ADLINK Zenoh page](https://www.adlinktech.com/en/zenoh) — industrial use cases\n\nCapture: deployment patterns, configuration examples, performance tuning, production gotchas."
%% --- Phase 3: Knowledge Extraction Tooltips ---
click API "#" "**Extract API Surface**\nCombine website docs, Rust docs, binding docs, and reverse dependency usage into a unified API model.\n\nFor each public API:\n- Function/method signature\n- Parameters and types\n- Return types\n- Example usage (from docs + from reverse deps)\n- Which language bindings expose it\n- Version introduced\n- Deprecation status\n\nCross-reference with reverse dependency usage to find:\n- Most-used APIs (high priority for docs)\n- Undocumented API patterns people actually use\n- Common parameter combinations\n\nOutput: `api-surface.json` — canonical list of every documented API across all languages."
click CHANGES "#" "**Extract Breaking Changes**\nMine GitHub history for API changes that could invalidate existing docs.\n\nSources:\n- Release notes mentioning 'breaking', 'removed', 'renamed', 'deprecated'\n- PRs labeled 'breaking-change' or similar\n- Issues discussing migration problems\n- Commit messages with 'breaking:' prefix\n- `cargo-semver-checks` output on tagged releases\n\nOutput: `breaking-changes.json` — timeline of every breaking change with before/after examples."
click TRIBAL "#" "**Extract Tribal Knowledge**\nKnowledge that exists only in conversations, not in formal docs.\n\nSources:\n- GitHub issue threads (all 28 repos)\n- Discord Q&A threads\n- ROS Discourse threads\n- Hacker News discussions\n- Reddit threads\n- Stack Overflow answers\n\nMine for:\n- Common questions (FAQ candidates)\n- Workarounds for known limitations\n- Configuration recipes shared in comments\n- Architecture explanations from maintainers\n- 'The reason we did X is...' comments\n\nUse LLM to categorize and summarize threads.\nOutput: `tribal-knowledge.json` — categorized Q&A pairs with source links."
click CONCEPTS "#" "**Extract Concepts**\nStructured knowledge from presentations, blog posts, and corporate content.\n\nKey concepts to extract:\n- Zenoh protocol architecture (routers, clients, peers)\n- Key expression syntax and semantics\n- Publication/subscription model\n- Queryable pattern\n- Storage and backend model\n- Plugin system\n- Shared memory transport\n- Liveliness tokens\n- Scouting and discovery\n- V2X and automotive architecture\n- Edge data fabric model\n\nSources: YouTube transcripts, conference slides, ZettaScale whitepapers, blog posts.\nOutput: `concepts.json` — each concept with explanation, source, and confidence level."
click BENCH "#" "**Extract Benchmarks**\nPerformance data from academic papers and official benchmarks.\n\nKey metrics to extract:\n- Throughput (msgs/sec) by payload size\n- Latency (p50, p99) by transport (TCP, UDP, QUIC, shared memory)\n- Comparison vs MQTT, Kafka, DDS, ZeroMQ\n- Resource usage (CPU, memory, bandwidth)\n- Scalability characteristics (peers, topics, subscribers)\n\nSources:\n- arxiv papers with controlled experiments\n- zenoh.io/blog benchmark posts\n- ZettaScale marketing benchmarks (note potential bias)\n- Third-party independent benchmarks\n\nTag each benchmark with: date, zenoh version, hardware, methodology.\nOutput: `benchmarks.json` — structured performance data with provenance."
click USAGE "#" "**Extract Usage Patterns**\nReal-world deployment and integration patterns from ecosystem sources.\n\nFrom ROS2 ecosystem:\n- Bridge configuration patterns\n- Multi-robot communication setups\n- DDS-to-Zenoh migration recipes\n\nFrom embedded ecosystem:\n- Memory-constrained deployment patterns\n- Zephyr/Pi Pico integration steps\n- Low-power network configurations\n\nFrom integration projects:\n- Docker deployment patterns\n- Plugin configuration recipes\n- Storage backend setup guides\n\nFrom demo repos:\n- End-to-end application architectures\n- Code patterns for common use cases\n\nOutput: `usage-patterns.json` — categorized patterns with working code examples."
click SECMOD "#" "**Extract Security Model**\nConsolidate security information from all sources.\n\nFrom Census Labs audit:\n- Identified vulnerabilities and their status\n- Protocol-level security analysis\n- Recommendations and mitigations\n\nFrom official docs:\n- TLS configuration options\n- QUIC transport security\n- Certificate management (Let's Encrypt)\n- Authentication mechanisms\n\nFrom zenoh-security repo:\n- Security-focused implementations\n- Hardening guidelines\n\nOutput: `security-model.json` — threat model, auth mechanisms, encryption options, known issues, best practices."
click KB "#" "**Knowledge Base**\nMerged, deduplicated knowledge from all 7 extraction streams.\n\nStructure:\n- `api/` — per-function/type documentation\n- `concepts/` — architectural and design docs\n- `guides/` — how-to and migration guides\n- `faq/` — from tribal knowledge extraction\n- `changelog/` — breaking changes timeline\n- `benchmarks/` — performance data with provenance\n- `usage/` — real-world deployment patterns\n- `security/` — security model and hardening\n\nEach entry tracks its sources (URLs) and extraction date for provenance.\nDeduplicate across streams — same fact from 3 sources gets highest confidence."
%% --- Phase 4: Reconciliation Tooltips ---
click DIFF "#" "**Diff Docs vs Source Code**\nThe critical step: compare what docs *say* against what source code *does*.\n\nFor each documented API:\n1. Find the corresponding source code (function signature, types)\n2. Compare: do the docs match the current implementation?\n3. Check: do examples still compile/run? (`cargo test --doc`)\n4. Verify: are deprecated APIs still documented as current?\n5. Cross-check benchmarks: do performance claims match recent papers?\n\nUse `ast-grep` or Rust analyzer to extract actual signatures.\nUse `cargo-semver-checks` to detect API changes between versions.\nOutput: `diff-report.json` — per-item comparison with match/mismatch status."
click STALE "#" "**Stale Content Detected?**\nIf the diff reveals mismatches between docs and source:\n- API signatures changed but docs not updated\n- Examples reference removed functions\n- Configuration keys renamed or removed\n- Deprecated features still presented as current\n- Benchmark numbers from old versions\n- Security advice contradicted by audit findings\n\nIf yes → tag as outdated for correction.\nIf no → mark as verified accurate."
click TAG "#" "**Tag as Outdated**\nMark each stale item with:\n- What the docs say (old)\n- What the source code says (current)\n- When the change happened (from git history)\n- Which release introduced the change\n- Severity: breaking (users will hit errors) vs cosmetic (minor inaccuracy)\n\nThis becomes the TODO list for doc rewrites."
click VALID "#" "**Mark Verified**\nConfirm this documentation matches current source code.\nTimestamp the verification.\nThese items need no changes — carry forward as-is."
click GAPS "#" "**Gap Analysis**\nIdentify what is completely missing from documentation.\n\nCompare:\n- Public API surface (from Rust docs) vs documented APIs (from website)\n- Features mentioned in release notes vs documented features\n- Config options in source vs documented config options\n- Plugins that exist vs plugins with docs\n- Language bindings with sparse docs (Kotlin, Java, C++)\n- Security features vs security documentation\n- Embedded platforms supported vs documented\n- Integration patterns used in the wild vs officially documented\n\nOutput: `gaps.json` — list of undocumented features with priority ranking."
click UNDOC "#" "**Undocumented Features Found?**\nIf the gap analysis reveals features with no documentation at all:\n- New APIs added since last doc update\n- Plugin configurations never documented\n- Advanced features only in code comments\n- Entire binding languages with sparse docs\n- Security hardening steps from audit not yet in docs\n- Embedded platform guides missing\n- Integration patterns only in demo code\n\nIf yes → draft new documentation.\nIf no → proceed to assembly."
click DRAFT "#" "**Draft New Docs**\nGenerate documentation for undocumented features.\n\nSources for each draft:\n1. Source code and doc comments\n2. Examples in repos (official + third-party)\n3. Test cases (often the best usage examples)\n4. Related issue/Discord discussions\n5. Presentation transcripts mentioning the feature\n6. Academic papers describing the feature\n7. Reverse dependency usage patterns\n\nUse LLM to generate initial drafts, then validate against source.\nRun `cargo test --doc` on any Rust code examples.\nEach draft links back to its sources for human review."
click ASSEMBLE "#" "**Assemble Final Documentation**\nCombine all pieces into coherent output:\n\n1. Verified existing docs (unchanged)\n2. Corrected stale docs (updated to match source)\n3. New docs for undocumented features\n4. FAQ from tribal knowledge (GitHub + Discord + forums)\n5. Concept guides from presentations and whitepapers\n6. Benchmark summaries from academic papers\n7. Deployment guides from ecosystem usage patterns\n8. Security hardening guide from audit + official docs\n\nOrganize by topic, not by source. Cross-reference between API docs, guides, and concepts."
%% --- Phase 5: Assembly Tooltips ---
click LLM "#" "**Generate to llm-code-docs**\nAdd Zenoh documentation to `~/github/llm-code-docs/docs/zenoh/`.\n\nUse `llm-code-docs-writer` agent or `/docs:WTFM` skill.\n\nStructure per llm-code-docs conventions:\n- `index.md` — overview and quick start\n- `api.md` — API reference (all languages)\n- `config.md` — configuration reference\n- `plugins.md` — plugin ecosystem\n- `migration.md` — version migration guides\n- `security.md` — security model and hardening\n- `embedded.md` — zenoh-pico and microcontroller guide\n- `ros2.md` — ROS2 integration guide\n- `benchmarks.md` — performance characteristics\n- `faq.md` — from tribal knowledge\n\nThis makes Zenoh docs available to all Claude Code sessions."
click SITE "#" "**Generate Website Docs**\nOptional: produce documentation suitable for a static site or wiki.\n\nFormats:\n- Markdown files organized by topic\n- Hugo/Docusaurus-compatible frontmatter\n- Cross-linked between pages\n\nCould be contributed upstream to eclipse-zenoh/zenoh-website or hosted independently."
click REPORT "#" "**Staleness Report**\nFinal deliverable: a comprehensive report of doc quality.\n\nContents:\n- Total APIs: documented vs undocumented (coverage %)\n- Stale items: count and severity breakdown\n- Gaps filled: new docs generated\n- Sources used: provenance for every piece of content\n- Benchmark data: performance claims vs evidence\n- Security posture: audit findings vs documentation\n- Recommendations: highest-priority items for upstream contribution\n- Per-language binding coverage comparison\n\nFormat: markdown report suitable for sharing with the Zenoh team or community."
classDef inventory fill:#d1ecf1,stroke:#7ec8d8
classDef official fill:#dfe6ff,stroke:#5b7bce
classDef github fill:#e0e0ff,stroke:#7070ce
classDef community fill:#ffe0cc,stroke:#e08050
classDef ecosystem fill:#d5f5e3,stroke:#5cb85c
classDef extract fill:#fff3cd,stroke:#f0c040
classDef reconcile fill:#ffeaa7,stroke:#e0c040
classDef output fill:#d4edda,stroke:#5cb85c
classDef decision fill:#e8daef,stroke:#b07cc6
class REPOS,SITES,MEDIA,ECOMAP,MANIFEST inventory
class WEB,RUST,LANG,BLOG,ZETTA official
class GH,DEPS,DEMOS github
class YT,CONF,DISCORD,FORUMS community
class ROS,PAPERS,EMBED,SEC,INTEG ecosystem
class API,CHANGES,TRIBAL,CONCEPTS,BENCH,USAGE,SECMOD,KB extract
class DIFF,TAG,VALID,GAPS,DRAFT reconcile
class STALE,UNDOC decision
class ASSEMBLE,LLM,SITE,REPORT output
end
style _MAIN_ fill:none,stroke:none,padding:0
_HEADER_ ~~~ _MAIN_