Files
msd-core/.changeset/feat-1463-capability-outdated.md

1.4 KiB

type, pr
type pr
Added 1488

Added gsd capability outdated — a new subcommand that light-peeks each installed overlay capability's recorded source for the latest version that re-resolving that source would install and reports which have an update available (ADR-1244 D6 per-source matrix: git ls-remote --tags, npm view … version, local re-read; tarball → manual, registry → unknown). A capability is reported outdated only if re-resolving its recorded source would fetch a newer version: an npm range (@^1) resolves to the highest version matching the range (read from each npm view line's canonical version field, so a version-like substring in the package name never poisons the result), and a source pinned to an immutable ref (git #sha:/#tag:) or an exact npm version is reported pinned — never outdated, since update will not move it. A bare git ref (#<ref>) is classified at the remote with a bounded git ls-remote: a ref that resolves to a tag is pinned, while a mutable branch ref is never pinned (it degrades to unknown, since the installed commit is not recorded to compare against). Each capability is classified outdated / current / pinned / manual / unknown; subprocesses are bounded (git ≤30s, npm ≤60s) and a failing or unsupported peek degrades that row to unknown instead of crashing the command. --json emits the records array; the default prints a table. (#1463)