v0.9.0
Added
-
refs tells you when a newer version is published.
refs syncandrefs doctorask npm at most
once a day and cache the answer;refs syncmentions a newer release in itswarnings, and
refs doctorreports it as acli-updatecheck.refs --versionis untouched — it stays exactly
one version line on stdout, because the skill's capability gate and any script parse it.Both switches live in
[updates]inconfig.tomland default to on:checkgoverns the registry
request everywhere,notifythe routine path only.notify = falsewithcheck = trueis
"don't interrupt me, but answer when I ask" —refs syncneither asks nor mentions,refs doctor
still does both.REFS_UPDATE_CHECKoverridescheck(0off,1on), and the check is off in
CI. The table is absent from a config that wants the defaults, and refs never writes one.Nothing about it is load-bearing: an unreachable registry, a malformed answer or an unwritable
cache all mean "we don't know" and are never reported as a fault. The registry host is hardcoded
rather than read from npm configuration, only a plainx.y.zis accepted from the response, and
the update command is printed for you to run — refs does not install itself.
Fixed
-
A ref can be recorded without a
tag_format. Finalizing an add used to reject a proposal whose
tag_format_candidatewasnull, which left one option for a repository that publishes no tags:
invent a convention. A real user hit this and was asked to confirmv{version}for two
repositories that have no tags at all — a claim nobody had verified, written intoconfig.toml
where later agents read it as fact. The candidate now survives finalize as an absent field.refs tagis the only command that reads it, and it exits3(validation) when there is none,
naming the ref — or the package, with the--packageform of the fix. The distinction from4
carries information:3means this ref cannot resolve any version,4means this particular
version was never tagged. The skill's add flow gained an explicit branch for thenullcase, so
an agent reports the absence instead of proposing something to fill the gap.A format already recorded can only be removed by editing
config.tomldirectly;refs editcan
set one but has no way to unset it.