feat(persona,capacity): persona awakening 档位真生效 + 当前主角色已填(裁决 14.4.3)
- loader 新增可选 awakening 块(default_state/overrides{min_confidence,force_state}),载入期校验 + 归一化,
非法值显式报错(拒绝「写了却静默无效」);缺失 = nil = 无该档位,不补默认
- 组合根把当前主角色档案的档位填进 capacity.Config.Awakening(未知档位名告警后按无档位处理),
真的参与 Decide → applyAwakening(MinConfidence 优先于全局 0.6;force_state 钉死态)
- 当前主角色 cyrene.yaml 填 default_state=静息 + min_confidence=0.7(设计 §3 陪伴型取静息;
0.7 压掉 L2 趋势(0.66)误唤醒、仍低于 L1 强信号(0.9),温柔陪伴不误打扰)
- 复核:build/vet 绿 + persona/capacity/cmd 包测试绿;端到端 4 例锁定「同回合有无档位判定相反」;
变异两轮(yaml tag 改错 → 8 处红;解析但不接线 → 端到端红)均已还原
- 已知盲区(另派):per-role 注入未接线(loop/request.go 的 Input.Awakening);
面板整块替换 persona 会抹掉 awakening 块(需 applyAwakeningEdit)
This commit is contained in:
1 parent
38b4527949
commit
71fefe5fc3
7 files changed
+602
-1
No files matched your search
@@ -146,7 +146,10 @@ type Persona struct {
|
||||
// Thinking is the optional reasoning/presentation config (design/01 §2.1);
|
||||
// omitted when the persona configures none, so no existing YAML gains noise.
|
||||
Thinking ThinkingParams `yaml:"thinking,omitempty"`
|
||||
Visual PersonaVisual `yaml:"visual,omitempty"`
|
||||
// Awakening 是该人格可选的唤醒档位覆盖(design/14 §3,裁决 14.4.3)。
|
||||
// nil = 角色档案里没写该块 = 没有该档位:不补默认值,由决策层走全局默认。
|
||||
Awakening *AwakeningParams `yaml:"awakening,omitempty"`
|
||||
Visual PersonaVisual `yaml:"visual,omitempty"`
|
||||
// TriggerWords are the role-name words that, when a public-platform group
|
||||
// message mentions one, route the message into the participation PROBING
|
||||
// stage even without a direct @ (design/18 §2 触发②). Each persona defines its
|
||||
|
||||
Reference in new issue
Block a user