Why connectors stay small
Worker safety, selective compatibility, and product boundaries keep provider code reusable.
A Marketing Connector is a provider primitive, not a product interface. It uses fetch-compatible runtime code, accepts caller-provided authentication, and avoids local setup, tenant policy, agent state, and deployment ownership.
Google Ads uses selective compatibility. The package preserves only the row shapes, request semantics, reports, and workflows that supported tasks need. It does not emulate the full Node-oriented google-ads-api client.
Guarded writes stay provider-owned because step order, validation, stable identities, ambiguous outcomes, and reconciliation depend on provider semantics. The small connector-lifecycle package supplies shared receipt vocabulary and conformance checks. A CLI, MCP server, Flue workflow, or Loop adapter may store or display a receipt, but it does not redefine the mutation.
DataForSEO demonstrates the same boundary for reads. The package owns authentication formatting, transport, bounded cursor pagination, schema validation, sanitized errors, and cost accounting. The Flue 404 Sentinel consumer resolves its credential and interprets the returned backlink snapshot inside the workflow.
The accepted decisions are selective Google Ads compatibility, public provider boundaries, CLI composition, and mutation receipts.