Skip to content

Feat/processor improvements#28

Merged
ppgranger merged 17 commits intomainfrom
feat/processor-improvements
Mar 17, 2026
Merged

Feat/processor improvements#28
ppgranger merged 17 commits intomainfrom
feat/processor-improvements

Conversation

@ppgranger
Copy link
Copy Markdown
Owner

@ppgranger ppgranger commented Mar 17, 2026

What

Why

How

Checklist

  • ruff check . passes
  • ruff format --check . passes
  • python3 -m pytest tests/ -v passes (all 207+ tests)
  • New code has tests (if applicable)
  • No secrets or credentials in the diff

Replace three near-identical JSON summarization implementations
(network._summarize_json, file_content._summarize_json_value,
cloud_cli._compress_json_value) with calls to the shared
utils.compress_json_value() function.
Unify the head+tail+error-extraction-with-context pattern from
file_content._compress_log, docker._process_logs, and
kubectl._process_logs into a single compress_log_lines() utility.
Pre-scan git diff output for lockfile paths (package-lock.json,
yarn.lock, etc.) and replace their entire diff section with a
one-line summary, preventing hundreds of useless hunks from being
sent through compress_diff.
When git diff --stat has more than 20 files, group them by directory
with aggregate change counts instead of listing each file individually.
Detect coverage tables in pytest output and compress them to show
only the TOTAL line and files below 80% coverage.
Track parameterized test names during pytest output processing and
report them grouped with failed parameter names when failures occur.
Add minified file detection before source code pass-through check.
Files like .min.js, .bundle.js and files with very long average line
length are summarized instead of passed through unchanged.
Add .env variant detection that redacts sensitive values in deployed
env files while preserving .env and .env.example pass-through behavior.
Route tsc --noEmit through a dedicated type-check handler that groups
errors by TS error code with occurrence counts and examples.
Detect compose log format (service | message) and group output by
service, showing error lines with context and per-service summaries.
When search results span more than 30 files, group them by directory
with top files per directory and match counts.
Short API responses (500-1500 chars) are often more useful
uncompressed for the model to read.
Three new specialized processors for DevOps/infrastructure output:
- AnsibleProcessor (priority 40): compresses ok/skipped tasks, preserves errors and PLAY RECAP
- HelmProcessor (priority 41): summarizes template manifests, omits NOTES, truncates lists
- SyslogProcessor (priority 42): head/tail compression for journalctl and dmesg output

Updates test suite with 43 new tests (565 total).
Split rsync from the ssh/scp exclusion — local rsync (no host:path)
is now compressible via the file_listing processor, while remote rsync
(with host:path like user@server:/path/) remains excluded.
Update test_expected_priority_order with ansible/helm/syslog entries.
Add ansible, helm, journalctl, dmesg commands to hook pattern coverage test.
Update processor count from 18 to 21 throughout README.
Add ansible, helm, syslog to processor table and project structure.
Add rsync to file_listing commands.
Create per-processor docs (ansible.md, helm.md, syslog.md).
Update test counts (567 tests).
Fix ruff lint issues (SIM103, SIM102, PIE810, RUF005).
Add PLR0913 to global ignores for shared utility signatures.
Bump version across all manifests (src/__init__.py, pyproject.toml,
plugin.json, marketplace.json).

README improvements:
- Stronger value proposition in header
- Added docker compose and helm template to Before & After table
- Precision guarantees: source code passthrough, .env redaction
- Updated processor descriptions in plugin manifests

Fix helm NOTES omission bug: NOTES section is now fully stripped
instead of leaking non-indented content lines.
@ppgranger ppgranger merged commit 61c660f into main Mar 17, 2026
5 checks passed
@ppgranger ppgranger deleted the feat/processor-improvements branch March 17, 2026 19:32
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