Opening one project retires another project's imported skills
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 75/100
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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 chatwindows sharing one home retain both projects'/skillentries 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.
- Ngôn ngữ chính
- Go
- Star
- 115
- Fork
- 14
- Merge trung bình
- 9 giờ 38 phút
- Pull request đã merge (30 ngày)
- 730
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
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 Agent-Field/CodeAF
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Agent-Field/CodeAF#1489 ·
-
area:chat bug good first issue sev:papercut
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Agent-Field/CodeAF#1470 ·
-
area:chat bug good first issue sev:papercut
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
Agent-Field/CodeAF#1469 ·
-
area:chat bug sev:papercut
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
Agent-Field/CodeAF#1468 ·
-
area:tests bug hygiene sev:papercut
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
Agent-Field/CodeAF#1460 ·
Tất cả issue của Agent-Field/CodeAF
Issue tương tự
-
ai-generated
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
SiaFoundation/indexd#1116 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
-
triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
wakatime/wakatime-cli#1585 ·