openspec-sync-specs skill: containment check missing for create/update path, only present for delete
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 73/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- node.js, typescript
Línea de trabajo
Lee la skill openspec-sync-specs y su copia reflejada .opencode/skills/openspec-sync-specs/SKILL.md; después, comprueba cómo la skill de archivo invoca este flujo de trabajo. Actualiza las instrucciones de creación y actualización para verificar que el destino y todos sus directorios superiores se resuelvan dentro de la raíz real openspec/specs/ antes de escribir. El trabajo estará terminado cuando la skill aborte si hay directorios de capability enlazados simbólicamente o destinos spec.md fuera de esa raíz.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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
- Lenguaje dominante
- TypeScript
- Estrellas
- 73k
- Forks
- 5k
- Merge medio
- 2 d 12 h
- PR fusionados (30 d)
- 54
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de Fission-AI/OpenSpec
-
openspec-apply-change skill: when blocked, may select a ready artifact unrelated to missingArtifactsPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Fission-AI/OpenSpec#2165 ·
Los mantenedores suelen responder en 1 día
-
openspec-archive-change skill: ignores delta specs when artifact ID is not "specs"Posiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Fission-AI/OpenSpec#2163 ·
Los mantenedores suelen responder en 1 día
-
documentation needs-triage
Dificultad 1/5 Menos de una hora Aptitud para principiantes 83/100
Fission-AI/OpenSpec#2157 ·
Los mantenedores suelen responder en 1 día
-
documentation needs-triage
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
Fission-AI/OpenSpec#2143 ·
Los mantenedores suelen responder en 1 día
-
`completion install zsh` writes `~/.zshrc` when `$ZDOTDIR` is set, so zsh never loads the completionsPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Fission-AI/OpenSpec#2138 · 1 reacción ·
Los mantenedores suelen responder en 1 día
Todos los issues de Fission-AI/OpenSpec
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
lichess-org/lila#22324 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
[Feature Request] [Web] Expose kvCacheQuantizationBits in the onnxruntime-web WebGPU EP optionsAbiertoep:WebGPU platform:web quantization
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
microsoft/onnxruntime#33752 ·
Los mantenedores suelen responder en 2 días
-
[Skill Bug]: entra-agent-id: inaccurate blueprint permission inheritance and parent token sub claimAbiertobug entra-agent-id
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
microsoft/GitHub-Copilot-for-Azure#3467 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
fix(worker): keep normal prepare waiting states failure-freePosiblemente ocupada @LichKing-2234 la tomó hoy. Abiertoagent:codex priority:P1
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
AgoraIO-Extensions/agent-infra#3745 ·
Los mantenedores suelen responder en 1 día
-
The five-line work window can drop its oldest line: the per-line byte share ignores the JSON framingPosiblemente ocupada @Eapp1e la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
makecindy/cindy#7973 · 1 comentario ·
Los mantenedores suelen responder en 1 día