4.0 Proofreading

4.1 Introduction

In a previous section, we created a plain text file that we now want to proofread carefully. Traditionally that has been done by people who have not had the benefit of AI assistance in the process. At this point, even with AI doing thorough proofreading, it still takes a human to decide if corrections or suggestions are actionable.

That leads to a rule that must not be violated: "Never let AI change the document." AI can identify the problems it thinks it sees. It can even suggest corrections. But you must make the final determination.

Our plain text file is the source markup for a short story, Old Slowpoke, from Western Stories Magazine, July 19, 1930.

4.2 Overview

There are two ways to proceed after getting the initial source file. One way is to add markup, generate the text file, and then proofread that. Since the markup for this project is so trivial, I'll choose a different way forward. I will do the proofreading pass on what I already have. I will add the markup after the text version is fully corected.

For reference, at our starting point we have this file:

Source for "Old Slowpoke" project at this point in the process:
- downloadable zip: old-slowpoke-src.zip
- plain text: old-slowpoke-src.txt

4.3 Non-AI proofing checks

TODO: writeup for pplev

TODO: writeup for ppspell

TODO: writeup for bookloupe

4.4 AI assisted proofing checks

Proofreading with AI takes more work that the legacy tools of the last section. More work to prepare. More work to analyze the results. Never let AI change your text. Always ask for explanations of what it thinks needs attention. Here are some actual responses from AI proofreading on a text being prepared for BookCove.

ANOMALY 2:

Passage: "I saw her white hand tighten on an ivy stem, but could
not see her face, as he sung an old love song of Spain, sang it
softly, plaintively, as though beneath the window of his love."

Type: Inconsistent verb form / probable grammatical error

Explanation: The sentence uses both "sung" (past participle) and
"sang" (simple past) to describe the same continuous action within
the same sentence. Standard usage requires either "sang...sang"
or "had sung...sung" (with helping verb). The mixing of these forms
in immediate proximity describing the same action is grammatically
inconsistent. While "sung" as simple past appears in some archaic
dialects, its use here immediately before the correct form "sang"
suggests a compositor error or uncorrected manuscript inconsistency
rather than intentional dialectal usage.

Likelihood: High
RULE 5: INTRODUCTORY PARTICIPIAL PHRASES

Passage: "Stooping over I tore the mask from his face, disclosing the
features of Don Esteban Carillo!"

Construction: "Stooping over" - introductory participial phrase

Issue: A participial phrase at the beginning of a sentence should be
followed by a comma to separate it from the main clause.

Correction: Stooping over, I tore the mask from his face
RULE 1: PRONOUN-ANTECEDENT AGREEMENT (NUMBER)

Passage: "And who may know whether their fate is good or ill?"
"Destino laughed, 'None, señorita. One must take fate as it comes,
finding out to their gladness--or sorrow.'"

Issue: Pronoun-antecedent number disagreement. In the question,
"who" is grammatically singular but paired with plural "their."
In Destino's response, "One" (singular) is paired with "their" (plural).

Explanation: In 1920s American English, generic singular references
used the masculine singular pronoun. The use of singular "they/their" for
generic reference is a modern usage pattern, not standard in period writing.

Correction:

"And who may know whether his fate is good or ill?"
"One must take fate as it comes, finding out to his gladness--or sorrow."

Alternative: "One must take fate as it comes, finding out to one's
gladness--or sorrow."

Likelihood: High

As you can see from the example reports, you will have to decide what you want to fix. Bookcove's "Best Practices" on this may differ from other sites, so know the house rules of your target hosting site. For example, some sites may prefer to preserve original text as much as possible, while others may prioritize readability and modern standards.

Several AI-assisted techniques will be shown next.

4.4.1 Five pass, single source file process

This is the most comprehensive AI proofing process in use as of 21-Mar-2026. These passes are run in order. You can make corrections after each pass or leave corrections until all passes are done.

This 5-pass process relies on AI being given the entire text at once. At BookCove, we mostly post short stories or movellas. In developing this, I asked AI what it could handle. This was Claude's response when I asked how much text I could provide along with Pass 3, which is the most complext prompt. Here was its response:

I'll analyze your prompt and calculate how much text you can include with it.

Prompt Analysis:

Your editorial audit prompt is approximately 2,000-2,200 tokens (it's quite detailed 
and well-structured).

Available Space Calculation:

    Total context window: 200,000 tokens (Claude Sonnet 4.5)
    Your prompt: ~2,200 tokens
    System instructions: ~15,000-20,000 tokens (background instructions I operate with)
    My response: ~3,000-5,000 tokens (for a detailed audit report)
    Safety buffer: ~5,000 tokens

Available for your text: ~170,000 tokens (conservative estimate)

Lines at 72 characters:

    72 characters per line ≈ 15-18 tokens per line (depending on word length)
    Using 16 tokens/line as a reasonable middle estimate

Estimated capacity: ~10,500 lines (at 72 characters each)

More practical estimates:

    Conservative (safe): 9,000-9,500 lines
    Aggressive (maximum): 11,000-11,500 lines

Recommendations:

    Start with ~9,000 lines to be safe, especially if the text has complex formatting or
    unusual vocabulary. If you're processing a short story, this is approximately
    80,000-100,000 words - enough for a novella. If you hit limits, I'll let you know
    and you can split the text.

The good news: this prompt is efficient enough that you can analyze very substantial
texts in a single pass!

4.4.1.1 Single Mechanical Enforcement Audit

MECHANICAL ENFORCEMENT AUDIT

You will receive one complete story. The encoding is UTF-8.

Perform a STRICT mechanical enforcement audit on the provided text.

• Do not rewrite.
• Do not interpret stylistically.
• Do not speculate.
• Do not normalize formatting.

Only enforce the mechanical house style rules below.

MECHANICAL ENFORCEMENT RULES

Dashes: 
• Em dash must be represented as -- 
• Trailing interruption may be represented as ---- 
• A single hyphen (-) must never function as an em dash 
• Dash style must be consistent throughout 

Quotation Marks: 
• Assume all quotation marks and apostrophes in the source are correctly curly. Do not flag curly-vs-straight distinctions.
• Dialogue must use double quotation marks
• Nested quotations must use single quotation marks
• Quotation marks must be properly opened and closed
• Nested quotes must close in reverse order of opening

Apostrophes: 
• Dialect apostrophes must use curly apostrophe (’) 
• Apostrophes must be correct (e.g., possessives, contractions).
• Misplaced apostrophes that change meaning are violations.

Proper Names: 
• Proper names must be spelled consistently throughout

