Goal
Make pkg/client/v1 the complete and defensibly stable integration surface for the core AICR workflow.
An integrator must be able to complete:
snapshot → criteria → recipe → validate → bundle → verify
without importing another AICR pkg/* package.
v1 closure scope
| Issue |
Required outcome |
| #2120 |
Concurrent snapshot collection satisfies the facade's published isolation contract. |
| #2245 |
Bundle, validation, and snapshot configuration no longer require Config.Unwrap() or pkg/config. |
| #2437 |
The facade derives recipe criteria from a snapshot without exposing pkg/fingerprint or pkg/recipe. |
| #2028 |
A merge-blocking architecture test prevents CLI/server business-logic bypasses around the facade. |
| #2029 |
The integrator guide and compile-only example demonstrate the complete workflow using only pkg/client/v1. |
Acceptance criteria
Post-v1 follow-up
These open native children remain valuable but are not required by the v1 exit gate:
Native sub-issue inventory
The native graph contains 20 children: 11 closed and 9 open. Five open children are v1 blockers; four are explicitly post-v1.
Out of scope
- Making every CLI capability available through the SDK.
- Publishing trust-cache maintenance before its underlying operation supports reliable cancellation.
- General component upgrade-lifecycle safety.
- Tagging
v1.0.0; this epic is a prerequisite, not the release action.
Goal
Make
pkg/client/v1the complete and defensibly stable integration surface for the core AICR workflow.An integrator must be able to complete:
snapshot → criteria → recipe → validate → bundle → verifywithout importing another AICR
pkg/*package.v1 closure scope
Config.Unwrap()orpkg/config.pkg/fingerprintorpkg/recipe.pkg/client/v1.Acceptance criteria
pkg/client/v1, standard-library packages, and explicitly stable third-party types.Post-v1 follow-up
These open native children remain valuable but are not required by the v1 exit gate:
Native sub-issue inventory
The native graph contains 20 children: 11 closed and 9 open. Five open children are v1 blockers; four are explicitly post-v1.
Out of scope
v1.0.0; this epic is a prerequisite, not the release action.