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
repo_id.CheckSupported (go/internal/bravo/repo_id/main.go) currently rejects
XDGSystem-location ids (//name). Dropping that reject to actually support
system-scope repos needs work in both madder and dodder — it is not a pin
bump. Split out of #274 (which is now just the safe EffectiveName delegation);
deferred per maintainer decision (system is the least-used scope).
Why it's blocked (case b)
Dodder deliberately routes cwd/system-location ids into madder's MakeDefaultAndInitialize via repo_id.EffectiveId (which preserves the
location type) — see command_components_dodder/env_repo.go:42-55. The comment
there is explicit: system is gated by CheckSupported "to keep the explicit 501
rather than silently resolving to the user tree if the gate is ever relaxed." So
a //name id reaching madder's MakeDefaultAndInitialize panics Err501NotImplemented for LocationTypeXDGSystem today.
Required work
madder: wire XDGSystem resolution into MakeDefaultAndInitialize
(go/internal/echo/env_dir/construction.go) so a system-location id resolves
to the system root instead of 501-ing. Add JSON content negotiation for read-only HTTP API clients #230 shipped //name for the
serve/discovery/system-temp paths but not this constructor. (madder owner has
offered to pick this up — the symmetric "resolve LocationTypeXDGSystem"
change.)
dodder: make the local working copy path scope-aware. MakeLocalWorkingCopy
(command_components_dodder/local_working_copy.go) uses env_dir.MakeDefault(EffectiveName), which drops the location — so even after
madder's fix, //name would mis-resolve to a user repo on the
show/query/edit path. It needs the same location-aware branch env_repo.go already has (cwd/system -> MakeDefaultAndInitialize(EffectiveId)).
Then drop the XDGSystem reject in repo_id.CheckSupported and offer //name
in -repo_id completion.
Dependencies
madder pin must include the XDGSystem MakeDefaultAndInitialize wiring (a tag
past go/v0.3.42).
Context
repo_id.CheckSupported(go/internal/bravo/repo_id/main.go) currently rejectsXDGSystem-location ids (
//name). Dropping that reject to actually supportsystem-scope repos needs work in both madder and dodder — it is not a pin
bump. Split out of #274 (which is now just the safe
EffectiveNamedelegation);deferred per maintainer decision (system is the least-used scope).
Why it's blocked (case b)
Dodder deliberately routes cwd/system-location ids into madder's
MakeDefaultAndInitializeviarepo_id.EffectiveId(which preserves thelocation type) — see
command_components_dodder/env_repo.go:42-55. The commentthere is explicit: system is gated by
CheckSupported"to keep the explicit 501rather than silently resolving to the user tree if the gate is ever relaxed." So
a
//nameid reaching madder'sMakeDefaultAndInitializepanicsErr501NotImplementedforLocationTypeXDGSystemtoday.Required work
MakeDefaultAndInitialize(
go/internal/echo/env_dir/construction.go) so a system-location id resolvesto the system root instead of 501-ing. Add JSON content negotiation for read-only HTTP API clients #230 shipped
//namefor theserve/discovery/system-temp paths but not this constructor. (madder owner has
offered to pick this up — the symmetric "resolve LocationTypeXDGSystem"
change.)
MakeLocalWorkingCopy(
command_components_dodder/local_working_copy.go) usesenv_dir.MakeDefault(EffectiveName), which drops the location — so even aftermadder's fix,
//namewould mis-resolve to a user repo on theshow/query/edit path. It needs the same location-aware branch
env_repo.goalready has (cwd/system ->MakeDefaultAndInitialize(EffectiveId)).repo_id.CheckSupportedand offer//namein
-repo_idcompletion.Dependencies
MakeDefaultAndInitializewiring (a tagpast go/v0.3.42).
:clown: via clown 0.3.12+5220e30 — amarbel-llc/clown@5220e30