Part of #919. Phase 2 of the public library boundary track. LP-010.
Prerequisite: #928 (LP-009).
Summary
Make breaking changes to pkg/* visible in review, and state in writing what consumers may rely on.
Problem
After #928 the public API owns its types, but nothing stops it from changing silently. Today a rename inside pkg/llm breaks every external consumer with no signal at PR time — the module is v0.35.0, so semver permits it, but a real consumer exists and "semver permits it" is not a workflow.
docs/public-agent-packages.md describes the packages and their boundaries but says nothing about stability: no deprecation policy, no statement of what v0 means here, no guidance on which packages are safe to build on.
examples/min-agent exercises the surface but is only an example — it is not a gate, and it uses a scripted client, so it would not catch a signature change in NewProvider.
Scope
Acceptance Criteria
Validation
Out of Scope
Part of #919. Phase 2 of the public library boundary track. LP-010.
Prerequisite: #928 (LP-009).
Summary
Make breaking changes to
pkg/*visible in review, and state in writing what consumers may rely on.Problem
After #928 the public API owns its types, but nothing stops it from changing silently. Today a rename inside
pkg/llmbreaks every external consumer with no signal at PR time — the module isv0.35.0, so semver permits it, but a real consumer exists and "semver permits it" is not a workflow.docs/public-agent-packages.mddescribes the packages and their boundaries but says nothing about stability: no deprecation policy, no statement of what v0 means here, no guidance on which packages are safe to build on.examples/min-agentexercises the surface but is only an example — it is not a gate, and it uses a scripted client, so it would not catch a signature change inNewProvider.Scope
pkg/*— generated exported-identifier listing, checked in, diffed in CI. A changed snapshot fails until the file is updated in the same PR, making the break explicit in review rather than blocking it.pr-diffjob alongside the existing preflight targets.docs/public-agent-packages.md: what v0 means, deprecation before removal, which packages are stable vs experimental, how breaking changes are announced.examples/beyond the scripted client so the documented "minimal agent shape" is compiled against the real provider constructor.Acceptance Criteria
pkg/*fails CI until the snapshot is updated.makeexposes a target to regenerate the snapshot locally.Validation
make testmake lint-diffmake ci-static-analysis-checkOut of Scope