Skip to content

Preserve existing skills during workspace sync - #1747

Draft
keshav55 wants to merge 4 commits into
masterfrom
codex/skill-sync-preserve-20261105
Draft

keshav55 wants to merge 4 commits into
masterfrom
codex/skill-sync-preserve-20261105

Conversation

@keshav55

@keshav55 keshav55 commented Nov 5, 2026

Copy link
Copy Markdown
Contributor

Problem and change

atris init, update --yes, and sync --yes could overwrite customized project and global skill files with packaged copies. Preserve existing differing files and links, report preserved paths, and create missing packaged files exclusively. Refuse symlinked skill roots, skip linked skill subtrees, and remove the legacy writer that could follow a user-owned link. Clarify skill counts in update output.

Validation

  • 43 focused offline tests passed, including real init, update, sync, and dry-run commands in disposable projects and homes, existing empty/custom files and symlinks, and business-template coverage.
  • Independent review passed 25 focused tests on this exact head and found no new blocking issue.
  • git diff --check passed.

Tradeoffs and limits

  • Existing packaged copies do not automatically upgrade: there is no ownership baseline that proves an older file is unmodified. Users must compare and update existing copies intentionally.
  • Symlinked skill roots are refused; linked skill subtrees are skipped. There is no copy fallback when symlink creation fails.
  • Checks and writes are not fenced against concurrent path or ancestor swaps. Broader workspace-template sync is not transactional and can have made earlier writes before an error.
  • Offline fixtures do not establish live rollout behavior. This remains a draft for review; no production rollout has been performed.

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