Repository navigation
SkillWeave v1.5.2
SkillWeave v1.5.2 — a substrate that survives upgrades, and a mirror that proves its destination
SkillWeave keeps two kinds of state that used to share a directory: what a team authors and
tunes, and what a run generates. This release separates them, so upgrading the package no
longer overwrites a tuned catalogue and generated state never ships and never tracks.
Alongside it, the mirror to the public GitHub remote proves its destination exists before it
pushes anything, instead of discovering the problem halfway through.
Highlights
- A tuned catalogue under
skillweave.config/survives package upgrades; generated output
under.skillweave/is git-excluded and stays out of the repository. - The mirror refuses an unproven destination, so a misconfigured remote is a failed gate
rather than a silent no-op. - A packaging-only version bump now touches two files instead of sixteen.
Added
- Three-tier substrate model — package defaults ship under
skillweave/assets/, durable
input lives underskillweave.config/, and generated output under.skillweave/, which is
git-excluded. - Generic substrate contract — every area declares
direction(input or output),
durability(authored or generated, withephemeralas a first-class value) and
disclosure(public or private). A backing-store seam resolves an area's store from that
declaration rather than from the presence of a.gitdirectory, so a durable area in a
non-git workspace syncs through the configured organisation planning repository. Where no
store is reachable, the area is reported at risk instead of silently accepted.
Changed
- One mirror workflow — the visibility gate, the release-tag version gate and the mirror
job are a single workflow ordered byneeds, with a destination guard that proves the
GitHub destination is reachable before any push rather than failing inside one. - Decoupled member pins — the bundle and the runtime carry the train version, while the
capabilities[]member pins and the thirteen skill capability files are informational and
may lag the bundle together. A bundle bump can be packaging alone, so a plain bump moves
onlypyproject.tomland the rootcapability.yamland leaves the pins where they are. A
pin never diverges from its own member file; that consistency is owned by
scripts/check-manifest.py, not by the release gate. - Onboarding teaches the substrate rule — it writes the anchored
/.skillweave/gitignore
exclusion, records the private planning-repository answer, and refuses to leave substrate
content tracked when the origin remote is public.
Fixed
- Hermetic test suite — tests that depended on untracked local state (sibling checkouts,
the git-excluded.skillweave/tree) now skip with an explicit reason when that state is
absent, so a fresh clone reproduces a green suite.
Upgrade
pip install --upgrade skillweave. Existing .skillweave/ trees keep working. To move a
tuned catalogue out of the generated tier, relocate the authored files to
skillweave.config/: the resolver reads that tier first and package defaults fill the gaps.
Full changelog: CHANGELOG.md · Diff: v1.5.0...v1.5.2