Delivers the distributed fabric's network layer and HTTP cluster surface: **m8p7: tidal-net crate (gRPC transport)** - GrpcTransport implementing Transport trait via tonic 0.12 - Per-peer circuit breaker (Closed/Open/HalfOpen), mutual TLS via rustls - Boxed error types (clippy-clean), graceful mutex recovery, debug_assert against calling block_on from tokio context - Proto: WalShipping service (ShipSegment, StreamSegments stub, Heartbeat) - 19 tests: contract, mTLS, reconnection, multi-node UAT, benchmarks **m8p8: cluster subcommand + HTTP routes** - ClusterState wrapping SimulatedCluster with region name mapping - Routes: /health, /cluster/status, /cluster/promote, /partition, /heal - Data routes: /items, /embeddings, /signals, /feed, /search (region-aware) - Ranking profiles wired through ClusterConfig to all cluster nodes - Topology YAML config, docker/cluster/Dockerfile (ENTRYPOINT+CMD, non-root) **m8p9: scatter-gather query routing** - Entity-sharded writes via Knuth multiplicative hash - Scatter-gather RETRIEVE and SEARCH with deadline propagation (50ms-5ms) - Partial failure: degraded=true with unavailable_shards metadata - 6 tests: distribution, determinism, multi-shard retrieve, degraded partial results, deadline propagation, scatter-gather search **m8p10: gRPC transport integration tests** - 8 tests over real gRPC: replication convergence, idempotent replay, mixed signals, 3-node fan-out, partition/heal, degraded follower, perf - Documented as tier-2 (in-process+gRPC); tier-3 multi-process pending
2.9 KiB
2.9 KiB
| name | description | agent |
|---|---|---|
| build-site | Build and iterate on tidalDB's public marketing site and blog. Use when creating pages, components, layouts, or any public-facing web work for the database. | tidal-storyteller |
Build Site
Build or modify tidalDB's public site using the tidal-storyteller agent.
When to Use
- Creating a new page (home, blog index, vision, about)
- Building or modifying site components (nav, hero, footer, blog cards)
- Setting up the Next.js project structure and MDX blog system
- Designing the information architecture for the public site
- Iterating on copy, layout, or visual design of any public page
Context to Load
Before building, the agent must read:
VISION.md— the product story and convictionAPI.md— how developers interact with the product (for accurate code examples)USE_CASES.md— what surfaces the database powers (for "what you can build" sections)CODING_GUIDELINES.md— the engineering standards (for credibility in blog code)
Workflow
New Page
- Identify the page's job — what does the visitor leave knowing?
- Write the hero first — headline, subhead, primary CTA
- Structure the scroll — narrative arc from hook to action
- Build in Next.js — App Router, static export, Tailwind dark theme
- Test at three widths — 1440px, 768px, 375px
- Lighthouse audit — must score 95+ on performance
New Component
- Check existing components — don't rebuild what exists
- Design the states — default, hover, active, loading, empty
- Build with Tailwind — use the design system from the agent's spec
- Verify dark theme — the site has no light mode
- Responsive check — component works at all breakpoints
Site Setup (First Time)
- Initialize Next.js with App Router and static export
- Configure Tailwind with the dark color palette from the agent
- Set up MDX for blog posts with syntax highlighting
- Create the base layout: nav, main content area, footer
- Install minimal dependencies: next, tailwind, mdx, a syntax highlighter
- Deploy to Vercel or Cloudflare Pages
Design Rules (Quick Reference)
| Element | Spec |
|---|---|
| Background | #000000 |
| Headlines | White serif (Playfair Display / Lora), 64-80px hero |
| Body | #888888, Inter / system sans, 16-18px |
| Accent | #C97A4E (warm copper) — pills, labels, hovers only |
| Section labels | Uppercase monospace, 12px, copper, letter-spaced |
| Code blocks | #0D0D0D background, JetBrains Mono, copy button |
| Section spacing | 120-160px between major sections |
| Content width | max-w-3xl prose, max-w-5xl hero |
Quality Checks
- Lighthouse performance >= 95
- No layout shift (CLS = 0)
- Total page weight < 100KB transferred
- All code examples are copy-pasteable and correct
- Works at 1440px, 768px, and 375px
- No competing CTAs on the same screen
- Dark theme only — no light mode toggle