Dorian e8a0e1af19 feat: add Ollama proxy timeouts, SSH key migration, polish skills, and demo content
- Update all skill SSH commands from sshpass to key-based auth (~/.ssh/archipelago-deploy)
- Add proxy_connect_timeout 120s to nginx Ollama location blocks
- Add new polish/sweep skills for overnight automation
- Add demo content (documents, photos) for demo stack
- Add .ssh/ to .gitignore

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 08:06:52 +00:00

106 lines
3.5 KiB
Markdown

# Skill: Quality Sweep
Full automated quality sweep across the entire codebase. Detects regressions, violations, and quality issues. This is the overnight watchdog.
Run all checks below sequentially. For each check, use the Grep tool (not bash grep) for local file scanning, and Bash for remote/build commands. Report a summary at the end.
## Checks
### 1. TypeScript Type Check
Run in bash:
```bash
cd /Users/dorian/Projects/archy/neode-ui && npx vue-tsc --noEmit 2>&1 | tail -20
```
PASS = zero errors. Count any errors found.
### 2. Frontend Violations
Use the Grep tool to scan `neode-ui/src/` for each pattern. Count matches for each:
**Silent catch blocks** — pattern: `catch\s*\(\s*\)\s*=>?\s*\{\s*\}` or `\.catch\(\(\)\s*=>\s*\{\}` in `*.vue` and `*.ts` files
**console.log in prod** — pattern: `console\.(log|warn|error)` in `*.vue` and `*.ts` files. Exclude lines containing `import.meta.env.DEV` or `// dev-only`
**any type usage** — pattern: `:\s*any[^a-zA-Z]|as\s+any[^a-zA-Z]` in `*.vue` and `*.ts` files. Exclude `.d.ts` files
**TODO/FIXME/HACK** — pattern: `TODO|FIXME|HACK|XXX` in `*.vue` and `*.ts` files
**Banned CSS classes** — pattern: `gradient-button|gradient-card` in `*.vue` files
### 3. Backend Violations (via SSH)
Run in bash:
```bash
ssh -i ~/.ssh/archipelago-deploy archipelago@192.168.1.228 "
echo '--- unwrap/expect ---'
grep -rn 'unwrap()\|\.expect(' ~/archy/core/archipelago/src/ ~/archy/core/container/src/ ~/archy/core/security/src/ --include='*.rs' | grep -v test | grep -v '_test.rs' | grep -v target/ | wc -l
echo '--- println/eprintln ---'
grep -rn 'println!\|eprintln!' ~/archy/core/ --include='*.rs' | grep -v test | grep -v target/ | wc -l
echo '--- TODO/FIXME ---'
grep -rn 'TODO\|FIXME\|HACK' ~/archy/core/ --include='*.rs' | grep -v target/ | wc -l
"
```
### 4. Hardcoded Credentials
Use Grep tool locally — pattern: `archipelago123|password123` in `core/` and `scripts/` directories, excluding `target/`, `node_modules/`, and `deploy-config.sh`
### 5. Server Health
Run in bash:
```bash
ssh -i ~/.ssh/archipelago-deploy archipelago@192.168.1.228 "
echo 'service:' \$(systemctl is-active archipelago)
echo 'health:' \$(curl -s -o /dev/null -w '%{http_code}' http://localhost:5678/health)
echo 'containers:' \$(podman ps -q 2>/dev/null | wc -l || docker ps -q | wc -l)
echo 'errors:' \$(journalctl -u archipelago --since '1 hour ago' --no-pager -p err 2>/dev/null | wc -l)
echo 'disk:' \$(df -h / | tail -1 | awk '{print \$5}')
"
```
### 6. Frontend Build
Run in bash:
```bash
cd /Users/dorian/Projects/archy/neode-ui && npm run build 2>&1 | tail -5
```
PASS = exit code 0.
## Report Format
After all checks, output a summary exactly like this:
```
=== SWEEP REPORT ===
TypeScript: PASS/FAIL (N errors)
Silent catches: PASS/FAIL (N)
Console.log: PASS/FAIL (N)
Any types: PASS/FAIL (N)
TODOs: PASS/FAIL (N)
Banned classes: PASS/FAIL (N)
Backend unwrap: PASS/FAIL (N)
Backend println: PASS/FAIL (N)
Hardcoded creds: PASS/FAIL (N)
Server health: PASS/FAIL
Frontend build: PASS/FAIL
Total violations: N
```
PASS = zero violations for that check. FAIL = one or more.
## Auto-Fix Rules
Safe to auto-fix without asking:
- `cargo fmt --all` on dev server (formatting only)
- Trailing whitespace removal
- Import ordering
Do NOT auto-fix (flag for review):
- Error handling changes
- Logic or behavior changes
- Anything in core/ Rust files beyond formatting
## Reference
Full plan with weekly task breakdown: `plan.md` (project root)
Current week's focus determines which violations are highest priority.