Skip to content

Releases

Version 0.47.0

Added

  • A host keeps its sidecar current by itself. knowledge-sync.yaml, a new ktl-sidecar template, reads the skills pin and the newest release each week. When the pin is behind, it runs the host’s own knowledge-sync.sh in a read-only job and, in a separate job, opens one pull request from .github/PULL_REQUEST_TEMPLATE/knowledge-sync.md with the KNOWLEDGE_SYNC_TOKEN secret, or attaches the change to the run without it. The pull request stays one, refreshed to the newest release each week until it is merged. publish.yml asks the hosts named in KNOWLEDGE_SYNC_HOSTS to sync as soon as a release is tagged.
  • knowledge-sync.sh is the sync, as a sidecar script. It copies a release’s templates over a host’s copies, moves the pin, writes the changelog entry under ## [Unreleased] and ### Security, runs the sidecar’s checks, and takes the sync to a pull request with --commit, --push and --pr. Without --source it clones the tag.
  • templates/knowledge-sync.manifest lists what a sync keeps current. Each template, its copy and the rule for it, in one list that the sync script, the preflight and contract check 11 read. So a release is data to a host’s sync, and no code from it runs there.

Changed

  • scripts/sync-sidecar.sh runs each sibling’s own knowledge-sync.sh, or the tag’s in a sibling that has none. It takes --commit, --push and --pr, and --finish <tag> puts each sibling back on its default branch and removes a merged sync branch. The entry links the comparison between the two pins, so a sync that skipped releases points at all of them.

Fixed

  • knowledge-federate.py members verifies attestations under the librarian wrapper. The wrapper strips every token, so gh attestation verify failed; the script now takes the job’s read-only token as KNOWLEDGE_FEDERATE_TOKEN (AGENT_USE_JOB_TOKEN true, AGENT_API_KEY_ENV set to that name), hands it to gh alone, and says which variables to set when it has no credential.
  • The sync writes the changelog entry instead of printing it with a hint. The hint named ### Security with a sentence’s colon after it, and a heading typed that way once failed the lint.