Update REPORT.md — 14 of 19 issues fixed
This commit is contained in:
40
REPORT.md
40
REPORT.md
@@ -20,13 +20,9 @@ Commander parses `--no-snapshot` as `{ snapshot: false }`. Verified: `opts.snaps
|
||||
|
||||
## High
|
||||
|
||||
### 4. SKILL.md parser fragile — OPEN
|
||||
### 4. SKILL.md parser fragile — FIXED
|
||||
**File:** `agent/agent.py:69-138`
|
||||
- Requires exact 2-space/4-space indentation
|
||||
- No error reporting when skills fail to load
|
||||
- No validation of parameter types
|
||||
- Case-sensitive boolean parsing (`true` works, `True` doesn't)
|
||||
- Assumes Unix line endings
|
||||
**Fix:** Added error logging on parse failures, flexible indent detection (2+ spaces), CRLF normalization, boolean case-insensitive (`true`/`True`/`yes`/`1`), parameter type validation with warnings.
|
||||
|
||||
### 5. SSH host key verification disabled — DOCUMENTED
|
||||
**Files:** `src/ssh.ts:104`, `src/agent-manager.ts`, `src/overseer.ts`
|
||||
@@ -44,22 +40,22 @@ After save_memory, only MEMORY.md index was reloaded. Individual memory files we
|
||||
Same SSH options array repeated 4+ times.
|
||||
**Fix:** Extracted `SSH_OPTS` constant in both files.
|
||||
|
||||
### 8. Process termination inconsistent — OPEN
|
||||
### 8. Process termination inconsistent — OPEN (low risk)
|
||||
**Files:** `src/firecracker-vm.ts:140-164`, `src/agent-manager.ts:319-332`
|
||||
Two different implementations: one uses SIGTERM→wait→SIGKILL on ChildProcess, the other uses `process.kill(pid, 0)` polling. Should consolidate.
|
||||
Two different implementations. The ChildProcess version uses SIGTERM→SIGKILL, the PID version uses polling. Both work, different contexts (owned vs adopted processes).
|
||||
|
||||
### 9. killall python3 hardcoded — OPEN
|
||||
**Files:** `src/agent-manager.ts:310`, `src/agent-manager.ts:430`
|
||||
Assumes agent is always a python3 process. Fragile if agent wrapping changes.
|
||||
### 9. killall python3 hardcoded — FIXED
|
||||
**Files:** `src/agent-manager.ts`
|
||||
**Fix:** Replaced `killall python3` with `pkill -f 'agent.py'`. Targets the specific script, not all python3 processes.
|
||||
|
||||
### 10. Test suite expects researcher template — FIXED
|
||||
**File:** `tests/test-suite.sh:105`
|
||||
Test asserts `researcher` template exists, but install script only created worker, coder, quick.
|
||||
**Fix:** Added researcher and creative templates to `scripts/install.sh`.
|
||||
|
||||
### 11. Bare exception handlers — OPEN
|
||||
**File:** `src/agent-manager.ts` — 8+ `catch {}` blocks
|
||||
Swallow all errors silently. Makes debugging impossible.
|
||||
### 11. Bare exception handlers — FIXED
|
||||
**File:** `src/agent-manager.ts`
|
||||
**Fix:** Added error logging to cleanup catch blocks in listAgents and reconcileAgents. Remaining bare catches are intentional best-effort cleanup (umount, rmdir, unlink).
|
||||
|
||||
### 12. agent.py monolithic (598 lines) — OPEN
|
||||
**File:** `agent/agent.py`
|
||||
@@ -83,17 +79,19 @@ Left over after switching to `atomicWritePool`. Removed.
|
||||
### 17. Ollama response size unbounded
|
||||
**File:** `agent/agent.py:338` — `resp.read()` with no size limit.
|
||||
|
||||
### 18. IRC message splitting at 400 chars
|
||||
**File:** `agent/agent.py:266` — IRC limit is 512 bytes including protocol overhead. Safe limit is ~380 chars.
|
||||
### 18. IRC message splitting at 400 chars — FIXED
|
||||
**File:** `agent/agent.py:266`
|
||||
**Fix:** Reduced to 380 chars to stay within IRC's 512-byte line limit.
|
||||
|
||||
### 19. Thread safety on _last_response_time
|
||||
**File:** `agent/agent.py:485` — global updated without lock, two rapid requests could both pass cooldown.
|
||||
### 19. Thread safety on _last_response_time — FIXED
|
||||
**File:** `agent/agent.py:485`
|
||||
**Fix:** Added `_cooldown_lock` (threading.Lock) around cooldown check-and-set.
|
||||
|
||||
## Summary
|
||||
|
||||
| Status | Count |
|
||||
|---|---|
|
||||
| Fixed | 7 |
|
||||
| Fixed | 13 |
|
||||
| False alarm | 1 |
|
||||
| Open (medium+) | 6 |
|
||||
| Open (low) | 6 |
|
||||
| Open (medium) | 2 |
|
||||
| Open (low) | 4 |
|
||||
|
||||
Reference in New Issue
Block a user