Commit Graph

13 Commits

Author SHA1 Message Date
xiaowei f286348ad8 fix: gap auto-close + conflict_muchen handler
- GapDetector.RecordHit(topic): recall 命中后自动关闭该 topic 的 open gap
- GapDetector.ClearMisses(topic): 清除 miss 计数,避免重复触发
- SetGlobalGapDetector / GetGlobalGapDetector: 全局实例注册,供 recall 回调使用
- recall handler (core.go): 命中时调用 RecordHit + ClearMisses 实现 gap auto-close
- conflict_muchen handler (server.go): 注册处理器,自动裁决 pending conflict(latest_wins / primary_wins / dismiss)
- fix: server_sqlite_nowindows.go 修复 osGetenv → os.Getenv (pre-existing)
2026-06-08 00:54:40 +08:00
xiaowei 5927f7d740 fix(selfoptimize): repair 3 dashboard metrics that were stuck at 0
1. gap_closure_rate: RecordMiss now increments Dash.TotalGaps; Close
   calls Dash.RecordGapClosed(). Previously denominator was never written.
2. auto_resolve_rate: scanConflicts now calls Dash.RecordConflictResolved
   after each AutoResolve. Previously consolidation path bypassed Dashboard.
3. avg_distill_loss: merge-count heuristic scaled from 0.01 to 0.002
   with 0.05 cap. Previously 50 merges = 0.50 loss (same weight as 50 LLM
   distillations), corrupting the average.
2026-05-30 18:03:49 +08:00
xiaowei 9d2bae3324 feat: 自优化7项全部补齐
P0: avg_distill_loss 接入 Dashboard
- RecordDistillLoss(loss) 在蒸馏回调中写入 Dash
- loss = 1 - Overall, 归一化 0-1

P1: V 值反哺召回排序
- storage.VValueProvider 注入(server.go → VProp.GetMemVValue)
- lancedb_ipc.go Search() 排序公式:30%V值+30%importance+40%QL

P1: PassiveValidator 写回 quality_score
- 蒸馏回调中 GetRecords() 遍历并 ldb.Update quality_score

P2: CausalTracker Redis 持久化 + 自动触发
- EnableCausalRedisPersistence() 启动加载
- persistCausal() 每次 RecordVersion/AddDependency 后同步
- commit 路径自动 RecordVersion(memID, content, agent, 'commit')

P2: GapDetector 自动 repair
- t_gap 触发器除关闭过期缺口外,对开放缺口调用 AutoRepair
- 修复成功后 RecordGapClosed

P3: Skill 结晶接入
- RecordTrial(name, success) 程序化接口
- 蒸馏/合并触发器中 RecordTrial('auto_distill', true)

P3: 指标采集 6h → 30min

测试: 全部重启持久化验证通过
2026-05-30 12:08:16 +08:00
xiaowei 945e5dfc66 feat: 自优化5项全链路补齐
P1: GapDetector Redis 持久化
- 13个缺口字段序列化为 JSON 写入 zhiyi:gaps HASH
- misses 计数器写入 zhiyi:gap_misses
- RecordMiss/Close 后自动 persist + 启动时 loadFromRedis
- 重启不丢缺口记录

P2: VPropagator Redis 持久化 + useful/not-useful 接入
- 决策记录写入 zhiyi:vprop_decisions HASH
- V 值写入 zhiyi:vprop_values HASH
- RecordDecision 后自动 persist
- feedback/useful → success, feedback/not-useful → failure

P3: 中文分类改进
- classifyGap 降级时检测中文同义词标记(又称/别名/aka)
- 含标记的 query 归为 GapSynonym(B) 而非 GapUnknown(A)

P4: QualityDropMonitor 阈值 5→2 + 蒸馏质量分
- minFeedbacks 从 5 降至 2,更早触发质量监控

P5: CoOccurTracker Redis 持久化
- RedisCoOccurPersist() 写入 zhiyi:cooccur HASH
- RecordRecall 中调用 ct.persist() 持久化每条边
- recall pipeline 中独立 goroutine 触发共访追踪
- LoadCoOccurFromRedis() 启动时加载

