zero-slop 2.12.36 → 2.12.38

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 CHANGED
@@ -14,7 +14,7 @@ It finds AI slop and workslop, guides the edit, and checks that the key details
14
14
 
15
15
  <p align="center">
16
16
  <a href="https://github.com/manavmishra/ZeroSlop/actions/workflows/validate.yml"><img alt="Validate" src="https://github.com/manavmishra/ZeroSlop/actions/workflows/validate.yml/badge.svg"></a>
17
- <img alt="Version 2.12.36" src="https://img.shields.io/badge/version-2.12.36-72528F?color=C15732">
17
+ <img alt="Version 2.12.38" src="https://img.shields.io/badge/version-2.12.38-72528F?color=C15732">
18
18
  <a href="https://www.npmjs.com/package/zero-slop"><img alt="npm version" src="https://img.shields.io/npm/v/zero-slop?color=C15732"></a>
19
19
  <a href="https://www.npmjs.com/package/zero-slop"><img alt="npm downloads" src="https://img.shields.io/npm/dm/zero-slop?color=17634F"></a>
20
20
  <a href="https://github.com/manavmishra/ZeroSlop/stargazers"><img alt="GitHub stars" src="https://img.shields.io/github/stars/manavmishra/ZeroSlop?style=flat&color=C15732"></a>
@@ -176,7 +176,7 @@ python3 scripts/slopscore.py --batch drafts/ --gate 25
176
176
  The CLI sends a file to the hosted editor without changing the file on disk:
177
177
 
178
178
  ```sh
179
- npx --yes zero-slop@2.12.36 deslop draft.md --genre professional
179
+ npx --yes zero-slop@2.12.38 deslop draft.md --genre professional
180
180
  ```
181
181
 
182
182
  Use `-` for stdin and `--json` for structured output. `--require-approved` prints the result but exits nonzero when review is needed. Requires Node.js 22+; offline `score` also needs Python 3. [CLI options and privacy](docs/cli.md).
package/SECURITY.md CHANGED
@@ -56,10 +56,12 @@ stdlib-only Python runtime.
56
56
 
57
57
  The optional public MCP at `https://mcp.zero-slop.ai/mcp` is a separate remote
58
58
  service. A draft sent to that endpoint must leave the client to be edited. It is
