Problem
Mounted global sources have no lifecycle command — there's no supported way to fetch or refresh them, and no lockfile pins what was fetched. (Health reporting already exists in status/doctor; only fetch/refresh is missing.) The source of a "pull" (git, URL, path) is not yet defined.
Expected result
An archcore globals command group starting with globals pull that refreshes declared sources into their mount points and records a lockfile, while respecting the read-only-everywhere invariant.
Impact
Completes the globals lifecycle so shared/org-wide context can be updated in a controlled, reproducible way.
Scope
Files: cmd/globals.go (new) + tests, registered in cmd/root.go
Acceptance: archcore globals pull refreshes mounted sources and records a lockfile without violating read-only rules.
Status: needs design on the command surface and the pull source model.
Problem
Mounted global sources have no lifecycle command — there's no supported way to fetch or refresh them, and no lockfile pins what was fetched. (Health reporting already exists in
status/doctor; only fetch/refresh is missing.) The source of a "pull" (git, URL, path) is not yet defined.Expected result
An
archcore globalscommand group starting withglobals pullthat refreshes declared sources into their mount points and records a lockfile, while respecting the read-only-everywhere invariant.Impact
Completes the globals lifecycle so shared/org-wide context can be updated in a controlled, reproducible way.
Scope
globalscommand surface and the pull source model (design note).globals pullto refresh declared sources.Files:
cmd/globals.go(new) + tests, registered incmd/root.goAcceptance:
archcore globals pullrefreshes mounted sources and records a lockfile without violating read-only rules.