@klhapp/skillmux 0.4.2 → 0.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,14 @@ All notable changes to this project are documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.4.3](https://github.com/klhq/skillmux/compare/v0.4.2...v0.4.3) (2026-07-23)
9
+
10
+
11
+ ### Fixed
12
+
13
+ * **release:** prevent slim from overwriting latest ([#53](https://github.com/klhq/skillmux/issues/53)) ([8b5da28](https://github.com/klhq/skillmux/commit/8b5da285b5cb2c9b3231e94ed1ec29331cf8cb9a))
14
+ * **release:** safe backfill and isolate publishing ([#51](https://github.com/klhq/skillmux/issues/51)) ([872333a](https://github.com/klhq/skillmux/commit/872333a70f32bf5be68cc3599c43bd4943a91051))
15
+
8
16
  ## [0.4.2](https://github.com/klhq/skillmux/compare/v0.4.1...v0.4.2) (2026-07-23)
9
17
 
10
18
 
package/docs/releasing.md CHANGED
@@ -1,9 +1,10 @@
1
1
  # Releasing
2
2
 
3
3
  Release Please creates releases after `main` is green. When its release PR is
4
- merged, it creates the matching version tag and directly calls the reusable
5
- release workflow. The pipeline does not rely on a second workflow being
6
- triggered by a tag created with `GITHUB_TOKEN`.
4
+ merged, the same workflow creates the matching version tag and runs the
5
+ publishing jobs directly. The pipeline does not rely on a second workflow being
6
+ triggered by a tag created with `GITHUB_TOKEN`, and production environment
7
+ secrets do not cross a reusable-workflow boundary.
7
8
 
8
9
  ## Prepare
9
10
 
@@ -14,19 +15,23 @@ triggered by a tag created with `GITHUB_TOKEN`.
14
15
  ## Publish automatically
15
16
 
16
17
  After the Release Please PR merges, the same workflow run creates the tag and
17
- GitHub Release, then calls the publishing workflow with the exact tag and commit
18
- SHA returned by Release Please. The package version, tag, and commit must all
19
- match before publishing begins.
18
+ GitHub Release, then publishes with the exact tag and commit SHA returned by
19
+ Release Please. The package version, tag, and commit must all match before
20
+ publishing begins.
20
21
 
21
- There is intentionally no tag-push or `workflow_dispatch` entry point. GitHub
22
- does not start a second workflow for a tag created with the default
23
- `GITHUB_TOKEN`; directly calling the publisher avoids that event-suppression
24
- edge case without adding a PAT or GitHub App token.
22
+ There is intentionally no tag-push entry point. GitHub does not start a second
23
+ workflow for a tag created with the default `GITHUB_TOKEN`; publishing in the
24
+ Release Please workflow avoids that event-suppression edge case without adding
25
+ a PAT or GitHub App token.
25
26
 
26
27
  ## Exceptional recovery
27
28
 
28
- Recover missed historical publications manually. Do not feed an old tag into
29
- the current automated publisher.
29
+ Use the manual `workflow_dispatch` entry point only to backfill an existing
30
+ Release Please tag. The workflow verifies that the tag is clean SemVer,
31
+ resolves to the checked-out commit, is reachable from `main`, and still matches
32
+ `package.json`. It also requires a matching existing GitHub Release. Manual
33
+ backfills never publish npm, so a container or binary recovery cannot
34
+ accidentally republish an existing npm version.
30
35
 
31
36
  The release workflow publishes:
32
37
 
@@ -40,6 +45,11 @@ The release workflow publishes:
40
45
  - Multi-architecture `linux/amd64` and `linux/arm64` images with SBOM and
41
46
  provenance
42
47
 
48
+ GHCR is the canonical container build. After both GHCR variants are published,
49
+ Docker Hub copies those exact multi-architecture images under its matching
50
+ tags. A Docker Hub authentication or availability failure therefore cannot
51
+ prevent GHCR from publishing.
52
+
43
53
  Each Docker tag is a multi-architecture manifest. Users run the same tag on
44
54
  AMD64 and ARM64; Docker automatically pulls the matching image.
45
55
 
@@ -55,8 +65,9 @@ Container images are published to:
55
65
  - `${DOCKERHUB_USERNAME}/skillmux` on Docker Hub
56
66
 
57
67
  The `production-release` GitHub environment provides the
58
- `DOCKERHUB_USERNAME` variable and `DOCKERHUB_TOKEN` secret. npm publishes with
59
- Trusted Publishing through the calling `release-please.yml` workflow, so no
68
+ `DOCKERHUB_USERNAME` variable and `DOCKERHUB_TOKEN` secret. The npm job also
69
+ uses this environment as its Trusted Publisher identity; configure npm with
70
+ workflow `release-please.yml` and environment `production-release`. No
60
71
  long-lived npm token is required. GitHub Packages uses the workflow's scoped
61
72
  `GITHUB_TOKEN`.
62
73
  Private repositories still publish BuildKit SBOM/provenance with container
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@klhapp/skillmux",
3
- "version": "0.4.2",
3
+ "version": "0.4.3",
4
4
  "description": "Local read-only MCP server routing natural-language task queries to skills in a SKILL.md vault, with zero-loss delivery",
5
5
  "type": "module",
6
6
  "private": false,