VYNOHQJWFL6ZEKFLASJAZZIHN4S3NJJECKANT7JNSXPJN3KC2DJAC ---## 🚨 Critical Database Safety### ALWAYS Use Test Database for Testing**CORRECT:**```bashcd shell_scripts./test_sql.sh ../db/test.duckdb > test.txt 2>&1```- `db/skraak.duckdb` = **PRODUCTION** (1.4M files)- `db/test.duckdb` = **TEST** (safe for testing)- **Always specify test.duckdb explicitly**### Testing Best Practices- **Always pipe to file** (prevents token overflow from large output)- Navigate to `shell_scripts/` before running tests- Verify: `rg '"result":' test.txt | wc -l`
- **`tools/`** - MCP/CLI tools (one file per tool, defines input/output types)- **`cmd/mcp.go`** - MCP adapters (only file importing MCP SDK)
- **`tools/`** - CLI tools (one file per tool, defines input/output types)
### Shell Scripts (in shell_scripts/)All scripts default to `../db/test.duckdb`:```bashcd shell_scripts./test_sql.sh ../db/test.duckdb > test.txt 2>&1 # SQL tool./test_cluster_import.sh # cluster_import.go integration./test_mapping_validation.sh # ValidateMappingAgainstDB integration# Verifyrg '"result":' test.txt | wc -l # Count successesrg '"isError":true' test.txt | wc -l # Count expected errors```
| File | Why Skipped ||------|------------|| `utils/audio_player.go` | Thin wrapper over `oto` (requires audio hardware). No testable logic without hardware; `Resample` already covered in `resample_test.go` |
`utils/audio_player.go` is a thin wrapper over `oto` (requires audio hardware). No testable logic without hardware; `Resample` already covered in `resample_test.go` |
🚨 Critical Database Safety**ALWAYS Use Test Database for Testing**```bashcd shell_scripts./test_sql.sh ../db/test.duckdb > test.txt 2>&1```- `db/skraak.duckdb` = **PRODUCTION**- `db/test.duckdb` = **TEST** (safe for testing)- **Always specify test.duckdb explicitly**