zero-slop 2.8.6 → 2.8.8
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 +37 -35
- package/SKILL.md +47 -40
- package/package.json +1 -1
- package/references/copy-desk.md +6 -9
- package/references/eval.md +15 -10
- package/references/fresh-eyes.md +8 -14
- package/references/readalong.md +7 -10
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<img alt="tests" src="https://img.shields.io/badge/tests-passing-227B5B">
|
|
6
6
|
<img alt="dependencies" src="https://img.shields.io/badge/runtime%20dependencies-0-227B5B">
|
|
7
7
|
<img alt="privacy" src="https://img.shields.io/badge/learning-private-227B5B">
|
|
8
|
-
<img alt="version" src="https://img.shields.io/badge/version-2.8.
|
|
8
|
+
<img alt="version" src="https://img.shields.io/badge/version-2.8.8-72528F">
|
|
9
9
|
<a href="https://hol.org/guard/plugins"><img alt="Listed in the HOL plugin registry" src="https://img.shields.io/badge/HOL%20registry-listed-2C6E8F"></a>
|
|
10
10
|
<a href="https://github.com/hashgraph-online/awesome-ai-plugins#tools--integrations"><img alt="Listed in awesome-ai-plugins" src="https://img.shields.io/badge/awesome--ai--plugins-listed-2C6E8F"></a>
|
|
11
11
|
<a href="https://zero-slop.ai/try/"><img alt="This README scores 11.6 out of 100 on the slop score, inside the human range" src="https://img.shields.io/badge/slop%20score-11.6%2F100-0f7d55"></a>
|
|
@@ -14,8 +14,7 @@
|
|
|
14
14
|
Less slop, more pop in your writing.
|
|
15
15
|
|
|
16
16
|
Zero Slop finds stock phrasing, mechanical rhythm, vague claims, and canned
|
|
17
|
-
formatting
|
|
18
|
-
MIT-licensed local checks run offline; your existing AI assistant or harness does the editing.
|
|
17
|
+
formatting. Local checks run offline; your existing AI assistant does the editing.
|
|
19
18
|
Score a draft at [zero-slop.ai/try](https://zero-slop.ai/try/); benchmark at
|
|
20
19
|
[zero-slop.ai](https://zero-slop.ai).
|
|
21
20
|
|
|
@@ -63,12 +62,12 @@ Writing score: 9.5/100 [clear]
|
|
|
63
62
|
## Problem
|
|
64
63
|
|
|
65
64
|
AI-assisted writing often converges on the same constructions: "It's not X. It's Y."
|
|
66
|
-
"Here's the thing nobody tells you."
|
|
65
|
+
"Here's the thing nobody tells you." Repeated wording, uniform rhythm, and
|
|
66
|
+
overworked formatting can have the same effect.
|
|
67
67
|
|
|
68
68
|
Zero Slop is an Agent Skill and ships no model. Claude, GPT, or another compatible
|
|
69
|
-
model edits; local tools
|
|
70
|
-
paths. Your AI compares meaning
|
|
71
|
-
claim. It runs in any harness that reads `SKILL.md`.
|
|
69
|
+
model edits; local tools protect names, numbers, quotations, links, code, tables,
|
|
70
|
+
and paths. Your AI compares meaning that word matching cannot judge.
|
|
72
71
|
|
|
73
72
|
## How to install Zero Slop
|
|
74
73
|
|
|
@@ -84,10 +83,7 @@ Or install it with `npx`:
|
|
|
84
83
|
npx skills add manavmishra/ZeroSlop --global
|
|
85
84
|
```
|
|
86
85
|
|
|
87
|
-
Or from
|
|
88
|
-
listed in [awesome-ai-plugins](https://github.com/hashgraph-online/awesome-ai-plugins#tools--integrations)
|
|
89
|
-
and carries a public profile in the [HOL plugin registry](https://hol.org/guard/plugins),
|
|
90
|
-
where its trust score and scanner results are published:
|
|
86
|
+
Or install from npm, which also adds the scoring command:
|
|
91
87
|
|
|
92
88
|
```sh
|
|
93
89
|
npx zero-slop install # add --harness codex|cursor|opencode|zed
|
|
@@ -95,8 +91,7 @@ npx zero-slop score draft.md # score without installing anything
|
|
|
95
91
|
```
|
|
96
92
|
|
|
97
93
|
ChatGPT users can download [`dist/zero-slop-single-file.md`](dist/zero-slop-single-file.md).
|
|
98
|
-
Claude.ai users can upload the [
|
|
99
|
-
`npx skills update zero-slop --global` updates a skills CLI installation later.
|
|
94
|
+
Claude.ai users can upload the [release ZIP](https://github.com/manavmishra/ZeroSlop/releases/latest/download/zero-slop.zip).
|
|
100
95
|
|
|
101
96
|
## How to use Zero Slop
|
|
102
97
|
|
|
@@ -135,9 +130,8 @@ above.
|
|
|
135
130
|
9. Synonym cycling: the agent, the assistant, the tool, all one thing.
|
|
136
131
|
10. Marketing riders: "robust" and "leverage" score only beside a marketing trigger, so a runbook stays quiet.
|
|
137
132
|
|
|
138
|
-
A reading pass covers
|
|
139
|
-
|
|
140
|
-
has all 80 checks.
|
|
133
|
+
A reading pass covers repeated shapes, crowded statistics, and paragraphs that
|
|
134
|
+
shuffle without loss. [`references/eval.md`](references/eval.md) has all 80 checks.
|
|
141
135
|
|
|
142
136
|
Human writing scored 9 to 21 in [`data/corpus/must-not-flag/`](data/corpus/must-not-flag/);
|
|
143
137
|
unedited AI drafts averaged 77 across [`bench/examples.json`](bench/examples.json).
|
|
@@ -147,7 +141,13 @@ unedited AI drafts averaged 77 across [`bench/examples.json`](bench/examples.jso
|
|
|
147
141
|
|
|
148
142
|

|
|
149
143
|
|
|
150
|
-
Eight
|
|
144
|
+
Eight responsibilities form one workflow. They are jobs, not separate models. An
|
|
145
|
+
installed assistant can isolate them.
|
|
146
|
+
The free web editor combines
|
|
147
|
+
the five AI responsibilities into one model response, then runs the scorer and source
|
|
148
|
+
checks locally. It makes at most one live model call and never describes that response
|
|
149
|
+
as independent review. The research supports the checks, not the number eight, which
|
|
150
|
+
is an engineering choice.
|
|
151
151
|
|
|
152
152
|
| Role | Who does it | What happens |
|
|
153
153
|
|---|---|---|
|
|
@@ -155,10 +155,15 @@ Eight roles form one workflow. Each is a job rather than a service, run as its o
|
|
|
155
155
|
| 2. Interpreter | Your AI assistant | Reads the claims, purpose, audience, structure, and voice before changing anything. |
|
|
156
156
|
| 3. Rewriter | Your AI assistant | Removes stock language and rebuilds order, rhythm, and tone without inventing detail. |
|
|
157
157
|
| 4. Fact gate | Local tools | Rejects any version that changes names, numbers, quotations, links, code, tables, paths, or structure. |
|
|
158
|
-
| 5. Copy desk |
|
|
159
|
-
| 6. Read-aloud editor |
|
|
160
|
-
| 7. Verifier | Local tools and your AI assistant | Compares text with source for facts, meaning, qualifiers, voice, format, structure. |
|
|
161
|
-
| 8. Fresh-eyes finalizer |
|
|
158
|
+
| 5. Copy desk | Your AI assistant | Corrects grammar, spelling, usage, and consistency in the actual deliverable. |
|
|
159
|
+
| 6. Read-aloud editor | Your AI assistant | Fixes stumbles, repetition, weak transitions, and awkward flow. |
|
|
160
|
+
| 7. Verifier | Local tools and your AI assistant | Compares text with source for facts, meaning, qualifiers, voice, format, structure. In the web editor, source safety is checked locally. |
|
|
161
|
+
| 8. Fresh-eyes finalizer | Your AI assistant | Reads the finished text as a first-time reader and applies only safe polish. Any change receives one final local recheck. |
|
|
162
|
+
|
|
163
|
+
Missed editorial targets do not erase a useful edit or start an open-ended loop. Zero
|
|
164
|
+
Slop permits one targeted repair and one local recheck, then returns the safest
|
|
165
|
+
source-preserving edit with a plain warning. On the website, a failed model call falls
|
|
166
|
+
back to a conservative local edit instead of retrying through more providers.
|
|
162
167
|
|
|
163
168
|
Studies find
|
|
164
169
|
[predictable wording](https://arxiv.org/abs/2301.11305) and
|
|
@@ -193,7 +198,7 @@ The saved replay ran Zero Slop, [avoid-ai-writing](https://github.com/conorbrons
|
|
|
193
198
|
[no-ai-slop](https://github.com/petergyang/no-ai-slop) and
|
|
194
199
|
[humanizer](https://github.com/blader/humanizer) over 18 drafts with GPT-5.4, high
|
|
195
200
|
reasoning, and pinned instructions. Zero Slop's outputs came from v2.5.9; later
|
|
196
|
-
releases rescore those frozen outputs
|
|
201
|
+
releases only rescore those frozen outputs.
|
|
197
202
|
|
|
198
203
|
| Method | Mean writing score ↓ | Passed Zero Slop's local gates | Source check passed | Average length change |
|
|
199
204
|
|---|---:|---:|---:|---:|
|
|
@@ -209,16 +214,15 @@ releases rescore those frozen outputs rather than pretend to regenerate them.
|
|
|
209
214
|
|
|
210
215
|

|
|
211
216
|
|
|
212
|
-
|
|
213
|
-
rates, and a method-hidden quality ranking.
|
|
217
|
+
Two cross-checks: AIStoryHub clean rates and a method-hidden quality ranking.
|
|
214
218
|
|
|
215
219
|

|
|
216
220
|
|
|
217
221
|

|
|
218
222
|
|
|
219
|
-
This
|
|
220
|
-
universal ranking. Drafts, hashes, and limits are in [`bench/README.md`](bench/README.md).
|
|
221
|
-
Zero Slop v2.6.0 and is preserved in
|
|
223
|
+
This small LLM-reviewed regression study measures neither field accuracy nor a
|
|
224
|
+
universal ranking. Drafts, hashes, and limits are in [`bench/README.md`](bench/README.md).
|
|
225
|
+
The separate two-way replay used Zero Slop v2.6.0 and is preserved in
|
|
222
226
|
[`bench/incumbent-blind-replay/`](bench/incumbent-blind-replay/).
|
|
223
227
|
|
|
224
228
|
For the 38-item editorial panel, the current scorer matched the prior 84.2% result.
|
|
@@ -228,13 +232,11 @@ proof of general accuracy.
|
|
|
228
232
|
|
|
229
233
|
### Speed
|
|
230
234
|
|
|
231
|
-
One
|
|
232
|
-
second), 15,201 words in 0.3223 seconds, worst stress case 2.2932
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
0.00% higher median throughput—effectively no difference. Editing
|
|
237
|
-
time is excluded.
|
|
235
|
+
One Apple silicon Mac: the meter scored 1,000 documents in 1.9929 seconds
|
|
236
|
+
(501.8 per second), 15,201 words in 0.3223 seconds, and the worst stress case in 2.2932
|
|
237
|
+
seconds. The reading pass handled the same 1,000 in 0.7823 seconds (1278.3/second);
|
|
238
|
+
learning on 8,000 words took 0.1592 seconds. Across 24 interleaved runs against 2.7.7,
|
|
239
|
+
median throughput was 0.26% lower, effectively no difference. Editing is excluded.
|
|
238
240
|
|
|
239
241
|
### Reading-pass accuracy
|
|
240
242
|
|
|
@@ -282,7 +284,7 @@ passes, private learning, portfolio analysis, and release tests.
|
|
|
282
284
|
|
|
283
285
|

|
|
284
286
|
|
|
285
|
-
The chart
|
|
287
|
+
The chart says nothing about writing quality. Reproduce it with:
|
|
286
288
|
|
|
287
289
|
```sh
|
|
288
290
|
python3 tests/test_all.py
|
package/SKILL.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: zero-slop
|
|
3
3
|
license: MIT
|
|
4
4
|
metadata:
|
|
5
|
-
version: "2.8.
|
|
5
|
+
version: "2.8.8"
|
|
6
6
|
author: manavmishra
|
|
7
7
|
description: Turn drafts into sharp, natural prose or inspect them without rewriting. Zero Slop runs inside the user's existing AI assistant; Claude, GPT, or another compatible model reads and edits in context while local tools point to exact phrases and protect the source. Use when the user asks to humanize or de-slop writing, inspect AI-sounding patterns, fix text that reads like ChatGPT, polish outward-facing prose, draft social or LinkedIn content, or apply a final quality check to prose the agent generated. The workflow preserves facts, voice, and format and learns privately from repeated, reason-labelled human edits.
|
|
8
8
|
---
|
|
@@ -75,10 +75,12 @@ citations, and the ladder below orders the signals by measured strength.
|
|
|
75
75
|
|
|
76
76
|
## Eight roles, one pipeline
|
|
77
77
|
|
|
78
|
-
Run the rewrite workflow as eight ordered
|
|
79
|
-
models or services.
|
|
80
|
-
|
|
81
|
-
|
|
78
|
+
Run the rewrite workflow as eight ordered responsibilities. They are editorial jobs,
|
|
79
|
+
not eight models or services. In an installed assistant, use role-isolated passes when
|
|
80
|
+
the harness can do that without extra network calls. When a service has a one-request
|
|
81
|
+
budget, combine the AI responsibilities into one structured editorial response and
|
|
82
|
+
run the local checks before and after it. Name that consolidation honestly; one model
|
|
83
|
+
response is not independent review. Keep local and AI responsibilities distinct:
|
|
82
84
|
|
|
83
85
|
1. **Scorer — local tools.** Point to exact phrases and problems with rhythm,
|
|
84
86
|
readability, formatting, and register; explain the writing score.
|
|
@@ -90,25 +92,28 @@ local and AI responsibilities distinct:
|
|
|
90
92
|
quotations, or links; among the rest, select the version that best clears the
|
|
91
93
|
measured checks. This local check cannot certify reframed claims or invented
|
|
92
94
|
interior meaning; the verifier handles those with contextual comparison.
|
|
93
|
-
5. **Copy desk —
|
|
95
|
+
5. **Copy desk — the AI assistant.** Correct grammar, spelling, punctuation, usage,
|
|
94
96
|
diction, and consistency in the selected text.
|
|
95
|
-
6. **Read-aloud editor —
|
|
97
|
+
6. **Read-aloud editor — the AI assistant.** Read the complete copy-edited text aloud
|
|
96
98
|
and directly fix stumbles, repetition, weak transitions, and awkward flow.
|
|
97
99
|
7. **Verifier — local tools plus the AI assistant.** Check the exact final text
|
|
98
100
|
against the source for the writing score, facts, meaning, qualifiers, voice,
|
|
99
|
-
format, and structure.
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
101
|
+
format, and structure. A warning prevents an unqualified approval; it never erases
|
|
102
|
+
a source-safe edit or starts an open-ended loop. Apply at most one targeted repair,
|
|
103
|
+
then rerun the local checks on the exact changed text.
|
|
104
|
+
8. **Fresh-eyes finalizer — the AI assistant.** Read the verified text as a first-time
|
|
105
|
+
reader and apply only safe final polish. If it changes the text, rerun the local
|
|
106
|
+
score and fact checks once. Deliver the safest edit with a plain warning if a
|
|
107
|
+
remaining concern would require another model request or a guess.
|
|
104
108
|
|
|
105
109
|
This is an engineering separation of responsibilities, not a claim that research has
|
|
106
110
|
proved eight to be the uniquely correct number. Studies support several different
|
|
107
111
|
signal families and several different editorial failure classes; no single score or
|
|
108
112
|
prompt can cover them all. The local roles provide repeatable measurements. The AI
|
|
109
|
-
roles supply contextual judgment and editing. A generating role
|
|
110
|
-
own
|
|
111
|
-
to someone seeing it for the first time.
|
|
113
|
+
roles supply contextual judgment and editing. A generating role does not certify its
|
|
114
|
+
own factual safety. Role 7 supplies the local release checks; role 8 confirms that the
|
|
115
|
+
result reads cleanly to someone seeing it for the first time. In a one-request service,
|
|
116
|
+
the model's self-check is editorial guidance, not independent verification.
|
|
112
117
|
|
|
113
118
|
## Detailed workflow
|
|
114
119
|
|
|
@@ -632,25 +637,29 @@ format, and non-prose structure. Apply these contextual checks too:
|
|
|
632
637
|
read as prose. The whole document uses one coherent register, and every
|
|
633
638
|
cross-reference resolves exactly.
|
|
634
639
|
|
|
635
|
-
If verification
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
640
|
+
If verification finds a concrete textual defect, apply one targeted repair. Run the
|
|
641
|
+
local score, fact, format, and structure checks once more on that exact text. Do not
|
|
642
|
+
restart the complete editorial sequence. If the second check still finds a problem,
|
|
643
|
+
return the safest source-preserving edit and name the remaining issue plainly.
|
|
644
|
+
|
|
645
|
+
If an AI editorial role returns no usable text, record that it was unavailable and
|
|
646
|
+
continue from the last source-preserving text. Unavailability is an abstention, not a
|
|
647
|
+
reason to retry, switch models, or replay earlier roles. A caller with a one-request
|
|
648
|
+
budget must never make a second remote request. Report any role that did not complete.
|
|
649
|
+
|
|
639
650
|
A required repair may raise the writing score from the previous draft as long as it
|
|
640
651
|
stays below the release limit. Source meaning, stated emotion, and factual accuracy
|
|
641
652
|
outrank a smaller number. Never discard a necessary semantic repair merely because an
|
|
642
653
|
unsafe version scored lower; rerun every check on the repaired text instead.
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
Initial gate failure →
|
|
651
|
-
|
|
652
|
-
initial gate still fails after three passes, keep the best version and flag it:
|
|
653
|
-
"needs a real claim/detail, not better words."
|
|
654
|
+
There is at most one targeted repair. If a problem still cannot be resolved without
|
|
655
|
+
guessing, return the safest source-preserving edit and state the unresolved issue,
|
|
656
|
+
unavailable role, or missed target plainly. Never replace an explicit rewrite request
|
|
657
|
+
with the unchanged source merely because a quality target was missed. A quality target
|
|
658
|
+
controls the confidence label; it does not decide whether the writer receives the work.
|
|
659
|
+
A fallback must never be described as fully verified when a check did not complete.
|
|
660
|
+
|
|
661
|
+
Initial gate failure → keep the best safe edit and flag the missed target. Final
|
|
662
|
+
verification defect → one targeted repair and one local recheck. Then deliver.
|
|
654
663
|
|
|
655
664
|
### 8. Fresh-eyes finalizer — approve the reader's copy
|
|
656
665
|
|
|
@@ -671,14 +680,12 @@ roles actually stayed separate, whether any role certified its own output, and
|
|
|
671
680
|
whether the counts were reported. A generating role cannot answer those about
|
|
672
681
|
itself, which is why they sit with the finalizer.
|
|
673
682
|
|
|
674
|
-
The pass
|
|
675
|
-
`
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
return the best source-preserving version that completed every pass and name the
|
|
681
|
-
unresolved span; do not call it fully verified.
|
|
683
|
+
The pass returns the full text plus one status: `approve without changes`, `changed`,
|
|
684
|
+
or `unresolved — needs the writer`. If it changes anything, apply the complete revision
|
|
685
|
+
and rerun the local score, fact, format, and structure checks once. Do not restart the
|
|
686
|
+
model pipeline. If safe approval is impossible without guessing, return the safest
|
|
687
|
+
source-preserving edit, name the unresolved span or unavailable pass, and do not call
|
|
688
|
+
it fully verified.
|
|
682
689
|
|
|
683
690
|
### 9. Report in plain language
|
|
684
691
|
|
|
@@ -951,8 +958,8 @@ the AI model already running in the assistant or rewrite this `SKILL.md`.
|
|
|
951
958
|
the signs of human writing to preserve.
|
|
952
959
|
- `references/readalong.md` — the mandatory, separate read-aloud pass that
|
|
953
960
|
fixes flow, cohesion, and stumbles directly in the deliverable.
|
|
954
|
-
- `references/fresh-eyes.md` — the
|
|
955
|
-
|
|
961
|
+
- `references/fresh-eyes.md` — the first-time-reader finalizer and its bounded
|
|
962
|
+
one-recheck rule.
|
|
956
963
|
- `references/copy-desk.md` — the grammar, spelling, and style pass that prepares
|
|
957
964
|
the selected rewrite for read-aloud finalization.
|
|
958
965
|
- `references/eval.md` — the pass/fail checklist for roles 7 and 8. It carries the
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zero-slop",
|
|
3
|
-
"version": "2.8.
|
|
3
|
+
"version": "2.8.8",
|
|
4
4
|
"description": "An Agent Skill that scores AI-sounding prose locally, guides the host AI through an editorial rewrite, and checks changed source details. The local tools run offline with zero dependencies.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"zero-slop": "bin/zero-slop.mjs"
|
package/references/copy-desk.md
CHANGED
|
@@ -76,14 +76,11 @@ artifact returned by the read-aloud editor:
|
|
|
76
76
|
2. Compare it directly with both the original and selected rewrite for preserved
|
|
77
77
|
claims, qualifiers, intended voice, regional spelling, format, and non-prose
|
|
78
78
|
structure. The script cannot detect every semantic or stylistic change.
|
|
79
|
-
3. If
|
|
80
|
-
|
|
81
|
-
final checks.
|
|
79
|
+
3. If a check requires a repair, apply one targeted correction and rerun the
|
|
80
|
+
local score, fact, format, and structure checks once.
|
|
82
81
|
|
|
83
82
|
After verification, send that exact text through the finalizer in
|
|
84
|
-
`references/fresh-eyes.md`.
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
source-preserving version that completed both editorial passes, flag the unresolved
|
|
89
|
-
span and failed check plainly, and do not describe the fallback as fully verified.
|
|
83
|
+
`references/fresh-eyes.md`. Do not restart the model pipeline. If an issue still
|
|
84
|
+
cannot be resolved without guessing after the one local recheck, return the best
|
|
85
|
+
source-preserving version, flag the unresolved span and failed check plainly, and do
|
|
86
|
+
not describe the fallback as fully verified.
|
package/references/eval.md
CHANGED
|
@@ -3,8 +3,11 @@
|
|
|
3
3
|
Answer every check with pass or fail. Where a check asks for a count, write the
|
|
4
4
|
number down; a count is evidence, and a missing count means the pass did not run.
|
|
5
5
|
|
|
6
|
-
Any fail
|
|
7
|
-
|
|
6
|
+
Any fail permits one targeted textual repair followed by one local recheck. It does
|
|
7
|
+
not restart the copy desk, read-aloud pass, or model request. A failed check changes
|
|
8
|
+
the confidence label. It never suppresses the edited text when that edit preserves
|
|
9
|
+
the source. After the recheck,
|
|
10
|
+
return the safest source-preserving edit and name every unresolved check plainly.
|
|
8
11
|
|
|
9
12
|
**This file exists because the meter cannot see most of what is on it.** The scorer
|
|
10
13
|
reads the lexically anchored subset: listed phrases, sentence-length variance,
|
|
@@ -298,16 +301,18 @@ the report even when they are zero.
|
|
|
298
301
|
|
|
299
302
|
## F. Process integrity
|
|
300
303
|
|
|
301
|
-
Role 8 answers this section
|
|
304
|
+
Role 8 answers this section when it runs separately. In a one-request service, the
|
|
305
|
+
local verifier records the execution facts and the report names the consolidation.
|
|
302
306
|
|
|
303
|
-
73. **
|
|
304
|
-
|
|
305
|
-
74. **No self-certification.**
|
|
307
|
+
73. **Execution described accurately.** Separate passes are named as separate; a
|
|
308
|
+
one-response consolidation is named as one response, never as independent review.
|
|
309
|
+
74. **No self-certification of facts.** The local source gate checks the generated
|
|
310
|
+
text even when the model performs an editorial self-check inside one response.
|
|
306
311
|
75. **Counts reported.** Every count in section A appears in the summary, including
|
|
307
312
|
the zeros.
|
|
308
313
|
76. **The exact final text cleared every check.** Not an earlier draft, not a version
|
|
309
314
|
that was repaired afterward.
|
|
310
|
-
77. **
|
|
311
|
-
ran
|
|
312
|
-
78. **Fallbacks named honestly.**
|
|
313
|
-
|
|
315
|
+
77. **Finalizer edits were rechecked locally.** If role 8 changed anything, the score,
|
|
316
|
+
fact, format, and structure checks ran once on that exact revision.
|
|
317
|
+
78. **Fallbacks named honestly.** The report names an unavailable role, local fallback,
|
|
318
|
+
missed target, or one-request constraint and does not call it fully verified.
|
package/references/fresh-eyes.md
CHANGED
|
@@ -48,17 +48,11 @@ and name the ambiguity.
|
|
|
48
48
|
> followed by exactly one status: `approve without changes`, `changed — rerun final
|
|
49
49
|
> checks`, or `unresolved — needs the writer`.
|
|
50
50
|
|
|
51
|
-
##
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
changes
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
4. this fresh-eyes finalizer.
|
|
60
|
-
|
|
61
|
-
Repeat for at most three rounds. The same exact text must clear all four roles, with
|
|
62
|
-
the fresh-eyes finalizer approving it unchanged. If the remaining issue cannot be
|
|
63
|
-
fixed without guessing, return the best source-preserving text that completed every
|
|
64
|
-
pass, identify the unresolved span, and do not describe it as fully verified.
|
|
51
|
+
## Bounded finalization
|
|
52
|
+
|
|
53
|
+
Return `approve without changes`, `changed`, or `unresolved — needs the writer`. If
|
|
54
|
+
the finalizer changes the text, apply the complete revision and rerun the local score,
|
|
55
|
+
fact, format, and structure checks once. Do not restart the AI pipeline. If the local
|
|
56
|
+
recheck fails, return the safest source-preserving edit, identify the unresolved span,
|
|
57
|
+
and do not describe it as fully verified. An unavailable finalizer is an abstention;
|
|
58
|
+
it never starts another model request.
|
package/references/readalong.md
CHANGED
|
@@ -110,22 +110,19 @@ use this brief:
|
|
|
110
110
|
|
|
111
111
|
Apply the returned artifact to the actual deliverable before verification.
|
|
112
112
|
|
|
113
|
-
##
|
|
113
|
+
## Bounded finalization
|
|
114
114
|
|
|
115
115
|
Verify the exact artifact returned by the read-aloud editor:
|
|
116
116
|
|
|
117
117
|
1. Rerun the heuristic surface scorer and scripted fidelity check.
|
|
118
118
|
2. Compare it directly with the original and selected rewrite for claims,
|
|
119
119
|
qualifiers, intended voice, regional spelling, format, and non-prose structure.
|
|
120
|
-
3. If
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
three rounds. If an issue still cannot be resolved without guessing, return the best
|
|
127
|
-
source-preserving version that completed both editorial passes, state the unresolved
|
|
128
|
-
span and failed check plainly, and do not describe the fallback as fully verified.
|
|
120
|
+
3. If a check requires a textual repair, apply one targeted correction and rerun the
|
|
121
|
+
local score, fact, format, and structure checks once.
|
|
122
|
+
|
|
123
|
+
Do not restart the copy desk or read-aloud pass. If an issue still cannot be resolved
|
|
124
|
+
without guessing, return the best source-preserving version, state the unresolved span
|
|
125
|
+
and failed check plainly, and do not describe the fallback as fully verified.
|
|
129
126
|
|
|
130
127
|
## Why it is separate
|
|
131
128
|
|