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
Implement the bundle-scope enforcement rules from the reconciliation settled 2026-07-06 (traverse-framework/registrydocs/decision-log.md entry 20; governing spec produced under #548):
Once registry sync (Implement traverse-cli registry sync #542) exists, bundle register with scope: public is rejected with an actionable error: the public tier of local state is populated only by sync from traverse-framework/registry; to test locally, register the bundle as private (the overlay already wins lookup via PreferPrivate); to actually publish, use capability publish (Implement traverse-cli capability publish #543).
A scope: private registration that shadows a synced public identity (same id + version already present in the public tier) succeeds with a warning (cargo [patch]-style) — shadowing is the point of an overlay, but it should be visible.
Out of scope here: the publish-refusal latch for private bundles (capability publish refusing private-bundle content) — that belongs to #543's spec/implementation, per #548.
bundle register with scope: public fails with a stable error naming the two legitimate paths (private registration for local testing; capability publish for publication)
Private registration shadowing a synced public identity emits a warning and succeeds; lookup still prefers the private record (PreferPrivate unchanged)
Summary
Implement the bundle-scope enforcement rules from the reconciliation settled 2026-07-06 (
traverse-framework/registrydocs/decision-log.mdentry 20; governing spec produced under #548):registry sync(Implement traverse-cli registry sync #542) exists,bundle registerwithscope: publicis rejected with an actionable error: the public tier of local state is populated only by sync fromtraverse-framework/registry; to test locally, register the bundle asprivate(the overlay already wins lookup viaPreferPrivate); to actually publish, usecapability publish(Implement traverse-cli capability publish #543).scope: privateregistration that shadows a synced public identity (same id + version already present in the public tier) succeeds with a warning (cargo[patch]-style) — shadowing is the point of an overlay, but it should be visible.Out of scope here: the publish-refusal latch for private bundles (
capability publishrefusing private-bundle content) — that belongs to #543's spec/implementation, per #548.Governing Spec
Depends on
Definition of Done
bundle registerwithscope: publicfails with a stable error naming the two legitimate paths (private registration for local testing;capability publishfor publication)PreferPrivateunchanged)Test plan
PreferPrivate/PublicOnlylookup-order tests still pass