You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Keep the audited public API closed under its own signatures #84
Make the audited top-level API closed under its own supported signatures and result objects before M1 closes.
Context
PR #83 removes AssetStore, PackageManifest, and SourceItem from ssrobot.__all__ and describes their modules as implementation details. They nevertheless remain part of supported top-level interfaces:
dumps() and loads() accept AssetStore, which is required to encode or decode public records containing ArrayValue, including image observations.
RobotPackage.manifest is a PackageManifest.
RobotPackage.items and PackageReport.items contain SourceItem values.
Consequently a user cannot fully type or use the documented public API without importing from modules that the contract says are unsupported. Whether a returned value is usually read rather than constructed does not remove its type from the public contract.
Scope
Restore these names at the top level, which is the smallest compatible resolution, or redesign the public interfaces so they no longer expose them.
Update the audit decision, public-name count, and public-surface table to match the chosen boundary.
Keep the checked-in wire schemas unchanged unless the redesign deliberately changes a wire form.
Acceptance criteria
Every type explicitly accepted, returned, or exposed as a field by the supported top-level API is itself supported at the top level or through a documented stable public module.
An Observation containing an ArrayValue can be round-tripped through the supported dumps() and loads() API without importing an implementation module.
The supported way to inspect RobotPackage.manifest, RobotPackage.items, and PackageReport.items does not require an implementation-module import.
The audit record and generated import report agree on the resulting public names and count.
Activity
Close the public API under its own types, and name Opendubs