feat: Complete Rust port of WiFi-DensePose with modular crates
Major changes: - Organized Python v1 implementation into v1/ subdirectory - Created Rust workspace with 9 modular crates: - wifi-densepose-core: Core types, traits, errors - wifi-densepose-signal: CSI processing, phase sanitization, FFT - wifi-densepose-nn: Neural network inference (ONNX/Candle/tch) - wifi-densepose-api: Axum-based REST/WebSocket API - wifi-densepose-db: SQLx database layer - wifi-densepose-config: Configuration management - wifi-densepose-hardware: Hardware abstraction - wifi-densepose-wasm: WebAssembly bindings - wifi-densepose-cli: Command-line interface Documentation: - ADR-001: Workspace structure - ADR-002: Signal processing library selection - ADR-003: Neural network inference strategy - DDD domain model with bounded contexts Testing: - 69 tests passing across all crates - Signal processing: 45 tests - Neural networks: 21 tests - Core: 3 doc tests Performance targets: - 10x faster CSI processing (~0.5ms vs ~5ms) - 5x lower memory usage (~100MB vs ~500MB) - WASM support for browser deployment
This commit is contained in:
259
.claude/settings.json
Normal file
259
.claude/settings.json
Normal file
@@ -0,0 +1,259 @@
|
||||
{
|
||||
"hooks": {
|
||||
"PreToolUse": [
|
||||
{
|
||||
"matcher": "^(Write|Edit|MultiEdit)$",
|
||||
"hooks": [
|
||||
{
|
||||
"type": "command",
|
||||
"command": "[ -n \"$TOOL_INPUT_file_path\" ] && npx @claude-flow/cli@latest hooks pre-edit --file \"$TOOL_INPUT_file_path\" 2>/dev/null || true",
|
||||
"timeout": 5000,
|
||||
"continueOnError": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"matcher": "^Bash$",
|
||||
"hooks": [
|
||||
{
|
||||
"type": "command",
|
||||
"command": "[ -n \"$TOOL_INPUT_command\" ] && npx @claude-flow/cli@latest hooks pre-command --command \"$TOOL_INPUT_command\" 2>/dev/null || true",
|
||||
"timeout": 5000,
|
||||
"continueOnError": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"matcher": "^Task$",
|
||||
"hooks": [
|
||||
{
|
||||
"type": "command",
|
||||
"command": "[ -n \"$TOOL_INPUT_prompt\" ] && npx @claude-flow/cli@latest hooks pre-task --task-id \"task-$(date +%s)\" --description \"$TOOL_INPUT_prompt\" 2>/dev/null || true",
|
||||
"timeout": 5000,
|
||||
"continueOnError": true
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"PostToolUse": [
|
||||
{
|
||||
"matcher": "^(Write|Edit|MultiEdit)$",
|
||||
"hooks": [
|
||||
{
|
||||
"type": "command",
|
||||
"command": "[ -n \"$TOOL_INPUT_file_path\" ] && npx @claude-flow/cli@latest hooks post-edit --file \"$TOOL_INPUT_file_path\" --success \"${TOOL_SUCCESS:-true}\" 2>/dev/null || true",
|
||||
"timeout": 5000,
|
||||
"continueOnError": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"matcher": "^Bash$",
|
||||
"hooks": [
|
||||
{
|
||||
"type": "command",
|
||||
"command": "[ -n \"$TOOL_INPUT_command\" ] && npx @claude-flow/cli@latest hooks post-command --command \"$TOOL_INPUT_command\" --success \"${TOOL_SUCCESS:-true}\" 2>/dev/null || true",
|
||||
"timeout": 5000,
|
||||
"continueOnError": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"matcher": "^Task$",
|
||||
"hooks": [
|
||||
{
|
||||
"type": "command",
|
||||
"command": "[ -n \"$TOOL_RESULT_agent_id\" ] && npx @claude-flow/cli@latest hooks post-task --task-id \"$TOOL_RESULT_agent_id\" --success \"${TOOL_SUCCESS:-true}\" 2>/dev/null || true",
|
||||
"timeout": 5000,
|
||||
"continueOnError": true
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"UserPromptSubmit": [
|
||||
{
|
||||
"hooks": [
|
||||
{
|
||||
"type": "command",
|
||||
"command": "[ -n \"$PROMPT\" ] && npx @claude-flow/cli@latest hooks route --task \"$PROMPT\" || true",
|
||||
"timeout": 5000,
|
||||
"continueOnError": true
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"SessionStart": [
|
||||
{
|
||||
"hooks": [
|
||||
{
|
||||
"type": "command",
|
||||
"command": "npx @claude-flow/cli@latest daemon start --quiet 2>/dev/null || true",
|
||||
"timeout": 5000,
|
||||
"continueOnError": true
|
||||
},
|
||||
{
|
||||
"type": "command",
|
||||
"command": "[ -n \"$SESSION_ID\" ] && npx @claude-flow/cli@latest hooks session-restore --session-id \"$SESSION_ID\" 2>/dev/null || true",
|
||||
"timeout": 10000,
|
||||
"continueOnError": true
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"Stop": [
|
||||
{
|
||||
"hooks": [
|
||||
{
|
||||
"type": "command",
|
||||
"command": "echo '{\"ok\": true}'",
|
||||
"timeout": 1000
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"Notification": [
|
||||
{
|
||||
"hooks": [
|
||||
{
|
||||
"type": "command",
|
||||
"command": "[ -n \"$NOTIFICATION_MESSAGE\" ] && npx @claude-flow/cli@latest memory store --namespace notifications --key \"notify-$(date +%s)\" --value \"$NOTIFICATION_MESSAGE\" 2>/dev/null || true",
|
||||
"timeout": 3000,
|
||||
"continueOnError": true
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"PermissionRequest": [
|
||||
{
|
||||
"matcher": "^mcp__claude-flow__.*$",
|
||||
"hooks": [
|
||||
{
|
||||
"type": "command",
|
||||
"command": "echo '{\"decision\": \"allow\", \"reason\": \"claude-flow MCP tool auto-approved\"}'",
|
||||
"timeout": 1000
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"matcher": "^Bash\\(npx @?claude-flow.*\\)$",
|
||||
"hooks": [
|
||||
{
|
||||
"type": "command",
|
||||
"command": "echo '{\"decision\": \"allow\", \"reason\": \"claude-flow CLI auto-approved\"}'",
|
||||
"timeout": 1000
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"statusLine": {
|
||||
"type": "command",
|
||||
"command": "npx @claude-flow/cli@latest hooks statusline 2>/dev/null || node .claude/helpers/statusline.cjs 2>/dev/null || echo \"▊ Claude Flow V3\"",
|
||||
"refreshMs": 5000,
|
||||
"enabled": true
|
||||
},
|
||||
"permissions": {
|
||||
"allow": [
|
||||
"Bash(npx claude-flow*)",
|
||||
"Bash(npx @claude-flow/*)",
|
||||
"mcp__claude-flow__*"
|
||||
],
|
||||
"deny": []
|
||||
},
|
||||
"claudeFlow": {
|
||||
"version": "3.0.0",
|
||||
"enabled": true,
|
||||
"modelPreferences": {
|
||||
"default": "claude-opus-4-5-20251101",
|
||||
"routing": "claude-3-5-haiku-20241022"
|
||||
},
|
||||
"swarm": {
|
||||
"topology": "hierarchical-mesh",
|
||||
"maxAgents": 15
|
||||
},
|
||||
"memory": {
|
||||
"backend": "hybrid",
|
||||
"enableHNSW": true
|
||||
},
|
||||
"neural": {
|
||||
"enabled": true
|
||||
},
|
||||
"daemon": {
|
||||
"autoStart": true,
|
||||
"workers": [
|
||||
"map",
|
||||
"audit",
|
||||
"optimize",
|
||||
"consolidate",
|
||||
"testgaps",
|
||||
"ultralearn",
|
||||
"deepdive",
|
||||
"document",
|
||||
"refactor",
|
||||
"benchmark"
|
||||
],
|
||||
"schedules": {
|
||||
"audit": {
|
||||
"interval": "1h",
|
||||
"priority": "critical"
|
||||
},
|
||||
"optimize": {
|
||||
"interval": "30m",
|
||||
"priority": "high"
|
||||
},
|
||||
"consolidate": {
|
||||
"interval": "2h",
|
||||
"priority": "low"
|
||||
},
|
||||
"document": {
|
||||
"interval": "1h",
|
||||
"priority": "normal",
|
||||
"triggers": [
|
||||
"adr-update",
|
||||
"api-change"
|
||||
]
|
||||
},
|
||||
"deepdive": {
|
||||
"interval": "4h",
|
||||
"priority": "normal",
|
||||
"triggers": [
|
||||
"complex-change"
|
||||
]
|
||||
},
|
||||
"ultralearn": {
|
||||
"interval": "1h",
|
||||
"priority": "normal"
|
||||
}
|
||||
}
|
||||
},
|
||||
"learning": {
|
||||
"enabled": true,
|
||||
"autoTrain": true,
|
||||
"patterns": [
|
||||
"coordination",
|
||||
"optimization",
|
||||
"prediction"
|
||||
],
|
||||
"retention": {
|
||||
"shortTerm": "24h",
|
||||
"longTerm": "30d"
|
||||
}
|
||||
},
|
||||
"adr": {
|
||||
"autoGenerate": true,
|
||||
"directory": "/docs/adr",
|
||||
"template": "madr"
|
||||
},
|
||||
"ddd": {
|
||||
"trackDomains": true,
|
||||
"validateBoundedContexts": true,
|
||||
"directory": "/docs/ddd"
|
||||
},
|
||||
"security": {
|
||||
"autoScan": true,
|
||||
"scanOnEdit": true,
|
||||
"cveCheck": true,
|
||||
"threatModel": true
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user