Public: anyone can read this; the crew can change it.
One link for the agent's bio and email signature: a public page listing every home the agent has for sale, in their brand #139
Check · Review · Land · Live — Its check is red.
This adds a public agent page at `/agents/:slug` that lists every Active and Coming soon home the agent has for sale. I ran only five test files, not the full suite, and all 55 tests in them pass. Those were the new agent-page tests plus the hostile, a11y, speed and more-homes suites. The type check could not run, because the repo has no `tsconfig.json` and `tsc` just printed its help. `scripts/ga…
11 files · +307 −27
stopped serving, but the check failed deploy 12379f1
Check faileddeploy 12379f1
Website spec: 3 findings, 4 the edge owns (report only)
- / no <link rel="canonical"> — canonical
- / missing og:image — open-graph
- / a 13800-byte body was sent without br or gzip though Accept-Encoding: br, gzip — https://specification.website/ (the edge owns this)
- / http://127.0.0.1:33057/tokens.css?v=6bbacb4a: a 2873-byte body was sent without br or gzip though Accept-Encoding: br, gzip — https://specification.website/ (the edge owns this)
- / http://127.0.0.1:33057/static/app.css?v=882a108b: a 31134-byte body was sent without br or gzip though Accept-Encoding: br, gzip — https://specification.website/ (the edge owns this)
- / no Cross-Origin-Opener-Policy — coop (the edge owns this)
- / no ETag on the HTML — caching
Look
This adds a public agent page at /agents/:slug that lists every Active and Coming soon home the agent has for sale. I ran only five test files, not the full suite, and all 55 tests in them pass. Those were the new agent-page tests plus the hostile, a11y, speed and more-homes suites. The type check could not run, because the repo has no tsconfig.json and tsc just printed its help. scripts/gate.ts doesn't exist in this repo.
- The page: each home shows its hero photo with alt text, address, price, beds/baths and a link to
/homes/:id. The header has the agent's name, brokerage, license, phone, email and headshot, in the agent's palette. There is no Listing Launch header or footer. It carries link-preview meta, like the property page. - Which homes appear: only homes that are Active or Coming soon and have an approved MLS description. Under contract, Sold, Withdrawn and Expired listings, and homes with no approved description, are left off. The page shows no description text, only facts and the hero photo.
- How an agent is identified: the slug is the agent's name plus eight hex digits of a SHA-256 digest of the account id, name and license. It is stable, can't be guessed from a listing id, and never shows the account id. An unknown or malformed slug gets a 404, and another agent's homes never appear.
- Where it's linked: each listing page has a "Your page of homes" row with a Copy button, and the property page's "More homes from" section links to "See all homes from …". The copy-button announcement now reads "Copied the link", because the button is shared with the property link.
- Shared query: I moved the "which homes are public" query out of
src/morehomes.tsso the agent page and the "more homes" section use the same one. - Sample data: Morgan Reyes already has two public sample homes, Alder Lane and the second Portland home. I added a README step that says to open the Alder Lane listing and follow "Your page of homes".
- Tests: the new
src/agenthomes.test.tscovers listing contents, brand, slug privacy, 404s, the links and the sample agent's page. The hostile-listing and a11y suites now include this page.
I didn't change contract.json, and no permission cell is loosened. The page only shows what the property page already shows publicly.
To try it, open /listings/1 and follow "Your page of homes" to the sample agent's page.
🤖 Generated with Claude Code
The README was the one real failure, and I've fixed it and pushed. The tablet failures didn't reproduce here, so I don't know whether the next deploy will pass them.
- README (fixed): the "Try it in five minutes" section may not contain the word "header", and my new paragraph said "no tool header or footer". I reworded it to "no tool bar or footer".
src/walkthrough.test.ts, which holds that rule, now passes. - Tablet tests (not reproduced): "a post adds a visitor…" and "a bad email shows in place…" passed in every run here. "the screen answers fast" failed once in a full local run with 2 failures (the other was an install test the sandbox can't run) and passed in three repeat runs. I don't know why, and I changed nothing for them. That 50 ms check looks like a timing flake under load, but I haven't confirmed it. Nothing I changed touches the tablet screen.
The bun test run before this fix hit the README failure plus those two sandbox-only failures. I didn't run the full suite after the fix. After it, src/tablet.test.ts, src/walkthrough.test.ts and src/agenthomes.test.ts pass together.
The two remaining failures are in src/tablet.test.ts, which my change doesn't touch, and I couldn't reproduce them, so I changed nothing and pushed nothing. I don't know why they fail in the deploy.
The two failing tests are "a bad email shows in place and keeps the name; no open house still signs in" and "the screen answers fast". On the previous deploy, a third tablet test, "a post adds a visitor…", also failed. The set changes between deploys, which points to flakiness.
- What I tried: I ran
src/tablet.test.tsalone, ran it 12 times in parallel to put the machine under load, and ran it withFORGE_APP_URLandFORGE_APP_DATAset. I also ran the fullbun testtwice. It passed every time, apart from the install-check test the sandbox can't run. - Why I think my change isn't the cause: the tablet pages and code don't use
src/agenthomes.ts, the agent-page route or the new "Your page of homes" row. I also found no rate limit, listing cap or shared state in the code those tests exercise. - What I can't see: the deploy log shows only the failing test names, not the assertion or error. Without it I'd be guessing at a fix.
The README failure from the earlier deploy is fixed and in the pushed branch (12379f1).
If you can send the assertion message for those two tests, I'll fix them. A person could also re-run the check on 12379f1 to see whether they fail again. If they fail on main's own check too, they are an existing flake, and the 50 ms bound in "the screen answers fast" is the likeliest cause.
This adds a public agent page at
/agents/:slugthat lists every Active and Coming soon home the agent has for sale. I ran only five test files, not the full suite, and all 55 tests in them pass. Those were the new agent-page tests plus the hostile, a11y, speed and more-homes suites. The type check could not run, because the repo has notsconfig.jsonandtscjust printed its help.scripts/gate.tsdoesn't exist in this repo./homes/:id. The header has the agent's name, brokerage, license, phone, email and headshot, in the agent's palette. There is no Listing Launch header or footer. It carries link-preview meta, like the property page.src/morehomes.tsso the agent page and the "more homes" section use the same one.src/agenthomes.test.tscovers listing contents, brand, slug privacy, 404s, the links and the sample agent's page. The hostile-listing and a11y suites now include this page.I didn't change
contract.json, and no permission cell is loosened. The page only shows what the property page already shows publicly.To try it, open
/listings/1and follow "Your page of homes" to the sample agent's page.🤖 Generated with Claude Code
Closes #137