Ellipsis Rules:
• Mid-sentence ellipsis must appear as: space + three consecutive periods + space Example: word ... word
• Sentence-ending ellipsis must appear as: letter + four consecutive periods + space Example: word....

Paragraph Terminal Punctuation:

A paragraph must not end with a comma. This applies to all paragraph
types including dialogue, narrative, and mixed constructions. Where a
paragraph's final visible punctuation mark before a closing quotation
mark or line end is a comma, flag it as a violation.

Proper Noun and Brand Name Capitalization:

Identify any word that is a recognized brand name, trademark, or proper
name used generically. Such words must be capitalized regardless of how
commonly they have entered general usage. Flag any instance where a
known brand name or proper noun appears in lowercase. Check all
occurrences for consistency. Note that a word appearing consistently in
lowercase throughout is not self-correcting — systematic lowercasing is
still a violation.

Compound Word Form Consistency:

Identify all words that appear as open compounds (two words),
hyphenated compounds, or closed compounds (one word). For each such
form, assess whether the word is more standardly rendered in a
different compound form. Flag open compounds that are conventionally
closed, and vice versa. Also flag any word that appears in more than
one compound form within the same text.

REPORT FORMAT

Important output rule:
• Report ONLY confirmed violations.
• If there are no violations, output exactly: NO VIOLATIONS FOUND.
• Do not report “no error” findings.
• Do not discuss rule categories with zero violations.

For each confirmed violation:
• Quote the exact passage
• State the rule violated
• Explain the issue briefly

The text follows:
------------------------------------------------------------

4.4.1.2 Single Editorial Anomaly Audit

EDITORIAL ANOMALY AUDIT

You will receive one complete story. The encoding is UTF-8.

Perform a full editorial anomaly audit on the following story.

• Do not rewrite.
• Do not silently correct.
• Do not normalize formatting.
• Assume mechanical formatting has already been checked. 

Your task is to detect and report anomalies only.

ANOMALY CATEGORIES TO DETECT

Identify and classify:
• Repeated adjacent words
• Inconsistent spelling of the same word
• Inconsistent spelling of proper names
• Suspicious punctuation patterns
• Irregular dash usage
• Quotation mark pairing errors
• Inconsistent dialect forms
• Probable compositor or OCR errors
• Grammatical constructions inconsistent with surrounding style

Apply historical tolerance appropriate to an early 20th century magazine. Do not flag: 
• Archaic diction 
• Dialect spellings used consistently 
• Intentional repetition for emphasis 
• Period-appropriate grammar

Paragraph Merge Detection:

Examine all locations where a closing quotation mark is immediately
followed by an opening quotation mark with only a space between them.
For each such instance, determine whether the surrounding attribution
tags or dialogue context indicate a change of speaker. If a change of
speaker is confirmed or strongly implied, flag the location as a
probable compositor paragraph merge — two paragraphs that should be
separate have been run together. Report the full passage spanning both
quotations. Assign likelihood High if speaker attribution is explicit,
Moderate if implied by context.

Suspicious Punctuation Patterns:

Examine every sentence that ends with a period and determine whether
its syntax or context marks it as a question. Interrogative words
(where, what, why, who, how, when), question syntax, or clear
conversational context expecting an answer are all signals. Flag any
such sentence where a question mark is warranted but a period appears
instead. Quote the full sentence and explain the contextual basis for
flagging it.

Mid-Sentence Capital After Comma:

Scan every comma in the text. For each comma, examine the first letter
of the following word. If that word begins with a capital letter and is
not a proper noun, a title, or the word "I," flag the location as a
probable compositor period-to-comma substitution. Quote the full
surrounding sentence, identify the capitalized word, and explain why a
sentence break is likely intended. Assign likelihood High if the
capitalized word begins an independent clause with its own subject and
verb.

REPORT FORMAT

Important output rule:
• Report ONLY confirmed violations.
• If there are no violations, output exactly: NO VIOLATIONS FOUND.
• Do not report “no error” findings.
• Do not discuss rule categories with zero violations.

For each anomaly:
• Quote the exact passage
• Explain why it may be anomalous
• Classify the type
• Assign likelihood (Low / Moderate / High)

Assume the text is from an early 20th century magazine.

Focus on probable compositor or OCR-originated errors and genuine editorial inconsistencies.

Perform long-range consistency checks across the entire document.

The text follows:
------------------------------------------------------------

4.4.1.3 Single Scannos and Typos Audit

# EDITORIAL AUDIT — PASS 3

## Typos, Scannos, Wrong-Word Substitutions, and Contextual Plausibility

You will receive one complete story. The encoding is UTF-8.

Perform a Pass 3 audit on the provided text.
- Do not rewrite.
- Do not silently correct.
- Do not normalize formatting.
- Assume mechanical formatting (Pass 1) and general editorial anomalies (Pass 2) have already been checked.
- Apply historical tolerance appropriate to an early 20th century magazine.
- Do not flag archaic diction that is contextually apt.
- Do not flag consistent dialect spellings.

---

## YOUR TASK

Work through the text systematically, sentence by sentence, checking for the following failure modes.

---

### FAILURE MODE 1: SCANNO SUBSTITUTIONS

A scanno occurs when a word has been misread during typesetting or scanning, producing a different word or a non-word. Check every word against common error patterns including but not limited to:

- **Letter-pair confusions:** rn→m, m→rn, li→h, h→li, cl→d, d→cl, f→t, t→f, i→l, l→i, u→n, n→u, a→o, o→a, vv→w, w→vv
- **Single character drop or insertion:** a word that would make better sense with one letter added or removed
- **Transpositions:** adjacent letters swapped
- **Split words:** one word rendered as two, or two words merged into one

Flag any word where a scanno substitution is plausible and the corrected form would produce better sense in context. Show the original word, the likely intended word, and the confusion pair involved.

---

### FAILURE MODE 2: TYPO SUBSTITUTIONS

A typo occurs when a compositor struck a wrong key, producing a real word that differs from the intended word. These are the hardest errors to catch because spell-checking cannot detect them.

For every word in the text, ask: **Is this the right word for this sentence, or is it a plausible miskeying of a different word?**

Common patterns include:
- Adjacent-key substitutions on a standard keyboard
- Words that differ by only one letter from a more contextually appropriate word
- Real words that make approximate but not precise sense in context (e.g., "arid" for "and," "plate" for "place," "if" for "it")

Flag any word where a typo substitution is plausible. Show the original word, the likely intended word, and explain the contextual problem with the word as it stands.

---

### FAILURE MODE 2A: COMPOUND WORD SPLIT/MERGE ERRORS (NEW)