59
- processed in memory, excluded from the demo cache, and routed through model endpoints
60
- configured for zero retention and no training. The gateway rejects any editor
61
- response that does not confirm `stored: false`. Zero Slop does not log or retain the
62
- draft or rewrite.
59
+ processed in memory and excluded from the demo cache. Cloudflare Workers AI is the
60
+ primary editor. If it cannot return a usable edit, Zero Slop may send the draft and
61
+ editing inputs through OpenRouter to a free model provider that may keep the draft and
62
+ the edit or use them to train models. See the [privacy policy](https://zero-slop.ai/privacy/)
63
+ for details. Zero Slop does not log or retain the draft or rewrite. The gateway
64
+ requires `stored: false` from Zero Slop's editor, which reports storage by that editor.
63
65
 
64
66
  The REST endpoint `https://mcp.zero-slop.ai/v1/deslop` calls this same pipeline.
65
67
  It accepts at most 128 KiB of UTF-8 JSON and one trimmed draft of 20,000 Unicode code
package/SKILL.md CHANGED
@@ -2,7 +2,7 @@
2
2
  name: zero-slop
3
3
  license: MIT
4
4
  metadata:
5
- version: "2.12.36"
5
+ version: "2.12.38"
6
6
  author: manavmishra
7
7
  description: Edit drafts into natural prose, inspect AI-sounding patterns, or review how a specified audience might respond passage by passage. Zero Slop runs inside the user's existing AI assistant with local tools that protect source details. Use for humanizing or de-slopping writing, polishing outward-facing prose, social drafts, final editorial checks, or an explicit simulated reader review. Preserve facts, voice and format; reader simulations are hypotheses, not human feedback.
8
8
  ---
package/docs/cli.md CHANGED
@@ -19,7 +19,7 @@ are not authentication or provenance evidence.
19
19
  Use `deslop` for hosted editing with MCP parity. Use `score` for offline checks.
20
20
 
21
21
  ```sh
22
- npm install --global zero-slop@2.12.36
22
+ npm install --global zero-slop@2.12.38
23
23
  zero-slop deslop draft.md --genre professional
24
24
  zero-slop deslop - --genre email < draft.txt
25
25
  zero-slop deslop draft.md --json --require-approved
@@ -44,6 +44,10 @@ Homebrew update. Linux Homebrew has not been tested.
44
44
  It never edits a source file in place. Warnings go to standard error. Capture
45
45
  standard output only when you intend to save it.
46
46
 
47
+ The hosted editor can send the draft to Cloudflare Workers AI and, if needed,
48
+ through OpenRouter to a free model provider that may keep the draft and edit or
49
+ use them to train models. See the [privacy policy](https://zero-slop.ai/privacy/).
50
+
47
51
  ## Options and results
48
52
 
49
53
  | Option | Purpose |
package/docs/rest-api.md CHANGED
@@ -12,6 +12,11 @@ Use the [API sandbox](https://zero-slop.ai/sandbox/) to inspect a simulated resu
12
12
  before sending a draft. Its live mode requires an explicit request and uses this
13
13
  same endpoint.
14
14
 
15
+ Cloudflare Workers AI handles hosted editing first. If it cannot return a usable edit,
16
+ Zero Slop may send the draft and editing inputs through OpenRouter to a free model
17
+ provider that may keep the draft and the edit or use them to train models. Zero Slop does not
18
+ store the draft or rewrite. See the [privacy policy](https://zero-slop.ai/privacy/).
19
+
15
20
  ## Send a draft
16
21
 
17
22
  ```sh
@@ -115,17 +120,19 @@ The optional `editorDiagnostics` field contains only bounded operational metadat
115
120
  | Field | Meaning |
116
121
  |---|---|
117
122
  | `endpointHttpStatus` | Observed HTTP status from the gateway's editor endpoint, from 100 to 599; distinct from this REST response's status |
123
+ | `failureReason` | Fixed gateway outcome when it could not use the model reply |
118
124
  | `providerAttempts` | Up to two ordered attempts reported by the endpoint; each has a fixed `provider` and `outcome` |
119
125
  | `providerAttempts[].failureStage` | Optional `invoke`, `fetch`, `http`, or `body` stage reported for a failed attempt |
120
126
  | `providerAttempts[].httpStatus` | Optional observed provider HTTP status, from 100 to 599, for an `http` or `body` failure |
127
+ | `providerAttempts[].outputStage` | Optional `response_shape`, `empty_output`, `source_preservation`, or `implausible_edit` check that rejected invalid output |
121
128
 
122
129
  Providers are `workers-ai` or `openrouter`. Outcomes are `success`, `timeout`,
123
130
  `cancelled`, `capacity`, `invalid_output`, `configuration`, or `unavailable`.
124
131
  Missing metadata remains unknown. Absence does not prove that an editor request or
125
132
  provider attempt never started. These fields contain no drafts, response bodies,
126
- headers, credentials, model names, or arbitrary error messages. They do not alter
127
- rewrite approval, source checks, model-attempt counts, or retry guidance, and are
128
- not added to aggregate analytics. Already-clear results omit this field.
133
+ headers, credentials, model names, or arbitrary error messages. The aggregate
134
+ report records only the fixed failure reason, stage, and provider. Already-clear
135
+ results omit `editorDiagnostics`.
129
136
 
130
137
  `scoreChange` is after minus before, so a negative value means the measured score fell.
131
138
  The writing score is not a probability that AI wrote the draft.
@@ -177,6 +184,10 @@ For example, a usage-limit response has this shape; values here are illustrative
177
184
  The `Retry-After` response header gives the minimum delay in seconds. Read it
178
185
  from the header rather than parsing `detail`. Keep the problem code and request
179
186
  ID for troubleshooting without logging the draft or result.
187
+ A `usage_limit` problem can include `capacityScope`. `client_daily` and
188
+ `client_minute` refer to the client IP limits, `workers_daily` and
189
+ `openrouter_daily` to shared provider limits, and `day_reset` to the rollover
190
+ window. Older responses can omit this detail.
180
191
 
181
192
  Allow 75 seconds on the client. The service makes at most one editing-model request;
182
193
  scoring and source checks add their own bounded work. A client timeout or cancellation
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zero-slop",
3
- "version": "2.12.36",
3
+ "version": "2.12.38",
4
4
  "description": "Find and fix canned AI writing while preserving the facts, voice, and format.",
5
5
  "mcpServers": {
6
6
  "zero-slop": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zero-slop",
3
- "version": "2.12.36",
3
+ "version": "2.12.38",
4
4
  "description": "An editing skill, offline writing checks, and a CLI for the hosted Zero Slop MCP pipeline. Find stock AI phrasing, rewrite, and check source details.",
5
5
  "bin": {
6
6
  "zero-slop": "bin/zero-slop.mjs"
package/plugin.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
3
3
  "name": "zero-slop",
4
- "version": "2.12.36",
4
+ "version": "2.12.38",
5
5
  "description": "Find and fix canned AI writing while preserving the facts, voice, and format.",
6
6
  "author": {
7
7
  "name": "Manav Mishra",