Context
Career Copilot combines private context, URL fetches, report generation, and durable writes. The public README makes clear that tools should not trust owner or conversation identifiers supplied directly by a client payload.
Decision
Ingress establishes a trusted RequestContext on the server and passes that context into the agent runtime. Tooling reads owner, actor, conversation, and request identity from that server-created envelope instead of from caller-controlled fields.
Alternatives considered
- Let each tool validate raw caller metadata independently.
- Pass conversation and owner identifiers directly from the chat transport.
Both alternatives duplicate trust logic and make context confusion easier.
Consequences
The adapter layer takes on more responsibility up front, but every downstream tool gets a smaller and more defensible contract. That tradeoff keeps authorization and durable writes easier to reason about as the workflow grows.