openspec-sync-specs skill: containment check missing for create/update path, only present for delete
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 73/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- node.js, typescript
Direzione di ricerca
Leggi la skill openspec-sync-specs e la sua copia speculare .opencode/skills/openspec-sync-specs/SKILL.md, poi verifica come la skill di archiviazione richiama questo workflow. Aggiorna le istruzioni di creazione e aggiornamento affinché, prima di scrivere, venga verificato che la destinazione e tutte le directory genitrici si risolvano all’interno della radice reale openspec/specs/. Il lavoro è completato quando la skill si interrompe se le directory capability sono collegate simbolicamente o le destinazioni spec.md si trovano al di fuori di tale radice.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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
- Lingua principale
- TypeScript
- Stelle
- 73k
- Fork
- 5k
- Merge medio
- 2g 12h
- PR unite (30g)
- 54
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Fission-AI/OpenSpec
-
archive and sync skills merge every `specs/**/*.md` as a delta spec, including files `validate` rejectsForse già presa @clay-good l’ha presa oggi. Apertabug needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
Fission-AI/OpenSpec#2173 ·
I maintainer di solito rispondono entro 1 giorno
-
openspec-apply-change skill: when blocked, may select a ready artifact unrelated to missingArtifactsForse già presa @clay-good l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
Fission-AI/OpenSpec#2165 ·
I maintainer di solito rispondono entro 1 giorno
-
openspec-archive-change skill: ignores delta specs when artifact ID is not "specs"Forse già presa @clay-good l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
Fission-AI/OpenSpec#2163 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
documentation needs-triage
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 83/100
Fission-AI/OpenSpec#2157 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
documentation needs-triage
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
Fission-AI/OpenSpec#2143 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di Fission-AI/OpenSpec
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
area:desktop area:ui bug platform:macos
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
anthropics/claude-code#106183 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
reproduced
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
anomalyco/opencode#60558 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno