Changelog
feat(contracts): M2 negotiation thread, dashboard polish, full-stack e2e
April 15, 2026Branch feat/m2-followup-ux-e2e-negotiationPR #2381 min readAI Generated
feat(contracts): M2 negotiation thread, dashboard polish, full-stack e2e
Automated summary for branch feat/m2-followup-ux-e2e-negotiation. This post is generated on push; commit it with your changes.
Commits
- 41586839 chore(webapp): sync PR blog post after gh pr create
- 255612a5 chore(webapp): sync PR blog post (hook follow-up)
- 0a514aec chore(webapp): sync PR blog post for m2-followup branch
- b75a4580 feat(contracts): negotiation thread, dashboard polish, full-stack e2e
Files changed
CHANGELOG.md | 1 +
.../unreleased/added-m2-h-negotiation-thread.md | 1 +
docs/roadmap.md | 4 +-
plans/m2-contract-review.md | 5 +
.../014_contract_negotiation_messages.sql | 20 +++
services/rust-api/src/api/v1/contracts.rs | 167 ++++++++++++++++++++
services/rust-api/src/repositories/mod.rs | 4 +-
services/rust-api/src/repositories/postgres.rs | 79 ++++++++++
.../manifest.json | 12 ++
.../versions/ai.md | 33 ++++
webapp/e2e/contracts-full-stack.spec.ts | 104 +++++++++++++
webapp/package.json | 1 +
.../contracts/contracts-dashboard-client.tsx | 169 ++++++++++++++++++++-
.../app/api/contracts/[id]/negotiation/route.ts | 57 +++++++
14 files changed, 649 insertions(+), 8 deletions(-)
How this works
This file is produced by webapp/tools/sync-pr-blog-post.ts. Add a versions/human.md file in the same folder to publish a human-written alternative; the site will show tabs for AI Draft and Human when both exist.