docs: revamp README and docs with production-grade styling#188
docs: revamp README and docs with production-grade styling#188devin-ai-integration[bot] wants to merge 3 commits into
Conversation
- Rewrite README.md with centered header, badges, table of contents, structured sections, cURL examples, and full API/CLI reference - Rebrand all user-facing docs from EigenInference to Darkbloom - Restructure docs/ARCHITECTURE.md with detailed system diagram, component tables, and organized security/privacy sections - Polish CONTRIBUTING.md with table-based layout, prerequisites matrix, and clear protocol-change sync-point reference - Improve docs/telemetry.md with table of contents, structured endpoint/emission-site tables, and explicit allowlist documentation - Reformat docs/dev-environment.md with infrastructure overview table, numbered setup steps, secrets mapping table, and cost breakdown
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Benchmark ResultsRunner: 1-provider-streaming1 providers, 1 users, 30 requests, concurrency=5, streaming=true
Latency Decomposition
Assertion Report: FAIL
1-provider-non-streaming1 providers, 1 users, 20 requests, concurrency=5, streaming=false
Latency Decomposition
Assertion Report: FAIL
7-provider-multi-model7 providers, 5 users, 50 requests, concurrency=10, streaming=true
Latency Decomposition
Assertion Report: FAIL
3-provider-high-concurrency3 providers, 10 users, 60 requests, concurrency=20, streaming=true
Latency Decomposition
Assertion Report: FAIL
1-provider-queue-saturation1 providers, 10 users, 40 requests, concurrency=15, streaming=true
Latency Decomposition
Assertion Report: FAIL
3-provider-20-users3 providers, 20 users, 60 requests, concurrency=10, streaming=true
Latency Decomposition
Assertion Report: FAIL
1-provider-scaling1 providers, 5 users, 30 requests, concurrency=10, streaming=true
Latency Decomposition
Assertion Report: FAIL
3-provider-scaling3 providers, 5 users, 30 requests, concurrency=10, streaming=true
Latency Decomposition
Assertion Report: FAIL
5-provider-scaling5 providers, 5 users, 30 requests, concurrency=10, streaming=true
Latency Decomposition
Assertion Report: FAIL
3-provider-heavy-100conc-10kb3 providers, 20 users, 100 requests, concurrency=100, streaming=true
Latency Decomposition
Assertion Report: FAIL
|
| ## Project Layout | ||
|
|
||
| See [CLAUDE.md](CLAUDE.md) for the full layout and architectural decisions. The short version: | ||
| For the full layout and architectural decisions, see [`CLAUDE.md`](CLAUDE.md). |
There was a problem hiding this comment.
Claude MD is for agents, we should decouple routing between humans and agents here
| | Rust (stable) | Latest | Legacy provider | | ||
| | Swift | 5.9+ (Xcode 15+) | Swift provider, enclave, macOS app | | ||
| | Node.js | 20+ | Console UI | | ||
| | Python | 3.11+ | Image bridge, crypto interop tests | |
| @@ -38,66 +135,84 @@ Models are selected from a curated catalog. The coordinator only routes requests | |||
| | Qwen3.5 122B MoE 8-bit | 122B MoE, 10B active | 122 GB | 128 GB | Best quality reasoning | | |||
| | MiniMax M2.5 8-bit | 239B MoE, 11B active | 243 GB | 256 GB | SOTA coding, ~100 tok/s | | |||
There was a problem hiding this comment.
this is gonna be dynamic and change a bunch, easiest to host via dashboard and include link in the future. @hankbobtheresearchoor file an issue on linear about this please
| | MiniMax M2.5 | $0.06 / 1M tokens | $0.50 / 1M tokens | | ||
|
|
||
| 0% platform fee. Providers keep 100%. | ||
| **0% platform fee. Providers keep 100% of revenue.** |
There was a problem hiding this comment.
I don't think that's correct, I get this a structural change but you fail to identify the semantical discrepancies
| **0% platform fee. Providers keep 100% of revenue.** | ||
|
|
||
| ## Architecture | ||
| Payments settled via **Solana USDC** on-chain. |
There was a problem hiding this comment.
delete, Solana support is no longer relevant for this project
There was a problem hiding this comment.
Done — removed all Solana/USDC/BIP39 references across README.md, docs/ARCHITECTURE.md, and docs/dev-environment.md in b2c5380.
Benchmark ResultsRunner: 1-provider-streaming1 providers, 1 users, 30 requests, concurrency=5, streaming=true
Latency Decomposition
Assertion Report: FAIL
1-provider-non-streaming1 providers, 1 users, 20 requests, concurrency=5, streaming=false
Latency Decomposition
Assertion Report: FAIL
7-provider-multi-model7 providers, 5 users, 50 requests, concurrency=10, streaming=true
Latency Decomposition
Assertion Report: FAIL
3-provider-high-concurrency3 providers, 10 users, 60 requests, concurrency=20, streaming=true
Latency Decomposition
Assertion Report: FAIL
1-provider-queue-saturation1 providers, 10 users, 40 requests, concurrency=15, streaming=true
Latency Decomposition
Assertion Report: FAIL
3-provider-20-users3 providers, 20 users, 60 requests, concurrency=10, streaming=true
Latency Decomposition
Assertion Report: FAIL
1-provider-scaling1 providers, 5 users, 30 requests, concurrency=10, streaming=true
Latency Decomposition
Assertion Report: FAIL
3-provider-scaling3 providers, 5 users, 30 requests, concurrency=10, streaming=true
Latency Decomposition
Assertion Report: FAIL
5-provider-scaling5 providers, 5 users, 30 requests, concurrency=10, streaming=true
Latency Decomposition
Assertion Report: FAIL
3-provider-heavy-100conc-10kb3 providers, 20 users, 100 requests, concurrency=100, streaming=true
Latency Decomposition
Assertion Report: FAIL
|
| (configurable via `EIGENINFERENCE_TELEMETRY_PRUNE_INTERVAL`). Events older | ||
| than 14 days (configurable via `EIGENINFERENCE_TELEMETRY_MAX_AGE`) are | ||
| deleted. | ||
| `coordinator/telemetry/retention.go` runs a prune loop hourly (configurable via `EIGENINFERENCE_TELEMETRY_PRUNE_INTERVAL`). Events older than 14 days (configurable via `EIGENINFERENCE_TELEMETRY_MAX_AGE`) are deleted. |
There was a problem hiding this comment.
🟡 Telemetry retention docs reference a nonexistent file and describe removed functionality
The updated docs/telemetry.md:99 states that coordinator/telemetry/retention.go runs a prune loop hourly. This file does not exist — the only file in coordinator/telemetry/ is emitter.go. Furthermore, the described prune-loop functionality has been removed entirely; coordinator/cmd/coordinator/main.go:497 explicitly notes "Telemetry retention is handled by Datadog; no local retention loop needed." The env vars EIGENINFERENCE_TELEMETRY_PRUNE_INTERVAL and EIGENINFERENCE_TELEMETRY_MAX_AGE referenced in this line also do not appear anywhere in the codebase. This will mislead contributors looking for retention configuration.
| `coordinator/telemetry/retention.go` runs a prune loop hourly (configurable via `EIGENINFERENCE_TELEMETRY_PRUNE_INTERVAL`). Events older than 14 days (configurable via `EIGENINFERENCE_TELEMETRY_MAX_AGE`) are deleted. | |
| Telemetry retention is handled by **Datadog** — no local prune loop runs in the coordinator. Datadog handles durable persistence, querying, and retention policies. |
Was this helpful? React with 👍 or 👎 to provide feedback.
Summary
Revamps README.md, CONTRIBUTING.md, docs/ARCHITECTURE.md, docs/telemetry.md, and docs/dev-environment.md with polished, production-grade formatting. Rebrands all user-facing documentation from "EigenInference" to "Darkbloom". Adds centered headers, CI/release badges, table of contents, structured tables, cURL examples, and comprehensive API/CLI reference sections.
Linked issue
N/A — docs improvement
Test plan
eigeninference-and~/.config/eigeninference/are intentionally preserved)Components touched
Protocol / interface changes
Notes for reviewers
eigeninference-API key prefix,~/.config/eigeninference/config path,EIGENINFERENCE_*env vars) are intentionally untouched since they're part of the running system.Link to Devin session: https://app.devin.ai/sessions/10a1fa11eeac4d6aa78f5e92f937fc4b
Need help on this PR? Tag
@codesmithwith what you need.