Skip to content

Add tense-matched forms of formal verbs and a few phrases to the plain-language word list - #95

Merged
nonprofittechy merged 1 commit into
mainfrom
plain-language-word-list-additions
Oct 6, 2026
Merged

nonprofittechy merged 1 commit into
mainfrom
plain-language-word-list-additions

Conversation

@nonprofittechy

Copy link
Copy Markdown
Member

What this changes

plain_language_replacements.yml only matches exact words. So "obtain" is flagged, but "obtained", "submitted" and "presented" are not, and suggesting "get" in place of "obtained" would read wrong anyway. This adds:

  • Tense-matched forms of formal verbs, each with its own suggestion. For example obtained: [got, received], submitting: sending, expired: [ran out, ended], granted: [approved, given], provided: [gave, given], incurred: [had, owed], purchased: bought, terminated: [ended, stopped].
  • Phrases the table was missing: set forth, aforementioned, in the event that, whereby.
  • "employed", but only inside is employed, are employed and currently employed. The bare word would also match "self-employed", which is plain already.

Forms that are usually ordinary words or names were left out on purpose: "required", "benefits", "completed", "options", "exhibits", "deemed" (as in "Petition … to be Deemed Satisfied"), and "authorized" (as in "authorized representative").

The ALWeaver now runs this table over AI-drafted labels and screen text, so the two tools agree on which words to avoid.

Validation against published interviews

I ran the linter's style check (RuntimeOptions(style_enabled=True)) over all 180 data/questions/*.yml files from 50+ published Massachusetts AssemblyLine interviews, before and after this change, and compared the findings (scan script).

plain-language findings
main 1555
this branch 1632 (+78, −1)

The one removed finding is in "Are you currently employed?". The new currently employed → working now replaces the old currently → now.

All 78 new findings were reviewed by hand. 72 are formal wording in text the litigant reads, where the suggestion fits. For example:

  • "Do you live with a household member that is employed?"
  • "So far, you have provided the following information about yourself."
  • "the form of ID presented"
  • "Has it been at least 7 years since the appeal period expired?"
  • "What is the name of the dealership you purchased your vehicle from?"

The other 6 are false positives:

  • quoted statute headings (3), such as "waiver in leases or other rental agreements prohibited";
  • a quoted affidavit statement (1);
  • a form section title, "Value of Documented or Anticipated Lost Wages…" (1);
  • a term the author already glossed, "A judge ended (terminated)…" (1).

That's about 8%. For comparison, a random sample of 40 existing findings had about 8 false positives (~20%) of the same kinds: names and defined terms ("housing authority", "Assistance animal"), quoted affidavit and lease text, and suggestions that don't fit ("correct → exact"). So the new entries are no noisier than the table already is.

While testing I also found that a duplicate key makes the table fail to load (ruamel rejects duplicates), and the plain-language check then silently reports nothing. This change adds no duplicates (hereby and in the event of were already there, so I left them out), but a test that loads the table and fails on duplicates might be worth adding separately.

Tests

  • Parametrized tests check that each kind of new entry is matched and suggests the right form.
  • A test checks that "self employed" and "self-employed" are not flagged.
  • pytest tests: 655 passed.

🤖 Generated with Claude Code

… list

The table only matches exact words, so "obtain" was flagged but "obtained",
"submitted" and "presented" were not, and suggesting "get" for "obtained"
would read wrong anyway. Add the inflected forms as their own entries with
matching suggestions, plus phrases the table lacked ("set forth",
"aforementioned", "in the event that", "whereby"). "employed" is added only
inside "is/are/currently employed", since "self-employed" is plain already.

Checked against the 180 question files of published Massachusetts
interviews in ~/all_interviews: the additions raise findings from 1555 to
1632. By hand review, 72 of the 78 new findings are real; the other 6 are
quoted statutes, a quoted affidavit, a form section title, and a term the
author already glossed. A sample of 40 existing findings had about 8 such
false positives.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@nonprofittechy
nonprofittechy merged commit 4cdc538 into main Oct 6, 2026
4 checks passed
@nonprofittechy
nonprofittechy deleted the plain-language-word-list-additions branch October 6, 2026 15:36
nonprofittechy added a commit to SuffolkLITLab/docassemble-ALWeaver that referenced this pull request Oct 6, 2026
Matching every ending of every table word flagged ordinary words like
"required", "completed" and "self-employed" when checked against 180
published interviews. Use exact matches, as the linter does, plus the
tense-matched entries proposed in SuffolkLITLab/DAYamlChecker#95 until a
release includes them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.

1 participant