Skip to content

Word addin spike - #90

Merged
peopleworks merged 2 commits into
mainfrom
word-addin-spike
Sep 8, 2026
Merged

peopleworks merged 2 commits into
mainfrom
word-addin-spike

Conversation

@peopleworks

Copy link
Copy Markdown
Owner

What this changes

Why

Checklist

  • dotnet test passes, with no new build warnings
  • One idea per PR

If you touched the rule packs (rules.en.json / rules.es.json):

  • The rule carries a suggestion — what the writer should do instead
  • There's a test in tests/SignsOfAI.Core.Tests covering it
  • CleanHuman in ScoringTests still scores exactly 0 (the new rule doesn't fire on ordinary prose)
  • Any regex is bounded — no unbounded .*; this runs on every keystroke in the browser
  • Spanish rules are derived from Spanish AI output, not translated from the English pack

If you touched the articles in Docs/Blog:

  • Re-ran the CLI and updated the scores the articles quote about themselves

peopleworks and others added 2 commits September 7, 2026 19:52
It works, so it should be findable by somebody who is not reading pull requests.

Both sections lead with the argument rather than the feature. A task pane is a
browser, so the engine runs on the machine and the document is never uploaded —
in the application where the document already lives. Every other add-in of this
kind posts your text to an API because their analysis is a server; ours is not,
so there is nothing to post it to. And the manifest asks for ReadDocument rather
than ReadWriteDocument, which means Word enforces "reads only" instead of anyone
being asked to trust a sentence on a website.

The README section shows what it does on a real document, and the example is the
357-word one from the first working sideload: a score, no verdict, the reason
printed, and six no-break spaces reported underneath. Both halves are the point.
It refused to answer at that length because the corpus has no text shorter than
649 words, and it still reported the characters, because the scan is a fact about
the file and carries no threshold.

Also says plainly that PowerPoint is a different product rather than a second
Host entry: a deck rarely reaches 649 words, so the same add-in there would
mostly withhold the verdict — correctly, and to little use.

The site section goes on /download, after the desktop app rather than beside it:
that page is already "run it on your own machine", and this is the other way to
do that. New `file-text` glyph in Icon.razor, since the house rule is a drawn
line-icon and never an emoji.

432 tests.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015PEbbiYSNPw7jE3LrPNhyF
Pedro's screenshot, because the address bar is in it: word.cloud.microsoft, a
real document, and the pane answering beside it. That settles in one image what
three paragraphs were arguing.

His OneDrive docId and driveId are redacted and the browser's tab strip is
cropped. The domain stays, because the domain is the point.

The prose around it went through our own linter, which is the house rule for
anything published, and it charged the section with em-dash overuse: 10 in 550
words, 1.8 per 100, Medium. Fair, and worth acting on the day after shipping the
fix that stopped that rule counting markup — these were real dashes.

Four changed because they read better, not to move a number: one introducing a
list became a colon, one long apposition became a second sentence, a doubled
parenthetical became parentheses, and one sitting in front of "and" became a
comma. The five left are doing work — a heading's subtitle, a label, a figure's
apposition, one genuine parenthetical pair. Section down to 9/100 with the
em-dash finding gone; it was never the target, and if a rewrite had read worse
it would have stayed.

432 tests.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015PEbbiYSNPw7jE3LrPNhyF
@peopleworks
peopleworks merged commit 4ad8127 into main Sep 8, 2026
4 checks passed
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