name: estatewise-contracts description: Audit producer-consumer alignment in EstateWise when REST, tRPC, MCP, gRPC, A2A, or shared payloads may have changed. Use when one package's change could silently break another package, tool, or doc set.
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.