Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Opening one project retires another project's imported skills

Abierto
#1,456 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
75/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
go
Área
cli, tooling

Línea de trabajo

Start in internal/resident/skills.go at ReconcileImportedSkills, especially the scan around lines 655 and 739, then run the provided TestTwoProjectsKeepTheirSkills test in internal/resident. Confirm that skills from both projects remain active while deleting A's folder retires A's fact on an appropriate scan. Also check the skills manual and invalidates metadata for the requested documentation updates.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

area:session area:tools bug sev:serious

Found on santos/dev2 at 008363c98 (#1410). It reaches dev when #1410 merges.

What happened

With memory on, project A's imported skill is active after A opens, then is superseded when project B opens using the same home store. B's scan cannot see A's folder but treats its absence from that scan as deletion. A's attachment chip can remain while its next turn silently omits the skill.

Replication

Deterministic (no model). Save this test as internal/resident/two_project_skill_test.go and run go test ./internal/resident -run TestTwoProjectsKeepTheirSkills -count=1:

package resident
import (
 "path/filepath"
 "testing"
)
func TestTwoProjectsKeepTheirSkills(t *testing.T) {
 home, a, b := t.TempDir(), t.TempDir(), t.TempDir()
 alpha := filepath.Join(a, ".agents", "skills", "alpha")
 beta := filepath.Join(b, ".agents", "skills", "beta")
 writeImportedSkill(t, alpha, "alpha", "Drafts project A reports")
 writeImportedSkill(t, beta, "beta", "Drafts project B reports")
 graph := openStore(t)
 ReconcileImportedSkills(graph, a, home)
 ReconcileImportedSkills(graph, b, home)
 if _, ok := importedFactByArtifact(t, graph, alpha); !ok { t.Fatal("project A skill retired") }
}

Today it fails with project A skill retired.

Where

internal/resident/skills.go:655, ReconcileImportedSkills, scans one project; at :739 it supersedes every imported active fact missing from that scan.

The fix

Reconcile only facts owned by the scanned project and shared home. Retire another project's fact only after checking its own artifact has actually disappeared.

Acceptance

  • e2e: two codeaf chat windows sharing one home retain both projects' /skill entries after either launches.
  • Unit: the inlined test passes; deleting A's folder still retires A's fact on an appropriate scan.
  • Update the skills manual and state the former cross-project retirement in invalidates.
Lenguaje dominante
Go
Estrellas
115
Forks
14
Merge medio
9 h 38 min
PR fusionados (30 d)
730

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de Agent-Field/CodeAF

Todos los issues de Agent-Field/CodeAF

Issues similares

Más issues de Go

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.