Skip to content

Noisegate v0.3.0

Choose a tag to compare

@github-actions github-actions released this 15 Jul 10:31
· 12 commits to main since this release
9765097

Noisegate 0.3.0 gets much better at telling noisy execution apart from evidence an agent must be able to trust. Background process logs and oversized write diagnostics can now shrink without flattening process state, generated source, patches, or structured metadata. At the same time, MCP and memory-retrieval paths are handled more conservatively: when ownership or content is ambiguous, Noisegate keeps its hands off.

Artifact storage also gets a tighter bouncer. Secret-, credential-, and private-key-looking output is refused even when artifact mode is enabled. No configuration migration is required, Hermes-LCM remains optional, and the existing fail-open contract stays intact.

Highlights

  • Process noise, minus the amnesia. Poll/log/wait output can compact while session_id, status, exit details, and useful failure anchors survive.
  • Source and diagnostics can coexist. Write/patch results may bound known lint and type-check fields without touching source, diffs, metadata, or unknown values.
  • Retrieval stays evidence. MCP, Hindsight, LCM, session, and memory-retrieval output remains exact; indexing and maintenance slop can still compact.
  • Artifacts are pickier on purpose. Obvious secrets and private keys are never persisted as recovery artifacts.
  • Contributing has a front door. A new contributor guide and PR checklist make the product-fit, safety, testing, and AI-assistance bar explicit before review starts.

Added

  • Conservative MCP policy coverage now locks mcp_* / mcp__* results, MCP exact-evidence categories, discovery metadata, and generic wrapper calls to exact-output defaults.

Changed

  • Generic tool_call wrappers now use the wrapped tool name when it is unambiguous, allowing wrapped terminal noise to compact while wrapped MCP/source tools and ambiguous ownership stay exact.
  • Hermes write/patch-like JSON results may now compact only known diagnostic string fields while preserving source, content, diffs, patches, metadata, and unknown parsed values exactly; the plugin hook and reduce-json CLI share this scoped, inline-only contract, reject non-strict or non-UTF-8 candidates, and never store diagnostic artifacts.
  • Memory indexing, import, API-retry, and LCM maintenance progress remains compactable while retrieval and expansion commands are classified as exact evidence.
  • Secret/header-looking raw output is refused for artifact storage even when artifact mode is enabled.

Fixed

  • Hermes background process poll/log/wait payloads now preserve process metadata while safely compacting command- or content-identified Docker, journalctl, systemctl status, dmesg, and follow-mode tail streams from known log targets; commandless non-diagnostic previews, followed source/config files, systemctl show properties, source, diff, and patch payloads remain exact.
  • LCM, Hindsight, session-search, and memory-retrieval tool and CLI surfaces now pass through unchanged instead of being mistaken for indexing or maintenance noise.

Documentation

  • Added a public contributor guide and pull request checklist covering Noisegate product fit, exact-output and artifact safety, validation evidence, responsible AI assistance, and disclosure boundaries.

How to update

For an existing Hermes Agent installation, run:

uvx --from noisegate-hermes noisegate install-hermes

Preview the exact commands first. Dry-run mode does not run the install/enable/doctor commands and does not restart or reload Hermes:

uvx --from noisegate-hermes noisegate install-hermes --dry-run

npm users can use the wrapper instead:

npx -p noisegate-hermes noisegate install-hermes

The installer finds hermes on PATH, verifies that the launcher points at a Hermes Python console script or supported Hermes shim inside a virtual environment, installs noisegate-hermes there, enables the noisegate plugin, removes any stale plugins.disabled entry for noisegate, and runs noisegate doctor.

If Hermes is running as a long-lived gateway/service, restart or reload that Hermes process through your normal maintenance flow after installing so the plugin/config change is picked up. Avoid interrupting in-flight agent work.

Included pull requests

Release range: v0.2.0...v0.3.0.

Security / Safety

  • #18 Protect memory retrieval while reducing indexing noise — @Tosko4. Protect memory/retrieval evidence from Noisegate compaction for LCM, Hindsight, session search, and memory retrieval tool/CLI surfaces.

Release / Packaging

  • #31 Prepare Noisegate 0.3.0 release — @Tosko4. Prepare Noisegate 0.3.0 across Python, plugin, lockfile, and npm wrapper metadata.

Added

  • #21 Handle Hermes background process logs safely — @Tosko4. Add safe handling for Hermes background process payloads across poll/log/wait-style results.

Changed

  • #25 Define conservative MCP output policy — @Tosko4. Keep MCP tool output exact by default, including source, resource, schema, database, snapshot, stack-trace, discovery, error, and log evidence.

Fixed

  • #30 Preserve source while bounding diagnostics output — @Tosko4. Add a narrow field-level compaction path for diagnostics returned by write/patch-like Hermes tools.

Documentation

  • #29 docs: add contributor quality guardrails — @Tosko4. Add a root CONTRIBUTING.md for human and AI-assisted contributions.

New contributors

  • No new contributors in this release range.