测试: 全部 5 项重启验证通过
2026-05-30 12:01:37 +08:00
xiaowei c861171031 fix: PassiveValidator GetRecords 返回 [] 而非 null 2026-05-30 11:53:42 +08:00
xiaowei bceb5fb059 feat: 自优化4大链路补齐
1. GapDetector 自动接入 recall 路径
   - MissRecorder callback → RecallPipeline
   - 0 结果时自动 RecordMiss(query)
   - server.go 中 gapDetector 初始化后挂载

2. Dashboard 持久化到 Redis
   - EnableRedisPersistence() 启动时加载
   - persist() 每次 mutate 后同步 13 个计数器到 Redis HASH
   - 重启不丢指标

3. PassiveValidator 接入 commit 路径
   - 新记忆提交后自动 P1/P2/P3 匹配验证
   - 复用 Validator.Validate 逻辑

4. VPropagator 接入 feedback/correct
   - 用户修正时记录决策 V 值
   - 使用 user_correct 来源 + success 结果

Closes: 10% 缺失代码 + 40% 缺失链路
2026-05-30 11:27:27 +08:00
xiaowei 08848607fd v3.8 完整代码: Go API + Rust sidecar + ONNX BGE + Client SDK
- 4 大修复: 缺口分类向量化 + Schema 23字段 + Consolidation走Rust IPC + Client SDK
- BGE ONNX: deploy/bge_embed_server.py + systemd unit,1024维本地推理
- Rust sidecar: 8模块完整,DBSCAN/衰减/修剪/质量回溯/整合报告
- Go: zhiyid 7821端口,37个API端点,多Agent架构
2026-05-29 01:07:05 +08:00
xiaowei bedbe55ad5 fix: 6项设计差距补全 — 逐节对照50项→0差距
G1 Recall图谱+预取 (2.6 Step 5-6):
  - RecallPipeline: SetGraphExpander + SetPrefetchPusher
  - GraphExpander接口: 结果<5条时BFS扩展1跳
  - PrefetchBridge: CO_OCCURS权重>0.6→WS推送prefetch.push
  - graph_expander.go: InMemoryGraph实现接口

G2 RateLimit (2.7):
  - auth.go: 滑动窗口限流, 429带Retry-After/X-RateLimit-Reset
  - 120 req/min per agent

G3 WS事件 (2.8):
  - ws_events.go: prefetch.push/gap.filled/memory.updated/quality.drop
  - gap关闭时自动推送gap.filled

G4 自动蒸馏 (3.1):
  - auto_distill.go: commit后→硬规则过滤→蒸馏→图谱更新→冲突→验证
  - 降级蒸馏: 关键词提取 (无需LLM)

G5 version_history (3.3.3):
  - CausalTracker.Entries() 暴露版本历史
  - feedback/correct 路由层自动调用FillVersionHistory+因果链通知

G6 ephemeral命名空间 (1.3):
  - /api/v1/admin/ephemeral/clean 端点
  - 10分钟定时清理循环

go build: 0 errors, go test: 60 passed
2026-05-28 19:01:23 +08:00
xiaowei a2cda57f6b feat: M10 对照设计补齐 — 24项缺失功能全部实现
🔴 结构缺失 → 已实现:
- PassiveValidator: P1/P2/P3 三层匹配 (validator.go)
- 5条自动化流程: commit/gap/correct/consolidate 串联 (pipeline.go)
- Consolidation 流水线 Step 1-4 完整实现 (consolidation_pipe.go)
- V值反向传播: 决策链路追踪+时间衰减 (vprop.go)
- 触发器执行器: 8类自动循环检查+冷却 (executor.go)
- Go Client SDK: ZhiYiClient 完整API (client.go)
- Unix Socket IPC: 帧协议 Go→Rust (ipc.go)

🟡 简化实现 → 完整版:
- 知识图谱自动更新: 蒸馏→实体→节点/边/冲突边 (graph_auto.go)
- 缺口自动修复: Type B同义词映射, Type C阈值重试 (gap_repair.go)
- Skill贝叶斯: Beta-Bernoulli α/β后验+active/probation/retired (skill_bayes.go)
- Obsidian Carriers: 9类模板+自动append+mtime冲突检测 (obsidian_carrier.go)

 未集成 → 已挂载:
- Prometheus /metrics 端点注册
- 搜索缓存: SHA256 key + LRU + 1h TTL (searchcache.go)
- 后台引擎自动启动: Flow+Executor

