Crow personas and generated banter
- personas.go: backstory, prompt policy and output policy per crow; Hugin and Munin grounded in Grimnismal 20 and Gylfaginning 38; every working crow also follows a common output policy - Personas go into each crow's instructions; Sentry keeps JSON-only - banter.go: retrieve backstory, relationships and recent flock memory, then the speaking crow generates one line in character; max 2 per list against the list budget, never blocks work, unusable lines dropped - crow.banter event, GET /api/crows, `crows personas` -> PERSONAS.md - UI: epithets on tiles and messages, banter as quiet asides Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UQnSw4RRWp8uqpj3nsnnXF
This commit is contained in:
13 files changed
+824
-8
No files matched your search
@@ -231,6 +231,8 @@ func (MockBrain) Ask(ctx context.Context, system, prompt string) (string, int, e
|
||||
reportModel(ctx, "mock")
|
||||
tokens := (len(system)+len(prompt))/4 + 40
|
||||
switch {
|
||||
case strings.Contains(system, markerBanter):
|
||||
return "[mock] Caw.", tokens, nil
|
||||
case strings.Contains(system, markerSentry):
|
||||
return mockTriage(after(prompt, "ITEM:")), tokens, nil
|
||||
case strings.Contains(system, markerElder):
|
||||
|
||||
Reference in new issue
Block a user