Intent: after a price cut, the agent's next message is the announcement, and it should be written for them the moment the price drops.
Done looks like:
[ ] When Edit facts (form, JSON API, MCP or terminal, through the one action in src/actions.ts) lowers the price, generate adds a price-improvement social post and email ("New price — 412 Alder Lane, now $849,000, was $899,000") in the listing's tone; a raise or no change adds nothing, and a later raise above the original removes them.
[ ] Each is Fair Housing checked, needs its own approval like any asset, counts toward "Ready to send", and shows its length against the network limit like the other posts.
[ ] Tests: lowering adds both assets with old and new price; raising does not; approval is required; MCP cannot approve them.
Files I expect: src/generate.ts, src/actions.ts, src/listing.ts, src/pages/listing.ts, tests beside each.
Risks: it adds asset kinds the same way #36 does, so it waits for #36 to land and follows its pattern. No contract cell changes.
Intent: after a price cut, the agent's next message is the announcement, and it should be written for them the moment the price drops.
Done looks like:
src/actions.ts) lowers the price,generateadds a price-improvement social post and email ("New price — 412 Alder Lane, now $849,000, was $899,000") in the listing's tone; a raise or no change adds nothing, and a later raise above the original removes them.Files I expect:
src/generate.ts,src/actions.ts,src/listing.ts,src/pages/listing.ts, tests beside each.Risks: it adds asset kinds the same way #36 does, so it waits for #36 to land and follows its pattern. No contract cell changes.
Fits: a builder's brief.