Skip to content

SkillWeave v1.5.2

Choose a tag to compare

@typelicious typelicious released this 08 Sep 00:28
· 424 commits to main since this release

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 under skillweave.config/, and generated output under .skillweave/, which is
    git-excluded.
  • Generic substrate contract — every area declares direction (input or output),
    durability (authored or generated, with ephemeral as 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 .git directory, 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 by needs, 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
    only pyproject.toml and the root capability.yaml and 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