noisegate-hermes 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -1
- package/docs/product-contract.md +57 -0
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -4,12 +4,20 @@ This npm package is only a thin installer wrapper for the Python package [`noise
|
|
|
4
4
|
|
|
5
5
|
Noisegate itself is a Python Hermes Agent plugin and CLI. The Python package is canonical.
|
|
6
6
|
|
|
7
|
-
## Install Noisegate for Hermes
|
|
7
|
+
## Install or update Noisegate for Hermes
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
10
|
npx -p noisegate-hermes noisegate install-hermes
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
+
Use the same command for first install and updates. It finds `hermes` on `PATH`, verifies the launcher resolves to a Hermes Python console script or supported Hermes shim inside a virtual environment, installs the matching `noisegate-hermes` Python package there, enables the `noisegate` plugin, removes any stale disabled entry, and runs `noisegate doctor`. Native Windows launchers are opaque binaries, so Noisegate validates those by requiring an adjacent virtual-environment Python.
|
|
14
|
+
|
|
15
|
+
Preview the exact commands first. Dry-run mode does not run the install/enable/doctor commands and does not restart or reload Hermes:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
npx -p noisegate-hermes noisegate install-hermes --dry-run
|
|
19
|
+
```
|
|
20
|
+
|
|
13
21
|
If your npm client does not resolve the single-bin shortcut, use the explicit bin name:
|
|
14
22
|
|
|
15
23
|
```bash
|
|
@@ -22,6 +30,8 @@ The wrapper delegates to:
|
|
|
22
30
|
uvx --from noisegate-hermes==<this npm package version> noisegate install-hermes
|
|
23
31
|
```
|
|
24
32
|
|
|
33
|
+
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.
|
|
34
|
+
|
|
25
35
|
## Security posture
|
|
26
36
|
|
|
27
37
|
- No `postinstall` scripts.
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Noisegate product contract
|
|
2
|
+
|
|
3
|
+
Noisegate exists to improve agent context value, not to make output shorter at any cost. Use this checklist before changing reducers, Hermes hooks, artifact handling, installers, or operator docs.
|
|
4
|
+
|
|
5
|
+
## Maintainer checklist
|
|
6
|
+
|
|
7
|
+
### 1. Context value over byte-count wins
|
|
8
|
+
|
|
9
|
+
- [ ] The compacted output makes the next agent turn more useful, not merely smaller.
|
|
10
|
+
- [ ] Important failure lines, tracebacks, resolver conflicts, denied/not-found messages, and exit codes stay visible.
|
|
11
|
+
- [ ] Generic head/tail fallback is used only when no safer reducer applies.
|
|
12
|
+
|
|
13
|
+
### 2. Exact context stays exact
|
|
14
|
+
|
|
15
|
+
- [ ] File reads and source-like terminal commands stay byte-for-byte unchanged.
|
|
16
|
+
- [ ] Diffs, patches, code-search output, retrieved context, skills, memory, Hindsight, LCM, MCP, web extraction, and unknown future tools remain protected by default.
|
|
17
|
+
- [ ] If a command mixes source inspection with words like `ERROR` or `failed`, Noisegate does not reinterpret that source as a build/test failure.
|
|
18
|
+
|
|
19
|
+
### 3. Slop reducers stay deterministic and scoped
|
|
20
|
+
|
|
21
|
+
- [ ] Package/build/test reducers cover common agent slop: `apt`/`apt-get`, `pip`, `uv`, `npm`/`pnpm`/`yarn`, pytest/unittest, and Docker build-style logs.
|
|
22
|
+
- [ ] Docker runtime logs are only compacted when command intent is explicitly log-like, such as `docker logs` or `docker compose logs`; other Docker commands are not silently treated as build logs.
|
|
23
|
+
- [ ] No LLM summaries, semantic memory writes, or broad host-framework adapters are introduced.
|
|
24
|
+
|
|
25
|
+
### 4. Fail-open is real
|
|
26
|
+
|
|
27
|
+
- [ ] Any reducer/plugin/install helper exception preserves original output or exits with a controlled error before side effects.
|
|
28
|
+
- [ ] If metadata, omission notices, or recovery notices would exceed the budget or make JSON larger, the hook returns no change.
|
|
29
|
+
- [ ] Hook failures never block Hermes tool execution.
|
|
30
|
+
|
|
31
|
+
### 5. Artifacts are recovery, not an archive
|
|
32
|
+
|
|
33
|
+
- [ ] Raw artifacts stay off by default.
|
|
34
|
+
- [ ] Artifact mode remains explicit, private filesystem only, size-capped, path-contained, symlink-safe, and permissioned `0700`/`0600`.
|
|
35
|
+
- [ ] `transform_terminal_output` never stores pre-redaction raw output.
|
|
36
|
+
- [ ] Docs describe artifact privacy honestly and do not imply Noisegate is a log archive.
|
|
37
|
+
|
|
38
|
+
### 6. Hermes integration stays thin and safe
|
|
39
|
+
|
|
40
|
+
- [ ] Hermes hook compaction remains limited to noisy terminal-like surfaces: `terminal`, `process`, `read_terminal`, and `browser_console`.
|
|
41
|
+
- [ ] Useful-context tools are protected by name/prefix, and unknown future tools fail closed.
|
|
42
|
+
- [ ] Noisegate stays independent from Hermes-LCM and Hindsight.
|
|
43
|
+
|
|
44
|
+
### 7. install-hermes stays environment-safe
|
|
45
|
+
|
|
46
|
+
- [ ] The installer rejects bare/system Python interpreters and only installs into the actual Hermes virtualenv.
|
|
47
|
+
- [ ] Shell launchers, env assignments, and Windows launchers are resolved fail-closed.
|
|
48
|
+
- [ ] Installer subprocesses scrub caller `PYTHONHOME`/`PYTHONPATH`.
|
|
49
|
+
- [ ] Dry-run shows planned install/config/doctor commands before changing Hermes.
|
|
50
|
+
|
|
51
|
+
### 8. Docs match behavior
|
|
52
|
+
|
|
53
|
+
- [ ] README/operator docs say what Noisegate does and does not compact.
|
|
54
|
+
- [ ] Any new flag, env var, bypass marker, hook behavior, artifact behavior, installer behavior, or protected surface is documented.
|
|
55
|
+
- [ ] Boundaries are documented instead of hidden behind optimistic product claims.
|
|
56
|
+
|
|
57
|
+
If a proposed change cannot satisfy this checklist, keep it out of Noisegate or document the deliberate boundary explicitly.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "noisegate-hermes",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Thin npm installer wrapper for the Noisegate Hermes Agent plugin and CLI.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
},
|
|
12
12
|
"files": [
|
|
13
13
|
"bin/",
|
|
14
|
+
"docs/product-contract.md",
|
|
14
15
|
"README.md"
|
|
15
16
|
],
|
|
16
17
|
"repository": {
|