EstateWise Contracts
Use this skill whenever a change could affect another package or service, even if the code edit is small.
Contract Sources Of Truth
- REST backend contract:
backend/src/routes/,backend/src/controllers/, swagger annotations,backend/README.md - Frontend REST consumption:
frontend/lib/api.tsplus directfetch(...)usage infrontend/pages/ - Frontend local tRPC contract:
frontend/server/api/routers/,frontend/pages/api/trpc/[trpc].ts,frontend/lib/trpc.tsx - MCP contract:
mcp/src/tools/*.ts,mcp/src/server.ts,mcp/src/client.ts,mcp/README.md - Agentic AI HTTP/A2A contract:
agentic-ai/src/http/server.ts,agentic-ai/src/a2a/,agentic-ai/README.md - gRPC contract:
grpc/proto/market_pulse.proto,grpc/src/services/,grpc/README.md
Producer To Consumer Matrix
Backend REST -> Frontend + MCP
If a backend endpoint, query param, auth rule, or payload changes, inspect:
frontend/lib/api.ts- direct frontend fetch callers under
frontend/pages/ - MCP tools in
mcp/src/tools/ - Swagger and README docs
Frontend local tRPC -> Frontend pages
If a local tRPC router changes, inspect:
frontend/server/api/routers/frontend/lib/trpc.tsx- consuming pages/components
MCP tools -> Agentic AI + docs
If an MCP tool name, schema, or output changes, inspect:
mcp/src/client.tsagentic-ai/src/lang/tools.ts- orchestrator/runtime call sites
mcp/README.md
Agentic A2A/HTTP -> MCP A2A bridge
If agentic-ai server endpoints or task semantics change, inspect:
agentic-ai/src/http/server.tsagentic-ai/src/a2a/mcp/src/tools/a2a.tsagentic-ai/README.mdmcp/README.md
gRPC proto -> Service + docs
If the proto changes, inspect:
grpc/src/services/grpc/src/server.ts- examples/docs/tests
Search Patterns
Use targeted searches like:
rg -n "estatewise-backend\\.vercel\\.app|API_BASE_URL" frontendrg -n "/api/|fetch\\(" frontend/pages frontend/librg -n "name:\\s*\"<tool>\"|callTool\\(|client:call" mcp agentic-airg -n "/run|/run/stream|a2a|agent-card|tasks\\." agentic-ai mcprg -n "market_pulse|MarketPulseService" grpc
Validation Expectations
REST contract change:
cd backend && npm run build && npm run testcd frontend && npm run build && npm run testwhen frontend callers changedcd mcp && npm run build && npm run client:call -- <tool> '<json>'when MCP wrappers changed
tRPC contract change:
cd frontend && npm run build && npm run test
MCP contract change:
cd mcp && npm run buildcd mcp && npm run client:call -- <tool> '<json>'cd agentic-ai && npm run buildwhen consumed there
A2A/HTTP contract change:
cd agentic-ai && npm run build- validate a realistic HTTP or CLI flow if possible
- validate MCP
a2a.*bridge when relevant
gRPC contract change:
cd grpc && npm run build && npm run test && npm run proto:check
Required Closeout
State:
- What contract moved.
- Which producers and consumers were updated.
- Which validations proved alignment.
- Which downstream consumers were not validated and why.