AskaEth pushed to android at AskaEth/Cyrene-For-Android 2026-10-26 22:07:41 +08:00
53d7a9fb69 Merge branch 'feat/w74-voicekey-strict-drop-tolerance-fallb' into android
5989e0d4eb W74 撤掉「容忍 + 下次拉取」兜底 —— voice 键存在即语音,覆盖全部读面
Compare 2 commits »
AskaEth pushed to dev at AskaEth/Cyrene_v2 2026-10-26 21:44:46 +08:00
d47185feb8 docs(contract): v0.97 voice WS frames + TTS autolaunch + upstream error safety
AskaEth pushed to dev at AskaEth/Cyrene_v2 2026-10-26 21:25:54 +08:00
656c35f1e8 Merge branch 'feat/m51-lastexits-close-remaining-upstream-f' into dev
76263d42ed fix(upstream): M51 复审 p2 三条 —— light.go 同形出口 / MCP SDK 日志面 / ErrorToken 口径
7fbb8d6232 fix(channelbridge): M51 追加 —— 参与度判定 reason 出镜前打码压平
d6493d79f4 fix(upstream): M51 收敛剩余上游自由文本出口 - CDP/MCP/flowgate/channelbridge WARN
Compare 4 commits »
AskaEth pushed to dev at AskaEth/Cyrene_v2 2026-10-26 20:03:33 +08:00
921938d084 Merge branch 'feat/m52-urlcausesweep-sweep-url-error-direct' into dev
969857682f fix(runtime): M52 把 *url.Error 直打的 19 处换成 trace.URLCause
Compare 2 commits »
AskaEth pushed to dev at AskaEth/Cyrene_v2 2026-10-26 19:51:39 +08:00
604f9ebaa9 Merge branch 'feat/m50-envelopesafe-drop-envelope-message-o' into dev
bfbf5057bc refactor(weixin): runLogin 的守卫说明上移到函数头,回到 80 行以内
1b2576ecaf fix(weixin): 扫码上游字段过令牌守卫,errortoken 契约改写
996201c4ed fix(httpclient): 信封 message 默认不进错误,渠道上游自由文本一并收口
Compare 4 commits »
AskaEth pushed to dev at AskaEth/Cyrene_v2 2026-10-26 19:33:44 +08:00
2702777950 Merge branch 'feat/m45-extracttemporal-extractor-temporal-m' into dev
82e9213804 test(memory): M45 复看 P2 —— 补「temporal 不许被判定读」的源码级断言 + 注释纠正
c7c0294a16 refactor(memory): M45 裁决 D —— temporal 位撤出判定,只保留观测
3b9ae3f918 refactor(memory): M45 r1 复审返工 —— temporal 位只放开 N6 位置判据
91101dedfb feat(memory): M45 提取器时间性元数据位 temporal 驱动留存判定
Compare 5 commits »
AskaEth pushed to dev at AskaEth/Cyrene_v2 2026-10-26 19:18:48 +08:00
3a0cc64160 Merge branch 'feat/m49-upstreamsafe-move-token-guard-into-t' into dev
fe3872ee28 fix(trace): 令牌守卫上移进 trace.UpstreamError,构造即安全
Compare 2 commits »
AskaEth pushed to dev at AskaEth/Cyrene_v2 2026-10-26 19:08:53 +08:00
4224fc2b12 Merge branch 'feat/m47-ttsspawn-detect-and-auto-launch-emot' into dev
67d7e4bd1b fix(voice): M47 r2 复审两条 P2 —— 关闭期取消不拉起、非法探活地址不启用
faf18afb91 feat(voice): M47 r1 探活地址单向回退到 voice-tts.json 的 baseUrl(组合根)
6906d274fc feat(voice): M47 后端启动后探活 emotionTTS,未起则异步拉起一键启动脚本
Compare 4 commits »
AskaEth pushed to dev at AskaEth/Cyrene_v2 2026-10-26 19:06:56 +08:00
4e9cd17fbd Merge branch 'feat/m48-urlcauseharden-urlcause-depth-cap-an' into dev
98e1ae6aa9 fix(model): providerUpstreamError 的 error.type 也过令牌守卫
92b0f89492 fix(trace): URLCause 用层数上限终止,去掉不可比较的 error 比较
Compare 3 commits »
AskaEth pushed to dev at AskaEth/Cyrene_v2 2026-10-26 19:03:24 +08:00
fb55769cd7 Merge branch 'feat/m44-voicerealtime-voice-key-on-realtime' into dev
b955a27479 fix(channelbridge): M44 入站语音先写 voice 列再广播 ⇒ 首帧就带 voice
5717735da9 feat(gateway): M44 实时帧与握手回放挂上 voice(纯增量)
Compare 3 commits »
AskaEth pushed to android at AskaEth/Cyrene-For-Android 2026-10-26 19:02:19 +08:00
4d25d9ec69 merge: W73 —— 语音发送侧(点按录音 16k/单声道 WAV 自封 + RECORD_AUDIO 权限 + voice_input 上行与 clientMsgId 幂等重发 + voice_output 播放与 provider=silent 降级 + 乐观气泡)
4e822df5ed W73 语音输入闭环 —— 录音 → voice_input → voice_output(契约 v0.96 §3.15 ①)
Compare 2 commits »
AskaEth pushed to dev at AskaEth/Cyrene_v2 2026-10-26 18:57:06 +08:00
0ec9cbe32b Merge branch 'feat/m46-urlcause-hoist-url-error-unwrapping' into dev
5c6f4e50a0 refactor(voice): dashscopeErrorToken 收敛到 trace.ErrorToken
3001fcc716 fix(model): providerUpstreamError 的 error.code 过令牌守卫
4c187ac070 refactor(trace): 把剥 url.Error 壳的实现收敛成 trace.URLCause
Compare 4 commits »
AskaEth pushed to dev at AskaEth/Cyrene_v2 2026-10-26 14:10:43 +08:00
af61b8ccfe docs(contract): v0.96 语音发音人绑生效人格(sessionId/两个错误码)+ 管理面脱敏投影与 props.omitted
AskaEth pushed to dev at AskaEth/Cyrene_v2 2026-10-26 14:09:02 +08:00
6be76f1665 Merge branch 'feat/m42-gatewayhygiene-admin-memory-tier-log' into dev
3157abcf3c fix(gateway): 日志页脱敏改用「可带上限」变体(4096),摘要侧仍是 80
fa5d3d23bf feat(gateway): 面板人工加记忆钉 long + skill 解析去回显 + 可观测读侧脱敏
Compare 3 commits »
AskaEth pushed to dev at AskaEth/Cyrene_v2 2026-10-26 14:03:17 +08:00
f37fe05aee Merge branch 'feat/m42-logchannel-channel-and-tool-url-plus' into dev
4b4173dd42 fix(channel): M41 r1 复审三条 —— telegram 构造分支、QQ 改 MaskQuery、删两处死上限
0f9251b983 fix(channel): 渠道适配器与出站工具的上游响应体/带凭据 URL 不再进日志与错误(M41)
Compare 3 commits »
AskaEth pushed to dev at AskaEth/Cyrene_v2 2026-10-26 14:02:31 +08:00
abbd79a3b1 Merge branch 'feat/m43-logupstreamadopt-adopt-reviewed-comm' into dev
9e88605cc8 fix(voice): CloneVoice 的 200-with-message 泄漏收口到 dashscopeOKBodyError
66dda084cd fix(runtime): 上游错误体统一走 trace.UpstreamError,正文不进 error
Compare 3 commits »
AskaEth pushed to dev at AskaEth/Cyrene_v2 2026-10-26 13:44:06 +08:00
a697fa0a1e Merge branch 'feat/m35-ttsemo-emotiontts-provider-with-emot' into dev
b90811fae4 docs(voice): 收口「没会话/没绑定就走 default」的镜像注释(r4)
1c2944fcf4 docs(voice): 收回 r2 修掉的旧语义注释 + 让关闭态变异真能打红(r3 P2-1/P2-2)
e684061e56 fix(voice): 主/子系统会话的发音人跟「生效人格」走(r2 P2-1)+ 错误码可区分
8820b0b316 fix(voice): 修 r1 复审四条(正文进日志的隐私泄漏 / format 假开关 / Stats 无消费者 / redactURL 兜底)
Compare 7 commits »
AskaEth pushed to dev at AskaEth/Cyrene_v2 2026-10-26 13:42:27 +08:00
48b3dae5ed Merge branch 'feat/m37-memtier-retention-tier-column-and-de' into dev
066319f9c6 fix(memory): 复审 r2 返工 —— 真实「记住 X」路径钉 long,断言改为能打红
765ef167bd fix(memory): 复审 p2 返工 —— SQL 空串字面量、两处过期注释、人工路径档位
cc6904b1b4 feat(memory): retention_tier 档位列 + defer 与档位合并为同一判定(M37)
Compare 4 commits »
AskaEth pushed to dev at AskaEth/Cyrene_v2 2026-10-26 13:36:37 +08:00
46a6da13e0 Merge branch 'feat/m40-logtrace-span-write-side-redaction-p' into dev
542bac677d fix(trace): UpstreamError 默认不带 error.message,要带必须显式 opt-in
6d0df6a825 fix(trace): 白名单放行 session —— 归属标识可读,正文边界不动
003d12a712 feat(trace): M40 span 写侧脱敏 + 共享上游错误收敛 helper
Compare 4 commits »
AskaEth pushed to dev at AskaEth/Cyrene_v2 2026-10-26 12:48:55 +08:00
240b59708d docs(contract): 矩阵补 B28-B31 与计数改正(14+31+40=85,纠正 104 的重复计入)