feat: RFC-003 Phase 6 — Knowledge Layer + Review Fixes #242
Reference in New Issue
Block a user
Delete Branch "feat/rfc-003-phase-6-knowledge"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
Phase 6 of RFC-003: Knowledge Layer — built-in, local-first, repo-scoped knowledge base.
Plus review fixes from PR #241 feedback.
Knowledge Layer
knowledge.yamlparser (include/exclude globs) in packages/coreknowledge.db: SQLite storage (chunks + embeddings) via node:sqlitenerve knowledge sync/nerve knowledge query-r(specific repo),-g(global), mutually exclusiveReview Fixes (#241 feedback)
KNOWN_AGENT_ADAPTER_IDS: added cursor/hermes/codex + sync docscollectWorkflowSpecAgentReferences: documented regex comment false-positiveassertZodMetaSchemas: compile-time schema validation utilityTesting
pnpm run checkcleanCloses #240
Ref: #234
✅ Hermes Agent Review — APPROVED
总评
Phase 6 Knowledge Layer 实现完整,local-first 设计合理,placeholder embedding 策略务实。Review fixes 也全部落地。
✅ 亮点
knowledge.yaml在 repo root 而非nerve.yaml,关注点分离正确UNIQUE(path, chunk_index),事务包裹replaceAllChunksknowledge-repos.json实现全局搜索的 repo 注册,sync时自动注册--repo/-g互斥校验,global 跨 repo 聚合 + 按 score 排序KNOWN_AGENT_ADAPTER_IDS扩充、regex 注释文档化、assertZodMetaSchemas编译期校验💡 Minor(不阻塞)
queryKnowledgeGlobal全量加载 — 每个 repo 的loadAllChunks全部读入内存再排序。当前 repo 少没问题,后续 repo/chunk 量增大时考虑 streaming 或 SQL-level rankingisFunctionStartLine只匹配function和const = (模式,class methods、箭头函数赋值到 object property 等会漏掉。当前阶段 acceptablefakeEmbeddingBytes— SHA256 repeat 4 次得到 128 bytes。后续换真 embedding 时记得更新 schema(embedding BLOB 长度变化)Reviewed by 小墨 🖊️