| docs(R21-T3): 追加 Trae GUI 侧实测与 G13(SSE 被 WriteTimeout 掐断) - §9 记录业主重启 Trae 后的三条硬证据:Trae 日志显示 startExtension/Connecting 带 Authorization、listTools 拿到 13 个工具、#start Connected;TCP 层 Trae CN.exe 持有到 0.88:18444 的 Established 连接 —— GUI 层(⑤)确认完成一半。 - §9.2 记录 G13:GET /mcp 长连接 SSE 被 http.Server.WriteTimeout=120s 掐断 (断开间隔与 120s 精确吻合),修复为仅对 SSE 端点清除写超时; 验证:长连接存活 177.8s、Trae 日志修复后无 disconnected、Trae token 端到端全通。 - §9.3 给出业主在 Trae 里做最后一步 UI 确认的操作与排障路径。 | 18 天前 |
| feat(R138-B): LIMS 智能路由与融合(P2)+ 评测集建设(P2.5) 任务书:.dumate/inbox/_R138_B线并行任务书.md —— A1~A9 全部交付。 kernel(P2) - A1 MemoryRouter 意图识别 + 跨层召回 router_mem.go - A2 多信号 rank 融合(RRF 变体 + 绝对分下限) rank_fusion.go + default_weights.json + 单测 - A3 WritePolicy 插件注册表 writepolicy.go + 单测 - A4 晋升/降级自动流转 lifecycle.go + 单测 - A5 Agent 记忆工具接口 router_tools.go + 单测 - A6 后台整合 worker consolidate.go + cmd/lightmem-kernel - 只增不改既有 Schema 语义(source_evidence 等为 lightmem.md §4.1 既有设计约定) eval(P2.5) - A7 评测集生成器 + 570 条评测集:单跳150/多跳150/开放域100/时序130(含双时态变更30) + 污染20/投毒20;交叉取模枚举保证 fact 唯一;模板 + 固定 seed,未调用 LLM - A8 KPI 基线评测器 + 首轮基线报告 eval/reports/ docs - lightmem.md §8 P2/P2.5 状态订正;§9 补首轮基线数字与「不可复现」提示 - .dumate/inbox/_R138_B线收口报告.md(A9 收口:DoD 自检、KPI 根因分析、红线自查) 验证(0.88 实机;scripts/a9_verify.sh → ALL PASS,退出码 0) - gofmt 无差异 / go vet / go build / go test ./... 全绿 - 评测集 570 条可复现(md5 c097b55c...);KPI 链路 RC=0 本轮发现的两个缺陷(已写入收口报告 §4.2 / §4.4,列为 P3 首要,本提交不修) - 评测集口径退化:同一 query 文本对应多条 expected_fact,得分被结构封顶在 34% - 基线不可复现:backend_sqlite.go 遍历 Go map 使并列打分顺序随机(复跑 6.0%~7.0%), 须先补 memory_id 兜底排序再谈权重校准 | 25 天前 |
| docs(R29): 部署文档登记 L-258/L-259/L-260/L-261 已知坑与规避步骤 - deploy/README.md:新增「已知部署坑(装之前先看)」四节——solo 相对 sqlite 路径、 pg_wait=0 失效、孤儿 supervisor 让 stop 失效、PG 档启动自检默认开(B2 口径) - integrations/lims-088-rc.d/README.md:新增「已知缺陷与规避」表 + 两个反直觉匹配式 (daemon cmdline 是 'daemon: env[pid] (daemon)';pgrep -f 会自匹配,改用 pgrep -x) 均为运维可见的部署阻断项,修复前必须按文档规避。 | 15 天前 |
| docs(R166-T4): 写入示例补 visibility/permission.owner + 订正 api.md「visibility 默认 private」错误描述 R27+ 引入 PermissionPolicy 与严格 canView 后,文档示例已失效: - 缺 permission.owner ⇒ POST /memories 返回 422 writepolicy permission required; - 缺 visibility ⇒ 201 但 Memory.canView 对零值无匹配分支、直接 false ⇒ 检索恒空(静默不可见)。 改动: - README.md:写入示例补 "visibility": "private" + "permission": {"owner": "u1"}; 新增「写入必填字段」小节(缺 owner 422 / 缺 visibility 静默不可见)。 - docs/api.md:字段表订正 visibility「默认 private」(错)→「缺省不可见」,补全合法值 private/shared_user/tenant/cross_tenant/public;permission.owner 标注必填;权限规则表同步。 判据(0.88 sqlite 档,照抄新示例):POST 201 + GET /search?q=客户A偏好 命中 score 0.7。 | 10 天前 |
| feat(R28): 非 superuser 断言(L-240) + 可见性内存索引/结果缓存埋点(L-239) + 夹具两道保险 —— 门禁 15/0/0 | 16 天前 |
| docs(R29): 部署文档登记 L-258/L-259/L-260/L-261 已知坑与规避步骤 - deploy/README.md:新增「已知部署坑(装之前先看)」四节——solo 相对 sqlite 路径、 pg_wait=0 失效、孤儿 supervisor 让 stop 失效、PG 档启动自检默认开(B2 口径) - integrations/lims-088-rc.d/README.md:新增「已知缺陷与规避」表 + 两个反直觉匹配式 (daemon cmdline 是 'daemon: env[pid] (daemon)';pgrep -f 会自匹配,改用 pgrep -x) 均为运维可见的部署阻断项,修复前必须按文档规避。 | 15 天前 |
| feat(R29-T0): 接线 PE-C1/PE-C2/PE-D1 —— 维护调度器装配 + 两阶段排水 + 未完成标记 F 线验收发现 C/D 两线的预埋请求(_R29_C线交付报告.md §8、_R29_D线交付报告.md §6 PB-1~PB-4)在 f26cd6f 的 main.go 中并未落地,导致 R11/R14/R15 服务级判据全红: [R11] FAIL last_lifecycle_run 变化 0 次;[maint] job lifecycle done 0 次 [R14] FAIL [drain] waiting 出现=False [R15] FAIL R14 排水等待=False 本次仅改 main.go(接口签名零变更): - PE-C1:保留 embedFn 变量,供生命周期引擎集复用同一 embedder - PE-C2:MaintenanceConfigFromEnv + StartMaintenanceAuto + SetMaintenanceMetrics (不设 LIMS_LIFECYCLE_INTERVAL/LIMS_MAINTENANCE_INTERVAL → 不建 goroutine,默认关) - PE-D1:bgCtx 前移、access-flush 纳入 bgCtx 并由 bgWG 记账、 drainer.SetTimeoutCounter(metrics)、注册 background/maintenance 两个排水阶段、 关闭序列改为 maint.Stop() → bgCancel() → drainer.Run() → ClearUnfinished → Close()、 SIGTERM 分支落 MarkUnfinished(超时路径保留标记,供启动自检读取) 复验(0.82/0.88):R11/R14/R15 转绿;R12 默认关与 c203db8 逐字节对拍仍相同; 门禁 15/0/0([11] PG 真机往返 PASS,非 SKIP)。 | 15 天前 |
| feat(R29-E): L4 耐久与恢复自检 —— SQLite pragma 显式化 + 启动自检缺表缺列 fail-fast(L-251/L-252) - backend_sqlite.go:storage.sqlite.{synchronous,busy_timeout_ms,wal_autocheckpoint, checkpoint_on_close} 逐条 if 守卫执行(零值 = 不执行 = 与 c203db8 逐位一致,B5); Close 时按配置 wal_checkpoint(TRUNCATE)(2s 超时,失败只告警不阻塞关闭) - bootreport.go:表存在 + 关键列断言(SQLite 2 列 / PG 7 列)+ 条数 + 恢复点 (WAL 大小 / pg_last_xact_replay_timestamp)+ VERSION 一致性 + 未完成标记; 缺表/缺列 fail-fast(B2) - backend_pg.go:pgBootCheck 并列追加在 R28 superuser 断言之后(不覆盖不重排) - buildinfo.go:BuildVersion(ldflags 注入;未注入 = 不判定,不误报) - bootreport_test.go(22 测)+ backend_sqlite_durability_test.go(13 测) - manuals:§13 季度恢复演练(四步流程 + 通过判据 + 清理 + Solo 差异) 默认关:零值 profile 不执行任何 PRAGMA、不自检(-data-dir 未设)。 门禁 0.88:PASS 10 / FAIL 3 / SKIP 2;3 个 FAIL 均来自 C 线未提交代码的 4 个确定性失败测试(已做隔离实证:还原 E 线文件后原样复现)。 | 15 天前 |
| feat(R29-T0): 接线 PE-1/PE-2/PE-3 —— /healthz 增量字段 + BuildVersion 注入 + Q1 synchronous=full PE-1(/healthz 增量字段,设计稿 §3.2.3): - 新增 kernel/healthz_options.go:装饰器包住既有 HealthzHandler(server_metrics.go 是 B 线独占域,T0 不越界),按需注入 schema_ok/schema_check/rows/restore_point/ unfinished/version_match/started_at/version - main.go:procStart;bootRep 前移到 mux 之前并接入 /healthz; B2 改为 fail-fast(原预埋只打日志继续跑,违背「缺表缺列不得带病上线」); recovery report 输出设计稿 §3.4.4 目标形态的一行结构化日志 - LifecycleRunFn 用函数在请求时读取(调度器在 mux 之后启动,快照会永远为零) PE-2(BuildVersion 注入): - integrations/quickstart/install.sh:构建加 -ldflags -X ...BuildVersion=<commit> - install_lims_rc_d.sh:缺二进制提示改为带 ldflags 的完整命令 PE-3(Q1 裁定落值,设计稿 L431/L672 既定「Solo 默认 full」): - profiles/lims-solo.profile.yaml:synchronous: full + busy_timeout_ms/ wal_autocheckpoint/checkpoint_on_close(注释写明「降 normal 必须写明断电丢失窗口」) - profiles/lims.profile.schema.json:4 个新字段的 schema 定义 实测(0.88): - R16 服务级闭环:写 5 条 → kill -9 → 重启 → rows=5 零丢失 + recovery report - R18 反证:缺 data 列 → exit_code=1 + missing columns [data](B2 生效) - R22 只读回读:journal_mode=wal / synchronous=2(FULL) / wal_autocheckpoint=1000 - /healthz 默认关(不带 -data-dir)不输出自检字段 - 门禁 10/3/2(与 E 线交付逐项相同,3 FAIL 仍是 C 线未提交代码的 4 个测试) | 15 天前 |
| feat(R29-F): 独立验收脚本(R1–R25 逐条脚本化)+ 压测探针 + F 线验收报告 新增(不改产品代码,红线:F 线只读): - scripts/accept_r29_alwayson.py:R1–R25 逐条脚本化,4 模式 (static/solo/pg/service),--only/--skip 挑跑,每条 PASS/FAIL/SKIP + 原始证据, 异常不中断整轮,收尾自动还原 rc.conf / 把服务拉回 RUNNING - scripts/perf_probe.py:stdlib 压测探针(R13/R25 固定条件:并发/时长/P95 落盘) 验收结论(0.82 solo+service、0.88 PG+门禁): - R1–R25:PASS 28 / FAIL 0 / SKIP 3(R5 重启窗口、R17 断电出范围、R20 无独立 zfs 池) - 门禁 0.88:PASS 15 / FAIL 0 / SKIP 0([11] PG 真机往返 PASS,非 SKIP) - 5 组反证实验全部成立(L-242/L-244/L-246/L-248/L-252:删修复即变红) - 红线复核:migrations/go.mod/ScanAll 契约零变化;默认关与 c203db8 逐字节对拍相同 缺陷清单(_R29_F线验收报告.md §5): - F-1(P1,A/T0) rc.d 不 chdir → solo 档相对 sqlite 路径打不开库,服务起不来 - F-2(P1,A) lightmem_pg_wait=0 无法关闭 PG 门 → 无 PG 机器上 solo 也起不来 - F-3(P2,A) stop 只杀 pidfile supervisor,孤儿 supervisor 会复活服务 - F-4(P2,T0) B2(PG 启动自检)默认开启,与红线④「默认关」口径冲突,需收口登记 | 15 天前 |
| fix(R19-A): /search 文本过滤修复与参数口径统一(q 权威 + text 别名) R160 I-12:handleSearch 只读 q,而 README/MCP 桥用 text,导致 Text 为空、 后端跳过文本过滤,任何串都返回作用域全量(分数恒定)。 改动(仅路由层 + 文档,未碰任何后端): - kernel/router.go handleSearch:q 优先、text 兜底(空白裁剪); 空查询 400 {"error":"q or text required"};tenant_id 必填; 无命中统一返回 [](旧为 null) - kernel/router_search_test.go(新增,14 用例):q/text 命中与等价、 无匹配空集、空查询 400、q 优先、q 空回落、tenant 隔离、viewer 私有隔离、 kind、top_k、大小写、空白裁剪 - README/docs/api.md/docs/api.openapi.yaml:参数口径、空查询语义、[] 语义同步 - sdk/python、sdk/js:search() docstring 口径同步 - integrations/dsh-mcp-bridge:tool_search 注释更新为「I-12 已修」, 仍同时发 q + text 0.88 实测:gofmt 归零;go vet rc=0;go test -run Search 14/14 PASS; go test ./kernel/ 零回归;gate.sh PASS 14 / FAIL 0 / SKIP 0; 真机 q=/text= 均按文本过滤、不存在串返回 []、空查询 400; MCP 桥 tool_search 真机命中 1 条、不存在串 0 命中。 未 push(等业主示意)。 | 19 天前 |
| feat(R160): DSH × lightmem 联调交付 — MCP 桥 + 0.88 rc.d 自启服务 + R19 任务书 背景:让 DeepSeek Harness(DSH)与 lightmem 通讯。DSH 侧唯一通道是 MCP, lightmem 只提供 REST,故需协议桥。 integrations/dsh-mcp-bridge/(桥) - lightmem_mcp_bridge.py:MCP(stdio) ↔ lightmem REST,零第三方依赖(Python stdlib), 暴露 7 个工具(save/recall/search/update/feedback/forget/health) - 修 UTF-8:中文 Windows 上 sys.stdin 默认 GBK,会把 DSH 发来的 UTF-8 中文解成 孤立代理项,导致写入含中文的记忆必崩(UnicodeEncodeError: surrogates not allowed)。 已在任何 I/O 前 reconfigure(encoding="utf-8") - 修 viewer:feedback/forget 服务端按 (viewer, tenant) 做可见性硬过滤, 缺 viewer 会 404「not visible to /<tenant>」,已显式补 user_id + viewer - 修 /search 参数名:服务端 handleSearch 只读 q,README 却写 text, 照抄 README 会导致文本过滤被跳过(返回全量)。桥改为同时发 q 与 text - deploy_lims_088.sh:0.88 上的编译/迁移/启停脚本(默认持久化 pgvector 档) integrations/lims-088-rc.d/(自启服务) - lightmem + install_lims_rc_d.sh:把 /tmp + nohup 的开发式部署升级为 /usr/local/lightmem + rc.d 开机自启,运行身份 workbuddy - 两个 FreeBSD 坑已内注释:daemon(8) 是前台监管(不能当 rc.subr 的 command, 否则 service start 永久挂住)→ 改自定义 start_cmd 显式后台化; 自定义 *_cmd 不套用 ${name}_user → 必须 daemon -u 显式降权 - 只按「本服务二进制 + profile」精确匹配停进程,不误杀同机 :8443 旧实例 .dumate/inbox/_R19_并行任务书.md(下一轮) - 承接 R160 未修的两项缺陷:A 线 /search 文本过滤失效(参数名 q/text 不一致); B 线 Solo/SQLite 后端为内存骨架、进程重启即丢全部记忆(含持久化方案决策门) .gitattributes:补 *.py / *.js 与无扩展名的 rc.d 脚本为 eol=lf 详见 _R160_DSH_lightmem_联调问题记录.md(17 条问题、根因与修复) | 19 天前 |
| feat(R24): 索引-内容解耦 + 静态记忆快车道(3FS/Engram)五线收口 基线 c908091(R23.3);门禁 PASS 12 / FAIL 1 / SKIP 1(FAIL 项 [1b] 的 11 个 文件全为历史遗留,与干净基线逐行相同,新增 FAIL=0);北极星 M1=1.0000, 七个数字与 R15 收口值逐位相同。 T0(阻塞门) - 0.88 对齐并重装到 c9080917a6de...,18443/18444 均 200 - L-225(P1):pgVisibilityPredicate 只追加 public OR 分支,逐字对齐 canView - 接缝预埋(router.go:4 个 interface{} 字段 + routeHooks + RegisterRoutes) - kernel/visibility_pg_test.go:真 PG public 跨租户 + 既有四值零回归 - kernel/router_seam_dump_test.go:三端点跨树逐位对拍(sha256 全等) A 线(Engram:L2 确定性查找表 + 快车道) - kernel/lookup.go:LookupIndex/LookupStats,键=hash(normalize(entity)|normalize(attr)) - 分流:唯一精确命中直达,否则回退并标 trace(no_index/miss/ambiguous) - kernel/lookup_test.go 23 Test + kernel/lookup_diffdump_test.go 跨树对拍 - 34 条查询对拍 sha256 全等;快慢一致率 30/30;bench ≈1/33.8 - L-228:三处「四层并行召回」注释订正为「顺序召回」 B 线(3FS:元数据为事实源 + 索引可重建) - kernel/reindex.go:Reconcile/RebuildIndex + 可选接口 VectorBackfiller/VectorIndexAuditor - L-227:Qdrant 不再把零向量冒充 vectorized,显式 pending + VectorSearch 过滤 - L-226:QueryParams 只增 IncludeSuperseded,三后端默认只返回当前生效版本 - 15 Test;Qdrant 真机重建后 zero=0 pending=0;Reconcile 幂等且只读 C 线(3FS 分层:访问模式确定性 + 成本感知晋升) - kernel/access.go:AccessTracker(Record 纯内存 / Flush 串行化 / 衰减 exp(-Δt/τ)+1) - L-223:AccessCount/RecentAccessScore 首次真实增长 - L-224:5 个死引擎经 RunLifecycleEngines 接线,默认关 - 17 Test;access_count 真实递增;衰减误差 <1e-9;-race 绿 D 线(3FS:L3 引用式存储) - kernel/refstore.go:RefStore/LocalRefStore + Hydrate + PurgeRefsForMemories - 21 Test;往返逐字节一致;篡改被 digest 拒;GDPR 级联挂接点显式声明 E 线(收口) - 重建北极星向量产物(4595 条 = A 3597 + B 600 + 增量 398)→ M1=1.0000 - lightmem.md 新增 D.3.1(产物位置/复跑前提/md5/工具链)+ D.11(L-223~L-228 关闭记录) - roadmap.md 新增「三·六、R24 收口留痕」 - scripts/gate.sh 登记 lookup:12 reindex:12 access:12 refstore:12 - _R24_收口报告.md + 五份线级交付报告 工程约定 - .gitignore 排除 eval/vectors 的 18.8MB 向量产物(只在 0.88,复跑必须去 0.88) - go.mod/go.sum 零变化(红线⑦);全部未 push,等业主示意(红线⑧) | 17 天前 |
| feat(R21-接入套件): 一键部署 + token 签发 + 配置生成 + 接入手册(ABC) 让**任何人或 AI** 拿到本仓库后即可自行接入:一条命令起服务,产出接入包, 再粘一段 prompt 给 AI 就能装好全部 MCP 配置。 新增: 1) integrations/quickstart/install.sh —— **一键部署**(零第三方依赖) - 检查 Go → 编译 kernel + mcp → 生成 profile(默认 solo/SQLite,零外部依赖) - 签发 token → 启动双服务(含健康检查)→ 生成客户端接入包 - 支持 --profile solo/family、--port/--bind、--tenant/--user、--no-mcp、 --systemd、--dry-run 2) integrations/agent-onboarding/issue_token.py —— token 签发 - 每个 Agent 一份 token;产出服务端整表 + **客户端单条**(stdio 必需) + tokens.csv;一律 0600 3) integrations/agent-onboarding/gen_configs.py —— 跨平台配置生成(替代 仅 Windows 的 gen_configs.ps1) - 产出 9 个配置片段 + MANIFEST.md(逐家「粘到哪/怎么粘/要不要重启」) + **agent-prompt.md(可直接粘给 AI 的自我安装指令)** 文档: 4) GETTING_STARTED.md —— 5 分钟接入手册(含宣传、三种接入方式、 三大命名陷阱、换 token 必须重启、排障速查) 5) AGENTS.md —— 给 AI Agent 的仓库入口(13 工具清单、接入事实、开发红线) 6) README.md 顶部新增「5 分钟让所有 AI 共用一个大脑」入口与文档表条目 7) .gitignore 增加 _lightmem_run/、agent-tokens.json、tokens.csv 等凭据保护 真机验证(0.88,全新目录): - install.sh 一条命令 RC=0;SQLite 落盘、双服务 healthz ok - 用**刚签发**的 token 连**刚起**的服务:13 工具; 工作流闭环(建计划→推进度 0.4→记步骤→列计划含 progress=0.4→召回)全通; 无 token 401 - 三大类型标记校验:streamableHttp(驼峰)/streamable_http(下划线)/remote 各自正确 实测踩到并修的坑: - 健康检查「通过」≠ 新进程起来了:端口残留旧进程时 curl 命中旧进程, 表现为换发 token 全 401 而一切看似正常 → 增加 bind 失败检测与排障指引 - gen_configs.py 先写文件后校验 token,会留残缺产物 → 改为先全校验再落盘 - trae-workspace 是 trae 的工作区变体,应复用 trae 的 token(不另签) - agent-prompt.md 用 % 格式化与字面 %USERPROFILE% 冲突 → 改为字符串拼接 | 18 天前 |
| feat(R29-T0): S0 接缝(接口冻结 + main.go 预埋 + auth 豁免 + profile B1)+ P0-A 部署三件套 新增 4 个冻结接口文件 health_probe/scheduler/drain/bootreport(含 27 单测);main.go 预埋 /livez /readyz、维护调度、优雅排水、启动自检调用点(全线唯一 owner)。 auth.go 豁免 /livez /readyz;profile.go validate 增 B1(pg 档缺 host fail-fast);profiles 补 storage.pg.host 声明。 deploy/ 落 watchdog + cron + newsyslog + systemd;文档勘误(档位矩阵/README/GETTING_STARTED/rc.d README);gate.sh 登记 NEW_GO/NEW_FILES。顺带修 4 文件历史 gofmt 债,0.82 实跑全仓清零。 门禁 PASS 13/FAIL 0/SKIP 2(go1.25.14 含 eval/)。红线⑤:仅本地 commit,不 push。T0-3 accept_r23 待 frontend 二进制/业主决断。 | 16 天前 |
| docs(R166-T4): 写入示例补 visibility/permission.owner + 订正 api.md「visibility 默认 private」错误描述 R27+ 引入 PermissionPolicy 与严格 canView 后,文档示例已失效: - 缺 permission.owner ⇒ POST /memories 返回 422 writepolicy permission required; - 缺 visibility ⇒ 201 但 Memory.canView 对零值无匹配分支、直接 false ⇒ 检索恒空(静默不可见)。 改动: - README.md:写入示例补 "visibility": "private" + "permission": {"owner": "u1"}; 新增「写入必填字段」小节(缺 owner 422 / 缺 visibility 静默不可见)。 - docs/api.md:字段表订正 visibility「默认 private」(错)→「缺省不可见」,补全合法值 private/shared_user/tenant/cross_tenant/public;permission.owner 标注必填;权限规则表同步。 判据(0.88 sqlite 档,照抄新示例):POST 201 + GET /search?q=客户A偏好 命中 score 0.7。 | 10 天前 |
| docs(R24): 推送状态与北极星产物复跑前提落实到文档 - 六份交付报告 + lightmem.md D.11 + roadmap.md 的「未 push」声明更新为已推送 - 推送状态:commit 7cb0f83;origin/gitea 与 gitcode 的 main 均为 7cb0f83 (git ls-remote 复核一致);github 因历史为内容等价但 SHA 不同的重放版, 采用非破坏性 cherry-pick 同步,其 main 为 f5e172b(tree ba38966 与 7cb0f83 逐字节相同) - lightmem.md D.3.1 与 roadmap.md 三·六 明确:向量产物只在 0.88、 从未入 git、复跑必须去 0.88,并给出 md5 与完整重建过程 | 17 天前 |
| docs(R24): 推送状态与北极星产物复跑前提落实到文档 - 六份交付报告 + lightmem.md D.11 + roadmap.md 的「未 push」声明更新为已推送 - 推送状态:commit 7cb0f83;origin/gitea 与 gitcode 的 main 均为 7cb0f83 (git ls-remote 复核一致);github 因历史为内容等价但 SHA 不同的重放版, 采用非破坏性 cherry-pick 同步,其 main 为 f5e172b(tree ba38966 与 7cb0f83 逐字节相同) - lightmem.md D.3.1 与 roadmap.md 三·六 明确:向量产物只在 0.88、 从未入 git、复跑必须去 0.88,并给出 md5 与完整重建过程 | 17 天前 |
| docs(R24): 推送状态与北极星产物复跑前提落实到文档 - 六份交付报告 + lightmem.md D.11 + roadmap.md 的「未 push」声明更新为已推送 - 推送状态:commit 7cb0f83;origin/gitea 与 gitcode 的 main 均为 7cb0f83 (git ls-remote 复核一致);github 因历史为内容等价但 SHA 不同的重放版, 采用非破坏性 cherry-pick 同步,其 main 为 f5e172b(tree ba38966 与 7cb0f83 逐字节相同) - lightmem.md D.3.1 与 roadmap.md 三·六 明确:向量产物只在 0.88、 从未入 git、复跑必须去 0.88,并给出 md5 与完整重建过程 | 17 天前 |
| docs(R24): 推送状态与北极星产物复跑前提落实到文档 - 六份交付报告 + lightmem.md D.11 + roadmap.md 的「未 push」声明更新为已推送 - 推送状态:commit 7cb0f83;origin/gitea 与 gitcode 的 main 均为 7cb0f83 (git ls-remote 复核一致);github 因历史为内容等价但 SHA 不同的重放版, 采用非破坏性 cherry-pick 同步,其 main 为 f5e172b(tree ba38966 与 7cb0f83 逐字节相同) - lightmem.md D.3.1 与 roadmap.md 三·六 明确:向量产物只在 0.88、 从未入 git、复跑必须去 0.88,并给出 md5 与完整重建过程 | 17 天前 |
| docs(R24): 推送状态与北极星产物复跑前提落实到文档 - 六份交付报告 + lightmem.md D.11 + roadmap.md 的「未 push」声明更新为已推送 - 推送状态:commit 7cb0f83;origin/gitea 与 gitcode 的 main 均为 7cb0f83 (git ls-remote 复核一致);github 因历史为内容等价但 SHA 不同的重放版, 采用非破坏性 cherry-pick 同步,其 main 为 f5e172b(tree ba38966 与 7cb0f83 逐字节相同) - lightmem.md D.3.1 与 roadmap.md 三·六 明确:向量产物只在 0.88、 从未入 git、复跑必须去 0.88,并给出 md5 与完整重建过程 | 17 天前 |
| docs(R24): 推送状态与北极星产物复跑前提落实到文档 - 六份交付报告 + lightmem.md D.11 + roadmap.md 的「未 push」声明更新为已推送 - 推送状态:commit 7cb0f83;origin/gitea 与 gitcode 的 main 均为 7cb0f83 (git ls-remote 复核一致);github 因历史为内容等价但 SHA 不同的重放版, 采用非破坏性 cherry-pick 同步,其 main 为 f5e172b(tree ba38966 与 7cb0f83 逐字节相同) - lightmem.md D.3.1 与 roadmap.md 三·六 明确:向量产物只在 0.88、 从未入 git、复跑必须去 0.88,并给出 md5 与完整重建过程 | 17 天前 |
| style(R25-A): gofmt 历史债清零 —— kernel/ 11 个文件(L-229) A 线(R25):gofmt -l kernel/ 由 11 个文件清零,门禁三数 12/1/1 → 13/0/1 ([1b] 与 [1] 双双转 PASS,rc=0)。这是 R15 门禁矩阵有记录以来首次 FAIL:0。 范围(任务书 §4.1,与实测一致): - kernel/admin.go (R22.2 管理 API) - kernel/authn_ory.go (R22.4 Ory Kratos 适配器) - kernel/frontend/ 下 9 个 (R23.1 前台服务) 改动性质:git diff 为 +30/−30 完全对称,逐行确认全是 struct tag 列宽重排, 零逻辑改动;未"顺手改进"这些文件的任何代码。 验证(0.88,go1.25.14 freebsd/amd64): - gofmt -l . 为空;go build / go vet 通过 - go test -count=1 ./... 连跑两次 rc=0(kernel/oidc-stub/frontend/i18n 4 包全 ok) - go test -count=1 -race . 27.2s 无竞态 - sh scripts/gate.sh rc=0,PASS 13 / FAIL 0 / SKIP 1(SKIP 为 PG env 未配) - go.mod / go.sum 零变化 勘误说明:任务书 §0.1 勘误 E1 提到提交态 6cd26e0 上此清单为 12 个(多 router_seam_dump_test.go),该文件已由 09db054 修复,故 A 线开工面对修后 状态、清单回到 11 个;本线未触碰该文件。 | 17 天前 |
| docs(R25): 推送状态落实 —— origin/gitcode=82d31e0,github=5157d53ba0(inline 内容等价,tree 逐字节相同) | 17 天前 |
| docs(R25): 推送状态落实 —— origin/gitcode=82d31e0,github=5157d53ba0(inline 内容等价,tree 逐字节相同) | 17 天前 |
| feat(R25): B/C/D/E 收口 —— solo 向量检索(L-232) + MarkFast 接线(L-230) + 档位矩阵(L-233) + 北极星换代 - B: SQLiteVectorStore(BLOB + Go 暴力余弦,零新增依赖)+ BackfillVectors, /search/vector 在 solo 档真正可用;11 Test;默认关零回归 - C: router_mem.go:236 快车道 MarkFast 接线(deterministic 生产可达)+ PG 真机 access_count 闭环 - D: docs/档位能力矩阵.md(四档逐格附 file:line)+ README 能力边界(只增不删) - E: gate 登记 sqlite_vector:11 + bench_p95.py(/search P95=45.56ms 基线首建) + lightmem.md D.12(L-229~L-233)/D.3.1 换代口径 + roadmap 三·七 + 收口报告(§12 14/14) - 北极星五数与 R24/R15 逐位相同:M1=1.0000 / M2=0.2498(主判据持平达标)/ 压缩 35.33% / vetoed=0 - 门禁 PASS 13 / FAIL 0 / SKIP 1(R15 门禁矩阵有记录以来首次 FAIL=0) | 17 天前 |
| feat(R25-T0): L-231 安装脚本双脚本等端口释放 + 0.88 对齐 6cd26e0 + 交付报告 T0 线(阻塞门)成果落地。外发 agent 只改文件+验证,由主 agent commit。 L-231(P2,R24 实测踩到) - install_lims_rc_d.sh:187 与 install_lims_mcp_rc_d.sh:154 是同一 sleep 1 缺陷的 18443 / 18444 两侧副本;kill 旧实例后只等 1 秒就启动新进程, 撞 "bind: address already in use" 导致双停(R24 升级时实际发生) - 两处均改为轮询等端口真正释放(30s 超时 + 告警),各 +13/−1 0.88 对齐与复验 - 工作树 reset --hard 到 6cd26e0,以 workbuddy 编译三二进制 - 安装 + sysrc 启用 + 复验:18443/18444 均 200,开机自启 YES/YES, VERSION.source_commit=6cd26e01c3ce17fe437fbef94f81ba71f656d9df - 连续两轮 install(main+mcp)后双服务仍 200,日志 address already in use 计数=0 基线三数(提交态实测) - PASS 11 / FAIL 2 / SKIP 1([1] gofmt 本轮新增文件 + [1b] 全仓 gofmt) - 证据包 /tmp/r25_t0_evidence/;探针 /tmp/r25_a_probe 验证 A 线后可达 13/0/1 _R25_T0交付报告.md 含判据核对表、根因证伪、三条勘误(E1/E2/E3)。 | 17 天前 |
| docs(R25): 基线勘误再前移 —— 修复后提交态复测 12/1/1(A 线开工基线) T0 报的 11/2/1 是 6cd26e0 提交态;主 agent 修复 router_seam_dump_test.go(09db054)后提交态复测(连跑两次稳定) = PASS 12 / FAIL 1 / SKIP 1,FAIL 仅剩 [1b] 的 11 个历史文件。 ⇒ A 线开工基线订正为 12/1/1;A 线交付后收口态 13/0/1。 §2.3 增加三时点对照表(R24 工作树 / 6cd26e0 / 09db054), 并写明「数字相同不等于依据相同」与「基线必须在提交态上量」两条教训。 | 17 天前 |
| docs(R25): 推送状态落实 —— origin/gitcode=82d31e0,github=5157d53ba0(inline 内容等价,tree 逐字节相同) | 17 天前 |
| feat(R26): 可信度收口 —— PG 门禁 14/0/0(L-234) + solo 向量预筛/批量事务(L-235/L-236) + 推送脚本(L-237) 门禁:PASS 14 / FAIL 0 / SKIP 0(R15 门禁矩阵引入以来首次 SKIP=0,_r26_088_gate.log) 北极星:M1=1.0000 / M2=0.2498 / 压缩 35.33% / vetoed=0(r26 报告与 R25 逐字节相同) P95:/search=35.63ms(红线内);/search/vector=25.91ms 且 300x200(503 清零),超 19.70ms 红线 -> L-239 A 线(L-234):scripts/gate.sh 头部可选 env hook(+19/-0,[11] 判定段逐字未改) + 0.88 固化 /var/db/lightmem/gate.env(600、不入 git、trust 免密无密码);[11] SKIP -> PASS(13 项) B 线(L-235/L-236):SearchAllowed 余弦前可见租户预筛(单租户 short-circuit 逐位一致) + PutBatch 单事务批量 upsert;backfill 800 条单次 409.7ms(基线 11700ms);测试 11 -> 15 C 线(L-237):scripts/push_all_remotes.sh(三远端命令序列 + token 排错 + inline 回退;不自动 push) D 线:docs/档位能力矩阵.md 回填 B 线结论 + sqlite-vec「默认不做」决策 + PG env 运维段;README 推送指针 E 线:lightmem.md §D.3.1 R26 五数 + §D.13(L-234~L-237 关闭 + L-238/L-239 新登记);roadmap.md 三·八留痕 新登记:L-238(eval/e2e/pg 夹具隔离 + private 跨租户语义,待裁定)、L-239(visibleMemoryIDs 全量 loadAll 致 /search/vector 延迟 ~2.2x,B 线域待修) | 16 天前 |
| feat(R26): 可信度收口 —— PG 门禁 14/0/0(L-234) + solo 向量预筛/批量事务(L-235/L-236) + 推送脚本(L-237) 门禁:PASS 14 / FAIL 0 / SKIP 0(R15 门禁矩阵引入以来首次 SKIP=0,_r26_088_gate.log) 北极星:M1=1.0000 / M2=0.2498 / 压缩 35.33% / vetoed=0(r26 报告与 R25 逐字节相同) P95:/search=35.63ms(红线内);/search/vector=25.91ms 且 300x200(503 清零),超 19.70ms 红线 -> L-239 A 线(L-234):scripts/gate.sh 头部可选 env hook(+19/-0,[11] 判定段逐字未改) + 0.88 固化 /var/db/lightmem/gate.env(600、不入 git、trust 免密无密码);[11] SKIP -> PASS(13 项) B 线(L-235/L-236):SearchAllowed 余弦前可见租户预筛(单租户 short-circuit 逐位一致) + PutBatch 单事务批量 upsert;backfill 800 条单次 409.7ms(基线 11700ms);测试 11 -> 15 C 线(L-237):scripts/push_all_remotes.sh(三远端命令序列 + token 排错 + inline 回退;不自动 push) D 线:docs/档位能力矩阵.md 回填 B 线结论 + sqlite-vec「默认不做」决策 + PG env 运维段;README 推送指针 E 线:lightmem.md §D.3.1 R26 五数 + §D.13(L-234~L-237 关闭 + L-238/L-239 新登记);roadmap.md 三·八留痕 新登记:L-238(eval/e2e/pg 夹具隔离 + private 跨租户语义,待裁定)、L-239(visibleMemoryIDs 全量 loadAll 致 /search/vector 延迟 ~2.2x,B 线域待修) | 16 天前 |
| feat(R26): 可信度收口 —— PG 门禁 14/0/0(L-234) + solo 向量预筛/批量事务(L-235/L-236) + 推送脚本(L-237) 门禁:PASS 14 / FAIL 0 / SKIP 0(R15 门禁矩阵引入以来首次 SKIP=0,_r26_088_gate.log) 北极星:M1=1.0000 / M2=0.2498 / 压缩 35.33% / vetoed=0(r26 报告与 R25 逐字节相同) P95:/search=35.63ms(红线内);/search/vector=25.91ms 且 300x200(503 清零),超 19.70ms 红线 -> L-239 A 线(L-234):scripts/gate.sh 头部可选 env hook(+19/-0,[11] 判定段逐字未改) + 0.88 固化 /var/db/lightmem/gate.env(600、不入 git、trust 免密无密码);[11] SKIP -> PASS(13 项) B 线(L-235/L-236):SearchAllowed 余弦前可见租户预筛(单租户 short-circuit 逐位一致) + PutBatch 单事务批量 upsert;backfill 800 条单次 409.7ms(基线 11700ms);测试 11 -> 15 C 线(L-237):scripts/push_all_remotes.sh(三远端命令序列 + token 排错 + inline 回退;不自动 push) D 线:docs/档位能力矩阵.md 回填 B 线结论 + sqlite-vec「默认不做」决策 + PG env 运维段;README 推送指针 E 线:lightmem.md §D.3.1 R26 五数 + §D.13(L-234~L-237 关闭 + L-238/L-239 新登记);roadmap.md 三·八留痕 新登记:L-238(eval/e2e/pg 夹具隔离 + private 跨租户语义,待裁定)、L-239(visibleMemoryIDs 全量 loadAll 致 /search/vector 延迟 ~2.2x,B 线域待修) | 16 天前 |
| feat(R26): 可信度收口 —— PG 门禁 14/0/0(L-234) + solo 向量预筛/批量事务(L-235/L-236) + 推送脚本(L-237) 门禁:PASS 14 / FAIL 0 / SKIP 0(R15 门禁矩阵引入以来首次 SKIP=0,_r26_088_gate.log) 北极星:M1=1.0000 / M2=0.2498 / 压缩 35.33% / vetoed=0(r26 报告与 R25 逐字节相同) P95:/search=35.63ms(红线内);/search/vector=25.91ms 且 300x200(503 清零),超 19.70ms 红线 -> L-239 A 线(L-234):scripts/gate.sh 头部可选 env hook(+19/-0,[11] 判定段逐字未改) + 0.88 固化 /var/db/lightmem/gate.env(600、不入 git、trust 免密无密码);[11] SKIP -> PASS(13 项) B 线(L-235/L-236):SearchAllowed 余弦前可见租户预筛(单租户 short-circuit 逐位一致) + PutBatch 单事务批量 upsert;backfill 800 条单次 409.7ms(基线 11700ms);测试 11 -> 15 C 线(L-237):scripts/push_all_remotes.sh(三远端命令序列 + token 排错 + inline 回退;不自动 push) D 线:docs/档位能力矩阵.md 回填 B 线结论 + sqlite-vec「默认不做」决策 + PG env 运维段;README 推送指针 E 线:lightmem.md §D.3.1 R26 五数 + §D.13(L-234~L-237 关闭 + L-238/L-239 新登记);roadmap.md 三·八留痕 新登记:L-238(eval/e2e/pg 夹具隔离 + private 跨租户语义,待裁定)、L-239(visibleMemoryIDs 全量 loadAll 致 /search/vector 延迟 ~2.2x,B 线域待修) | 16 天前 |
| feat(R26): 可信度收口 —— PG 门禁 14/0/0(L-234) + solo 向量预筛/批量事务(L-235/L-236) + 推送脚本(L-237) 门禁:PASS 14 / FAIL 0 / SKIP 0(R15 门禁矩阵引入以来首次 SKIP=0,_r26_088_gate.log) 北极星:M1=1.0000 / M2=0.2498 / 压缩 35.33% / vetoed=0(r26 报告与 R25 逐字节相同) P95:/search=35.63ms(红线内);/search/vector=25.91ms 且 300x200(503 清零),超 19.70ms 红线 -> L-239 A 线(L-234):scripts/gate.sh 头部可选 env hook(+19/-0,[11] 判定段逐字未改) + 0.88 固化 /var/db/lightmem/gate.env(600、不入 git、trust 免密无密码);[11] SKIP -> PASS(13 项) B 线(L-235/L-236):SearchAllowed 余弦前可见租户预筛(单租户 short-circuit 逐位一致) + PutBatch 单事务批量 upsert;backfill 800 条单次 409.7ms(基线 11700ms);测试 11 -> 15 C 线(L-237):scripts/push_all_remotes.sh(三远端命令序列 + token 排错 + inline 回退;不自动 push) D 线:docs/档位能力矩阵.md 回填 B 线结论 + sqlite-vec「默认不做」决策 + PG env 运维段;README 推送指针 E 线:lightmem.md §D.3.1 R26 五数 + §D.13(L-234~L-237 关闭 + L-238/L-239 新登记);roadmap.md 三·八留痕 新登记:L-238(eval/e2e/pg 夹具隔离 + private 跨租户语义,待裁定)、L-239(visibleMemoryIDs 全量 loadAll 致 /search/vector 延迟 ~2.2x,B 线域待修) | 16 天前 |
| feat(R26): 可信度收口 —— PG 门禁 14/0/0(L-234) + solo 向量预筛/批量事务(L-235/L-236) + 推送脚本(L-237) 门禁:PASS 14 / FAIL 0 / SKIP 0(R15 门禁矩阵引入以来首次 SKIP=0,_r26_088_gate.log) 北极星:M1=1.0000 / M2=0.2498 / 压缩 35.33% / vetoed=0(r26 报告与 R25 逐字节相同) P95:/search=35.63ms(红线内);/search/vector=25.91ms 且 300x200(503 清零),超 19.70ms 红线 -> L-239 A 线(L-234):scripts/gate.sh 头部可选 env hook(+19/-0,[11] 判定段逐字未改) + 0.88 固化 /var/db/lightmem/gate.env(600、不入 git、trust 免密无密码);[11] SKIP -> PASS(13 项) B 线(L-235/L-236):SearchAllowed 余弦前可见租户预筛(单租户 short-circuit 逐位一致) + PutBatch 单事务批量 upsert;backfill 800 条单次 409.7ms(基线 11700ms);测试 11 -> 15 C 线(L-237):scripts/push_all_remotes.sh(三远端命令序列 + token 排错 + inline 回退;不自动 push) D 线:docs/档位能力矩阵.md 回填 B 线结论 + sqlite-vec「默认不做」决策 + PG env 运维段;README 推送指针 E 线:lightmem.md §D.3.1 R26 五数 + §D.13(L-234~L-237 关闭 + L-238/L-239 新登记);roadmap.md 三·八留痕 新登记:L-238(eval/e2e/pg 夹具隔离 + private 跨租户语义,待裁定)、L-239(visibleMemoryIDs 全量 loadAll 致 /search/vector 延迟 ~2.2x,B 线域待修) | 16 天前 |
| feat(R26): 可信度收口 —— PG 门禁 14/0/0(L-234) + solo 向量预筛/批量事务(L-235/L-236) + 推送脚本(L-237) 门禁:PASS 14 / FAIL 0 / SKIP 0(R15 门禁矩阵引入以来首次 SKIP=0,_r26_088_gate.log) 北极星:M1=1.0000 / M2=0.2498 / 压缩 35.33% / vetoed=0(r26 报告与 R25 逐字节相同) P95:/search=35.63ms(红线内);/search/vector=25.91ms 且 300x200(503 清零),超 19.70ms 红线 -> L-239 A 线(L-234):scripts/gate.sh 头部可选 env hook(+19/-0,[11] 判定段逐字未改) + 0.88 固化 /var/db/lightmem/gate.env(600、不入 git、trust 免密无密码);[11] SKIP -> PASS(13 项) B 线(L-235/L-236):SearchAllowed 余弦前可见租户预筛(单租户 short-circuit 逐位一致) + PutBatch 单事务批量 upsert;backfill 800 条单次 409.7ms(基线 11700ms);测试 11 -> 15 C 线(L-237):scripts/push_all_remotes.sh(三远端命令序列 + token 排错 + inline 回退;不自动 push) D 线:docs/档位能力矩阵.md 回填 B 线结论 + sqlite-vec「默认不做」决策 + PG env 运维段;README 推送指针 E 线:lightmem.md §D.3.1 R26 五数 + §D.13(L-234~L-237 关闭 + L-238/L-239 新登记);roadmap.md 三·八留痕 新登记:L-238(eval/e2e/pg 夹具隔离 + private 跨租户语义,待裁定)、L-239(visibleMemoryIDs 全量 loadAll 致 /search/vector 延迟 ~2.2x,B 线域待修) | 16 天前 |
| feat(R27): private 租户内强隔离落地(业主裁定 L-238)+ 夹具隔离 + L-239 收尾 门禁:PASS 14 / FAIL 0 / SKIP 0(_r27_088_gate.log) 北极星:M1=1.0000 / M2=0.2498 / 压缩 35.33% / vetoed=0(r27 报告与 R26 逐字节相同) P95:/search=35.75ms(红线内);/search/vector=22.92ms(25.91 -> -11.5%,503 保持清零), 仍超 19.70ms 红线 -> L-239 部分修复,如实登记 A 线(L-238b,业主裁定规则 1/2): - canView VisPrivate 与 pgVisibilityPredicate **两侧同加 tenant 等值约束** (等值而非非空:solo/未传租户上下文时两侧同空仍可见,避免生产回归) - 三处 Get(sqlite/pg/qdrant)「不可见」返回统一为 not found:跨租户与不存在 不可区分,消除存在性/归属泄漏 - 审计结论:读侧无 403;写侧 EnforcePrivateOwner 的 403 属入参校验,非跨租户读; 无 admin/superuser 读 private 的代码路径 C 线(L-238a):eval/e2e/pg 加 uniqueUser()(7 处固定 user 唯一化)+ TestMain 残留自清 (按 source='r10b-e2e' 只清本套件)+ 声明式正负样本(夹具建不出来即 Fatal,绝不 Skip) -> 脏库连跑 TestPgQueryVectorSearch 3 次 rc=0/0/0(R26-A 基线 0/1/0 摆动) D 线(L-238c):新增 kernel/visibility_tenant_test.go(4 用例:单元含 solo 空租户防回归、 Get 不可区分、Query 不泄漏、PG 真机);先证伪(修复前三红)再修复(全绿) E 线(L-239):visibleMemoryIDs 由 loadAll 改为定向取列 + 只反序列化可见性字段, 判定仍复用 canView(禁止 SQL 侧 json_extract 另造可见性判断) F 线:gate.sh NEW_GO/NEW_FILES 追加 visibility_tenant_test.go / visibility_tenant:4; lightmem.md §D.14 + §D.3.1 R27 五数;roadmap.md 三·九;矩阵补 private 跨租户语义行 go.mod / go.sum 零变化。未 push(红线⑧,等业主示意)。 | 16 天前 |
| docs(R27): 收口报告登记三远端推送结果(origin/gitcode=9e3092e, github=5e4b244c31) | 16 天前 |
| feat(R28): 非 superuser 断言(L-240) + 可见性内存索引/结果缓存埋点(L-239) + 夹具两道保险 —— 门禁 15/0/0 | 16 天前 |
| docs(R29): 永续运行设计稿 v1.1 + R29 并行任务书 + R28 推送状态勘误 【设计稿·新增】 - docs/永续运行架构设计_v1.0.md:首版四层模型(P0-A~P3、15 缺口、21 判据);已加「被 v1.1 取代」横幅,仅作评审留档 - docs/永续运行架构设计_v1.1.md:依外部评审修订。16 条缺口(G1~G16,逐条 file:line+符号)、 25 条验收判据(R1~R25)、8 个待决问题(Q1~Q8)、评审意见处置表(附录 D) 实质修订 12 处:①FreeBSD 用 daemon -R/-C 原生防抖替代裸 -r;②stop 顺序改为 「先 supervisor 后 pkill 兜底」(撤销 v1.0「现有顺序天然兼容」的错误结论); ③健康拆 /livez、/healthz、/readyz 三端点(含 liveness 不能用含 Ping 的 /healthz); ④排水两阶段+硬兜底,禁止先 Close backend 再让 goroutine 跑(use-after-close); ⑤新增 BatchedMemoryScanner(keyset),不动 ScanAll 契约;⑥G12 默认「如实降级」 (补 pg.host + validate fail-fast + 文档标注主备未接线;自动故障转移明确出范围); ⑦/readyz 加 TTL 缓存 + 最小响应;⑧指标集与「暂停重启」控制面外置,不暴露假 restart_count; ⑨RTO/RPO 补「当前可实现值/依赖条件」;⑩R13 加可复现压测模板;⑪状态机区分目标态与现状, I1 改为可证伪;⑫证据引用改「commit 基线 + 符号名」双轨(行号会漂移) 【任务书·新增】 - _R29_并行任务书_永续运行.md:7 线(T0 接缝+P0-A / A 守护 / B 健康 / C 调度 / D 排水+批量扫描 / E 耐久自检 / F 独立验收),波次依赖、文件域互斥硬约束(main.go 仅 T0 可改,他线提「预埋请求」)、 接口冻结、缺陷账 L-242~L-257(承接 L-241)、行为变更 B1~B5 登记、本轮不做清单、 可直接分发的 dispatch.ps1 逐线 prompt、收口清单 11 项 【勘误·R28 推送状态:报告写于推送之前】 - _R28_收口报告.md:文首结论与 §5 遗留表第 7 行改为「已推三远端」;新增 §7 追记 (可复跑核验命令 + 三远端 SHA/tree 对照表 + R28 两条 commit 的 SHA 映射) - lightmem.md §D 第 7 行、roadmap.md 第 6 条:同步改为已推三远端 - roadmap.md 第 5 条:更正为「PG trust 已收紧(host=scram-sha-256、local=peer,trust 清零)」—— 该处被 c203db8 漏改(该 commit 只更新了报告/deploy/README/lightmem.md) 【核验证据】git ls-remote(直问服务器) - origin(gitea 192.168.1.5:3000) = gitcode = c203db88f53d64e0338c3be160df28ac89baf715(与本地 HEAD 完全相同) - github = 49b7d1a1cddf699cfc3d7484d99c75d346557691(内容等价:tree c6f8f38fc208e802ddc8314c145acbf1c455d7b1 与本地 c203db8 逐字节相同) - SHA 映射:828229e(3040a3b6)↔a24216a(3040a3b6)、c203db8(c6f8f38f)↔49b7d1a(c6f8f38f) 【基线】R29 起跑基线为 c203db8;828229e..c203db8 仅触及 _R28_收口报告.md/deploy/README.md/lightmem.md, 对 R29 引用的 kernel/、integrations/lims-088-rc.d/、docs/档位能力矩阵.md 零改动, 故设计稿与任务书中的 file:line 证据、以及「零回归逐位一致」基线在两处 commit 下同样成立。 【未推送】本条 commit 仅落本地,等业主示意(红线) | 16 天前 |
| docs(R29-A): 补 0.82 真机实测 R1/R2/R3 PASS(solo/sqlite 档) - 0.82 FreeBSD 15.1-STABLE 真机:daemon -f -H -R 5 -C 24 拉起 lightmem-kernel - R2: kill -9 kernel → supervisor 5s 内自愈,/healthz 200 - R1: TERM supervisor → 20s 后无残留、端口释放、不复活 - R3: sockstat 18443 恰好 1 行 - R4 鉴权矩阵在 0.88 R21 T3 已验 - 不 push | 16 天前 |
| docs(R29-B): 修正报告中 R6/R7/R24 等价覆盖表述(对齐单测名) | 16 天前 |
| docs(R29): 收口报告 + 遗留问题存档 + 门禁日志(C 线报告补交) - _R29_收口报告.md:六线交付总览 / 门禁 15-0-0([11][12] 真跑)/ R1-R25 汇总 / B1-B5 行为变更逐条放行与回退 / L-242~L-257 逐条状态(12 关闭 + 5 部分关闭)/ 新立 L-258~L-261 / 环境与回滚 / 北极星未复跑(不标绿,登记为有条件收口) - _R29_遗留问题存档.md:13 条遗留逐条存档(现象/复现/证据/责任人/修法/验收判据) + 已规避未修风险 + R30 复跑入口 - _r29_088_gate.log:门禁矩阵原始日志(23 行,md5 d14de2cc…) - _R29_C线交付报告.md:C 线交付报告此前漏提交,本次补交 | 15 天前 |
| feat(R29-D): L3' 停机排水硬化 + keyset 批量扫描(L-246/L-247/L-249) drain.go 接手 T0 骨架硬化(§10 冻结签名全保留): - Run 每阶段日志改 R14 证据串 "[drain] waiting <stage> (soft timeout …)",完成/错误带耗时; - 超时:明确「unfinished markers are KEPT」日志 + 经 DrainTimeoutCounter 接口注入 计 drain_timeouts_total(B 线 IncDrainTimeout 结构满足;nil=默认关=不计数); - MarkUnfinished 原子写升级 fsync(file)+rename+dir fsync; - ClearUnfinished 收紧为 *.drain.unfinished 后缀且跳过子目录; - Add(nil wait) 防御。 scan_batched.go(新,修 L-249):BatchedMemoryScanner 分页器语义 (一次调用一批;next="" 扫完;fn 失败回传入参 after 可重试本批)。 sqlite/pg 后端 keyset 按 memory_id 游标(无 OFFSET),持锁只包读一批, 出锁后反序列化→回调→Gosched+2ms 让位;pg 列清单与 ScanAll 逐字一致。 MaintBatchEnabled/MaintBatchSize 开关判定(默认关,getenv 注入不读 os.Getenv)。 测试:drain_test 7→15(超时计数/waiting 日志/ctx 传播/超时保留标记/ tmp 清理/后缀隔离/在途轮次 drain 库级 E2E/超时不 Close 反证); scan_batched_test 新 13(keyset 不丢不重含并发写、空表、回调错误、 与 ScanAll 一致性、ctx 取消、PG 真机 env 缺省 skip、开关默认关)。 gate.sh 登记 scan_batched:8 + NEW_GO 两项(与 T0 模式一致)。 0.88 门禁 13/0/2(FAIL 0;2 SKIP=PG env not set 环境级,见报告 §9.2)。 main.go 接线经预埋请求 PB-1~PB-4 交付 T0(access-flush bgCtx、 maint.Stop 前移、标记生命周期+计数注入、WaitGroup 排水阶段)。 LIMS_MAINT_BATCH 消费点留 C 线 consolidate.go(报告 §7)。 红线⑤:仅本地 commit,未 push。 | 16 天前 |
| feat(R29-E): L4 耐久与恢复自检 —— SQLite pragma 显式化 + 启动自检缺表缺列 fail-fast(L-251/L-252) - backend_sqlite.go:storage.sqlite.{synchronous,busy_timeout_ms,wal_autocheckpoint, checkpoint_on_close} 逐条 if 守卫执行(零值 = 不执行 = 与 c203db8 逐位一致,B5); Close 时按配置 wal_checkpoint(TRUNCATE)(2s 超时,失败只告警不阻塞关闭) - bootreport.go:表存在 + 关键列断言(SQLite 2 列 / PG 7 列)+ 条数 + 恢复点 (WAL 大小 / pg_last_xact_replay_timestamp)+ VERSION 一致性 + 未完成标记; 缺表/缺列 fail-fast(B2) - backend_pg.go:pgBootCheck 并列追加在 R28 superuser 断言之后(不覆盖不重排) - buildinfo.go:BuildVersion(ldflags 注入;未注入 = 不判定,不误报) - bootreport_test.go(22 测)+ backend_sqlite_durability_test.go(13 测) - manuals:§13 季度恢复演练(四步流程 + 通过判据 + 清理 + Solo 差异) 默认关:零值 profile 不执行任何 PRAGMA、不自检(-data-dir 未设)。 门禁 0.88:PASS 10 / FAIL 3 / SKIP 2;3 个 FAIL 均来自 C 线未提交代码的 4 个确定性失败测试(已做隔离实证:还原 E 线文件后原样复现)。 | 15 天前 |
| docs(R29-F): 报告结论口径精确化 —— 25 条判据 PASS 22/SKIP 3,另单测与红线复核全绿 修正 §0 汇总口径:原「PASS 28」是**模式级行数**(含 B/C/D/E-unit、RED、B1 反证), 按 R1–R25 判据口径应为 25 条 = PASS 22 / FAIL 0 / SKIP 3(R5/R17/R20)。 | 15 天前 |
| fix(R29-T0): accept_r23 路径参数化 + T0-3 E2E 收口(23/23 PASS) - scripts/accept_r23.py: HERE 改为 LIGHTMEM_REPO_DIR 环境变量兜底, 0.88 默认行为不变,0.82 跑前 export 即可;frontend 二进制源自仓库内 kernel/cmd/lightmem-frontend(非外部依赖)。 - _R29_T0交付报告.md: §9.1 闭环记录——0.82 现编现跑 frontend, R23 前台 E2E 23/23 PASS;首跑 disk I/O error(522) 根因为遗留 stray kernel 进程抢 DB,pkill 清场后全绿。 红线⑤:仅本地 commit,不 push。 Co-Authored-By: WorkBuddy <workbuddy@tencent.com> | 16 天前 |
| feat(R29-T0): 接线 PE-1/PE-2/PE-3 —— /healthz 增量字段 + BuildVersion 注入 + Q1 synchronous=full PE-1(/healthz 增量字段,设计稿 §3.2.3): - 新增 kernel/healthz_options.go:装饰器包住既有 HealthzHandler(server_metrics.go 是 B 线独占域,T0 不越界),按需注入 schema_ok/schema_check/rows/restore_point/ unfinished/version_match/started_at/version - main.go:procStart;bootRep 前移到 mux 之前并接入 /healthz; B2 改为 fail-fast(原预埋只打日志继续跑,违背「缺表缺列不得带病上线」); recovery report 输出设计稿 §3.4.4 目标形态的一行结构化日志 - LifecycleRunFn 用函数在请求时读取(调度器在 mux 之后启动,快照会永远为零) PE-2(BuildVersion 注入): - integrations/quickstart/install.sh:构建加 -ldflags -X ...BuildVersion=<commit> - install_lims_rc_d.sh:缺二进制提示改为带 ldflags 的完整命令 PE-3(Q1 裁定落值,设计稿 L431/L672 既定「Solo 默认 full」): - profiles/lims-solo.profile.yaml:synchronous: full + busy_timeout_ms/ wal_autocheckpoint/checkpoint_on_close(注释写明「降 normal 必须写明断电丢失窗口」) - profiles/lims.profile.schema.json:4 个新字段的 schema 定义 实测(0.88): - R16 服务级闭环:写 5 条 → kill -9 → 重启 → rows=5 零丢失 + recovery report - R18 反证:缺 data 列 → exit_code=1 + missing columns [data](B2 生效) - R22 只读回读:journal_mode=wal / synchronous=2(FULL) / wal_autocheckpoint=1000 - /healthz 默认关(不带 -data-dir)不输出自检字段 - 门禁 10/3/2(与 E 线交付逐项相同,3 FAIL 仍是 C 线未提交代码的 4 个测试) | 15 天前 |
| docs(R29): 永续运行设计稿 v1.1 + R29 并行任务书 + R28 推送状态勘误 【设计稿·新增】 - docs/永续运行架构设计_v1.0.md:首版四层模型(P0-A~P3、15 缺口、21 判据);已加「被 v1.1 取代」横幅,仅作评审留档 - docs/永续运行架构设计_v1.1.md:依外部评审修订。16 条缺口(G1~G16,逐条 file:line+符号)、 25 条验收判据(R1~R25)、8 个待决问题(Q1~Q8)、评审意见处置表(附录 D) 实质修订 12 处:①FreeBSD 用 daemon -R/-C 原生防抖替代裸 -r;②stop 顺序改为 「先 supervisor 后 pkill 兜底」(撤销 v1.0「现有顺序天然兼容」的错误结论); ③健康拆 /livez、/healthz、/readyz 三端点(含 liveness 不能用含 Ping 的 /healthz); ④排水两阶段+硬兜底,禁止先 Close backend 再让 goroutine 跑(use-after-close); ⑤新增 BatchedMemoryScanner(keyset),不动 ScanAll 契约;⑥G12 默认「如实降级」 (补 pg.host + validate fail-fast + 文档标注主备未接线;自动故障转移明确出范围); ⑦/readyz 加 TTL 缓存 + 最小响应;⑧指标集与「暂停重启」控制面外置,不暴露假 restart_count; ⑨RTO/RPO 补「当前可实现值/依赖条件」;⑩R13 加可复现压测模板;⑪状态机区分目标态与现状, I1 改为可证伪;⑫证据引用改「commit 基线 + 符号名」双轨(行号会漂移) 【任务书·新增】 - _R29_并行任务书_永续运行.md:7 线(T0 接缝+P0-A / A 守护 / B 健康 / C 调度 / D 排水+批量扫描 / E 耐久自检 / F 独立验收),波次依赖、文件域互斥硬约束(main.go 仅 T0 可改,他线提「预埋请求」)、 接口冻结、缺陷账 L-242~L-257(承接 L-241)、行为变更 B1~B5 登记、本轮不做清单、 可直接分发的 dispatch.ps1 逐线 prompt、收口清单 11 项 【勘误·R28 推送状态:报告写于推送之前】 - _R28_收口报告.md:文首结论与 §5 遗留表第 7 行改为「已推三远端」;新增 §7 追记 (可复跑核验命令 + 三远端 SHA/tree 对照表 + R28 两条 commit 的 SHA 映射) - lightmem.md §D 第 7 行、roadmap.md 第 6 条:同步改为已推三远端 - roadmap.md 第 5 条:更正为「PG trust 已收紧(host=scram-sha-256、local=peer,trust 清零)」—— 该处被 c203db8 漏改(该 commit 只更新了报告/deploy/README/lightmem.md) 【核验证据】git ls-remote(直问服务器) - origin(gitea 192.168.1.5:3000) = gitcode = c203db88f53d64e0338c3be160df28ac89baf715(与本地 HEAD 完全相同) - github = 49b7d1a1cddf699cfc3d7484d99c75d346557691(内容等价:tree c6f8f38fc208e802ddc8314c145acbf1c455d7b1 与本地 c203db8 逐字节相同) - SHA 映射:828229e(3040a3b6)↔a24216a(3040a3b6)、c203db8(c6f8f38f)↔49b7d1a(c6f8f38f) 【基线】R29 起跑基线为 c203db8;828229e..c203db8 仅触及 _R28_收口报告.md/deploy/README.md/lightmem.md, 对 R29 引用的 kernel/、integrations/lims-088-rc.d/、docs/档位能力矩阵.md 零改动, 故设计稿与任务书中的 file:line 证据、以及「零回归逐位一致」基线在两处 commit 下同样成立。 【未推送】本条 commit 仅落本地,等业主示意(红线) | 16 天前 |
| docs(R29): 收口报告补「推送核验」——三远端状态 + github 等价 rebase 策略说明 | 15 天前 |
| docs(R29): 收口报告 + 遗留问题存档 + 门禁日志(C 线报告补交) - _R29_收口报告.md:六线交付总览 / 门禁 15-0-0([11][12] 真跑)/ R1-R25 汇总 / B1-B5 行为变更逐条放行与回退 / L-242~L-257 逐条状态(12 关闭 + 5 部分关闭)/ 新立 L-258~L-261 / 环境与回滚 / 北极星未复跑(不标绿,登记为有条件收口) - _R29_遗留问题存档.md:13 条遗留逐条存档(现象/复现/证据/责任人/修法/验收判据) + 已规避未修风险 + R30 复跑入口 - _r29_088_gate.log:门禁矩阵原始日志(23 行,md5 d14de2cc…) - _R29_C线交付报告.md:C 线交付报告此前漏提交,本次补交 | 15 天前 |
| feat(R26): 可信度收口 —— PG 门禁 14/0/0(L-234) + solo 向量预筛/批量事务(L-235/L-236) + 推送脚本(L-237) 门禁:PASS 14 / FAIL 0 / SKIP 0(R15 门禁矩阵引入以来首次 SKIP=0,_r26_088_gate.log) 北极星:M1=1.0000 / M2=0.2498 / 压缩 35.33% / vetoed=0(r26 报告与 R25 逐字节相同) P95:/search=35.63ms(红线内);/search/vector=25.91ms 且 300x200(503 清零),超 19.70ms 红线 -> L-239 A 线(L-234):scripts/gate.sh 头部可选 env hook(+19/-0,[11] 判定段逐字未改) + 0.88 固化 /var/db/lightmem/gate.env(600、不入 git、trust 免密无密码);[11] SKIP -> PASS(13 项) B 线(L-235/L-236):SearchAllowed 余弦前可见租户预筛(单租户 short-circuit 逐位一致) + PutBatch 单事务批量 upsert;backfill 800 条单次 409.7ms(基线 11700ms);测试 11 -> 15 C 线(L-237):scripts/push_all_remotes.sh(三远端命令序列 + token 排错 + inline 回退;不自动 push) D 线:docs/档位能力矩阵.md 回填 B 线结论 + sqlite-vec「默认不做」决策 + PG env 运维段;README 推送指针 E 线:lightmem.md §D.3.1 R26 五数 + §D.13(L-234~L-237 关闭 + L-238/L-239 新登记);roadmap.md 三·八留痕 新登记:L-238(eval/e2e/pg 夹具隔离 + private 跨租户语义,待裁定)、L-239(visibleMemoryIDs 全量 loadAll 致 /search/vector 延迟 ~2.2x,B 线域待修) | 16 天前 |
| feat(R27): private 租户内强隔离落地(业主裁定 L-238)+ 夹具隔离 + L-239 收尾 门禁:PASS 14 / FAIL 0 / SKIP 0(_r27_088_gate.log) 北极星:M1=1.0000 / M2=0.2498 / 压缩 35.33% / vetoed=0(r27 报告与 R26 逐字节相同) P95:/search=35.75ms(红线内);/search/vector=22.92ms(25.91 -> -11.5%,503 保持清零), 仍超 19.70ms 红线 -> L-239 部分修复,如实登记 A 线(L-238b,业主裁定规则 1/2): - canView VisPrivate 与 pgVisibilityPredicate **两侧同加 tenant 等值约束** (等值而非非空:solo/未传租户上下文时两侧同空仍可见,避免生产回归) - 三处 Get(sqlite/pg/qdrant)「不可见」返回统一为 not found:跨租户与不存在 不可区分,消除存在性/归属泄漏 - 审计结论:读侧无 403;写侧 EnforcePrivateOwner 的 403 属入参校验,非跨租户读; 无 admin/superuser 读 private 的代码路径 C 线(L-238a):eval/e2e/pg 加 uniqueUser()(7 处固定 user 唯一化)+ TestMain 残留自清 (按 source='r10b-e2e' 只清本套件)+ 声明式正负样本(夹具建不出来即 Fatal,绝不 Skip) -> 脏库连跑 TestPgQueryVectorSearch 3 次 rc=0/0/0(R26-A 基线 0/1/0 摆动) D 线(L-238c):新增 kernel/visibility_tenant_test.go(4 用例:单元含 solo 空租户防回归、 Get 不可区分、Query 不泄漏、PG 真机);先证伪(修复前三红)再修复(全绿) E 线(L-239):visibleMemoryIDs 由 loadAll 改为定向取列 + 只反序列化可见性字段, 判定仍复用 canView(禁止 SQL 侧 json_extract 另造可见性判断) F 线:gate.sh NEW_GO/NEW_FILES 追加 visibility_tenant_test.go / visibility_tenant:4; lightmem.md §D.14 + §D.3.1 R27 五数;roadmap.md 三·九;矩阵补 private 跨租户语义行 go.mod / go.sum 零变化。未 push(红线⑧,等业主示意)。 | 16 天前 |
| feat(R28): 非 superuser 断言(L-240) + 可见性内存索引/结果缓存埋点(L-239) + 夹具两道保险 —— 门禁 15/0/0 | 16 天前 |
| docs(R29): 收口报告 + 遗留问题存档 + 门禁日志(C 线报告补交) - _R29_收口报告.md:六线交付总览 / 门禁 15-0-0([11][12] 真跑)/ R1-R25 汇总 / B1-B5 行为变更逐条放行与回退 / L-242~L-257 逐条状态(12 关闭 + 5 部分关闭)/ 新立 L-258~L-261 / 环境与回滚 / 北极星未复跑(不标绿,登记为有条件收口) - _R29_遗留问题存档.md:13 条遗留逐条存档(现象/复现/证据/责任人/修法/验收判据) + 已规避未修风险 + R30 复跑入口 - _r29_088_gate.log:门禁矩阵原始日志(23 行,md5 d14de2cc…) - _R29_C线交付报告.md:C 线交付报告此前漏提交,本次补交 | 15 天前 |
| feat(R19-B): Solo/SQLite 后端真持久化(方案 a 真 SQLite,破红线⑦) R160 I-15:Solo 档后端原为内存骨架,进程重启记忆全丢,/health 暴露 sqlite-skeleton。业主裁定走方案 a:modernc.org/sqlite v1.34.4(纯 Go、 无 cgo),授权破 R17 以来「grpc/protobuf 是唯一第三方依赖例外」纪律。 改动(仅 B 线文件域,与 A 线零重叠): - kernel/backend_sqlite.go:内存 map 骨架 → 真实 SQLite 持久化。 单行 memories(memory_id PK, data TEXT) 存完整 Memory JSON;Upsert 读旧 版本号做幂等递增;所有过滤/排序在 Go 内完成,与原骨架语义一致,零回归。 Name() 由 sqlite-skeleton 改为 sqlite(去掉 skeleton)。 - kernel/backend_sqlite_persist_test.go(新增 8 用例):写入→Close→重开同 路径→数据仍在;跨实例隔离;幂等键版本递增;50 goroutine 并发写;GDPR 三 件套重开后仍生效;Layer 扫描重开后仍生效;VectorSearch 仍降级;Name 不含 skeleton。全部用 t.TempDir() 显式文件路径 + WAL 真实证明磁盘持久化。 - kernel/server_metrics_test.go:health 后端名断言 sqlite-skeleton → sqlite。 - kernel/go.mod/go.sum + go.mod/go.sum:新增 modernc.org/sqlite v1.34.4 及传递依赖(root 经 replace ./kernel 进入构建图,go.sum 须同时补齐)。 - profiles/lims-solo.profile.yaml:storage 段注明自 R19-B 起为【真·持久化 SQLite】;vector_extension 备注为占位(sqlite-vec 未接入)。 - lightmem.md:缺陷账新增 L-217 关闭记录(R19-B,方案 a)。 0.88 实测(权威):gofmt 全仓 0;go vet rc=0;go test -run Persist ./kernel/ 8/8 PASS 且真实证明重建实例后数据仍在;go test -count=1 ./kernel/ 零回归; sh scripts/gate.sh PASS 13 / FAIL 0 / SKIP 1([11] PG 未配置 SKIP)。 红线:白名单 model.go/storage.go/lifecycle.go/compliance.go 零改动; eval/ 零改动;kernel/migrations/*.sql 零改动。 未 push(等业主示意)。 | 19 天前 |
| feat(R19-B): Solo/SQLite 后端真持久化(方案 a 真 SQLite,破红线⑦) R160 I-15:Solo 档后端原为内存骨架,进程重启记忆全丢,/health 暴露 sqlite-skeleton。业主裁定走方案 a:modernc.org/sqlite v1.34.4(纯 Go、 无 cgo),授权破 R17 以来「grpc/protobuf 是唯一第三方依赖例外」纪律。 改动(仅 B 线文件域,与 A 线零重叠): - kernel/backend_sqlite.go:内存 map 骨架 → 真实 SQLite 持久化。 单行 memories(memory_id PK, data TEXT) 存完整 Memory JSON;Upsert 读旧 版本号做幂等递增;所有过滤/排序在 Go 内完成,与原骨架语义一致,零回归。 Name() 由 sqlite-skeleton 改为 sqlite(去掉 skeleton)。 - kernel/backend_sqlite_persist_test.go(新增 8 用例):写入→Close→重开同 路径→数据仍在;跨实例隔离;幂等键版本递增;50 goroutine 并发写;GDPR 三 件套重开后仍生效;Layer 扫描重开后仍生效;VectorSearch 仍降级;Name 不含 skeleton。全部用 t.TempDir() 显式文件路径 + WAL 真实证明磁盘持久化。 - kernel/server_metrics_test.go:health 后端名断言 sqlite-skeleton → sqlite。 - kernel/go.mod/go.sum + go.mod/go.sum:新增 modernc.org/sqlite v1.34.4 及传递依赖(root 经 replace ./kernel 进入构建图,go.sum 须同时补齐)。 - profiles/lims-solo.profile.yaml:storage 段注明自 R19-B 起为【真·持久化 SQLite】;vector_extension 备注为占位(sqlite-vec 未接入)。 - lightmem.md:缺陷账新增 L-217 关闭记录(R19-B,方案 a)。 0.88 实测(权威):gofmt 全仓 0;go vet rc=0;go test -run Persist ./kernel/ 8/8 PASS 且真实证明重建实例后数据仍在;go test -count=1 ./kernel/ 零回归; sh scripts/gate.sh PASS 13 / FAIL 0 / SKIP 1([11] PG 未配置 SKIP)。 红线:白名单 model.go/storage.go/lifecycle.go/compliance.go 零改动; eval/ 零改动;kernel/migrations/*.sql 零改动。 未 push(等业主示意)。 | 19 天前 |
| docs(R29): 缺陷账 D.16 + roadmap 三·十一 —— L-242~L-261 逐条状态与 R30 输入 lightmem.md 新增 §D.16: - 12 条关闭(L-242/L-244/L-245/L-246/L-247/L-248/L-250/L-251/L-252/L-254/L-255/L-256) - 5 条部分关闭(L-243 systemd 未真机 / L-249 收益未兑现 / L-253 主备出范围 / L-257 轮转未验证) - 4 条新登记(L-258/L-259/L-260/L-261,编号续 L-257) - 北极星本轮未复跑:明确「不标绿」,只给结构性论据(检索/排序/嵌入零 diff + R12 逐字节对拍) roadmap.md 新增「三·十一、R29 收口留痕」:六线实测锚点、反证结论、 0.88 jail 网络故障根因(bridge epair 成员陈旧)、7 条 R30 输入。 | 15 天前 |
| feat(R13): 吸收《千脑智能》优秀基因(A+B 合流,只增不改) - A 路:kernel/rank_fusion_monty.go(FuseMonotonic 只加不减 + 相对容差 0.2)、kernel/entity_align.go(AlignCrossAgentFusion 跨 Agent 参考系对齐)+ 13 项单测 - B 路:kernel/displacement_edge.go(位移边表,三元组幂等/软删/出边上限 16)、kernel/multihop_monty.go(DisplacementRecall 关系式多跳召回 N=2,硬过滤即剪枝)、eval/polaris/polaris_mergence.go(合并度指标基线)+ 9 项单测 - 文档:lightmem.md v2.4 新增 §3.2.1 / §3.2.2 / §3.4.1;eval/reports/r13_taskbook_20261014.md、r13a/r13b 交付报告、r13_polaris_final_20261015.json、monty.md - 顺带修复 R12 遗留缺陷 6 项(kernel 独立 module 门禁盲区) 门禁(192.168.0.88,FreeBSD 15.1 / go1.25.14):gofmt 空、go vet ./... 空、go test ./kernel/ 150 项 PASS、go test -race 通过 北极星:M1=1.0000(holdout_v2 800/800)逐位复现,M2=0.2498,数据面压缩 35.33%,fp vetoed=0 默认 Rank 融合路径、既有 Schema、既有 SQL、对外格式零改动 | 21 天前 |
| docs(R1): 入库路线图文档 roadmap-v1/v2/v3/v4.html 与 roadmap.md R1 外部基准数据集任务的前置规划产物,与 .dumate/inbox 任务书配套归档。 未改变任何代码逻辑,纯文档入库。 | 24 天前 |
| docs(R1): 入库路线图文档 roadmap-v1/v2/v3/v4.html 与 roadmap.md R1 外部基准数据集任务的前置规划产物,与 .dumate/inbox 任务书配套归档。 未改变任何代码逻辑,纯文档入库。 | 24 天前 |
| docs(R1): 入库路线图文档 roadmap-v1/v2/v3/v4.html 与 roadmap.md R1 外部基准数据集任务的前置规划产物,与 .dumate/inbox 任务书配套归档。 未改变任何代码逻辑,纯文档入库。 | 24 天前 |
| docs(R1): 入库路线图文档 roadmap-v1/v2/v3/v4.html 与 roadmap.md R1 外部基准数据集任务的前置规划产物,与 .dumate/inbox 任务书配套归档。 未改变任何代码逻辑,纯文档入库。 | 24 天前 |
|
| 19 天前 |
| docs(R29): 缺陷账 D.16 + roadmap 三·十一 —— L-242~L-261 逐条状态与 R30 输入 lightmem.md 新增 §D.16: - 12 条关闭(L-242/L-244/L-245/L-246/L-247/L-248/L-250/L-251/L-252/L-254/L-255/L-256) - 5 条部分关闭(L-243 systemd 未真机 / L-249 收益未兑现 / L-253 主备出范围 / L-257 轮转未验证) - 4 条新登记(L-258/L-259/L-260/L-261,编号续 L-257) - 北极星本轮未复跑:明确「不标绿」,只给结构性论据(检索/排序/嵌入零 diff + R12 逐字节对拍) roadmap.md 新增「三·十一、R29 收口留痕」:六线实测锚点、反证结论、 0.88 jail 网络故障根因(bridge epair 成员陈旧)、7 条 R30 输入。 | 15 天前 |