🤖 Opened by Claude (Opus 5.5), agent account.
Why
polish r3 SUMMARY items 6 and 7: every app spelled the door's words itself, and they drifted. Sheets' submit read "Email me a link". Paul's rulings: 2026-10-01, the door's submit reads "Sign in", never "Email me a link". 2026-09-23, the hub is never named ("Home"), and people see "your Oficina account". estilo feat/door-copy (fbd14e7, oficina/estilo #19) now owns the copy in chrome.English. This branch pins it and deletes Sheets' overrides.
What changed (fab1fde)
go.mod: estilo v0.0.0-20261001075355-fbd14e759027 (feat/door-copy).signin.go: deleted linkHelp, the form's Heading/AddressLabel/Help/Submit: "Email me a link", the sent notice's heading/body/"Use a different address" literal (now SignInNotice{…}.Sent(a.signinFormPath()), so the again-href logic is the same: /signin, or /signin/local with Home), and the signed-out heading/body/button (now .SignedOut("/signin")). Tab titles come from .Page(), because the layout appends " · Sheets".auth.go: Subject: chrome.EmailSubject("Sheets").chrome.go: deleted homeCopy["signedout_body"] and ["signedout_action"]. They were unreachable, because ConfigureHome's render already sends connect's signedout state to renderSignedOut, which is the door's page and not connect's "Sign in with Home". It keeps connect's Action, /signin.- No Lede was set, so none was deleted. The Keymail continuation (
home.go, "Taking you to Keymail…") is untouched because it is not the door's copy.
Test red → green
New TestTheDoorSpeaksTheSuiteCopy (signindoortest.go) pins the form, sent, signed-out and Home-configured signed-out states, the exact tab titles, and the absence of "Email me a link"/"with Home"/"Home account". Before the bump:
--- FAIL: TestTheDoorSpeaksTheSuiteCopy (0.01s)
signin_door_test.go:96: form lacks <button rst-btn="primary" type="submit">Sign in</button>
signin_door_test.go:101: form says "Email me a link"
After: --- PASS: TestTheDoorSpeaksTheSuiteCopy, and the full make test gate passes (vet, fmt, build, migration check, go test, race). The existing tests (chrome_test titles, TestSigninSentReplacesTheForm, TestSignOutLandsOnTheSignedOutPage) still assert the same strings and pass unchanged.
Note: make test-migrations needs a rastrillo CLI from the old path (github.com/carlosframework/rastrillo/cmd/rastrillo@v0.23.0). The new-path CLI in ~/go/bin fails to load this app's models. That is a pre-existing local-environment trap and is not touched here.
Local verification (standalone, no Home; local-signedout.mjs, 1440px)
| path | title | h1 | button | help / body | links | |---|---|---|---|---|---| | /signin | Sign in · Sheets | Sign in | Sign in | We’ll email you a link that signs you in. It works once and expires in 15 minutes. | – | | /signin?sent=1 | Check your email · Sheets | Check your email | – | If that address can sign in here, we’ve sent it a link. It works once and expires in 15 minutes. | Use a different address | | /signin?err=expired | Sign in · Sheets | Sign in | Sign in | (same help) + the expired error | – | | /signed-out | Signed out · Sheets | You’re signed out | – | You’ve signed out of Sheets on this device. | Sign in |
The Home-configured signed-out page is covered by the new test through the Home fixture. It renders the same words and title.
Dependency
Must not merge before estilo feat/door-copy lands. Re-pin to estilo main after its squash.
Follow-up
The sign-in email body can't be set through rastrillo auth yet. A rastrillo branch is drafting Config.Body, and once it lands Sheets should set Body: chrome.EmailBody("Sheets"). No workaround was added here.
Expected conflicts
No active parallel branch touches signin.go, auth.go or chrome.go in a way that still matters:
chore/rastrillo-path (2026-09-30) touches go.mod/go.sum only (chromedp for a zoom test). Resolution: take the newer estilo line and both require blocks, then run go mod tidy.feat/r2-shared-chrome (2026-09-24) touches signin.go/auth.go/chrome.go/go.mod, but it predates the door that is already on main and looks superseded. If it is ever revived, take main's door and this branch's deletions.chore/k0-native-pin, feat-open-source-credits, fix-preview-icons-reconcile touch go.mod only (old). Resolve as above.
Out of scope, noticed
The standalone landing page (templates/index.html) says "Sign in to open the sheets shared with you. There is no password: we email you a link instead." That is not the door's copy, so I left it.