Ctrl K
ComunidadGuías…

internal/app/delivered_skill_counted_once_test.go

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
package app

import (
	"os"
	"path/filepath"
	"testing"

	"github.com/yeomyeonggeori/blueclaw/internal/agentruntime"
	"github.com/yeomyeonggeori/blueclaw/internal/capability"
	"github.com/yeomyeonggeori/blueclaw/internal/config"
)

// One delivered skills root serves every instruction root, so a skill was read
// once per root and its whole body reached the prompt that many times.
func TestLoadAgentInstructionBundleCountsADeliveredSkillOnce(t *testing.T) {
	deliveredSkillsPath := t.TempDir()
	skillDirectoryPath := filepath.Join(deliveredSkillsPath, "presentation")
	if errorValue := os.MkdirAll(skillDirectoryPath, 0o755); errorValue != nil {
		t.Fatal(errorValue)
	}
	skillDocument := "---\nname: presentation\ndescription: Build a deck and export it.\n---\nPresentation body.\n"
	if errorValue := os.WriteFile(filepath.Join(skillDirectoryPath, "SKILL.md"), []byte(skillDocument), 0o600); errorValue != nil {
		t.Fatal(errorValue)
	}
	t.Setenv("BLUECLAW_BUNDLED_SKILLS_PATH", deliveredSkillsPath)
	runtimeConfiguration := config.RuntimeConfiguration{}
	runtimeConfiguration.Terminal.WorkspaceRootPath = t.TempDir()

	instructionBundle := loadAgentInstructionBundle(runtimeConfiguration, agentruntime.NewCapabilityRegistry(capability.Client{}, nil))

	deliveredCount := 0
	for _, skillInstruction := range instructionBundle.Skills {
		if skillInstruction.Name == "presentation" {
			deliveredCount++
		}
	}
	if deliveredCount != 1 {
		t.Fatalf("expected the delivered skill once, got %d", deliveredCount)
	}
}