Skip to content

feat(github): add multi-skill collection preview/apply - #57

Merged
santosli merged 5 commits into
mainfrom
codex/github-collection-install
Aug 12, 2026
Merged

feat(github): add multi-skill collection preview/apply#57
santosli merged 5 commits into
mainfrom
codex/github-collection-install

Conversation

@santosli

@santosli santosli commented Aug 12, 2026

Copy link
Copy Markdown
Owner

Summary

Implements Git-backed Skill Collections Phase C for v0.9.0 as a Draft/unreleased change set. Phase A+B remain shipped in v0.8.0; Phase D collection-level update/rollback remains planned.

  • Adds Rust-owned GitHub repository/tree/ref collection preview and selected-child apply with one bounded fetch per operation.
  • Reuses the schema-v9 collection/source/member provenance and stable collection identity from source plus explicit ref; preview identity binds resolved SHA, tree, children, and selection state.
  • Adds structured Tauri/CLI outcomes for collection vs single-skill URLs and explicit-ref-required repository URLs; React does not route on human-readable errors.
  • Rejects nested/overlapping skill roots, gitlinks, symlinks, unsafe paths/config/hooks/filters, stale trees, duplicate/conflicting children, and unsafe managed state before writes.
  • Adds collection-level audited apply/rollback receipts, generation-gated close/reopen behavior, and desktop collection review UI.
  • Keeps child deployment, Calls, and History independent; collection update/rollback remains Phase D.
  • Updates public docs and keeps feat: Git-backed Skill Collections for v0.9.0 #46 open with Phase C in progress and Phase D planned.

Latest blocker follow-up

  • Rollback receipts now bind each operation-owned managed target to no-follow filesystem kind/device/inode plus a bounded snapshot. Remote receipts also bind the current symlink, versions directory, and remote root. Replacements are preserved and reported as partial recovery rather than deleted.
  • Both local and GitHub apply paths preflight the persisted collection reviewed SHA before operation/import/layout writes; the transactional persist_collection SHA check remains as defense in depth.
  • Added regressions for same-content identity replacement during rollback and for a new child at a later remote SHA being rejected before any child/index/operation write.

Verification

  • cargo fmt --check: passed.
  • cargo clippy --workspace --all-targets --all-features --locked -- -D warnings: passed.
  • cargo test --offline: CLI 31, core 354, desktop Rust 10, git 48, github 10; all passed.
  • npm test: 275 passed; desktop build passed; npm audit --audit-level=high found 0 vulnerabilities.
  • node site/build.mjs, node site/validate.mjs, and git diff --check: passed.
  • cargo audit is externally blocked by the fetched RustSec database reporting duplicate advisory ID RUSTSEC-2026-0244; no dependency finding was reported.
  • Browser public-preview Import Review remains checked at 1000x760 with no horizontal overflow; the latest commit changes core rollback/preflight and docs, not desktop layout.

Refs #46

@santosli
santosli marked this pull request as ready for review August 12, 2026 16:29
@santosli
santosli merged commit 5042ee7 into main Aug 12, 2026
2 checks passed
@santosli
santosli deleted the codex/github-collection-install branch August 12, 2026 16:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant