openspec-sync-specs skill: containment check missing for create/update path, only present for delete
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 73/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- node.js, typescript
Hướng nghiên cứu
Đọc skill openspec-sync-specs và bản sao phản chiếu .opencode/skills/openspec-sync-specs/SKILL.md, sau đó kiểm tra cách skill lưu trữ gọi quy trình này. Cập nhật hướng dẫn tạo và cập nhật để xác minh trước khi ghi rằng đích đến và mọi thư mục cha đều được phân giải bên trong thư mục gốc openspec/specs/ thực tế. Hoàn tất khi skill dừng nếu các thư mục capability được liên kết bằng symbolic link hoặc các đích spec.md nằm ngoài thư mục gốc đó.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
What you were trying to do
Running the openspec-sync-specs skill to merge a delta spec into the main spec.
What happened
The skill instructs the agent to write to <planningHome.root>/openspec/specs/<capability-path>/spec.md but only requires a real-path containment check for the special deletion case. If a repository contains a symlink at the capability directory or spec.md pointing outside openspec/specs/, the agent follows it and modifies the external target. The mirrored .opencode/skills/openspec-sync-specs/SKILL.md has the same issue, and the archive skill invokes this workflow inline.
What you expected instead
Before any create or update (not just deletion), the skill should require that the destination and every parent directory resolve inside the real openspec/specs/ root. A symlinked spec.md or capability directory pointing outside openspec/specs/ should cause the skill to abort.
Minimal steps to reproduce
- In a repo, create
openspec/specs/my-cap/as a symlink to a directory outsideopenspec/specs/ - Run the
openspec-sync-specsskill for a change with a delta formy-cap - The skill follows the symlink and writes outside
openspec/specs/
OpenSpec version
1.15.0
Coding agent and model
OpenCode, Claude Sonnet 4.6
OS and Node version
macOS, Node 22
- Ngôn ngữ chính
- TypeScript
- Star
- 73k
- Fork
- 5k
- Merge trung bình
- 2 ngày 12 giờ
- Pull request đã merge (30 ngày)
- 54
Chuẩn bị môi trường
Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của Fission-AI/OpenSpec
-
openspec-apply-change skill: when blocked, may select a ready artifact unrelated to missingArtifactsCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Fission-AI/OpenSpec#2165 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
openspec-archive-change skill: ignores delta specs when artifact ID is not "specs"Có thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Fission-AI/OpenSpec#2163 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
documentation needs-triage
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 83/100
Fission-AI/OpenSpec#2157 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
documentation needs-triage
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
Fission-AI/OpenSpec#2143 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
`completion install zsh` writes `~/.zshrc` when `$ZDOTDIR` is set, so zsh never loads the completionsCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
Fission-AI/OpenSpec#2138 · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của Fission-AI/OpenSpec
Issue tương tự
-
b:minor bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
software-mansion/argent#1698 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
e2e-failure ready-to-code
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
redhat-developer/rhdh-plugin-export-overlays#4624 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
better-auth/better-auth#12132 · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
automation missing-model model-sync provider:tinfoil
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
anomalyco/models.dev#12053 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
o8 next debug build aborts on Glass to Dark appearance switch (nil identifier messaged before check)Đang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
hurttlocker/o8#5112 ·