Custom skills are not listed in turn input while host skills are in World State
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
- 70/100
Línea de trabajo
El omitido ocurre en la función contribute de codex-rs/ext/skills/src/extension.rs, donde la guarda include_instructions && !host_catalog_in_world_state también suprime el listado en la entrada del turno para las fuentes personalizadas. Empieza leyendo esa guarda y cómo las entradas del catálogo llevan authority.kind; luego revisa las pruebas existentes de la extensión skills y las pruebas de skills_extension del núcleo. Se considera terminado cuando las skills personalizadas aparecen en la entrada del turno mientras las skills del host permanecen solo en World State, y el comportamiento sin fuente personalizada no cambia.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What issue are you seeing?
While the host skill catalog is listed through World State, the turn-input skills listing is skipped entirely, including skills from custom sources (SkillSourceKind::Custom). Custom skills then appear only in the initial context, and a custom catalog that changes during a thread doesn't reach the model until the initial context is rebuilt, e.g. after compaction. Explicit $skill mentions still resolve.
What steps can reproduce the bug?
- Install the skills extension with a host provider and a custom source:
SkillProviders::new().with_host_provider(host).with_provider(SkillProviderSource::new(SkillSourceKind::Custom("embedder".into()), "embedder", custom)) - Run a turn with a
HostSkillsSnapshot, so the host catalog is rendered into thehost_skillsWorld State section. - The turn input contains no skills listing.
What is the expected behavior?
Host skills are listed only by World State. Custom skills are still listed in turn input, as they are when host skills aren't in World State.
Additional information
Seen on main at 748ab55ca7, using codex-rs as an embedded library.
The cause is this guard in contribute in codex-rs/ext/skills/src/extension.rs, added in #33425 so host skills aren't listed twice:
if config.include_instructions && !host_catalog_in_world_state {
World State doesn't list custom skills, so they should not be skipped with the host ones. A possible fix keeps the existing filter and still renders turn input while custom entries remain:
let lists_turn_skills = !host_catalog_in_world_state
|| catalog
.entries
.iter()
.any(|entry| matches!(entry.authority.kind, SkillSourceKind::Custom(_)));
if config.include_instructions && lists_turn_skills {
Without a custom source, nothing changes.
Related: #60288, which proposes listing custom catalogs through World State and would also fix this.
A fix is available in https://github.com/fpedd/codex/pull/1, which narrows the guard as shown above and leaves behavior without a custom source unchanged. It includes a test that fails without the change, and the existing skills extension and core skills_extension tests give the same results as on main.
- Lenguaje dominante
- Rust
- Estrellas
- 133k
- Forks
- 21.1k
- Merge medio
- 1 min
- PR fusionados (30 d)
- 995
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin 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 openai/codex
-
app-server bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
openai/codex#60595 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
CLI / TypeScript SDK: image paths containing commas are split into separate attachmentsPosiblemente ocupada @akhil9tiet la tomó hoy. Abiertobug CLI exec
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
openai/codex#60587 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
bug CLI
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
openai/codex#60494 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
app bug pets
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
Todos los issues de openai/codex
Issues similares
-
Expression with ill-formed typeAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 94/100
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
Los mantenedores suelen responder en 2 días
-
enhancement good first issue help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
area:ui
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
openfootmanager/openfootmanager#1365 ·
Los mantenedores suelen responder en 1 día
-
documentation
Dificultad 1/5 1-3 horas Aptitud para principiantes 90/100
JackMechem/marbble#305 ·
Los mantenedores suelen responder en 1 día