Files
picoclaw/pkg/evolution/draft_review.go
T
lxowalle b3a7b7ad64 feat: agent self evolution (#2847)
* feat: add agent self-evolution

* fix ci

* delete unused doc

* fix lint

* fix evolution review issues
2026-05-11 16:13:27 +08:00

39 lines
1.0 KiB
Go

package evolution
import "strings"
type DraftReviewResult struct {
Status DraftStatus
Findings []string
ReviewNotes []string
}
func ReviewDraft(draft SkillDraft) DraftReviewResult {
findings := append([]string(nil), ValidateDraft(draft)...)
findings = append(findings, scanDraftContent(draft)...)
result := DraftReviewResult{
Status: DraftStatusCandidate,
Findings: findings,
ReviewNotes: []string{"local structural validation completed"},
}
if len(findings) > 0 {
result.Status = DraftStatusQuarantined
}
return result
}
func scanDraftContent(draft SkillDraft) []string {
body := strings.ToLower(draft.BodyOrPatch)
findings := make([]string, 0, 2)
if strings.Contains(body, "sk-live-") || strings.Contains(body, "sk_test_") || strings.Contains(body, "api_key=") {
findings = append(findings, "secret-like token detected in body_or_patch")
}
if strings.Contains(body, "-----begin private key-----") {
findings = append(findings, "private key material detected in body_or_patch")
}
return findings
}