**CRITICAL:** Many common errors involve words that can be written as one word or two words, but with completely different meanings. These are NOT interchangeable.

**Check every instance of these common pairs:**

| One Word (when to use) | Two Words (when to use) |
|------------------------|-------------------------|
| **awhile** (adverb = for a while) | **a while** (noun phrase, esp. after prepositions) |
| - "Rest awhile" ✓ | - "After a while" ✓ |
| - "After awhile" ❌ | - "Rest a while" ✓ (acceptable) |
| **everyday** (adjective = ordinary) | **every day** (adverb = each day) |
| - "everyday clothes" ✓ | - "happens every day" ✓ |
| - "happens everyday" ❌ | - "every day clothes" ❌ |
| **anymore** (adverb = any longer) | **any more** (quantity) |
| - "don't go there anymore" ✓ | - "don't want any more pie" ✓ |
| **into** (preposition = toward inside) | **in to** (adverb + preposition) |
| - "walked into the room" ✓ | - "turned it in to the teacher" ✓ |
| - "came in to help" ✓ | - "walked in to the room" ❌ |
| **maybe** (adverb = perhaps) | **may be** (verb phrase) |
| - "maybe tomorrow" ✓ | - "it may be true" ✓ |
| **sometime** (adverb = at some point) | **some time** (noun = amount of time) |
| - "visit sometime" ✓ | - "need some time" ✓ |
| **anyway** (adverb = regardless) | **any way** (noun = any method) |
| - "I'll go anyway" ✓ | - "is there any way to fix it?" ✓ |
| **altogether** (adverb = completely) | **all together** (all in one place) |
| - "altogether wrong" ✓ | - "we stood all together" ✓ |
| **already** (adverb = by now) | **all ready** (completely prepared) |
| - "already done" ✓ | - "we're all ready to go" ✓ |

**Testing strategy for "awhile" vs "a while":**

1. If it follows a preposition (after, for, in, within), it MUST be "a while"
   - ✓ "after a while"
   - ❌ "after awhile"

2. If you can substitute "for a while," use "awhile" (one word)
   - ✓ "rest awhile" = "rest for a while"

3. If it can be modified ("quite a while," "a short while"), it MUST be "a while"

**For each compound word pair found in the text:**
- Verify it's the correct form for the context
- Flag if the wrong form is used
- Quote the full phrase showing the error
- Explain which form is needed and why

---

### FAILURE MODE 3: WRONG-WORD SUBSTITUTIONS IN DIALECT

Dialect contractions and clipped forms must be internally consistent throughout the text.

- Identify all dialect contractions and clipped forms used in the text.
- Check each form against all its other appearances.
- Flag any instance where a dialect word appears in a form inconsistent with its dominant usage elsewhere — this may indicate compositor substitution of a similar-looking word.

Example: if a word appears as "comin'" throughout the text but appears once as "cornin'," the outlier form should be flagged.

**Unknown Word Against Dialect Vocabulary:**

For any word in dialogue or dialect narration that is not a standard English word but could plausibly be a proper noun, foreign word, or archaic term, cross-check it against the established dialect vocabulary of the text. If the word has no clear dialect precedent within the story and a common dialect word of similar letterform exists — particularly via ll→li, rn→m, or similar compositor confusions — flag it as a probable scanno within dialect. Assign likelihood High if the proposed correction is a dialect word used elsewhere in the text or genre.

---

### FAILURE MODE 4: CONTEXTUAL TERMINAL PUNCTUATION

Read every sentence that ends with a period and ask whether it is syntactically or contextually a question.

Flag any sentence where:
- The sentence begins with an interrogative word (where, what, why, who, how, when, which)
- The syntax inverts subject and verb in the manner of a question
- The conversational context clearly calls for a question — i.e., the following sentence or speaker turn is a direct answer

For each flagged instance, quote the full sentence and explain why a question mark appears warranted.

---

### RARE OR OBSCURE WORDS

As you work through the text, note any word that is:
- Unusual or rare beyond the general register of the story
- A possible wrong-word substitution for a more common word
- Flagged under any of the above failure modes

For each such word, provide:
1. The word quoted in its full sentence for context
2. A brief definition of the word **as it stands** in the text
3. Your assessment of whether it is correct or a probable substitution
4. Your suggested correction if applicable

---

### FAILURE MODE 5: STANDARD SPELLING ERRORS

Check every non-dialect word against standard spelling. Flag any word that appears to be a misspelling of a common English word, including errors involving doubled consonants, transposed vowels, missing letters, or added letters. Note that dialect words and archaic forms with consistent historical usage should not be flagged. Only flag words where the standard modern spelling is clearly different and the error cannot be attributed to period usage or intentional dialect.

---

## REPORT FORMAT

**Important output rules:**
- Report ONLY confirmed or probable violations.
- If there are no violations, output exactly: NO VIOLATIONS FOUND.
- Do not report words that are unusual but contextually correct.
- Do not discuss rule categories with zero violations.
- Group findings by Failure Mode.

For each flagged item:
- Quote the exact passage (full sentence preferred)
- Identify the word in question
- State the failure mode
- Explain the issue briefly
- Provide likely correction if determinable
- For rare/obscure words, include definition of the word as it stands
- Assign likelihood: **Low / Moderate / High**

---

## IMPORTANT REMINDERS

- Dialect is not error. "Ain't," "yore," "goin'," "sorter," and similar consistent dialect forms are intentional and must not be flagged.
- A word that is rare but apt is not an error.
- A word that is common but wrong for its context is always an error.
- **CRITICAL: Pay special attention to compound word pairs in Failure Mode 2A. These are among the most common errors that survive proofreading.**
- When in doubt between a dialect reading and a scanno, flag it at Low or Moderate likelihood and explain both possibilities.
- Your goal is to surface what a careful human copy editor would catch on a close third reading.

---

The text follows:
------------------------------------------------------------

4.4.1.4 Editorial Audit (Pass 4)

# EDITORIAL AUDIT — PASS 4

## Structural Punctuation: Commas, Hyphens, and Phrase Boundaries

You will receive one complete story. The encoding is UTF-8.

Perform a Pass 4 structural punctuation audit on the provided text.
- Do not rewrite.
- Do not silently correct.
- Assume mechanical formatting (Pass 1), general anomalies (Pass 2), and word-level errors (Pass 3) have already been checked.
- Apply historical tolerance appropriate to early 20th century magazine style.
- Do not flag intentional stylistic choices or light comma usage that was period-appropriate.

---

## YOUR TASK

Work through the text systematically, checking for these structural punctuation patterns:

---

