fix(context): load shared/SHARED_AGENTS.md first, then persona AGENTS/IDENTITY/SOUL/USER

This commit is contained in:
Sebastian Boehler 2026-02-22 21:13:55 +01:00
parent 99f1f0521f
commit ac9aea43c8

View file

@ -432,15 +432,27 @@ func skillFilesChangedSince(skillRoots []string, filesAtCache map[string]time.Ti
} }
func (cb *ContextBuilder) LoadBootstrapFiles() string { func (cb *ContextBuilder) LoadBootstrapFiles() string {
bootstrapFiles := []string{ var sb strings.Builder
"AGENTS.md",
"SOUL.md", // 1. Shared rules — loaded first so persona files can override/extend
"USER.md", sharedFiles := []string{
"IDENTITY.md", filepath.Join("shared", "SHARED_AGENTS.md"),
}
for _, filename := range sharedFiles {
filePath := filepath.Join(cb.workspace, filename)
if data, err := os.ReadFile(filePath); err == nil {
fmt.Fprintf(&sb, "## %s\n\n%s\n\n", filename, data)
}
} }
var sb strings.Builder // 2. Persona-specific files
for _, filename := range bootstrapFiles { personaFiles := []string{
"AGENTS.md",
"IDENTITY.md",
"SOUL.md",
"USER.md",
}
for _, filename := range personaFiles {
filePath := filepath.Join(cb.workspace, filename) filePath := filepath.Join(cb.workspace, filename)
if data, err := os.ReadFile(filePath); err == nil { if data, err := os.ReadFile(filePath); err == nil {
fmt.Fprintf(&sb, "## %s\n\n%s\n\n", filename, data) fmt.Fprintf(&sb, "## %s\n\n%s\n\n", filename, data)