Skip to content

docs: rewrite the README around the schema you actually import - #30

Merged
abrichr merged 1 commit into
mainfrom
docs-readme-human-rewrite
Aug 28, 2026
Merged

docs: rewrite the README around the schema you actually import#30
abrichr merged 1 commit into
mainfrom
docs-readme-human-rewrite

Conversation

@abrichr

@abrichr abrichr commented Aug 28, 2026

Copy link
Copy Markdown
Member

Part of the README pass across the public repos
(openadapt-flow#423
has the diagnosis).

This one was closer to fine than most: the code samples were good and the
targeting section was genuinely useful. The problems were at the top and the
bottom.

The top. Thirty lines before the reader saw a schema: a status admonition,
a paragraph about what the product is, a substrate maturity table, and a
package table. That block is copied word for word into five other repositories.
Reading it a fifth time doesn't tell anyone anything, and it pushes the actual
subject of the package below the fold.

The bottom. About 45 lines of exact wire-contract language ("target
geometry never carries locators, accessible names, values, URLs, or
screenshots", the HMAC reference rule, the coalescing rule for multiple runtime
states in one decoded frame). Every word of it matters to whoever implements a
renderer. None of it belongs in a README. It's now docs/CONTRACTS.md and
nothing was cut.

The "Design principles" bullets became prose. Each one was a bolded phrase
followed by a sentence restating the bolded phrase, which is the most reliable
generated-text tell in the whole file.

Verified

openadapt-types==0.10.1 installed from PyPI into a clean venv. I ran the
quick-start sample and pasted its real to_text_tree() output, checked the
ActionTarget field names by constructing one, confirmed all six _compat
converters and ExecuteClient import, and counted the JSON schema files that
actually ship (19).

265 lines to 154. Zero em dashes.

Same structural rewrite as openadapt-flow. The old file spent its first 30
lines on a status admonition and a stack table copied verbatim into five other
repositories, then buried the code sample that shows what this package is.

- Open with what the schemas are for and who else in the stack reads them,
  then the install line, then the code.
- Move the overlay and business-decision wire-contract rules, about 45 lines of
  exact 'may not carry' language, into docs/CONTRACTS.md. Nothing deleted.
- Turn the Design principles bullets into prose. Every bullet was a bolded
  phrase followed by a restatement of itself.
- Verified against openadapt-types 0.10.1 from PyPI: to_text_tree() output,
  ActionTarget field names, the _compat converters, ExecuteClient, and the
  count of shipped JSON schema files.

265 lines to 154.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@abrichr
abrichr merged commit eef6eaa into main Aug 28, 2026
1 check passed
@abrichr
abrichr deleted the docs-readme-human-rewrite branch August 28, 2026 17:05
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