### RULE 1: NON-RESTRICTIVE CLAUSES AND PHRASES

Non-restrictive (non-essential) relative clauses and appositives must be set off with commas on BOTH sides.

**Check for:**
- Relative clauses beginning with "who," "which," "where," or "when" that provide additional information about a fully identified noun
- If only one comma appears (before or after), flag the missing comma

**Examples:**
- ❌ "Bobby who was attempting to go underneath his horse, missed his hold"
- ✓ "Bobby, who was attempting to go underneath his horse, missed his hold"

**Do not flag:**
- Restrictive clauses essential to identifying the noun ("The man who wore the hat" - no commas needed)
- Short phrases where comma omission was acceptable period style

---

### RULE 2: PARTICIPIAL PHRASES AFTER DIALOGUE TAGS

When a participial phrase (verb + -ing) follows a dialogue tag, it must be separated by a comma.

**Check for:**
- Dialogue tag + participial phrase with no comma between them
- Pattern: [said/moaned/shouted] [Name] [verb-ing phrase]

**Examples:**
- ❌ "We gotta find out!" moaned Lou Warner holding his head
- ✓ "We gotta find out!" moaned Lou Warner, holding his head

---

### RULE 3: COMPOUND ADJECTIVES BEFORE NOUNS

Two or more words functioning as a single adjective before a noun must be hyphenated.

**Check for:**
- Adjective + adjective (or adjective + participle) combinations that modify the same noun
- Common patterns: [adjective]-headed, [adjective]-out, [number]-[unit], [color]-[color]

**Examples:**
- ❌ "Bare headed, they looked like Indians"
- ✓ "Bare-headed, they looked like Indians"
- ❌ "worn out Indians"
- ✓ "worn-out Indians"

**Do not flag:**
- Adverb + adjective combinations (no hyphen needed: "very tired man")
- Compound adjectives after the noun ("The man was well known" - no hyphen needed)
- Established open compounds ("high school student")

---

### RULE 4: COORDINATE ADJECTIVES

When multiple adjectives independently modify the same noun, they must be separated by commas.

**Test:** If you can insert "and" between the adjectives or reverse their order without changing meaning, they are coordinate and need commas.

**Check for:**
- Multiple adjectives before a noun with no commas between them
- Pattern: adjective adjective adjective noun

**Examples:**
- ❌ "poor aged worn-out Indians"
- ✓ "poor, aged, worn-out Indians"

**Do not flag:**
- Adjectives that build on each other ("a small cardboard box" - "small" modifies "cardboard box," not "box" alone)
- Cases where one adjective modifies the noun phrase formed by the other adjective + noun

---

### RULE 5: INTRODUCTORY PARTICIPIAL PHRASES

Participial phrases at the beginning of a sentence should generally be followed by a comma, especially if they are longer than 3-4 words.

**Check for:**
- Sentence-opening verb + -ing phrases with no comma before the main clause

**Examples:**
- ❌ "Holding his head between his hands Bobby groaned"
- ✓ "Holding his head between his hands, Bobby groaned"

---

### RULE 6: DIRECT ADDRESS (VOCATIVE COMMAS)

When a person or group is directly addressed by name or title, that element must be set off with commas.

**Check for:**
- Names or titles used in direct address without surrounding commas
- Common patterns: "Now ladies and gentlemen", "Listen folks", "Yes sir", "Thanks John"

**Examples:**
- ❌ "Now ladies and gentlemen, your attention please"
- ✓ "Now, ladies and gentlemen, your attention please"
- ❌ "Listen folks this is important"
- ✓ "Listen, folks, this is important"

## RULE 7: MID-SENTENCE PARTICIPIAL PHRASES

    Participial phrases in the middle or end of sentences that describe circumstances of the main action should generally be set off with commas
    Example: "He ran down the street, dodging cars and pedestrians"

## RULE 8: COMMA SPLICES AND RUN-ON SENTENCES

Two independent clauses (complete sentences) cannot be joined with only a comma. They require either a period, semicolon, or comma + coordinating conjunction.
Check for:

Two complete sentences joined by a comma alone
Pattern: [subject + verb + complete thought], [subject + verb + complete thought]
Common after participial phrases where a second independent clause follows

Examples:

❌ "He regained the open air, dragging Sales by the collar, he saw Tom on the gallows"
✓ "He regained the open air, dragging Sales by the collar. He saw Tom on the gallows"
✓ "He regained the open air, dragging Sales by the collar; he saw Tom on the gallows"
✓ "He regained the open air, dragging Sales by the collar, and he saw Tom on the gallows"

Test: Can the portions before and after the comma stand alone as complete sentences? If yes, a comma alone is insufficient.
Do not flag:

Comma + coordinating conjunction (and, but, or, nor, for, yet, so)
Dependent clauses joined to independent clauses
Intentional stylistic fragments in dialogue

## RULE 9: DIALOGUE TAG PUNCTUATION

Dialogue tags must be properly connected to their dialogue with commas, not separated by periods.
Check for:

Sentence fragments consisting only of "he/she/they said/asked/replied/etc." followed by a period and then opening quotation marks
Pattern: [attribution verb]. "dialogue"

Examples:

❌ He said. "I'm leaving"
✓ He said, "I'm leaving"

## REPORT FORMAT

**Important output rules:**
- Report ONLY confirmed or probable violations.
- If there are no violations, output exactly: NO VIOLATIONS FOUND.
- Do not report stylistic variations acceptable in period usage.
- Do not discuss rule categories with zero violations.
- Group findings by Rule number.

For each flagged item:
- Quote the full sentence
- Identify the specific construction
- State which rule applies
- Show the correction
- Assign likelihood: **Low / Moderate / High**

**Likelihood guidance:**
- **High:** Clear structural violation (e.g., non-restrictive clause with only one comma)
- **Moderate:** Likely needed but period style varied (e.g., short introductory phrase)
- **Low:** Arguable based on restrictive vs. non-restrictive interpretation

---

## IMPORTANT REMINDERS

- Period style was lighter on commas than modern usage. Only flag clear structural violations.
- If uncertain whether a clause is restrictive or non-restrictive, assign Low or Moderate likelihood.
- Focus on patterns that create ambiguity or parsing difficulty.
- Your goal is to catch structural punctuation that a compositor might have dropped or that OCR might have obscured.

---

The text follows:
------------------------------------------------------------

4.4.1.5 Editorial Audit (Pass 5)

# EDITORIAL AUDIT — PASS 5

## Grammatical Agreement and Consistency

You will receive one complete story. The encoding is UTF-8.

