Okay Paper
Last verified against the code: 2026-10-21 (first commit)
A paper you read page by page, edit in place, and say "okay" to. The prototype lives here with Open Memory's paper as its first document; it is published as a private Claude artifact (ask the owner for the link).
- Pages, not a scroll. The paper is split at every
##heading; each is one sheet. Arrow keys, the pager or the contents list move between them. The page you were on is remembered on this device. - History on the right. Every save is a revision (who, when, what changed, how many pages). Click one to read it; "Restore this revision" makes it the current one again (as a new revision, so nothing is lost).
- Edit in place. "Edit this page" opens the page's Markdown on the sheet. Okay asks Claude to rewrite the page from your edit and update any other page that must change to agree, then saves one revision with a one-line note. Keep as written saves your words exactly.
- Together. Who is here now, which page they are on and whether they are editing (live presence); a Comment button on every page and on any selected text opens claude.ai's own comment thread there.
Files
| File | What |
|---|---|
template.html |
The page: styles, the reader, the editor, the history rail, presence, comments; a <!--PAPER--> slot |
build.py |
Drops a Markdown paper into the template: python3 okaypaper/build.py paper/OPEN-MEMORY.md okaypaper/index.html |
index.html |
The built page for Open Memory's paper, the one that is published |
How it is wired
The published page declares the claude.ai runtime capabilities db (the live paper at papers/openmemory and its
revisions at papers/openmemory/revisions/<id>), user (names and avatars), room (presence), sample (the
"Okay" rewrite, on the viewer's own Claude account, with their consent) and comments (composer only). Without
them, as a plain file, it is a reader with edits that live in that view only. Revision 1 was seeded from the paper
as published; every later revision is written by the page.
The "Okay" prompt sends the whole paper (about 27 KB) with the edited section marked, asks for only the sections
that change as JSON, keeps every ## heading line, and never accepts a section id the paper does not have.
Next
Its own repository and site (okaypaper), OkayLogin sign-in, the okay loader from okaydesign, any paper (not only Open Memory's), a diff view between two revisions, and section-level "okay" history.