Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Opening one project retires another project's imported skills

オープン
#1,456 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
75/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
go
領域
cli, tooling

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

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.
主要言語
Go
スター
115
フォーク
14
平均マージ
9時間 38分
マージ済み PR(30日)
749

環境構築

このプロジェクトの環境構築ファイルはまだ確認していません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

Agent-Field/CodeAF のほかの issue

Agent-Field/CodeAF の issue をすべて見る

似ている issue

Go の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。