Perform a Pass 5 grammatical agreement audit on the provided text.
- Do not rewrite.
- Do not silently correct.
- Assume mechanical formatting (Pass 1), editorial anomalies (Pass 2), word-level errors (Pass 3), and structural punctuation (Pass 4) have already been checked.
- Apply historical tolerance appropriate to early 20th century magazine style.
- Do not flag intentional dialect or colloquial speech.
- Focus on errors that could result from compositor mistakes or OCR corruption.

---

## YOUR TASK

Work through the text systematically, checking for the following grammatical agreement issues:

---

### RULE 1: PRONOUN-ANTECEDENT AGREEMENT (NUMBER)

Pronouns must agree in number with their antecedents.

**Check for:**
- Singular antecedents paired with plural pronouns (or vice versa)
- Common pattern: "the [singular noun]... their/they" 
- Mixed number within the same sentence or clause

**Examples:**
- ❌ "The trick rider's pride... to never lose their hats"
- ✓ "The trick rider's pride... to never lose his hat" OR "Trick riders' pride... to never lose their hats"
- ❌ "Each cowboy must bring their own saddle"
- ✓ "Each cowboy must bring his own saddle"

**Do not flag:**
- Intentional dialect usage
- Collective nouns that take plural pronouns by convention ("the committee made their decision")
- Historical usage patterns common in period texts

**Historical note:** Singular "they/their" for generic reference was not standard in 1920s American English. Flag modern singular "they" usage as likely anachronistic unless clearly intentional.

---

### RULE 2: SUBJECT-VERB AGREEMENT

Subjects and verbs must agree in number.

**Check for:**
- Singular subjects with plural verbs (or vice versa)
- Compound subjects and their verb forms
- Intervening phrases that obscure the true subject

**Examples:**
- ❌ "The group of riders were ready" (if "group" is the subject)
- ✓ "The group of riders was ready" OR "The riders were ready"
- ❌ "One of the cowboys are missing"
- ✓ "One of the cowboys is missing"

**Watch for:**
- Distance between subject and verb
- Inverted sentence structure
- Collective nouns (apply period-appropriate standards)

---

### RULE 3: TENSE CONSISTENCY

Maintain consistent verb tense within paragraphs and scenes unless there's a clear shift in time frame.

**Check for:**
- Unmotivated tense shifts within a single action sequence
- Past/present mixing without narrative justification
- Perfect tense inconsistencies

**Examples:**
- ❌ "He walked to the barn and sees his horse"
- ✓ "He walked to the barn and saw his horse"

**Do not flag:**
- Dialogue in different tense from narration
- Flashbacks or time shifts
- Historical present used for dramatic effect (if consistent)

---

### RULE 4: PARALLEL STRUCTURE

Items in a series or compound construction should maintain parallel grammatical form.

**Check for:**
- Series mixing verb forms (infinitives, gerunds, participles)
- Series mixing noun types
- Correlative conjunctions (either/or, neither/nor, not only/but also) with non-parallel structures

**Examples:**
- ❌ "He liked riding, to rope, and competing"
- ✓ "He liked riding, roping, and competing" OR "to ride, to rope, and to compete"
- ❌ "Either practice daily or you should quit"
- ✓ "Either practice daily or quit"

---

### RULE 5: MODIFIER PLACEMENT AND DANGLING MODIFIERS

Modifiers should clearly and logically modify the intended word. Participial phrases at the beginning of sentences should modify the subject that immediately follows.

