Skip to content

Normalize English prose formatting across maintained files - #195

Merged
id774 merged 1 commit into
masterfrom
docs/normalize-english-prose
Nov 11, 2026
Merged

id774 merged 1 commit into
masterfrom
docs/normalize-english-prose

Conversation

@id774

@id774 id774 commented Nov 11, 2026 •

Copy link
Copy Markdown
Owner

Changed

English explanatory prose was edited for readability and consistent punctuation in README.md, nine maintained documents under doc/, and the explanatory comments of Gemfile, Rakefile, automatic.gemspec, script/build, .github/workflows/ci.yml, lib/, plugins/ and spec/.

  • Line wrapping. Ordinary prose lines of 94 to 235 columns were rewrapped at word boundaries to about 80 columns, within the same paragraph, list item or comment block. This covers the README "From a checkout" and "Primary Branch" paragraphs, doc/DEPLOYMENT.md, doc/PLUGINS.md, doc/AI_TUTORIAL.md, doc/RELEASING.md, doc/QUICKSTART.md, doc/POLICY.md, the Gemfile comment and the ci.yml comments.
  • Semicolons. All 290 semicolons that joined independent clauses in prose were replaced with a period and a capitalized sentence, or with a comma and a conjunction (and, but, so, because) where the logical relation called for one. Examples: "The supported checkout setups are shown below. Start with the minimal setup." and the clauses in plugins/filter/join.rb and spec/lib/automatic/pipeline_spec.rb.
  • List terminators. The doc/REQUIREMENTS.md Markdown-properties list, the doc/RELEASING.md prerequisite, metadata-source, package-content and gem-metadata lists, and the doc/PLUGINS.md credential list now use capitalized items that end with a period, in place of a single sentence chained with semicolons. The doc/BASIC_DESIGN.md "either ... or" list was reworded the same way, keeping both alternatives.
  • Table cells. Table cells that joined two full clauses with a semicolon now use a period or a conjunction. The table structure is unchanged.

Preserved behavior

  • No Ruby code, constant, string literal, regular expression, YAML value, workflow setting or command changed. Only comment lines differ in non-Markdown files.
  • File headers (Name, Author, Created, Updated, Copyright, License, Description), shebangs and magic comments are untouched.
  • Markdown headings, code fences, link targets, inline code spans, tables, list item counts and numbers are identical to the base.
  • Conditions, negations, normative wording (must, shall, should, may, never, always) and rule strength are unchanged. No rule, item or sentence was removed.
  • Prose that already met the requirements was left unchanged. Lines that carry a literal URL or an unsplittable Markdown link (README lines 216, 705 and 727, doc/DEPLOYMENT.md line 32 and doc/RELEASING.md line 383), header Description:: and Author: fields, and table rows were not rewrapped. Terse table-cell fragments such as "Required; must be greater than zero." were left as written.

Version History

VERSION, lib/automatic/version.rb, doc/VERSIONS and the automatic.gemspec version value are unchanged. This change touches documentation and comments only, so it adds no release-history entry and does not change Updated.

Validation

ID Check Result Expected Observed (exit code)
V01 Scanned every in-scope file for prose lines over 82 columns and for semicolons outside code spans, code fences and link targets. Reviewed every hit. PASS Every hit is fixed or is a named exception No prose semicolon remains. What remains: 8 terse table-cell fragments, one entity literal, URL/link lines and header fields
V02 Read every changed sentence in a word diff. PASS Natural grammar, no fragments, no lowercase sentence starts after a former semicolon No issue found
V03 Measured the length of every added line. PASS Prose is about 80 columns No added prose line is over 83 columns except the link line at doc/DEPLOYMENT.md:32 (87) and table rows
V04 Compared base and head with a script: headings, fences, link targets, code spans, numbers, table and bullet counts, and the counts of modal and negation words. Also counted dashes per file. PASS No structural or semantic difference All equal. One added "not" comes from "otherwise" becoming "If it was not". Dash counts are equal in every file
V05 Checked the changed file set against the allowed list, and grepped the diff for header fields. PASS Only allowed files and prose lines changed 64 files, all in scope. No non-comment line in non-Markdown files, and no header line changed
V06 git diff --check PASS Exit 0 0
V07 bundle exec rake spec (default suite, no optional groups, no network) PASS Exit 0, no failures 447 examples, 0 failures (0)
V08 bundle exec bin/automatic --version and --help, with --help compared to the base checkout PASS Exit 0, output equal to the base 26.09 (0). Help output byte-identical to base (0)
V09 ruby -c on the 52 changed Ruby-syntax files, plus a Ripper token-stream comparison with comments and whitespace excluded. Also bash -n script/build and a YAML parse of ci.yml. PASS Valid syntax, identical tokens Syntax OK (0). Token mismatches: 0 (0). bash -n (0). YAML load (0)
V10 Reviewed git log and git diff from origin/master to HEAD. PASS One commit, scope as approved 1 commit, 64 files, 402 insertions, 374 deletions
V11 Read back the PR metadata after creation. PASS Base, head, title, body, state and files as specified See Pull Request Verification

Smoke test

The CLI was run from the checkout through bundle exec on Ruby 3.3.6. --version printed 26.09. The --help output was compared with the output from an origin/master worktree and was identical. No network spec or integration Recipe was run.

Exit status

git diff --check: 0. bundle exec rake spec: 0. automatic --version: 0. automatic --help: 0. ruby -c (all files): 0. Token comparison: 0.

Diff

64 files changed, 402 insertions, 374 deletions. The changes are confined to prose in README.md, doc/*.md (9 files) and comments in 54 non-Markdown files.

Branch and Commit

  • Base: master at 793bc96ff00a9e8dcf9eb60a39f81a5f2b550970
  • Head: docs/normalize-english-prose (newly created from origin/master)
  • Commit: ac77db99e023d418f7c374422c77efe409510d3f "Normalize English prose formatting across maintained files"
  • Final diff scope: one commit, and every changed file is in the approved scope.

Pull Request Verification

Read back after creation: base master (793bc96), head docs/normalize-english-prose (ac77db9), title as specified, state open and not merged, mergeable state clean, 1 commit, 64 changed files (+402/-374). The body contains these nine sections in the specified order and no session URL or credential.

@id774
id774 merged commit 3ec8ba9 into master Nov 11, 2026
8 checks passed
@id774
id774 deleted the docs/normalize-english-prose branch November 11, 2026 16:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants