v2.0.4-hardening: fuzz suite + integration tests + production readiness
Phase 8 of v2.0. Final hardening pass before production tag. Path-guard fuzz suite (34 tests): traversal attacks (../ all depths, encoded %2e%2e, null bytes, absolute escapes, prefix-without-separator, backslash), secret-file deny list (.env, *.pem, id_rsa*, *.key, credentials.json, *.kdbx, .netrc), valid-path positives, edge cases (empty, whitespace, very long, triple-dot, multiple slashes). write_guard.ts hardened: added null-byte rejection and whitespace-only rejection (previously only checked empty string). Pending-changes integration test skeleton: 4 tests covering the full queue→apply→rewind cycle against a real DB + filesystem. Gated on DATABASE_URL via describe.runIf (same pattern as apps/server's tool_cost_stats.test.ts). Skips cleanly when unset. 57 tests passing (23 existing + 34 fuzz), 4 integration skipped. All builds clean. All services healthy. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -312,6 +312,8 @@ Independent batch — ships clean any time after v1.13. Low leverage unless Sam
|
||||
|
||||
**Estimated:** ~1500 LoC for Path A + Path B + shared schema, plus ~400 LoC for the MCP-server role, plus ~300 LoC for the ACP-client role. Multiple sub-versions: v2.0.0 native + ACP, v2.0.1 MCP server, v2.0.2 polish.
|
||||
|
||||
**Retrospective (2026-05-25):** All 8 phases shipped. v2.0.0-alpha through v2.0.4-hardening. The full BooCoder line is complete: write tools with pending-changes queue, dispatcher with ACP/PTY dual paths, MCP server (6 tools, stdio transport, 10-question eval passed), CLI client, human inbox, Boomerang `new_task` orchestration, and path-guard fuzz suite (34 traversal-attack tests). Runtime isolation (v2.1) remains optional pending production bake.
|
||||
|
||||
-----
|
||||
|
||||
## v2.1 — BooCoder runtime isolation (optional)
|
||||
|
||||
Reference in New Issue
Block a user