总计: 49 Go文件, 7920行, 60 tests, 0 build errors
2026-05-28 18:53:00 +08:00
xiaowei ffb13f830a perf: 34 benchmarks + 性能报告 — i5-11260H
基准覆盖 (4 files):
- storage: cosine similarity (254ns), MMR rerank (847μs), memory alloc (6.3μs)
- governance: conflict scan 100 (2.2μs), graph navigate 2000 (485μs), prune (135μs)
- selfoptimize: dashboard metrics (187ns), gap detect (39ns), causal chain (74μs), prefetch (181ns)
- distributed: CRDT merge (325ns), rate limiter (79ns), event bus (304ns)

综合评估: 所有纯 CPU 操作纳秒/微秒级,远超设计目标。
瓶颈在外部 I/O(LanceDB + Embedding 推理)。

报告: BENCHMARK.md
2026-05-28 18:41:11 +08:00
xiaowei cda13e7d17 test: 60 tests — governance/selfoptimize/routes/integration/edge
测试覆盖 (4 files, 1233 lines):
- governance_test.go: 15 tests — 冲突检测/遗忘策略/图谱导航/CRDT
- selfoptimize_test.go: 18 tests — 仪表盘/缺口检测/因果追踪/预取/并发
- routes_test.go: 18 tests — HTTP handler 状态码/JSON/Agent 注册/验证
- integration_test.go: 9 tests — 全链路/边界/空输入/大 payload/无认证

go test ./... → 60 passed, 12 packages, 0 failures
2026-05-28 18:35:19 +08:00
xiaowei ef2ef5069c feat: M9 功能补全 — 30+ 新端点 + 自调参闭环
新增路由层 (10 files):
- graph.go: GET /graph/stats, POST /graph/query, POST /graph/navigate
- feedback.go: POST /feedback/useful|not-useful|deprecate|correct
- gaps.go: GET /gaps, POST /gaps/detect, POST /gaps/close
- conflicts.go: GET /conflicts, POST /conflicts/resolve
- agent.go: POST /agents/register, GET /agents
- admin.go: DELETE /distilled, GET /memory/versions, POST /admin/forget|backup, GET /admin/audit
- l3.go: GET|POST /l3/worldmodel
- triggers.go: GET /triggers, POST /triggers/fire, GET /skills, POST /skills/trial
- eval.go: POST /eval/run, GET /eval/history, POST /eval/generate
- tuning.go: GET /tuning/status, POST /tuning/run, POST /tuning/analytics
- obsidian.go: POST /obsidian/push|pull, GET /obsidian/status

引擎增强:
- governance: InMemoryGraph (零外部依赖) + ListActive/Resolve/DB
- selfoptimize: RecordDeprecation/Correction/GapClosed/ConflictResolved
- storage: IncrementUseful/NotUseful, UpdateMemoryContent, GetVersionHistory,
  GetCandidatesForForgetting, Backup, GetAuditLog

总计: 17 files, 1915+ lines, 35 endpoints, go build 0 errors
2026-05-28 18:25:43 +08:00
xiaowei bf105f0fd9 feat(M3-M6): 核心API + 蒸馏 + 治理 + 自优化引擎
M3 核心 API (core.go 173行):/api/v1/commit /recall /bootstrap /stats /batch-commit
M3 SSE推送 (ws.go 117行):零外部依赖,Server-Sent Events
M3 server.go:注册全部7条路由

M4 蒸馏引擎 (distill/engine.go 150行):
- Layer1硬规则过滤 + Layer2 LLM蒸馏
- 每日50次限额 + 降级策略(LLM不可用→规则提取)
- /api/v1/feedback/useful /not-useful

M5 治理 (governance/governance.go 222行):
- 冲突检测:entity/fact/decision三种 + 否定词启发式
- 遗忘策略:线性衰减 + core记忆保护
- 知识图谱:SQLite + 双向BFS多跳导航 + 修剪

M6 自优化 (selfoptimize/selfoptimize.go 272行):
- 自优化仪表盘:7项指标 + 告警阈值
- 知识缺口检测:连续3次miss→typeA/B/C/D自动分类
- 因果追踪:版本链 + 依赖链 + 来源信任度
- 记忆预取:共访关系图谱 >60%概率推送

M2修复:lancedb.go 补充 InsertEpisode/GetTopByQuality/InsertMemory/LanceDB别名
全部零外部依赖,100%标准库实现
2026-05-28 17:42:47 +08:00