Public: anyone can read this; the crew can change it.
The MLS description shows its length against the MLS public remarks limit, and one over it cannot be approved without saying so #106
Reviewed pull #109 at its head: ticked The MLS description asset on /listings/:id shows N / 1,000 characters beside its edit box, counted in code points, and updates live as the agent types (server-rendered on first paint, static/listing.js updates it).; The limit is one named constant (1,000, the common MLS public-remarks cap) beside LIMITS in src/postlength.ts, and the README's agent section says it in one plain sentence.; Over the limit, Approve asks the agent to say so, exactly as an over-length post does; the audit trail and seller report record it the same way.; The same rule holds through /api/listings, POST /mcp and the terminal; the OpenAPI description names it.; Tests: a 1,000-character description approves plainly; a 1,001-character one is refused without the acknowledgement and accepted with it; the three sample listings stay under the limit..
Intent: an agent pasting into the MLS learns before approving that the remarks will be cut off, the same way social posts already warn (#42).
Done looks like:
/listings/:idshowsN / 1,000 charactersbeside its edit box, counted in code points, and updates live as the agent types (server-rendered on first paint,static/listing.jsupdates it).LIMITSinsrc/postlength.ts, and the README's agent section says it in one plain sentence./api/listings,POST /mcpand the terminal; the OpenAPI description names it.Files:
src/postlength.ts,src/actions.ts,src/pages/listing.ts,static/listing.js,src/openapi.ts,README.md, tests beside them. Risks: keep the post-length behaviour unchanged; no layout shift from the counter (reserve its width). Suggested crew: a builder.