Skip to content

DeepThroat v0.9.0

Choose a tag to compare

@variablepy variablepy released this 22 Oct 10:06

Deep mode: 28 execution and workflow upgrades

  1. A visible task checklist follows the agent's actual plan updates.
  2. Plan steps support pending, in-progress, and completed states with a progress bar.
  3. The inspector shows model turns, tool actions, errors, and context size.
  4. Settings now include a dedicated Deep mode section with saved limits and reset controls.
  5. Model-turn budgets stop runaway tasks while preserving completed history.
  6. Tool-action budgets prevent unlimited execution in one request.
  7. Configurable tool timeouts include command cancellation and language-server queries.
  8. Context thresholds compact older tool output during a run, preserving message and tool IDs.
  9. Tool batches are limited to 16 calls; independent read batches run concurrently up to eight calls.
  10. Identical failed tools and nonzero-exit commands are blocked after three failures.
  11. Existing files must be read before the agent overwrites or patches them.
  12. Content fingerprints reject edits when a file changed since its last read.
  13. File saves use a synchronized temporary file and atomic replacement with a final stale-content check.
  14. File permissions, CRLF endings, and UTF-8 byte-order marks survive edits.
  15. Exact patches validate all replacements before writing and avoid no-op restore points.
  16. File reads are numbered and paginated, support start-only ranges, and explain how to continue.
  17. File listing supports glob filters and offset/limit pagination.
  18. Text search supports case-insensitive queries, nearby context lines, and configurable match limits.
  19. Dependency and generated folders are pruned even when the project has no Git metadata.
  20. Long searches check cancellation between files.
  21. New-file paths are checked before creating parent folders, including symlink escape checks.
  22. Managed processes can be inspected and stopped only from their owning project.
  23. Terminal buffering is bounded; UTF-8 characters survive split chunks and output truncation.
  24. Command-output draining has a deadline so inherited child pipes cannot hang a completed command.
  25. SSE parsing handles CRLF, multiline data, and arbitrary byte boundaries; incomplete streams never execute partial tool calls.
  26. Stream, frame, argument, and tool-output limits constrain oversized responses.
  27. Interrupted tool histories are repaired, orphan results are dropped, and staged Git diffs can be reviewed.
  28. After code edits, Deep requests a real project check before finalizing; the inspector reports a passed check only from an actual successful check result.

Verification

  • Default read payload benchmark: 135,780 bytes before, 10,140 bytes after for a 6,000-line fixture: 13.39 times less context for the default read.
  • Dependency-scan benchmark: 1,001 candidate files before, one source file after; 1,000 generated dependency files avoided.
  • These benchmarks measure specific operations, not a universal coding-speed multiplier.