github l-gevity/l-gevity-skills v3.4.0

latest releases: v3.3.0, v3.2.0, v3.1.0...
5 hours ago

Artifact ownership, dependency lifecycle, observability design

Three new skills take the library from 20 to 23. Two of them close a gap the library's own waste scan had been pointing at: every skill up to now owned a decay axis that a change triggers, and nothing owned the two that decay with time, while the code stands still.

Skills

  • zero-copy-requirements decides where a fact belongs, so that no artifact exists whose content is fully reconstructable from another artifact already in the system. Four authorities carry the system — code and its tests, version-control history, the issue tracker, the requirement register — and everything else is a generated report, one of three bounded exceptions, or waste. Its Sweep mode finds the redundant documents in a tree rather than waiting to be handed one; a DUPLICATE verdict must name the artifact that already carries each claim, because redundant and unowned look identical from the outside and confusing them turns a documentation cleanup into data loss.
  • dependency-lifecycle decides what to do about a dependency after adoption. bring-down chooses whether to depend on something external at all, defect-shift-left places the advisory and license scans, and CI/CD decides whether a finding blocks — none of them answers what to do when the scan fires. The skill grades reachability first, then returns one of upgrade, pin, patch, isolate, replace, vendor, accept, or remove, each carrying a guard that ends it. An acceptance without an owner and an expiry is an undecided finding, not a decision. Four of its five triggers fire with no commit to attach them to.
  • observability-design decides what a change must emit to be detectable in production. It owns ranks 10 and 11 of the shift-left ladder — production runtime and post-incident — the most expensive ranks and the only ones that had no design-side owner. It consumes the residual risk left by test-strategy rather than enumerating failure modes again, gives each one an actor and a first action, and reports UNOBSERVED when no affordable signal exists instead of closing the row.

Routing

  • alchemy gains aliases and companion-routing bullets for all three. They are single-pass task-matched companions, not gates: a SKIP dispatch never suppresses them.
  • Both dispatch tables sent a "routine dependency bump" to SKIP with no rule separating routine from contract-changing, so a major bump that moved a default, raised a floor, or changed a serialized shape got no gate at all. Both rows now read "contract-preserving dependency bump", defined in section 5 of dependency-lifecycle.
  • zero-copy-requirements renamed its four artifact kinds from "primitives" to "authorities", because alchemy already owns that word for the four change primitives and two different "four primitives" is exactly the ambiguity the skill exists to remove.

Library enforcement

  • Behavior scenarios: .scenarios/ holds 7 scenarios and 31 expectations, recorded through the claude CLI in a throwaway project that holds only this library. CI never calls a model — it fails when a transcript is missing or when the request, the fixture, CLAUDE.md, or a named skill changed after the transcript was recorded.
  • The mutation test is up to 45 deliberate violations, all caught.
  • Size budgets: CLAUDE.md 1200 → 1300, the always-on description listing 13500 → 15000, dependency-lifecycle at 2000, observability-design at 1800. alchemy is unchanged at 4600.

Upgrading

The installer defaults to main, so curl … | bash already carries this. Pin this revision with L_GEVITY_SKILLS_REF=v3.4.0.

Release commit 38166b0, covering 1afe8f3, ab61fa7, 2a77ea5, and 877426d. Tags v3.0.0 through v3.3.0 were published without release notes; their commit messages carry the detail.

Don't miss a new l-gevity-skills release

NewReleases is sending notifications on new releases.