Skip to content

Conversation

@victormartingil
Copy link
Member

Summary

  • 25 bug fixes across the codebase (6 critical, 12 important, 7 quality improvements)
  • README completely rewritten — cleaner design, honest positioning, focused on developers/architects
  • Version bumped to 1.2.0

Critical Fixes

  • REPL input line duplication on render (cursor row tracking)
  • Bracketed paste mode not restored on process exit
  • SIGINT handler scoping error causing TypeScript build failure
  • Path traversal vulnerability in read_image tool
  • ReDoS vulnerability in grep_search regex
  • Snapshot restore using shallow copy (shared references after rollback)

Important Fixes

  • ANSI-safe text wrapping in renderer (code blocks with escape codes)
  • Streaming indicator cleanup leak in renderCodeBlock
  • Diff-renderer path parsing and zero-width terminal crash
  • Confirmation dialog raw mode restore
  • deepMergeConfig missing optional sections (stack, mcp, tools, integrations)
  • Invalid convergenceThreshold cross-unit validation removed
  • Silent JSON parse failures in Anthropic/OpenAI providers now logged
  • Gemini tool call dedup non-determinism (sorted keys)
  • Phase transition validation enforcing COCO ordering
  • Atomic state save (temp file + rename pattern)

Quality Improvements

  • Terminal resize handler (SIGWINCH) for input
  • Standardized quality evaluator fallback values
  • Missing 5 dimensions added to regression test helper
  • Improved Gemini token counting heuristic
  • Diff-renderer formatLineNo padding fix
  • Trust settings save failures now logged
  • Lint warnings fixed in search.ts regex

Test plan

  • pnpm typecheck — 0 errors
  • pnpm lint — 0 errors (1 pre-existing warning: intentional ANSI control regex)
  • pnpm test — 171 files, 4352 tests passing, 0 failures
  • All new/updated tests for path traversal, phase transitions, atomic save, and image tests pass
  • Version reads correctly as 1.2.0

Versioning

After merging, tag with v1.2.0:

git tag v1.2.0
git push origin v1.2.0

Critical fixes:
- Fix REPL input line duplication on render (cursor tracking)
- Fix bracketed paste mode not restored on exit
- Fix SIGINT handler leak and scoping error in REPL loop
- Fix path traversal vulnerability in image tool
- Fix ReDoS vulnerability in search tool regex
- Fix snapshot restore shallow copy (orchestrator)

Important fixes:
- Fix ANSI-safe text wrapping in renderer (code block display)
- Fix streaming indicator cleanup in renderCodeBlock
- Fix diff-renderer path parsing and zero-width crash
- Fix confirmation dialog raw mode restore
- Fix deepMergeConfig missing optional sections (stack, mcp, tools)
- Remove invalid convergenceThreshold cross-unit validation
- Add JSON parse failure logging in Anthropic/OpenAI providers
- Fix Gemini tool call dedup non-determinism
- Add phase transition validation (enforce COCO ordering)
- Implement atomic state save (temp file + rename)

Quality improvements:
- Add terminal resize handler (SIGWINCH) for input
- Standardize quality evaluator fallback values
- Add missing 5 dimensions in regression test helper
- Improve Gemini token counting heuristic
- Fix diff-renderer formatLineNo padding
- Log trust settings save failures instead of swallowing
- Fix lint warnings in search.ts regex

README rewritten for v1.2.0 with improved design and messaging.
Version bumped to 1.2.0.
All 4352 tests passing, 0 type errors, 0 lint errors.
@victormartingil victormartingil merged commit 3ac6262 into main Feb 10, 2026
6 checks passed
@victormartingil victormartingil deleted the fix/v1.2.0-bugfixes-and-readme branch February 10, 2026 16:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant