So Many Crows v1: Sentry triage, crows, guardrails, trust ledger
Go command-line tool. Sentry classifies each todo item as solo, split, or murder; text-only crows fly under budget, timeout, and flock caps; trust is earned per crow and per task type; abusive requesters get a mild, fading cooldown. Runs offline with a mock brain. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UQnSw4RRWp8uqpj3nsnnXF
This commit is contained in:
10 files changed
+999
No files matched your search
@@ -0,0 +1,38 @@
|
||||
package main
|
||||
|
||||
import "time"
|
||||
|
||||
// Guardrails exist before capabilities. Version one crows are text-only:
|
||||
// no web, no files, no APIs. Each future capability gets its own guardrail
|
||||
// block here before it is switched on.
|
||||
type Guardrails struct {
|
||||
MaxCrowsInFlight int // flock cap: concurrent crow calls
|
||||
MurderSize int // crows that attack one item together
|
||||
MaxItemsPerList int // todo list size cap
|
||||
MaxItemChars int // per-item length cap
|
||||
MaxSubtasks int // split width; subtasks never split again (depth 1)
|
||||
TokenBudgetPerItem int // cost ceiling per todo item
|
||||
TokenBudgetPerList int // cost ceiling per list
|
||||
CrowTimeout time.Duration // a stalled crow is dropped
|
||||
PromoteAfter int // clean streak needed to earn the next trust level
|
||||
MaxRequestsPerMin int // requester rate cap
|
||||
BaseCooldown time.Duration // first offense cooldown; doubles per strike
|
||||
MaxCooldown time.Duration
|
||||
}
|
||||
|
||||
func DefaultGuardrails() Guardrails {
|
||||
return Guardrails{
|
||||
MaxCrowsInFlight: 5,
|
||||
MurderSize: 3,
|
||||
MaxItemsPerList: 20,
|
||||
MaxItemChars: 2000,
|
||||
MaxSubtasks: 4,
|
||||
TokenBudgetPerItem: 20_000,
|
||||
TokenBudgetPerList: 100_000,
|
||||
CrowTimeout: 60 * time.Second,
|
||||
PromoteAfter: 10,
|
||||
MaxRequestsPerMin: 5,
|
||||
BaseCooldown: 30 * time.Second,
|
||||
MaxCooldown: time.Hour,
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user