updating-serviceslisted
Install: claude install-skill yehsuf/myelin
# updating-services — bump a managed component version
Myelin provisions external tools as **immutable pinned components** defined in
`src/update/component-manifest.mjs`. Updating one is never "just change a number":
the pin format, the paired git-ref, checksums, and the assertion tests all move
together, and every bump is validated on all 3 platforms before it ships.
## When to use
- Bumping any component in `component-manifest.mjs` to a new release.
- Publishing a new **headroom-lite** release (our own repo) and wiring myelin to it.
- `myelin update`/`install` errors: `version must be an exact pinned version`,
`ref must be a valid git ref pin`, `require verified checksum`, or a component
installs the wrong version.
## The manifest is the single source of truth
`src/update/component-manifest.mjs` → `RELEASED_COMPONENTS`. Each entry has a
`kind`; the validator (`validateComponentManifest`) enforces different rules per kind.
**Get the pin shape right or the manifest fails to load at all.**
| kind | Fields to bump | Pin rules (enforced by validator) |
|------|----------------|-----------------------------------|
| `npm-git` | `version` + `ref` | `version` = full semver (prerelease `-N` OK); `ref` must equal `` `v${version}` `` |
| `github-binary` | `version` + `ref` (+ `checksums`) | `version` = full semver; `ref` = `` `v${version}` ``; if `requireVerifiedChecksum`, regenerate every SHA256 |
| `npm` | `version` | `version` = full semver (no ref) |
| `uv-venv` | `versio