**Check for:**
- Dangling participles (opening participial phrase doesn't modify the subject)
- Misplaced modifiers that create ambiguity or illogical meaning
- "Only," "just," "nearly" placed incorrectly

**Examples:**
- ❌ "Running down the street, the barn came into view" (barn isn't running)
- ✓ "Running down the street, he saw the barn come into view"
- ❌ "He only rode on Sundays" (if meaning is he rode only on Sundays)
- ✓ "He rode only on Sundays"

**Historical tolerance:** Some modifier placements that would be questioned today were more acceptable in period writing. Flag only clear logical errors or ambiguities.

---

### RULE 6: NUMBER CONSISTENCY WITHIN CONSTRUCTIONS

When a sentence establishes a number (singular/plural) for a concept, maintain that number throughout the construction.

**Check for:**
- Switching between singular and plural forms of the same referent
- Inconsistent articles (a/an vs. the vs. plural)

**Examples:**
- ❌ "A cowboy needs their equipment"
- ✓ "A cowboy needs his equipment" OR "Cowboys need their equipment"
- ❌ "Each of the riders checked their saddle and mounted their horses"
- ✓ "Each of the riders checked his saddle and mounted his horse"

---

## REPORT FORMAT

**Important output rules:**
- Report ONLY confirmed or probable violations.
- If there are no violations, output exactly: NO VIOLATIONS FOUND.
- Do not report stylistic variations acceptable in period usage.
- Do not discuss rule categories with zero violations.
- Group findings by Rule number.

For each flagged item:
- Quote the full sentence or relevant passage
- Identify the grammatical issue
- State which rule applies
- Show the correction (provide alternatives if multiple fixes are valid)
- Assign likelihood: **Low / Moderate / High**

**Likelihood guidance:**
- **High:** Clear grammatical violation with no period justification
- **Moderate:** Likely error but period usage was variable
- **Low:** Questionable; could be intentional or acceptable period style

---

## IMPORTANT REMINDERS

- Dialect speech should not be corrected. If a character says "we was," that's intentional.
- Focus on narrative prose and formal dialogue where standard grammar would be expected.
- Consider that compositor errors (dropped letters, wrong words) can create agreement problems.
- Period grammar was somewhat more flexible than modern prescriptive rules. Flag only clear errors.
- When uncertain, err on the side of not flagging. Your goal is to catch real errors, not enforce modern style preferences.

---

The text follows:
------------------------------------------------------------

4.4.2 AI proofing with OpenAI API

There is an application program interface (API) for OpenAI's models, which allows you to send text to the model and receive a response. This is a more automated approach to AI proofing, and it can handle larger volumes of text more efficiently than the manual approach. However, it does require some programming knowledge to set up and use. For reference, the API cost of proofreading a single short story as hosted on this site is about 7 cents.

To use this approach, you would typically write a script that reads your text file, sends it to the OpenAI API in chunks (if necessary), and then processes the response to identify any issues. The script can be designed to handle multiple passes, similar to the manual approach, but it can do so automatically without requiring you to copy and paste text into an interface.

You do need to establish an account with OpenAI and obtain an API key to use this approach. Additionally, you should be mindful of the costs associated with using the API, especially if you are processing large volumes of text. It's a good idea to start with a small test to understand how the API works and to estimate the costs before processing an entire book.

Here is a very basic example of how you might use the OpenAI API in Python to proofread a text file. This example assumes you have the OpenAI Python library installed and that you have set your API key as an environment variable.

proofread_api_chunks.py

This example text file was proofed with the API program using this command:

proofread_api_chunks $(NAME).txt --model gpt-4.1 --temperature 0 \
  --min-words 200 --max-words 300 --format text > report.txt

The report.txt file showed some interesting hits:

entrance to a wooden draw and disappeared. 
  “wooden” should be “wooded” (context: a draw is a terrain feature,
  not made of wood)

Saunders’ — should be “Saunders’s” per 1930s–1940s American usage

It also estimates cost of the run: "Estimated cost: $0.043535"

4.4.3 Three pass, chunked AI Proofing

This is a manual, chunked approach to using an AI proofing tool. It is more work than the API approach, but it allows you to use a more powerful model and to have more control over the process. It also allows you to use a tool that may not have a convenient API, such as Claude. It is also free, unlike the API version. That said, the API approach is more automated and can handle larger volumes of text more efficiently. For reference, the API cost of proofreading a single short story as hosted on this site is about 7 cents.

To use this approach, first you will break the text into manageable chunks. Here is the program I use to do that.

split-story.py

This is a quick walkthrough of the process.

cd ~/books/old-slowpoke

mkdir work
cp old-slowpoke-src.txt work
cd work

python3 ~/code/AI-proof-chunks/code/split-story.py old-slowpoke-src.txt 
--> Done. Created 2 chunks in 'chunks/'

open a Claude Window.  choose (at least) Sonnet 4.5 Extended

open the first prompt (below) in an editor:

select all, copy, paste into Claude as the prompt.

At the end of the prompt, use "```" to start a text box

open in an editor:
  ~/books/old-slowpoke/work/chunks/story_0001.txt

paste that into the text box.

then hit return to send it to Claude

wait for analysis.

copy, paste results from Claude interface into work/report.txt

no need to repeat the prompt for the second chunk.

do use triple back-ticks.

then drop copy/paste of story_0002.txt into Claude for analysis.

copy, paste results from Claude interface into work/report.txt

After all pass1 chunks are processed, repeat with the "pass2-prompt.txt"

Then with the "pass3-prompt.txt", capturing and any errors to report.txt

The three prompts used in this process are next.

4.4.3.1 Mechanical Enforcement Audit (Pass 1)

MECHANICAL ENFORCEMENT AUDIT

You will receive one chunk of a larger story. The encoding is UTF-8.

Perform a STRICT mechanical enforcement audit on the provided text.

• Do not rewrite.
• Do not interpret stylistically.
• Do not speculate.
• Do not normalize formatting.

Only enforce the mechanical house style rules below.

MECHANICAL ENFORCEMENT RULES

Dashes:
• Em dash must be represented as --
• Trailing interruption may be represented as ----
• A single hyphen (-) must never function as an em dash
• Dash style must be consistent throughout

Quotation Marks:
• Dialogue must use curly double quotation marks: " "
• Nested quotations must use curly single quotation marks: ' '
• Quotation marks must be properly opened and closed
• Nested quotes must close in reverse order of opening

Apostrophes:
• Dialect apostrophes must use curly apostrophe (')
• Apostrophes must be correct (e.g., possessives, contractions)
• Misplaced apostrophes that change meaning are violations

Ellipsis Rules:
• Mid-sentence ellipsis must appear as: space + three consecutive periods + space Example: word ... word
• Sentence-ending ellipsis must appear as: letter + four consecutive periods + space Example: word....

Paragraph Terminal Punctuation:
A paragraph must not end with a comma. This applies to all paragraph
types including dialogue, narrative, and mixed constructions. Where a
paragraph's final visible punctuation mark before a closing quotation
mark or line end is a comma, flag it as a violation.

Proper Noun and Brand Name Capitalization:
Identify any word that is a recognized brand name, trademark, or proper
name used generically. Such words must be capitalized regardless of how
commonly they have entered general usage. Flag any instance where a
known brand name or proper noun appears in lowercase. Check all
occurrences for consistency. Note that a word appearing consistently in
lowercase throughout is not self-correcting — systematic lowercasing is
still a violation.

Compound Word Form Consistency:
Identify all words that appear as open compounds (two words),
hyphenated compounds, or closed compounds (one word). For each such
form, assess whether the word is more standardly rendered in a
different compound form. Flag open compounds that are conventionally
closed, and vice versa. Also flag any word that appears in more than
one compound form within the same text.

AUDIT PROCEDURE:
Before reporting, make two full passes through the text:
• First pass: identify all candidate violations.
• Second pass: verify each candidate against the rules above, discarding false positives.
Report only what survives both passes.

REPORT FORMAT:
• Report all violations in a single flat list, numbered consecutively.
• Do not group by rule category.
• Do not add headers or section breaks.
• For each confirmed violation, quote the exact passage, state the rule violated, and explain the issue briefly.
• If there are no violations, output exactly: NO VIOLATIONS FOUND.

The text follows:
------------------------------------------------------------

4.4.3.2 Editorial Anomaly Audit (Pass 2)

EDITORIAL ANOMALY AUDIT

You will receive one chunk of a larger story. The encoding is UTF-8.

Perform an editorial anomaly audit on the provided text.

• Do not rewrite.
• Do not silently correct.
• Do not normalize formatting.
• Assume mechanical formatting has already been checked.

Your task is to detect and report anomalies only.

ANOMALY CATEGORIES TO DETECT

Identify and classify:
• Repeated adjacent words
• Suspicious punctuation patterns
• Irregular dash usage
• Quotation mark pairing errors
• Probable compositor or OCR errors
• Grammatical constructions inconsistent with surrounding style

Apply historical tolerance appropriate to an early 20th century magazine. Do not flag:
• Archaic diction
• Dialect spellings used consistently
• Intentional repetition for emphasis
• Period-appropriate grammar

Paragraph Merge Detection:
Examine all locations where a closing quotation mark is immediately
followed by an opening quotation mark with only a space between them.
For each such instance, determine whether the surrounding attribution
tags or dialogue context indicate a change of speaker. If a change of
speaker is confirmed or strongly implied, flag the location as a
probable compositor paragraph merge — two paragraphs that should be
separate have been run together. Report the full passage spanning both
quotations. Assign likelihood High if speaker attribution is explicit,
Moderate if implied by context.

Suspicious Punctuation Patterns:
Examine every sentence that ends with a period and determine whether
its syntax or context marks it as a question. Interrogative words
(where, what, why, who, how, when), question syntax, or clear
conversational context expecting an answer are all signals. Flag any
such sentence where a question mark is warranted but a period appears
instead. Quote the full sentence and explain the contextual basis for
flagging it.

Mid-Sentence Capital After Comma:
Scan every comma in the text. For each comma, examine the first letter
of the following word. If that word begins with a capital letter and is
not a proper noun, a title, or the word "I," flag the location as a
probable compositor period-to-comma substitution. Quote the full
surrounding sentence, identify the capitalized word, and explain why a
sentence break is likely intended. Assign likelihood High if the
capitalized word begins an independent clause with its own subject and
verb.

AUDIT PROCEDURE:
Before reporting, make two full passes through the text:
• First pass: identify all candidate anomalies.
• Second pass: verify each candidate against the categories above, discarding false positives.
Report only what survives both passes.

REPORT FORMAT:
• Report all anomalies in a single flat list, numbered consecutively.
• Do not group by category.
• Do not add headers or section breaks.
• For each confirmed anomaly, quote the exact passage, explain why it may be anomalous, classify the type, and assign likelihood (Low / Moderate / High).
• If there are no anomalies, output exactly: NO VIOLATIONS FOUND.

The text follows:
------------------------------------------------------------

4.4.3.3 Editorial Audit (Pass 3)

EDITORIAL AUDIT — PASS 3

Typos, Scannos, Wrong-Word Substitutions, and Contextual Plausibility

You will receive one chunk of a larger story. The encoding is UTF-8.

Perform a Pass 3 audit on the provided text.
• Do not rewrite.
• Do not silently correct.
• Do not normalize formatting.
• Assume mechanical formatting (Pass 1) and general editorial anomalies (Pass 2) have already been checked.
• Apply historical tolerance appropriate to an early 20th century magazine.
• Do not flag archaic diction that is contextually apt.
• Do not flag consistent dialect spellings.

YOUR TASK

Work through the text systematically, sentence by sentence, checking for the following failure modes.

FAILURE MODE 1: SCANNO SUBSTITUTIONS

A scanno occurs when a word has been misread during typesetting or scanning, producing a different word or a non-word. Check every word against common error patterns including but not limited to:

• Letter-pair confusions: rn→m, m→rn, li→h, h→li, cl→d, d→cl, f→t, t→f, i→l, l→i, u→n, n→u, a→o, o→a, vv→w, w→vv
• Single character drop or insertion: a word that would make better sense with one letter added or removed
• Transpositions: adjacent letters swapped
• Split words: one word rendered as two, or two words merged into one

Flag any word where a scanno substitution is plausible and the corrected form would produce better sense in context. Show the original word, the likely intended word, and the confusion pair involved.

FAILURE MODE 2: TYPO SUBSTITUTIONS

A typo occurs when a compositor struck a wrong key, producing a real word that differs from the intended word. These are the hardest errors to catch because spell-checking cannot detect them.

For every word in the text, ask: Is this the right word for this sentence, or is it a plausible miskeying of a different word?

Common patterns include:
• Adjacent-key substitutions on a standard keyboard
• Words that differ by only one letter from a more contextually appropriate word
• Real words that make approximate but not precise sense in context

Flag any word where a typo substitution is plausible. Show the original word, the likely intended word, and explain the contextual problem with the word as it stands.

FAILURE MODE 3: CONTEXTUAL TERMINAL PUNCTUATION

Read every sentence that ends with a period and ask whether it is syntactically or contextually a question.

Flag any sentence where:
• The sentence begins with an interrogative word (where, what, why, who, how, when, which)
• The syntax inverts subject and verb in the manner of a question
• The conversational context clearly calls for a question — i.e., the following sentence or speaker turn is a direct answer

For each flagged instance, quote the full sentence and explain why a question mark appears warranted.

FAILURE MODE 4: STANDARD SPELLING ERRORS

Check every non-dialect word against standard spelling. Flag any word that appears to be a misspelling of a common English word, including errors involving doubled consonants, transposed vowels, missing letters, or added letters. Do not flag dialect words or archaic forms with consistent historical usage. Only flag words where the standard modern spelling is clearly different and the error cannot be attributed to period usage or intentional dialect.

RARE OR OBSCURE WORDS

As you work through the text, note any word that is:
• Unusual or rare beyond the general register of the story
• A possible wrong-word substitution for a more common word
• Flagged under any of the above failure modes

For each such word, provide:
• The word quoted in its full sentence for context
• A brief definition of the word as it stands in the text
• Your assessment of whether it is correct or a probable substitution
• Your suggested correction if applicable

AUDIT PROCEDURE:
Perform two internal passes before writing any output.
- First pass: identify all candidate violations.
- Second pass: verify each candidate, discarding false positives.
Do not narrate your reasoning process. Do not show discarded candidates.
Write output only after both passes are complete.
Report only confirmed findings.

REPORT FORMAT:
• Report all findings in a single flat list, numbered consecutively.
• Do not group by failure mode.
• Do not add headers or section breaks.
• For each confirmed finding, quote the exact passage, identify the word in question, state the failure mode, explain the issue briefly, provide likely correction if determinable, and assign likelihood (Low / Moderate / High).
• If there are no findings, output exactly: NO VIOLATIONS FOUND.

The text follows:
------------------------------------------------------------

4.5 AI reports

Here are the error reports that came from the five passes when run against the example project, "Old Slowpoke".

4.5.1 Pass 1 report

===== pass 1 ==================================================================

VIOLATION 1 - Proper Names: Inconsistent Spelling
Line 9: "...it was time, he knew, to look for new hunting grounds; but
  Hollidge disliked to leave the Yargod Hills."
Line 129: "When Hollidge left the Double S ranch house he had confidently
  intended immediately leaving the Yargor Hills behind him."
Rule violated: Proper names must be spelled consistently throughout
Issue: The name of the hills is spelled two different ways in the text:
  "Yargod Hills" in line 9 and "Yargor Hills" in line 129. This is
  an inconsistency that must be corrected.

my decision: Both are "as printed". Neither spelling is an actual place name.
  I will apply the first occurrence principle: "Yargod Hills" appears first
  in the story's opening exposition, where the author is establishing the
  setting. First mentions in narrative setup are typically more deliberate. 

VIOLATION 2 - Compound Word Form
Line 111: "Off to her right, the rasping strains of a fiddle came from
  the Double S bunk house."
Rule violated: Compound Word Form Consistency
Issue: "Bunk house" appears as an open compound (two words), but the
  standard form is "bunkhouse" (closed compound, one word). This should
  be corrected to match the conventional closed form.

my decision: fixed. I also made a note for myself to put a non-breaking space
  such that "Double S" does not break over a line ending.

4.5.2 Pass 2 report

===== pass 2 ==================================================================

ANOMALY 1: Quotation Mark Pairing Error
Passage: "I fell," she went on. I don't see--how you ever--found me----"
Explanation: The dialogue begins with an opening quotation mark before
  "I fell," and ends with a closing quotation mark after "found me----".
  However, after the dialogue tag "she went on." the second sentence of her
  speech ("I don't see--how you ever--found me----") lacks an opening quotation
  mark. This creates an unpaired quotation situation where dialogue appears to
  continue but is not properly enclosed.
The structure should read: "I fell," she went on. "I don't see--how you
  ever--found me----"
Type: Quotation mark pairing error / Missing opening quotation mark
Likelihood: High — This is a clear compositor error where an opening quotation
  mark was dropped. The closing quote at the end of the sentence indicates the
  text is meant to be dialogue, and the context confirms Jane is continuing to
  speak.

my decision: fixed.

4.5.3 Pass 3 report

===== pass 3 ==================================================================

## FAILURE MODE 1: SCANNO SUBSTITUTIONS

**ANOMALY 1**

**Passage:** "Long after the rest of the dogs had gone, Slowpoke lumbered
  up. Whining softly, the dog muzzled the boot mark."
**Word in question:** "muzzled"
**Explanation:** The dog would "nuzzle" (rub gently with its nose) the boot
  mark, not "muzzle" it. "Muzzle" as a verb means to put a muzzle on something
  or to restrain/silence. This is a classic rn→m scanno substitution where
  "nuzzled" was misread as "muzzled" during typesetting or scanning.
**Likely correction:** "nuzzled"
**Likelihood:** High

my decision: nuzzled. Note for some sites, this change would either not be done
  or it would require a Transcriber's Note (TN). At BookCove, TN's a most often
  used when not having it would leave the user thinking we (BookCove) made a
  mistake.

## FAILURE MODE 2: TYPO SUBSTITUTIONS / WRONG-WORD SUBSTITUTIONS

**ANOMALY 2**

**Passage:** "Rines pointed toward a little hill which had extended to the
  top of a bald-faced ridge."
**Word in question:** "extended"
**Explanation:** A hill does not "extend" to the top of a ridge in standard
  usage. The verb "extended" (meaning stretched or reached) is contextually
  awkward here. The more natural word would be "ascended" (rose up to), which
  describes a hill going up to a ridge top. Alternatively, "had" may be
  extraneous, though "extended" alone is still questionable.
**Likely correction:** "ascended" or remove "had"
**Likelihood:** Moderate

my decision: leave as the author wrote it. We are not editors.

**ANOMALY 3**

**Passage:** "For the most of the night the miserable man tramped aimlessly
  on into the hills."
**Word in question:** "the most of"
**Explanation:** The phrase "For the most of the night" is non-standard.
  Standard usage is either "For the most part" or "For most of the night"
  (without the article "the" before "most"). This appears to be either a
  compositor insertion of an extra "the" or a conflation of two different
  idioms.
**Likely correction:** "For most of the night"
**Likelihood:** High

my decision: leave as is.

## FAILURE MODE 5: STANDARD SPELLING ERRORS / COMPOSITOR ERRORS

**ANOMALY 4**
**Passage:** "Joel Saunders swung angrily, about, and pushed his
  daughter gently but firmly away."
**Word in question:** N/A (punctuation error)
**Explanation:** The comma after "angrily" interrupts the natural verb phrase
  "swung angrily about" (meaning turned around sharply in anger). This appears
  to be a compositor insertion of an extraneous comma. Standard punctuation
  would be: "swung angrily about" without the comma.
**Likely correction:** Remove comma after "angrily"
**Likelihood:** High

my decision: correct it. I verified it was not in the original but an OCR
  artifact.

4.5.4 Pass 4 report

RULE 7: MID-SENTENCE PARTICIPIAL PHRASES

VIOLATION 1

Passage: "Just as the summer dusk was bathing the hills in purple shadow, Old
  'Poke stopped at the entrance to a black canyon, and, turning his sad eyes up
  to Hollidge whined lugubriously."
Construction: Participial phrase "turning his sad eyes up to Hollidge"
  describing circumstances of the action "whined"
Issue: The participial phrase begins with a comma ("and, turning...") but is
  missing the closing comma before the main verb "whined." This creates a
  parsing difficulty where the reader must determine where the participial
  phrase ends.
Correction: "and, turning his sad eyes up to Hollidge, whined lugubriously"
Likelihood: High

my decision: corrected. The first comma implies that it was meant to be
  set off, so I applied the second comma.

VIOLATION 2

Passage: "As he struck into the valley, the pack came from a dozen directions
  and baying noisily fell in behind him."
Construction: Participial phrase "baying noisily" describing how the pack
  fell in behind him
Issue: The participial phrase "baying noisily" modifies how the pack fell in
  behind him and should be set off with a comma. Currently it runs directly
  into the verb.
Correction: "the pack came from a dozen directions and, baying noisily, fell
  in behind him"
Likelihood: Moderate

my decision: left as is. No opening comma implies that it was not meant
  to be set off as the author wrote it.

4.5.5 Pass 5 report

## RULE 6: NUMBER CONSISTENCY WITHIN CONSTRUCTIONS / MISSING POSSESSIVE

**VIOLATION 1**

**Passage:** "At a bend in the road she slumped on a grassy bank, rested her
  head in hands, and cried softly."
**Issue:** The phrase "rested her head in hands" is missing the possessive
  pronoun "her" before "hands." While the text does use "on hands and knees"
  elsewhere (line 105), which is a fixed idiom that omits the possessive,
  "rested her head in hands" is not a standard idiom and typically requires
  the possessive.
**Standard construction:** "rested her head in her hands"
**Correction:** "rested her head in her hands"
**Likelihood:** Moderate
**Note:** This could potentially be acceptable period usage or a stylistic
  choice to parallel the idiom "on hands and knees" that appears later in the
  text, but standard grammar would include the possessive pronoun. This appears
  more likely to be a compositor omission.

my decision: leave as written after verifying it is as printed.

NO OTHER VIOLATIONS FOUND.

All other grammatical agreements in the text (pronoun-antecedent, subject-verb,
tense consistency, parallel structure, and modifier placement) appear correct
and consistent with early 20th century American English usage.

4.6 Smoothreading

After all these different checks, I still find it useful for a smoothreader to read the text. I have come to expect the smoothie to find something to investigate or fix.