- Run npx @claude-flow/cli@latest init --force: 115 files created (agents, commands, helpers, skills, settings, MCP config) - Initialize memory.db (147 KB): 84 files analyzed, 30 patterns extracted, 46 trajectories evaluated via 4-step RETRIEVE/JUDGE/DISTILL/CONSOLIDATE - Run pretraining with MoE model: hyperbolic Poincaré embeddings, 3 contradictions resolved, all-MiniLM-L6-v2 ONNX embedding index - Include .claude/memory.db and .claude-flow/metrics/learning.json in repo for team sharing (semantic search available to all contributors) - Update CLAUDE.md: add wifi-densepose project context, key crates, ruvector integration map, correct build/test commands for this repo, ADR cross-reference (ADR-014 through ADR-017) https://claude.ai/code/session_01BSBAQJ34SLkiJy4A8SoiL4
240 lines
8.6 KiB
Markdown
240 lines
8.6 KiB
Markdown
# Claude Code Configuration — WiFi-DensePose + Claude Flow V3
|
|
|
|
## Project: wifi-densepose
|
|
|
|
WiFi-based human pose estimation using Channel State Information (CSI).
|
|
Dual codebase: Python v1 (`v1/`) and Rust port (`rust-port/wifi-densepose-rs/`).
|
|
|
|
### Key Rust Crates
|
|
- `wifi-densepose-signal` — SOTA signal processing (conjugate mult, Hampel, Fresnel, BVP, spectrogram)
|
|
- `wifi-densepose-train` — Training pipeline with ruvector integration (ADR-016)
|
|
- `wifi-densepose-mat` — Disaster detection module (MAT, multi-AP, triage)
|
|
- `wifi-densepose-nn` — Neural network inference (DensePose head, RCNN)
|
|
- `wifi-densepose-hardware` — ESP32 aggregator, hardware interfaces
|
|
|
|
### RuVector v2.0.4 Integration (ADR-016 complete, ADR-017 proposed)
|
|
All 5 ruvector crates integrated in workspace:
|
|
- `ruvector-mincut` → `metrics.rs` (DynamicPersonMatcher) + `subcarrier_selection.rs`
|
|
- `ruvector-attn-mincut` → `model.rs` (apply_antenna_attention) + `spectrogram.rs`
|
|
- `ruvector-temporal-tensor` → `dataset.rs` (CompressedCsiBuffer) + `breathing.rs`
|
|
- `ruvector-solver` → `subcarrier.rs` (sparse interpolation 114→56) + `triangulation.rs`
|
|
- `ruvector-attention` → `model.rs` (apply_spatial_attention) + `bvp.rs`
|
|
|
|
### Architecture Decisions
|
|
All ADRs in `docs/adr/` (ADR-001 through ADR-017). Key ones:
|
|
- ADR-014: SOTA signal processing (Accepted)
|
|
- ADR-015: MM-Fi + Wi-Pose training datasets (Accepted)
|
|
- ADR-016: RuVector training pipeline integration (Accepted — complete)
|
|
- ADR-017: RuVector signal + MAT integration (Proposed — next target)
|
|
|
|
### Build & Test Commands (this repo)
|
|
```bash
|
|
# Rust — check training crate (no GPU needed)
|
|
cd rust-port/wifi-densepose-rs
|
|
cargo check -p wifi-densepose-train --no-default-features
|
|
|
|
# Rust — run all tests
|
|
cargo test -p wifi-densepose-train --no-default-features
|
|
|
|
# Rust — full workspace check
|
|
cargo check --workspace --no-default-features
|
|
|
|
# Python — proof verification
|
|
python v1/data/proof/verify.py
|
|
|
|
# Python — test suite
|
|
cd v1 && python -m pytest tests/ -x -q
|
|
```
|
|
|
|
### Branch
|
|
All development on: `claude/validate-code-quality-WNrNw`
|
|
|
|
---
|
|
|
|
## Behavioral Rules (Always Enforced)
|
|
|
|
- Do what has been asked; nothing more, nothing less
|
|
- NEVER create files unless they're absolutely necessary for achieving your goal
|
|
- ALWAYS prefer editing an existing file to creating a new one
|
|
- NEVER proactively create documentation files (*.md) or README files unless explicitly requested
|
|
- NEVER save working files, text/mds, or tests to the root folder
|
|
- Never continuously check status after spawning a swarm — wait for results
|
|
- ALWAYS read a file before editing it
|
|
- NEVER commit secrets, credentials, or .env files
|
|
|
|
## File Organization
|
|
|
|
- NEVER save to root folder — use the directories below
|
|
- `docs/adr/` — Architecture Decision Records
|
|
- `rust-port/wifi-densepose-rs/crates/` — Rust workspace crates (signal, train, mat, nn, hardware)
|
|
- `v1/src/` — Python source (core, hardware, services, api)
|
|
- `v1/data/proof/` — Deterministic CSI proof bundles
|
|
- `.claude-flow/` — Claude Flow coordination state (committed for team sharing)
|
|
- `.claude/` — Claude Code settings, agents, memory (committed for team sharing)
|
|
|
|
## Project Architecture
|
|
|
|
- Follow Domain-Driven Design with bounded contexts
|
|
- Keep files under 500 lines
|
|
- Use typed interfaces for all public APIs
|
|
- Prefer TDD London School (mock-first) for new code
|
|
- Use event sourcing for state changes
|
|
- Ensure input validation at system boundaries
|
|
|
|
### Project Config
|
|
|
|
- **Topology**: hierarchical-mesh
|
|
- **Max Agents**: 15
|
|
- **Memory**: hybrid
|
|
- **HNSW**: Enabled
|
|
- **Neural**: Enabled
|
|
|
|
## Build & Test
|
|
|
|
```bash
|
|
# Build
|
|
npm run build
|
|
|
|
# Test
|
|
npm test
|
|
|
|
# Lint
|
|
npm run lint
|
|
```
|
|
|
|
- ALWAYS run tests after making code changes
|
|
- ALWAYS verify build succeeds before committing
|
|
|
|
## Security Rules
|
|
|
|
- NEVER hardcode API keys, secrets, or credentials in source files
|
|
- NEVER commit .env files or any file containing secrets
|
|
- Always validate user input at system boundaries
|
|
- Always sanitize file paths to prevent directory traversal
|
|
- Run `npx @claude-flow/cli@latest security scan` after security-related changes
|
|
|
|
## Concurrency: 1 MESSAGE = ALL RELATED OPERATIONS
|
|
|
|
- All operations MUST be concurrent/parallel in a single message
|
|
- Use Claude Code's Task tool for spawning agents, not just MCP
|
|
- ALWAYS batch ALL todos in ONE TodoWrite call (5-10+ minimum)
|
|
- ALWAYS spawn ALL agents in ONE message with full instructions via Task tool
|
|
- ALWAYS batch ALL file reads/writes/edits in ONE message
|
|
- ALWAYS batch ALL Bash commands in ONE message
|
|
|
|
## Swarm Orchestration
|
|
|
|
- MUST initialize the swarm using CLI tools when starting complex tasks
|
|
- MUST spawn concurrent agents using Claude Code's Task tool
|
|
- Never use CLI tools alone for execution — Task tool agents do the actual work
|
|
- MUST call CLI tools AND Task tool in ONE message for complex work
|
|
|
|
### 3-Tier Model Routing (ADR-026)
|
|
|
|
| Tier | Handler | Latency | Cost | Use Cases |
|
|
|------|---------|---------|------|-----------|
|
|
| **1** | Agent Booster (WASM) | <1ms | $0 | Simple transforms (var→const, add types) — Skip LLM |
|
|
| **2** | Haiku | ~500ms | $0.0002 | Simple tasks, low complexity (<30%) |
|
|
| **3** | Sonnet/Opus | 2-5s | $0.003-0.015 | Complex reasoning, architecture, security (>30%) |
|
|
|
|
- Always check for `[AGENT_BOOSTER_AVAILABLE]` or `[TASK_MODEL_RECOMMENDATION]` before spawning agents
|
|
- Use Edit tool directly when `[AGENT_BOOSTER_AVAILABLE]`
|
|
|
|
## Swarm Configuration & Anti-Drift
|
|
|
|
- ALWAYS use hierarchical topology for coding swarms
|
|
- Keep maxAgents at 6-8 for tight coordination
|
|
- Use specialized strategy for clear role boundaries
|
|
- Use `raft` consensus for hive-mind (leader maintains authoritative state)
|
|
- Run frequent checkpoints via `post-task` hooks
|
|
- Keep shared memory namespace for all agents
|
|
|
|
```bash
|
|
npx @claude-flow/cli@latest swarm init --topology hierarchical --max-agents 8 --strategy specialized
|
|
```
|
|
|
|
## Swarm Execution Rules
|
|
|
|
- ALWAYS use `run_in_background: true` for all agent Task calls
|
|
- ALWAYS put ALL agent Task calls in ONE message for parallel execution
|
|
- After spawning, STOP — do NOT add more tool calls or check status
|
|
- Never poll TaskOutput or check swarm status — trust agents to return
|
|
- When agent results arrive, review ALL results before proceeding
|
|
|
|
## V3 CLI Commands
|
|
|
|
### Core Commands
|
|
|
|
| Command | Subcommands | Description |
|
|
|---------|-------------|-------------|
|
|
| `init` | 4 | Project initialization |
|
|
| `agent` | 8 | Agent lifecycle management |
|
|
| `swarm` | 6 | Multi-agent swarm coordination |
|
|
| `memory` | 11 | AgentDB memory with HNSW search |
|
|
| `task` | 6 | Task creation and lifecycle |
|
|
| `session` | 7 | Session state management |
|
|
| `hooks` | 17 | Self-learning hooks + 12 workers |
|
|
| `hive-mind` | 6 | Byzantine fault-tolerant consensus |
|
|
|
|
### Quick CLI Examples
|
|
|
|
```bash
|
|
npx @claude-flow/cli@latest init --wizard
|
|
npx @claude-flow/cli@latest agent spawn -t coder --name my-coder
|
|
npx @claude-flow/cli@latest swarm init --v3-mode
|
|
npx @claude-flow/cli@latest memory search --query "authentication patterns"
|
|
npx @claude-flow/cli@latest doctor --fix
|
|
```
|
|
|
|
## Available Agents (60+ Types)
|
|
|
|
### Core Development
|
|
`coder`, `reviewer`, `tester`, `planner`, `researcher`
|
|
|
|
### Specialized
|
|
`security-architect`, `security-auditor`, `memory-specialist`, `performance-engineer`
|
|
|
|
### Swarm Coordination
|
|
`hierarchical-coordinator`, `mesh-coordinator`, `adaptive-coordinator`
|
|
|
|
### GitHub & Repository
|
|
`pr-manager`, `code-review-swarm`, `issue-tracker`, `release-manager`
|
|
|
|
### SPARC Methodology
|
|
`sparc-coord`, `sparc-coder`, `specification`, `pseudocode`, `architecture`
|
|
|
|
## Memory Commands Reference
|
|
|
|
```bash
|
|
# Store (REQUIRED: --key, --value; OPTIONAL: --namespace, --ttl, --tags)
|
|
npx @claude-flow/cli@latest memory store --key "pattern-auth" --value "JWT with refresh" --namespace patterns
|
|
|
|
# Search (REQUIRED: --query; OPTIONAL: --namespace, --limit, --threshold)
|
|
npx @claude-flow/cli@latest memory search --query "authentication patterns"
|
|
|
|
# List (OPTIONAL: --namespace, --limit)
|
|
npx @claude-flow/cli@latest memory list --namespace patterns --limit 10
|
|
|
|
# Retrieve (REQUIRED: --key; OPTIONAL: --namespace)
|
|
npx @claude-flow/cli@latest memory retrieve --key "pattern-auth" --namespace patterns
|
|
```
|
|
|
|
## Quick Setup
|
|
|
|
```bash
|
|
claude mcp add claude-flow -- npx -y @claude-flow/cli@latest
|
|
npx @claude-flow/cli@latest daemon start
|
|
npx @claude-flow/cli@latest doctor --fix
|
|
```
|
|
|
|
## Claude Code vs CLI Tools
|
|
|
|
- Claude Code's Task tool handles ALL execution: agents, file ops, code generation, git
|
|
- CLI tools handle coordination via Bash: swarm init, memory, hooks, routing
|
|
- NEVER use CLI tools as a substitute for Task tool agents
|
|
|
|
## Support
|
|
|
|
- Documentation: https://github.com/ruvnet/claude-flow
|
|
- Issues: https://github.com/ruvnet/claude-flow/issues
|