@sanqianx/project-knowledge 5.0.16-rc.2 → 5.0.16-rc.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +6 -0
- package/_modules/knowledge-engine/README.md +1 -1
- package/_modules/knowledge-engine/package.json +1 -1
- package/_modules/knowledge-engine/src/retrieval.js +5 -1
- package/_modules/knowledge-engine/src/runtime/knowledge-retrieval-service.js +5 -1
- package/docs/leader-glm-workbench-playbook.md +5 -3
- package/docs/release-5.0.16-acceptance.md +24 -5
- package/module-runtime-manifest.json +23 -22
- package/package.json +2 -2
- package/plugins/project-knowledge/.claude-plugin/plugin.json +1 -1
- package/plugins/project-knowledge/.codex-plugin/plugin.json +1 -1
- package/plugins/project-knowledge/.mcp.json +1 -1
- package/vendor-manifest.json +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [5.0.16-rc.4] - 2026-10-14
|
|
4
|
+
|
|
5
|
+
- 引擎 0.2.7-rc.7 复用同一次检索刚读取的知识正文,保留晚到响应后的文件与范围校验;vector-hub 1.0.8-rc.8 将有界查询缓存延长到 10 分钟,并防止旧请求失败删除新缓存。源码真实向量热查询 P95 为 1069ms,不代表安装版验收通过。
|
|
6
|
+
- 锁定 vector-hub 1.0.8-rc.8(ebf6f586a534c4b851c919c53a5536671cc8bd12),保留 Workbench 0.13.2-rc.11 与 bridge 0.7.2;四个模块集与官方 npm tarball 双向逐字节核对(vendored 引擎 40、Workbench 96、vector-hub 59、bridge 38)。
|
|
7
|
+
- 候选不改变 latest;完整安装版和原生客户端验收通过后才允许晋升。
|
|
8
|
+
|
|
3
9
|
## [5.0.15] - 2026-10-13
|
|
4
10
|
|
|
5
11
|
- 冻结 rc.5 已验收的中文 BM25 与可校验向量片段融合、本项目进度与跨范围上下文、无可靠匹配诊断及离线 Claude 插件接入。
|
|
@@ -76,7 +76,7 @@ node src/bin.js serve [--port 5790] [--host 127.0.0.1] [--data DIR]
|
|
|
76
76
|
|
|
77
77
|
开发前 `/api/context` 复用正式检索与记忆适用范围校验,不运行分析模型、不写知识树。默认本项目优先、相关时补充所属领域;适用记忆独立准备,即使需求没有偏好关键词也保留。完整注入最多 8,000 字符,记忆最多 3,000 字符;剩余事实预算本项目保留 70%,领域参考最多 30%,不凑满低质量结果。候选、忽略、失效及未同步投影不进入上下文,向量故障明确标为 `file-fallback`。输入的凭据样式在向量查询前脱敏,不记录原需求或知识正文。读取日志的 `knowledge.context.prepared` 只证明准备完成,不能冒充模型送达证据。
|
|
78
78
|
|
|
79
|
-
检索排序 `project-knowledge/ranking-v2` 在当前文件片段上使用中文分词 BM25 与向量片段 RRF 融合,不直接叠加原始分数。vector-hub 的可选 `resultLevel=chunk` 返回 LF 规范化正文哈希及半开字符范围;匹配只影响相应片段,不扩散至整篇。已校验范围不足半个词法分块时,引擎从当前规范正文按同一半开坐标系截取独立片段候选,进入同一 RRF 融合,纯语义命中不因分块尺寸不一致而丢失;重复段落按文档顺序定位,周期性重复文本不得把后续分块拉回更早的重复位置伪造向量证据。词法分块器为版本 2:标题边界围栏感知,代码围栏内的 `#` 注释不再切成伪小节,分块几何随版本号封入 documentHash。既有 v5 数据的 version-1 词法缓存因此哈希失配,经当前文件、版本与哈希校验走安全 delta overlay 按需重建派生索引;知识正文与来源不改写,不做全量分析,也不强制全量 embedding 索引重建,向量行按正文哈希独立校验不受影响。健康信息只记录召回、合并、截取与各类拒绝计数,不回显知识正文。原文变化、删除、项目归属变化及记忆失效都会重新验证;未知或未标定模型不能只凭高向量分返回知识。`retrieval-policy.json` 的 embo-01 / 1536
|
|
79
|
+
检索排序 `project-knowledge/ranking-v2` 在当前文件片段上使用中文分词 BM25 与向量片段 RRF 融合,不直接叠加原始分数。vector-hub 的可选 `resultLevel=chunk` 返回 LF 规范化正文哈希及半开字符范围;匹配只影响相应片段,不扩散至整篇。已校验范围不足半个词法分块时,引擎从当前规范正文按同一半开坐标系截取独立片段候选,进入同一 RRF 融合,纯语义命中不因分块尺寸不一致而丢失;重复段落按文档顺序定位,周期性重复文本不得把后续分块拉回更早的重复位置伪造向量证据。词法分块器为版本 2:标题边界围栏感知,代码围栏内的 `#` 注释不再切成伪小节,分块几何随版本号封入 documentHash。既有 v5 数据的 version-1 词法缓存因此哈希失配,经当前文件、版本与哈希校验走安全 delta overlay 按需重建派生索引;知识正文与来源不改写,不做全量分析,也不强制全量 embedding 索引重建,向量行按正文哈希独立校验不受影响。健康信息只记录召回、合并、截取与各类拒绝计数,不回显知识正文。原文变化、删除、项目归属变化及记忆失效都会重新验证;未知或未标定模型不能只凭高向量分返回知识。`retrieval-policy.json` 的 embo-01 / 1536 维门槛来自固定语料的训练问题族,测试问题族不参与选择;不是对任意语料准确率的保证。单次检索内,正文阶段复用扫描阶段刚读取的同一篇文件内容(请求内私有复用,不跨请求缓存正文);异步等待后的有界最终校验仍重读真实文件核对文档哈希。
|
|
80
80
|
|
|
81
81
|
普通搜索每篇最多两个互补片段,精确提交与源文件仍优先。`search` 增加 `intent`、`rankingVersion`、`matchStatus`、`currentProjectStatus` 和 `matchReason` 等兼容字段;最近进度优先当前项目维护历史,时间来源区分提交依据、晋升和 mtime 回退。问候不进行主题召回,短追问仅复用同项目同会话五分钟内仍有效的引用,引用缓存只在内存中且有界,不保存原对话。索引故障与“本次无可靠匹配”不等于知识为空。
|
|
82
82
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sanqianx/ai-coding-knowledge-engine",
|
|
3
|
-
"version": "0.2.7-rc.
|
|
3
|
+
"version": "0.2.7-rc.7",
|
|
4
4
|
"description": "Knowledge engine module for project-knowledge: commit-boundary triggered knowledge analysis/generation (trigger plane) and retrieval for development assistants (retrieval plane).",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"main": "src/server.js",
|
|
@@ -40,7 +40,10 @@ class EngineRetrieval extends KnowledgeRetrievalService {
|
|
|
40
40
|
for (const [id, c] of scanned.candidates) {
|
|
41
41
|
const key = `${c.spaceId}:${c.entryId}`;
|
|
42
42
|
try {
|
|
43
|
-
if (!bodies.has(key))
|
|
43
|
+
if (!bodies.has(key)) {
|
|
44
|
+
const source = scanned.sources && scanned.sources.get(key);
|
|
45
|
+
bodies.set(key, ranking.bodyText(source !== undefined ? source : fs.readFileSync(path.join(c.knowledgePath, c.entryId), 'utf8')));
|
|
46
|
+
}
|
|
44
47
|
} catch { scanned.candidates.delete(id); }
|
|
45
48
|
}
|
|
46
49
|
// The canonical chunker emits authoritative half-open offsets into the same
|
|
@@ -150,6 +153,7 @@ class EngineRetrieval extends KnowledgeRetrievalService {
|
|
|
150
153
|
result.candidates.set(id, candidate);
|
|
151
154
|
}
|
|
152
155
|
result.scopeHealth.push(...extra.scopeHealth);
|
|
156
|
+
if (extra.sources) for (const [sourceKey, sourceMarkdown] of extra.sources) result.sources.set(sourceKey, sourceMarkdown);
|
|
153
157
|
return result;
|
|
154
158
|
}
|
|
155
159
|
async recallIndex(scopes, query, current, health, bodies) {
|
|
@@ -113,6 +113,7 @@ class KnowledgeRetrievalService {
|
|
|
113
113
|
|
|
114
114
|
scanCurrent(scopes) {
|
|
115
115
|
const candidates = new Map();
|
|
116
|
+
const sources = new Map();
|
|
116
117
|
const scopeHealth = [];
|
|
117
118
|
for (const scope of scopes) {
|
|
118
119
|
const state = this.projectStore.readState(scope.projectId);
|
|
@@ -123,6 +124,9 @@ class KnowledgeRetrievalService {
|
|
|
123
124
|
for (const filePath of files) {
|
|
124
125
|
const entryId = path.relative(scope.knowledgePath, filePath).replace(/\\/g, '/');
|
|
125
126
|
const markdown = fs.readFileSync(filePath, 'utf8');
|
|
127
|
+
// Request-local only: the bodies stage of this same retrieval reuses
|
|
128
|
+
// this exact read; nothing is cached across requests.
|
|
129
|
+
sources.set(`${scope.spaceId}:${entryId}`, markdown);
|
|
126
130
|
const documentHash = documentSha256(`chunker:${CHUNKER_VERSION}\n${markdown}`);
|
|
127
131
|
const metadata = parseKnowledgeMetadata(markdown);
|
|
128
132
|
const title = titleFromMarkdown(markdown, path.basename(entryId, '.md'));
|
|
@@ -168,7 +172,7 @@ class KnowledgeRetrievalService {
|
|
|
168
172
|
deletedEntries,
|
|
169
173
|
});
|
|
170
174
|
}
|
|
171
|
-
return { candidates, scopeHealth };
|
|
175
|
+
return { candidates, scopeHealth, sources };
|
|
172
176
|
}
|
|
173
177
|
|
|
174
178
|
async recallIndex(scopes, query, current, health) {
|
|
@@ -41,7 +41,7 @@ Leader 负责知识检索、接口决策、任务派发、代码审查、独立
|
|
|
41
41
|
```text
|
|
42
42
|
任务:修复一个已复现的问题,不扩展功能。
|
|
43
43
|
仓库:绝对路径;已有知识:文件与 commit 引用。
|
|
44
|
-
|
|
44
|
+
可改文件:明确清单。禁止:用户配置、真实数据、信任记录、Claude 用户 memory、发布和未授权提交。
|
|
45
45
|
复现:输入、期望、实际;先补失败测试,再修复。
|
|
46
46
|
编辑:先验证实际 apply_patch 入口;不可用时交付补丁正文。
|
|
47
47
|
测试:具体命令、Node 运行时、仓库外临时目录、绝对证据目录。
|
|
@@ -50,7 +50,9 @@ Leader 负责知识检索、接口决策、任务派发、代码审查、独立
|
|
|
50
50
|
|
|
51
51
|
先解析实际 Git 根目录并检索已有知识,再对照当前源码。知识文件只读;不手写最终知识、staging 或引擎状态。源文件修改使用 `apply_patch`,不得混入用户已有改动。
|
|
52
52
|
|
|
53
|
-
派发前验证 GLM
|
|
53
|
+
派发前验证 GLM 的执行环境能调用补丁工具,不只写一句要求。本机已验证的直接入口是隐藏运行标志 `C:/Users/SanQian/AppData/Local/OpenAI/Codex/bin/2e5e00daee91c61d/codex.exe --codex-run-as-apply-patch`:它不是可见子命令,`--help` 不列出,不能以“子命令不存在”判定入口缺失;用 Node `spawnSync(exe, ['--codex-run-as-apply-patch', patch], { encoding: 'utf8', windowsHide: true })` 传入完整 apply_patch 文本调用,证据 `glm-plan-5.0.16/P2/patch-entry-probe.txt`(真实 Add File 返回 0)。空补丁以 exit 1 结束且仅输出 `No files modified`,属正常空结果,不能据此判定入口不可用。绝不能用 `codex exec` 当补丁器——那会调用模型。也可通过 `Get-Command apply_patch` 找到包装器入口并核对实际指向的程序。若 GLM 没有可用入口,应交付补丁正文由 Leader 应用,而不是改用 `Write`、`Edit` 或 shell 写文件。发现违反方式时保留已有成果,显式中止并在同一会话纠正续跑,说明中止原因,不伪称运行超时。
|
|
54
|
+
|
|
55
|
+
补丁方式约束包括报告和原生 Agent 的记忆文件,不只是仓库源码。任务经验写入指定验收目录;不得自行编辑用户 memory。若发现越界,先核对会话是否已经结束,再按实际编辑记录恢复自己造成的差异,不能删除或覆盖原有用户内容。任务合同同时给出已验证的 Node 二进制、npm-cli 与仓库外临时目录,避免重复下载运行时或让测试继承 Workbench 的服务配置。
|
|
54
56
|
|
|
55
57
|
`POST /api/terminal/sessions/<id>/input` 的正文为 `{"text":"<任务合同>"}`。保存 accepted 回执及 sessionId。返回忙碌或网络异常时,先读快照确认是否已接受,不盲目重发。相同批次只有一次有效派发。
|
|
56
58
|
|
|
@@ -66,7 +68,7 @@ Leader 负责知识检索、接口决策、任务派发、代码审查、独立
|
|
|
66
68
|
|
|
67
69
|
Leader 只读取简洁检查点、相关 diff、测试结果和关键失败片段,不持续拉取完整思考流或整个事件历史。
|
|
68
70
|
|
|
69
|
-
|
|
71
|
+
`0.13.2-rc.10` 已复现长历史截断后的游标重建缺陷;rc.11 的源码及独立包恢复测试已通过,实际产品升级与浏览器验收仍在进行。旧版本的快照序号和合成事件时间不能作为全会话游标或实际运行耗时证据;优先读取轻量状态、真实审计时间及操作收据,不因 UI 没有新消息就重复派发任务。
|
|
70
72
|
|
|
71
73
|
## 审查与放行
|
|
72
74
|
|
|
@@ -6,6 +6,10 @@
|
|
|
6
6
|
|
|
7
7
|
运行基线:知识库 `5.0.16-rc.1`、Workbench `0.13.2-rc.10`、vendored 引擎 `0.2.7-rc.5`。发布 stable 标签仍为 `5.0.14`。
|
|
8
8
|
|
|
9
|
+
候选 `5.0.16-rc.2`(`21f67dc`)已发布 `next`,锁定 Workbench rc.11、引擎 rc.6、vector-hub rc.5。独立验收发现 vector-hub 公开 ESM 入口不能加载,因此本候选不能通过全部门禁,待修复后推进下一候选;本机仍运行 rc.1。
|
|
10
|
+
|
|
11
|
+
候选 `5.0.16-rc.3`(`fb6dd299`)已发布 `next` 并通过官方下载与内容核对(收据 `kb-registry-product-wCnOJ2/registry-installation.json`;本轮验收报告一律绑定该官方安装身份,旧的同名 rc3 报告不计入本轮)。模块:Workbench `0.13.2-rc.11`、引擎 `0.2.7-rc.6`、vector-hub `1.0.8-rc.7`、bridge `0.7.2`。真实 fixture 多数门禁已通过,但两次真实向量性能复测失败(见下);本机仍运行 rc.1,latest 仍为 `5.0.14`,未完成系统验收。
|
|
12
|
+
|
|
9
13
|
基线源码:外壳 `669f9ea`,引擎 `41726f5`。用户已有 desktop、原型和其他未提交文件不属于本轮。
|
|
10
14
|
|
|
11
15
|
## 已有真实结果
|
|
@@ -23,24 +27,39 @@
|
|
|
23
27
|
- Leader 在旧安装版 Workbench `event-stream` 复现长会话重连失败:旧游标为 5、压缩后回放两条,再产生一条新消息,实际送达为 0 而应为 1。修复 `840b787` 保留事件高水位,增加不占序号的 resync 控制消息,并持久化旧历史转换边界;源码及独立 npm 模块验证已通过,当前运行实例尚未升级。
|
|
24
28
|
- Workbench `0.13.2-rc.11`(`ac450b0`)已发布 `next`。Leader 完整回归 Node 22、24 各 352/352;官方独立 prefix 下载的 96 个发布文件与源码逐字节一致,integrity、gitHead、包内 HTTP/UI 与恢复测试通过。引擎 `0.2.7-rc.6` 的 40 个发布文件同样通过两版本独立下载验证。
|
|
25
29
|
- 验收脚本修复 `88d5a44` 已提交并推送:Node 版本取实际子进程,源码和官方安装身份强制绑定,原型及无关桌面修改不计为运行时变化。引擎含验收脚本回归 Node 22、24 各 144/144;这项不改变已发布 rc.6 的运行文件。
|
|
26
|
-
- vector-hub 原 rc.4 发布内容正确,但 npm gitHead 指向旧提交。版本修正 `52d7123` 已推送并发布 `1.0.8-rc.5` 至 `next`,Leader 两版本各 53
|
|
30
|
+
- vector-hub 原 rc.4 发布内容正确,但 npm gitHead 指向旧提交。版本修正 `52d7123` 已推送并发布 `1.0.8-rc.5` 至 `next`,Leader 两版本各 53 项通过;独立下载身份核对完成,不放宽提交身份检查。
|
|
31
|
+
- rc.5 官方下载的 59 文件、tarball SHA512、lock integrity 与 `52d7123` 一致;两版本 CJS、网页与 HTTP 查询通过,但原生 `import('@sanqianx/vector-hub')` 均 `ERR_MODULE_NOT_FOUND`。Leader 独立复现缺少相对说明符扩展名。V2 正在补构建和 exports 防回归,不能因网页使用 CJS 而把 ESM 失败计为通过。
|
|
32
|
+
- V2 修复 `e66c0d9` 已提交、推送并发布 vector-hub `1.0.8-rc.6` 至 `next`:构建后用现有 TypeScript AST 仅补真实模块引用的扩展名,保留 CJS、普通字符串、注释及已有扩展名。测试强制从当前源码重新构建;Leader 两版本各 58 项通过。统一包 rc.3 准备中,rc.6 官方下载门禁仍待执行。
|
|
33
|
+
- rc.6 官方包深验收发现两个后续失败:原生 ESM 调用 `createServer` 报 `__dirname is not defined`;从无关 cwd 启动的 CJS/ESM 服务读取 vendor 路径错误,两个 Node 版本各 10/11 通过。当前用户 5757 的同一资源也实测 404。V3 修复 `c27066d`(候选 rc.7)使真实 HTTP 服务在两种模块格式中使用本模块路径,并让 HTML 与 vendor 使用同一个已选目录;Leader 两版本各 64 项通过,包含无关 cwd 和显式 uiPath 的实际 HTTP/字节检查。首次发布遇 ECONNRESET,核对 registry 后重试,未计为发布成功。
|
|
34
|
+
- 官方 registry 随后确认 rc.7 已收到发布,完整 gitHead、integrity 与 `c27066d` 匹配,next 指向 rc.7;两次客户端 ECONNRESET 不再被误认为未发布。Windows 已启用本地代理而 npm 未配置代理,后续验收命令显式使用现有代理,不修改全局设置。rc.3 草稿已锁定 rc.7,模块清单与官方 tarball 双向逐字节核对 96/96、59/59、38/38;补齐 rc.2 清单漏列的 Workbench agent-spawn-env.js(包本身含该文件)。冻结后的源码及完整 npm 版验收待执行。
|
|
35
|
+
- rc.2 外壳 Node 24 为 137/137。Node 22 两轮各 136/137,打包浏览器用例超出默认 90 秒;单测实测 103 秒,以显式 `PK_TEST_TIMEOUT_MS=240000` 重跑后 137/137。原失败保留,浏览器就绪等待仍为 20 秒;npm 下载耗时不作为 UI 性能通过证据。首轮官方整包验收读到旧 next 标签,传播后已重新下载。
|
|
36
|
+
- rc.2 整包第二次官方下载失败于 `statuses-2.0.2.tgz` 的 `ECONNRESET`(TLS 建立前连接断开),并有 npm 清理其自身安装前缀的 EPERM 警告。收据 `system-regression/retrieval-rc2-registry24-1791974599954.json` 判失败;没有安装完成证明,没有升级本机。后续用已下载的官方缓存重新验证下一候选,不借本地源码运行。
|
|
37
|
+
- E1 末尾使用原生 Edit 给 Claude 用户记忆追加了一句网络测试说明,超出限定范围。核对时会话已经 idle;Leader 仅通过补丁撤回该句,保留原内容,未中断其他会话。后续派发明确禁止编辑用户 memory,并继续审核实际文件操作。
|
|
27
38
|
- GLM 首批新增测试使用原生 `Write`,不符合派发的补丁工具约束。Leader 显式中止两轮,保留文件和会话,并提供本机已有补丁工具路径;原会话续跑均收到 accepted 回执。此中止属于流程纠正,不是 runtime-timeout,也没有重启知识库或修改默认模型。
|
|
28
39
|
- A1 测试因继承 `KB_DATA_DIR` 在用户 Workbench 数据目录误建一份 237 字节运行绑定。Leader 核对字段、创建时间、无链接及安装版不存在启动器后,只将该测试文件可恢复移动到 `glm-plan-5.0.16/A1/unintended-user-binding.json`,前后 SHA256 相同;知识、历史、凭据与客户端配置未改。A2 必须覆盖测试环境隔离与只读状态检查。
|
|
40
|
+
- rc.3 官方下载整包核对通过(`retrieval-rc3-registry24-1791981966597`);源码回归通过:外壳 Node 22、24 各 137/137,引擎各 155/155,vector-hub 各 64/64。绑定官方收据的安装版网页、故障、生命周期在 Node 22/24 通过;Workbench、UI/CLI/MCP 知识面、真实 1536 维索引、真实单提交与并发提交在 Node 24 通过。
|
|
41
|
+
- rc.3 绑定收据的固定留出集真实质量复测:Recall@5 为 1、MRR 0.9667、无答案准确率 1(`retrieval-quality/real-vector-1791982365924.json`,合成标注语料加真实 embedding)。
|
|
42
|
+
- 二次开发原任务:首失败 `retrieval-rc3-secondary24-1791983777400` 保留(验收解析器漏识中文“提交”引用标签,Agent 源实际引用真实条目与完整 SHA)。测试修复 `8297c6a` 仅改测试文件、对齐中英文引用标签且不放宽门禁;原任务 resume 通过:`retrieval-rc3-secondary24-1791985519158`,受控 fixture 提交 `1085ccde`,真实 Hook→分析→晋升(run-5d7d0ab0)→1536 索引→查询闭环,引用 `changes/6d195ab0b282.md`(commit `6d195ab0b282adf239aafe751b83bb0716864a65`),预编辑检索序 29→32、62→65、86→89。
|
|
43
|
+
- rc.3 两次真实向量性能复测失败,待 P2 修复:热查询 P95 分别为 3068ms(`retrieval-quality/performance-1791982533367.json`)与 4829ms(`retrieval-quality/performance-1791983510836.json`),超 3000ms 门禁;不得以文本降级冒称向量性能。
|
|
44
|
+
- P2 修复已发布 `next`:引擎 0.2.7-rc.7(`61e5205c8c7a37645fa2be8c9e3cb2d3c250cc31`)提供同一请求内读复用;vector-hub `1.0.8-rc.8`(`ebf6f586a534c4b851c919c53a5536671cc8bd12`)提供 10 分钟有界缓存与 promise 身份守卫。按红绿记录先复现失败再修复;两者 registry 完整 gitHead 与 integrity 均已独立核对通过。
|
|
45
|
+
- P2 源码回归(Leader,Node 22 与 24):引擎各 161 项通过、1 项符号链接跳过;vector-hub 各 73 项全部通过。同源码真实向量热查询 P95 复测为 1069ms,低于 3000ms 门禁;这是源码结果,不是 rc.4 安装版验收通过。
|
|
46
|
+
- 候选 `5.0.16-rc.4` 已完成本地准备:vendored 引擎 rc.7 40 文件(sourceCommit `61e5205`)、vector-hub 精确锁 rc.8、Workbench `0.13.2-rc.11` 与 bridge `0.7.2` 不变;模块清单 96/59/38/40 与官方 tarball 双向逐字节一致,工作树模式 release:verify 链(sync --check --web-only、runtime --working-tree、product、integration-adapters)全部通过。rc.4 发布、latest 与冻结后源码全量验收待 Leader 执行;本机仍运行 rc.1。
|
|
29
47
|
|
|
30
48
|
## 执行与待验收矩阵
|
|
31
49
|
|
|
32
50
|
| 项目 | 状态 |
|
|
33
51
|
|---|---|
|
|
34
52
|
| A1–A3:本地 MCP 入口、版本升级、独立启动/信任诊断 | A3 已交付探测脱敏、入口 realpath 校验、两终端分支知识根目录接线及发布同步契约;Leader Node 22、24 独立完整各 137/137(含桌面浏览器)通过。原生客户端仍待新包验收 |
|
|
35
|
-
| B1–B5:向量范围候选、位置和占位校验 | 向量修复 `4aa4d49`、占位修复 `0218d55` 已提交并推送,引擎 `0.2.7-rc.6`(`bbb5ddd`)已发布 npm `next`;Leader 源码两版本各 118 项通过,独立 registry 下载的 40 文件逐字节与 integrity 校验、两版本启动及原 532 staging
|
|
36
|
-
| `5c07a801` 重试与后续 FIFO | `5c07` 与 `7506` 已晋升、索引成功;`532d`
|
|
53
|
+
| B1–B5:向量范围候选、位置和占位校验 | 向量修复 `4aa4d49`、占位修复 `0218d55` 已提交并推送,引擎 `0.2.7-rc.6`(`bbb5ddd`)已发布 npm `next`;Leader 源码两版本各 118 项通过,独立 registry 下载的 40 文件逐字节与 integrity 校验、两版本启动及原 532 staging 只读校验通过。首次下载未可见失败保留;532 当前已成功,不再重试 |
|
|
54
|
+
| `5c07a801` 重试与后续 FIFO | `5c07` 与 `7506` 已晋升、索引成功;`532d` 首次因合法 UI placeholder 术语误判失败(事实保留)。只读 live API 现显示完整 run `run-bb64179b-646e-4f15-beff-7b70e078293e` 已 succeeded/ready(promotedAt 2026-10-14T11:48:46.084Z、finishedAt 11:49:13.303Z):不得对已成功 run 再次重试,任何操作必须用完整 run ID。另有 6 个 index-pending run,对应 commit `fb6dd299`、`c27066d`、`f9a736c`、`21f67dc`、`0218d55`、`4aa4d49`;公开错误详情均为向量上游 HTTP 500 / embedding fetch failed,尚未确定底层网络原因。后续只重试索引并核对晋升文件及分析调用不变 |
|
|
37
55
|
| Claude/Codex/ZCode 原生知识与记忆送达 | 待新包实测;OpenCode 仅验证既有兼容能力 |
|
|
38
|
-
| 固定留出集质量、真实向量性能 |
|
|
56
|
+
| 固定留出集质量、真实向量性能 | rc.3 官方收据质量通过(Recall@5=1、MRR 0.9667);性能首失败 3068ms、4829ms 保留。P2 源码复测 1069ms 通过,rc.4 安装版待验收 |
|
|
39
57
|
| Workbench 长历史压缩后的游标、增量与重连 | C5 已修复转换落盘后二次恢复遗失旧边界。Leader Node 22、24 完整各 352/352;rc.11 独立下载验证通过。保留 C3 临时文件锁首失败、C4 的 340 项部分回归及后续 343 项完整重跑;整产品浏览器实际刷新待验收 |
|
|
40
58
|
| Workbench 开发 Agent 的知识库数据根目录 | C2 已交付四客户端 spawn 环境映射,Leader 在 Node 22、24 独立各 8/8(`plan16-workbench-c2-leader*`);相关完整回归存在 EPERM 首失败,真实安装版仍待验收。外壳传根目录接线已纳入 A3;GLM 提及的 C2 独立证据目录未定位到,不以其口头路径作为通过证据 |
|
|
41
|
-
| 网页、并发、故障、重启与二次开发闭环 |
|
|
59
|
+
| 网页、并发、故障、重启与二次开发闭环 | rc.3 官方收据绑定下网页、故障、生命周期、Workbench、真实单/并发提交通过;二次开发原任务 resume 通过(首失败为验收解析器缺陷,已按 TDD 修复);性能两次失败另列 |
|
|
42
60
|
| 官方 npm 候选下载及现有 v5 保真升级 | 待新候选 |
|
|
43
61
|
| 升级与汇总脚本的版本门禁 | D3 强制官方 identity、源码提交/引擎 40 文件绑定,支持正式包先验收 next 再更新 latest。Leader Node 22、24 各 144/144;保留 D1/D2 误判首失败,实际升级和汇总待执行 |
|
|
62
|
+
| 原插件 MCP 验收脚本 | `f9a736c` 修复真实 manifest、环境透传、同版本定义核对、引用元数据及固定错误码。Leader 引擎全量 Node 22、24 各 155/155;实际客户端仍缺当前 rc.1 插件,报告 PLUGIN_MANIFEST_MISSING,不计为原生接入通过 |
|
|
44
63
|
| 正式包下载、latest、日常更新与远程 Git | 待全部核心门禁通过 |
|
|
45
64
|
| GLM 协作手册与恢复会话实测 | 文档初稿已建立,待后续操作校验 |
|
|
46
65
|
|
|
@@ -9,9 +9,9 @@
|
|
|
9
9
|
"plugins/project-knowledge/hooks/codex.json": "216e03c07295606ef6ebb2c4f669ad0d790b5e7c4f3f34600488033db75e4239",
|
|
10
10
|
"plugins/project-knowledge/scripts/context-hook.cjs": "da666153ad5723592cce42d25337ae649f7d93e43fab76b3c6d1263933de063f",
|
|
11
11
|
"plugins/project-knowledge/scripts/mcp-launcher.cjs": "7c68830b5c73eb53ef030756a4de33987f7eab6b1a6cc15602835aac3f954893",
|
|
12
|
-
"plugins/project-knowledge/.claude-plugin/plugin.json": "
|
|
13
|
-
"plugins/project-knowledge/.codex-plugin/plugin.json": "
|
|
14
|
-
"plugins/project-knowledge/.mcp.json": "
|
|
12
|
+
"plugins/project-knowledge/.claude-plugin/plugin.json": "3316822d609f4a4db328596befcfc3c35c6dc2c289cacc80d8e0886db8f18b8c",
|
|
13
|
+
"plugins/project-knowledge/.codex-plugin/plugin.json": "828b77c3c5bd03ae3f8b2c2e9743d57a6ccabfd26056b61fdfad884570288ecd",
|
|
14
|
+
"plugins/project-knowledge/.mcp.json": "a987097f620b987223490012f6584a7fb66028026b5bc38431b31b296b6e76be"
|
|
15
15
|
},
|
|
16
16
|
"modules": {
|
|
17
17
|
"terminal": {
|
|
@@ -56,6 +56,7 @@
|
|
|
56
56
|
"packages/server/index.js": "77556a727cbe0e43dedfa87273a069010cad48ae46fb57a0e42a14908ab01b91",
|
|
57
57
|
"packages/server/lib/agent-discovery.js": "7fa15684329fd287cd0869183808311bf975263255425562f2896bc2c1a69e7c",
|
|
58
58
|
"packages/server/lib/agent-registry.js": "ef14c8ab8f5af56499a0cf1f7167a9495fc1745ef190e5d7b0298659a04a15ff",
|
|
59
|
+
"packages/server/lib/agent-spawn-env.js": "f34f672a6153c8454615c440f41b4c81582c4b7f74f6dace4e26c43df9dba6cf",
|
|
59
60
|
"packages/server/lib/attachment-store.js": "5c92c45c7ec5a8b0ee9c14edb42eeda5fce93d8e654718dcd75c12e3f0bfa6e7",
|
|
60
61
|
"packages/server/lib/bridges/app-server-bridge.js": "c860c6b9e0f63ead9f4f289dad1fe05fc93314e89b29cdf7722fba0472c9af11",
|
|
61
62
|
"packages/server/lib/bridges/opencode-server-bridge.js": "23b6065599bece60cc8d3d4779be90d62a6936ec437424287cc87325d250e02b",
|
|
@@ -119,18 +120,18 @@
|
|
|
119
120
|
"vectorHub": {
|
|
120
121
|
"name": "@sanqianx/vector-hub",
|
|
121
122
|
"installName": "@sanqianx/vector-hub",
|
|
122
|
-
"version": "1.0.8-rc.
|
|
123
|
+
"version": "1.0.8-rc.8",
|
|
123
124
|
"files": {
|
|
124
|
-
"README.md": "
|
|
125
|
+
"README.md": "aae16972ce9a12cd87092d993c96c4a5ca0107f5f4076db02f268caaae013d19",
|
|
125
126
|
"dist/cjs/bin.d.ts": "43e818adf60173644896298637f47b01d5819b17eda46eaa32d0c7d64724d012",
|
|
126
127
|
"dist/cjs/bin.js": "8d0317ce087d22074b4ad350d63bf39cd6d218da565496621cd0daf4245cbdc4",
|
|
127
128
|
"dist/cjs/bin.js.map": "818e872380d9c7ba045238ba65ce77111ba822b356be26327ed05936e5667e5e",
|
|
128
129
|
"dist/cjs/core/embeddings.d.ts": "894ff983ac72f2360432098573f971370ebdbc99f7de791af0a3ee97af62a46a",
|
|
129
130
|
"dist/cjs/core/embeddings.js": "5e199fd6e0de174aad1ba5440dd6358d9b180d4f82d62c7d8cd1fb8a17efb2d7",
|
|
130
131
|
"dist/cjs/core/embeddings.js.map": "f1b9ec78274cdd7359a59e8a47af7c376de61587bc4b9fc78df970734169ee38",
|
|
131
|
-
"dist/cjs/core/hub.d.ts": "
|
|
132
|
-
"dist/cjs/core/hub.js": "
|
|
133
|
-
"dist/cjs/core/hub.js.map": "
|
|
132
|
+
"dist/cjs/core/hub.d.ts": "69872cdc7a56a6e71d8ad53096e84c2ab4b73c67ba08525c069f87fb55d715ff",
|
|
133
|
+
"dist/cjs/core/hub.js": "b1ca20bb30e41aa0c68644d7ad11303e0a958da1c7b2d662555a249341a5f690",
|
|
134
|
+
"dist/cjs/core/hub.js.map": "0cc76d51458a743345e59db91cab1c59a5321971455116e362aff0d8c2582673",
|
|
134
135
|
"dist/cjs/core/kb-sync.d.ts": "8290ae4c5840dcf98769cfec1734d5ebeb102020b348da2a8382b1cad057da1b",
|
|
135
136
|
"dist/cjs/core/kb-sync.js": "b6bc7f11d3e63894fe8633151ac38c853f30d8675a15e57605bd8ff68bffd4b5",
|
|
136
137
|
"dist/cjs/core/kb-sync.js.map": "687ce74cdf668c1b99809a23c078861e66dacd0050056ff0231d69c3d6e6b85a",
|
|
@@ -146,18 +147,18 @@
|
|
|
146
147
|
"dist/cjs/server/manager.d.ts": "06c0e5c05ad47b3ab0a826303703d1b38d68e45f3686e687d832470dac56a05b",
|
|
147
148
|
"dist/cjs/server/manager.js": "947aba093ae79b294a67d8ebd10ceedcc5ff92a3298dfffbc09681f66eed4448",
|
|
148
149
|
"dist/cjs/server/manager.js.map": "d5236999f576019189c8464c4a9aaf1776902da2c5c09d962b557210cc3d8427",
|
|
149
|
-
"dist/cjs/server/server.d.ts": "
|
|
150
|
-
"dist/cjs/server/server.js": "
|
|
151
|
-
"dist/cjs/server/server.js.map": "
|
|
150
|
+
"dist/cjs/server/server.d.ts": "db01098f500fddc0a06c2e35cde258ce5adea800d8d071201c400a1bb737a455",
|
|
151
|
+
"dist/cjs/server/server.js": "2fc34d7d90e98a71dee6e1af37765a8342162f0efe10b75bf88cb8c91aeb3c15",
|
|
152
|
+
"dist/cjs/server/server.js.map": "7b69166711e21b824016b820dee2f07bdb883c721dd82c649c06d181d287ea4e",
|
|
152
153
|
"dist/esm/bin.d.ts": "43e818adf60173644896298637f47b01d5819b17eda46eaa32d0c7d64724d012",
|
|
153
|
-
"dist/esm/bin.js": "
|
|
154
|
+
"dist/esm/bin.js": "a44aa7fb2d45cb8d6d2c0d70a318d520186cbb1dd8a1895759a41e34d7246755",
|
|
154
155
|
"dist/esm/bin.js.map": "fc174c2b5c66c20ff88184ddeb00577406185945ccadb0bddbb2014909339e9e",
|
|
155
156
|
"dist/esm/core/embeddings.d.ts": "894ff983ac72f2360432098573f971370ebdbc99f7de791af0a3ee97af62a46a",
|
|
156
157
|
"dist/esm/core/embeddings.js": "b19e0cf42ca03e50644e39e39da4c003b9e273213c4532bd443c77085d2db521",
|
|
157
158
|
"dist/esm/core/embeddings.js.map": "043aa6822e6b4a692be025d89efb5d7d44f4b6b39ce36bcfad2e64dde45589bb",
|
|
158
|
-
"dist/esm/core/hub.d.ts": "
|
|
159
|
-
"dist/esm/core/hub.js": "
|
|
160
|
-
"dist/esm/core/hub.js.map": "
|
|
159
|
+
"dist/esm/core/hub.d.ts": "69872cdc7a56a6e71d8ad53096e84c2ab4b73c67ba08525c069f87fb55d715ff",
|
|
160
|
+
"dist/esm/core/hub.js": "270e9937f0fc7dae5b8be90323ac2e3d65f441943b3d682dfa4670876b50859b",
|
|
161
|
+
"dist/esm/core/hub.js.map": "0ad67c0001a84226299775e3e7f81ad8ec44b7ac9f248f1300f90cec7e109b44",
|
|
161
162
|
"dist/esm/core/kb-sync.d.ts": "8290ae4c5840dcf98769cfec1734d5ebeb102020b348da2a8382b1cad057da1b",
|
|
162
163
|
"dist/esm/core/kb-sync.js": "cbdfab9fecbdd2d6996744ad0bf88f446012d5616f57fdc60f5a8e8d8c462c5f",
|
|
163
164
|
"dist/esm/core/kb-sync.js.map": "e14d56e04a08642f6fb917310cf296ab2cf05c6a2fc6a2cab8ab929f50300843",
|
|
@@ -165,19 +166,19 @@
|
|
|
165
166
|
"dist/esm/core/types.js": "01ae2a5b120382f9a648ced7ee8507493a134f216d100fc61600c6c9738235d2",
|
|
166
167
|
"dist/esm/core/types.js.map": "9c8da204af4d662188e539b27e61f9ee44ecbe68da4211676ebdda14303e6f3b",
|
|
167
168
|
"dist/esm/index.d.ts": "96aa5a8b9c843a85c7cdc00901e0e95ecae6f01655e7de2d965f96b1d19181a0",
|
|
168
|
-
"dist/esm/index.js": "
|
|
169
|
+
"dist/esm/index.js": "79ca5b55aed2928de5679068ea91f260d3d8ea0667644ec685f91a137d7f0f1d",
|
|
169
170
|
"dist/esm/index.js.map": "7881f6d80d4941e1d60df5d445c0d75d4b0fb856056805abcf788d9c90100b62",
|
|
170
|
-
"dist/esm/package.json": "
|
|
171
|
+
"dist/esm/package.json": "1239d4d885dcad42201a27ed9324f8f0f760b78700d8db9ced39a511cffe7eae",
|
|
171
172
|
"dist/esm/server/folder-picker.d.ts": "b9c59dbc834fff668b1894f516450c2edc985c7bfac31edf9b7b4e766474b32b",
|
|
172
173
|
"dist/esm/server/folder-picker.js": "6c8247e431b7181c45fb169b29e5825a0b3589f44e1625b3a5a291d7b8358042",
|
|
173
174
|
"dist/esm/server/folder-picker.js.map": "f70723213f032a0f10f538289a176a50fc8f02c200b0194479ffc139b5fbb13b",
|
|
174
175
|
"dist/esm/server/manager.d.ts": "06c0e5c05ad47b3ab0a826303703d1b38d68e45f3686e687d832470dac56a05b",
|
|
175
|
-
"dist/esm/server/manager.js": "
|
|
176
|
+
"dist/esm/server/manager.js": "7075a4478cb6cbf67ccbc0be00ca5c7458d60dc28a546fcfb564945f7365da52",
|
|
176
177
|
"dist/esm/server/manager.js.map": "10bb43dec7cdf07d1e6260552f40ca347a6eb491ba8bbe81b6ce2a41157a9a87",
|
|
177
|
-
"dist/esm/server/server.d.ts": "
|
|
178
|
-
"dist/esm/server/server.js": "
|
|
179
|
-
"dist/esm/server/server.js.map": "
|
|
180
|
-
"package.json": "
|
|
178
|
+
"dist/esm/server/server.d.ts": "db01098f500fddc0a06c2e35cde258ce5adea800d8d071201c400a1bb737a455",
|
|
179
|
+
"dist/esm/server/server.js": "f46bec4f1918acc409b6eab087dcefb1d28a1a5d00838a4d4ff5689a1b5f8d59",
|
|
180
|
+
"dist/esm/server/server.js.map": "f56f9c2ca6b069c666a705d8e8707517eda448866e370802e69c06811d5eb23f",
|
|
181
|
+
"package.json": "80a0292ce5d3893a1ea5c82c9558e66821acd785d118579c848ddbdf7607d52e",
|
|
181
182
|
"ui/index.html": "9f6c7323661cfd692e0fbaf7d27f03f140a1b3fcfd12ea011f17e572a1255696",
|
|
182
183
|
"ui/vendor/marked.min.js": "c68075672d976e4777390560baa112194855bd4404b13647da4855aae1f9360c"
|
|
183
184
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sanqianx/project-knowledge",
|
|
3
|
-
"version": "5.0.16-rc.
|
|
3
|
+
"version": "5.0.16-rc.4",
|
|
4
4
|
"description": "Knowledge base manager with Git integration, AI-driven analysis, and bilingual (zh-CN/en-US) knowledge output",
|
|
5
5
|
"main": "_site/server.js",
|
|
6
6
|
"scripts": {
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
"@lancedb/lancedb": "0.31.0",
|
|
84
84
|
"@modelcontextprotocol/sdk": "1.29.0",
|
|
85
85
|
"@sanqianx/ai-coding-event-bridge-console": "0.7.2",
|
|
86
|
-
"@sanqianx/vector-hub": "1.0.8-rc.
|
|
86
|
+
"@sanqianx/vector-hub": "1.0.8-rc.8",
|
|
87
87
|
"buffer": "^6.0.3",
|
|
88
88
|
"cheerio": "^1.2.0",
|
|
89
89
|
"claude-ai-workbench": "npm:@sanqianx/claude-ai-workbench@0.13.2-rc.11",
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json",
|
|
3
3
|
"name": "project-knowledge",
|
|
4
4
|
"hooks": "./hooks/claude.json",
|
|
5
|
-
"version": "5.0.16-rc.
|
|
5
|
+
"version": "5.0.16-rc.4",
|
|
6
6
|
"description": "Read durable project decisions and implementation history from Project Knowledge.",
|
|
7
7
|
"author": {
|
|
8
8
|
"name": "SanQianX",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"const fs=require('fs'),path=require('path'),os=require('os');const PKG='@sanqianx/project-knowledge',SC='project-knowledge/integration-runtime/v1';let f='';const root=process.env.CLAUDE_PLUGIN_ROOT||process.env.PLUGIN_ROOT;if(root){f=path.join(root,'scripts','mcp-launcher.cjs');if(!fs.existsSync(f))f=''}if(!f){const dd=process.env.KB_DATA_DIR||path.join(os.homedir(),'.project-knowledge-v5');try{const bp=path.join(dd,'integration-runtime.json');const st=fs.statSync(bp);if(st.isFile()&&st.size<=32768){const b=JSON.parse(fs.readFileSync(bp,'utf8'));if(b&&b.schema===SC&&b.packageName===PKG&&typeof b.packageRoot==='string'&&path.isAbsolute(b.packageRoot)){const c=path.join(b.packageRoot,'plugins','project-knowledge','scripts','mcp-launcher.cjs');const rr=fs.realpathSync(b.packageRoot),cr=fs.realpathSync(c);const rel=path.relative(rr,cr);if(rel&&rel!=='..'&&!rel.startsWith('..'+path.sep)&&!path.isAbsolute(rel)&&fs.statSync(cr).isFile())f=cr}}}catch(e){}}if(!f){console.error('[project-knowledge-mcp] 未能通过受信任插件根或已验证的安装绑定定位启动器,已停止;不访问网络,也不加载工作目录源码。');process.exit(127)}require(f);"
|
|
9
9
|
],
|
|
10
10
|
"env": {
|
|
11
|
-
"KB_PLUGIN_VERSION": "5.0.16-rc.
|
|
11
|
+
"KB_PLUGIN_VERSION": "5.0.16-rc.4"
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
}
|
package/vendor-manifest.json
CHANGED
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
"modules": {
|
|
4
4
|
"knowledge-engine": {
|
|
5
5
|
"name": "@sanqianx/ai-coding-knowledge-engine",
|
|
6
|
-
"version": "0.2.7-rc.
|
|
6
|
+
"version": "0.2.7-rc.7",
|
|
7
7
|
"root": "_modules/knowledge-engine",
|
|
8
8
|
"files": {
|
|
9
|
-
"README.md": "
|
|
10
|
-
"package.json": "
|
|
9
|
+
"README.md": "399d94bdb9b6844b9c1965799400212c99bcbbf872cdec953fba09ba4eea7acd",
|
|
10
|
+
"package.json": "576b6b849d4fecec421c639fa7a3c84ce6b9ee70686baaad48d0153300b113f1",
|
|
11
11
|
"src/analysis-contract.js": "913a63b63fb4a4a9df071f95bbeb8f8c40ef87e2f8445ab0742086ced70ffbf7",
|
|
12
12
|
"src/analysis-output.js": "95a3c19dcc9ab85d1dba7fee5b9aec80f9c000dfba89da3fd0be25a81e2fb680",
|
|
13
13
|
"src/analysis-worker.js": "a105cabe6e1573b2d986b1e7a5aaf615e2fb53524156fc8e4e2c0a71f2c97e55",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"src/memories.js": "bba8e19380e906a80fd3e5d2a7f809d940466924578c8187d1f376f906f10f2b",
|
|
23
23
|
"src/retrieval-policy.json": "3205fb4eb114a839a74f902e6fae6a61e1460958e5a9d7e29add32b60ba4e05a",
|
|
24
24
|
"src/retrieval-ranking.js": "422c068ea995d4f8c7e1ffb64b4b72921017862add74da8996b1827c6c64c23d",
|
|
25
|
-
"src/retrieval.js": "
|
|
25
|
+
"src/retrieval.js": "341c558ffd53873744cfb36139c84b92775886c0e41804e85f93aa9004d91bd9",
|
|
26
26
|
"src/runtime/README.md": "9be676eca76a7857b34d7357194e6f0ee733c22e61d962d53984715dbec7f673",
|
|
27
27
|
"src/runtime/atomic-file.js": "9846b4b69db5ded811acf19a1181ef93615d93efaa542b858e552a7f3124ad23",
|
|
28
28
|
"src/runtime/automation-config.js": "6498c5397be12b155829740595a1553d4dcd6eaa7db6ced3ef88fdc60218f00e",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"src/runtime/evidence-bundle.js": "33d4614849d5e1d69aba8b75c3a43c18b7b6f94e5c78654c82ef631331cc94cc",
|
|
38
38
|
"src/runtime/git-runner.js": "b74fe197bd4dcf3e70635ef7b1f2615edf965c1d9a3ffe5406aabd41b76d74a9",
|
|
39
39
|
"src/runtime/knowledge-promotion.js": "e064f1e07d615adb755fbbcc89d67dcb783b355b47878f7d229b79ef93cfdba4",
|
|
40
|
-
"src/runtime/knowledge-retrieval-service.js": "
|
|
40
|
+
"src/runtime/knowledge-retrieval-service.js": "161917638f518d9436024c7a0960a5b38619e397af91099c01a0232bbd6b6a43",
|
|
41
41
|
"src/runtime/layout.js": "e47fe54c605218493ce46f6289798d9db2a3ecec95089d288ed03d3b75cf871a",
|
|
42
42
|
"src/runtime/markdown-knowledge-indexer.js": "f771afcc1a08bf0c6456d6756c8e04885fac15bc700a86ab0114853ac662727e",
|
|
43
43
|
"src/runtime/scanner.js": "d99fa8d74a6fbbaae75ca49f62127e14cf9e48b1404e4b4d597ef39df5441410",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"ui/app.js": "33a2ba38f0dafbbb2e30a1eb3fc93476bfcaf528e124e1a9b2edd2fb69221e9e",
|
|
48
48
|
"ui/index.html": "ce3565cfefd4838b11d37a91a906ef26ca5a1834844fe3f7c897b56851a3c418"
|
|
49
49
|
},
|
|
50
|
-
"sourceCommit": "
|
|
50
|
+
"sourceCommit": "61e5205c8c7a37645fa2be8c9e3cb2d3c250cc31"
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
}
|