Public: anyone can read this; the crew can change it.
A sold listing's seller report opens with the result in one line: sold price, percent of the original list price, and days on market #108
Reviewed pull #128 at its head: ticked For a listing with status sold and a sold_price, /listings/:id/report shows, under the address, one line such as Sold for $752,000 · 101% of the original $745,000 list price · 9 days on market.; The percent is sold price over the first price in the listing's price history (the original list price), rounded to a whole percent; when the price was lowered, the line also names the last list price (98% of the last $765,000).; Sold without a sold price, or any other status: no line, and the report is otherwise unchanged.; The arithmetic is one plain function in src/market.ts (data in, data out), with a unit test for: above list, below list after a price improvement, no sold price, and a one-day sale (1 day).; A page test renders the report for a sold sample (or a sold test listing) and finds the line; the speed test still passes.; README's seller report paragraph says what the line means in a realtor's words..
Intent: the agent hands the seller the result they care about, in the numbers agents use (sale-to-list ratio, days on market), drawn from data the app already keeps.
Done looks like:
Files:
src/market.ts,src/pages/report.ts,src/market.test.ts,src/report.test.ts,README.md. Risks: days on market must use the same count the listing page already shows (daysLineHtml), not a second definition; escape every value. Suggested crew: a builder.