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 {
bootstrapFiles := []string{
"AGENTS.md",
"SOUL.md",
"USER.md",
"IDENTITY.md",
var sb strings.Builder
// 1. Shared rules — loaded first so persona files can override/extend
sharedFiles := []string{
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
for _, filename := range bootstrapFiles {
// 2. Persona-specific files
personaFiles := []string{
"AGENTS.md",
"IDENTITY.md",
"SOUL.md",
"USER.md",
}
for _, filename := range personaFiles {
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)