Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
101 commits
Select commit Hold shift + click to select a range
cce5c5b
docs: 集中式 Wiki 布局设计文档 + spec + 工单 01-10
mambo-wang Aug 28, 2026
aba7a61
feat: 集中式布局奠基——布局配置、工作区解析与跨平台文件锁(工单 01/02)
mambo-wang Aug 28, 2026
0ee5410
feat: add_workspace_repo 集中模式行为(工单 03)
mambo-wang Aug 28, 2026
e1cceb0
feat: 布局感知页型路由与共享池来源标(工单 04)
mambo-wang Aug 28, 2026
b90b1a4
feat: query_wiki 一跳检索与 repo= 范围过滤(工单 05)
mambo-wang Aug 28, 2026
a39d553
feat: 手工沉淀的三种作用域标注(工单 06)
mambo-wang Aug 28, 2026
94b9f28
feat: 运行时数据集中模式落工作区根共享区(工单 07)
mambo-wang Aug 28, 2026
9848eac
feat: analyze_workspace 集中模式与 generate_repo_wikis(工单 08)
mambo-wang Aug 28, 2026
6406f20
feat: lint_wiki 布局纪律检查(工单 09)
mambo-wang Aug 28, 2026
0b8078e
feat: remove_workspace_repo 集中式知识清理(工单 10)
mambo-wang Aug 28, 2026
d87104d
docs: 工单 01-10 状态置 resolved + 实现测试报告
mambo-wang Aug 28, 2026
b5982e7
多仓需求开发
mambo-wang Aug 28, 2026
74a309e
md
wandering-bug Aug 29, 2026
e7310c1
feat: init_workspace 零配置幂等重构 + remove_workspace_repo 跨仓分析缓存清理
wandering-bug Aug 29, 2026
013c599
chore: repowiki 任务索引注册「多仓工作区」+ 遥测/wiki 索引更新
wandering-bug Aug 29, 2026
add0be9
bugfix
wandering-bug Aug 29, 2026
0267c8e
bugfix
wandering-bug Aug 29, 2026
a4df3f0
fix: bootstrap.ps1 以 UTF-8 with BOM 写入,修复 PowerShell 5.1 按 GBK 误读乱码
mambo-wang Aug 29, 2026
f337429
1
mambo-wang Aug 29, 2026
af643e2
feat: init_workspace 首次初始化强制布局闸门 + workspace.json 两种布局总是写入
mambo-wang Aug 29, 2026
b792349
feat: centralized 布局下工作区成员仓保持纯代码目录
mambo-wang Aug 29, 2026
9ae9f94
feat: analyze_workspace 增量更新——三档分派 + centralized 缓存按仓命名空间
wandering-bug Aug 29, 2026
c2ce9f8
代码优化
wandering-bug Aug 29, 2026
adc2bfe
chore: bump version to 5.5.0
mambo-wang Aug 29, 2026
68a2aa2
代码优化
wandering-bug Aug 29, 2026
59e1628
Merge branch 'develop' of https://github.com/mambo-wang/CodeWiki-Plus…
wandering-bug Aug 29, 2026
922a63c
feat: install-hooks 改用项目相对路径生成 hook 命令
wandering-bug Aug 29, 2026
d66136b
fix: distill-worker frontmatter 按宿主家族分发变体
wandering-bug Aug 29, 2026
dd1457b
chore(repowiki): 知识飞轮更新——蒸馏、聚合与 Doctrine 刷新
wandering-bug Aug 29, 2026
1488210
fix: claude 家族 distill-worker 变体省略 tools 行改为继承全部工具
wandering-bug Aug 29, 2026
455ea45
feat: claude 家族补蒸馏委托改用内置 general-purpose 子代理
wandering-bug Aug 29, 2026
8ebf837
docs: 修订 frontmatter 分发笔记(三轮实证)并同步 .qoder 变体副本
wandering-bug Aug 29, 2026
e3eca47
fix: batch_ingest 改用文件侧通道返回报告,避免 MCP 大载荷超时
wandering-bug Aug 29, 2026
0e920cb
docs: sync wiki after batch_ingest report-file channel fix
wandering-bug Aug 29, 2026
17b50fc
chore: bump version to 5.5.1
mambo-wang Aug 30, 2026
837e528
docs: 新增统一知识存储层 RFC——动词式门面 KnowledgeStore 收拢 13+ 份重复存储管道代码
mambo-wang Aug 30, 2026
4000e3f
fix: 工作区 gitignore 模板补充 .codewiki/——centralized 布局下分析缓存落在工作区根,属本机可重建派…
mambo-wang Aug 31, 2026
557efcf
refactor: 统一知识存储层落地——KnowledgeStore 动词式门面收拢 8 个工具的重复存储管道
mambo-wang Aug 31, 2026
5c45a19
docs: OpenWiki 借鉴详细设计方案——D1-D5 五类借鉴项落地设计
mambo-wang Aug 31, 2026
2d0d32d
chore: 同步任务与遥测数据——OpenWiki 竞品调研、统一知识存储层任务入库
mambo-wang Aug 31, 2026
0c1f33d
Merge remote-tracking branch 'origin/develop' into develop
mambo-wang Aug 31, 2026
c9dea44
refactor: 分析缓存 DB 路径改相对存储——消除本机绝对路径,读写边界还原绝对路径保持行为不变
mambo-wang Aug 31, 2026
0c26a4b
feat: P0 证据锚定落地——stamp_evidence 工具 + stale_evidence lint + write_doc_…
mambo-wang Aug 31, 2026
efbc526
docs: OpenWiki 借鉴方案修订——三态设计规范 + D2 指纹基线澄清
mambo-wang Aug 31, 2026
8da84b3
feat: D2 页面级基线 manifest 落地——page_manifest 读写 + doc_writer 三写入点 + stal…
mambo-wang Aug 31, 2026
a1a4366
bugfix
mambo-wang Sep 1, 2026
d1658f6
feat: D2 修订——entity 页按组件名归属文件 + stale_pages 统一后处理
mambo-wang Sep 1, 2026
2807791
docs: 团队化设计方案 Rev.2——合入 teamai-cli 对照修订(push 竞争自动重试/搭便车同步语义/延迟到达降级不变量…
mambo-wang Sep 1, 2026
94fd72c
docs(wiki): 归档并确认 teamai-cli 多人文件冲突处理调研笔记(architecture 类型,v0.21.0 源码逐…
mambo-wang Sep 1, 2026
7524b33
chore: 同步遥测与采纳状态数据
mambo-wang Sep 1, 2026
d069197
feat: 团队化 Phase 1+2——布局去噪与并发收口
mambo-wang Sep 2, 2026
7768525
chore: 本仓迁移到 team layout——gitignore 补可重建清单 + 首个月度日志分片
mambo-wang Sep 2, 2026
aefdafe
feat: 团队化 Phase 3 + Phase 4 第一刀——author 归属与 fingerprint 软告警 + sync_ch…
mambo-wang Sep 2, 2026
edc0dd8
feat: 团队化 Phase 4 第二刀——session_ff_only + auto_push(D17 门控)
mambo-wang Sep 2, 2026
7558c8c
fix: auto_push 预存暂存守卫 + 锁文件防卷入(真仓验收发现)
mambo-wang Sep 2, 2026
9c04222
fix: 补齐并发收口遗留的 4 个裸写点(评审 Minor #4)
mambo-wang Sep 2, 2026
57ad5ac
feat: backfill-note-authors 命令——存量笔记 author 溯源回填(D16 收尾)
mambo-wang Sep 2, 2026
4895de0
chore: 本仓存量笔记 author 回填——112 篇按 git 创建提交作者溯源(mambo-wang 91 / wanderin…
mambo-wang Sep 2, 2026
569549b
docs: claude-mem 借鉴方案 Rev.2 拷问评审定稿(15 项裁决)
mambo-wang Sep 2, 2026
93d693e
docs: 补 P1/P2 遗留项评估结论(设计方案 §十)
mambo-wang Sep 3, 2026
4fd710b
feat: centralized 布局 MCP 全量扫缺陷修复(7 项)
mambo-wang Sep 3, 2026
b30fc52
test: smoke_test 断言字段对齐 distill_conversation 现行为(transcript→preview)
mambo-wang Sep 3, 2026
c8ddda1
chore: uv.lock 版本同步 5.5.1(补上上个版本提交遗漏的 lockfile 更新)
mambo-wang Sep 3, 2026
df927df
test: 采集检索遥测基线(claude-mem 借鉴方案 §6.4 前置项)
mambo-wang Sep 3, 2026
444c8ae
feat: P0-1 检索成本可见性 est_tokens(claude-mem 借鉴)
mambo-wang Sep 3, 2026
6dad898
feat: P0-2 by_file 文件知识检索 + P1-4 对端新鲜度(claude-mem 借鉴)
mambo-wang Sep 3, 2026
1b8f99d
feat: P0-3 工作流内建工具描述 + schema 配置 + 46 项测试(claude-mem 借鉴收尾)
mambo-wang Sep 3, 2026
81ecb27
docs: CONTEXT.md 词汇表补 est_tokens / cost_hint 词条(P0-1 落地后词汇结晶)
mambo-wang Sep 3, 2026
900bf7e
fix: 修复全部 10 个存量测试失败(1 个产品 bug + 3 个跨平台测试问题)
mambo-wang Sep 3, 2026
dca6685
chore: 遥测事件流例行入库(含 by_file 事件首批数据)
mambo-wang Sep 3, 2026
b17c408
feat: P2-3 遥测临时文件治理 + P2-2 SessionStart 知识库概览薄版(claude-mem 借鉴)
mambo-wang Sep 3, 2026
27505a7
docs: CodeWiki-Plus 系列 10:一个人用是记忆,一群人用才是资产——知识库团队化的两昼夜
mambo-wang Sep 3, 2026
9b3392d
docs: 代码库架构评审——五个 deepening 候选清单 + 检索 kernel 重构方案定稿
mambo-wang Sep 3, 2026
03ab32e
test: 检索 golden 基线固化(检索 kernel 重构 Phase 0)
mambo-wang Sep 3, 2026
2293ce5
refactor: 检索 kernel 抽取——cache.py 文本 kernel 整体搬入 src/retrieval.py(Phas…
mambo-wang Sep 3, 2026
e9a7066
refactor: SearchIndex interface 立起 + freshness 收口 wiki_search.search …
mambo-wang Sep 3, 2026
7c81514
refactor: by_file/状态判定 frontmatter 解析落座 src/frontmatter(Phase 3)
mambo-wang Sep 3, 2026
4e80325
refactor: 删除 cache.py 兼容 shim,kernel 私有名全部转正(Phase 4)
mambo-wang Sep 3, 2026
feb25e8
feat: frontmatter 读写一体层——render_frontmatter + 往返不变量(候选 #3)
mambo-wang Sep 3, 2026
f09f30e
refactor: store.py 成为唯一写路径——5 处卫星原子写并入漏斗(候选 #4)
mambo-wang Sep 3, 2026
92bf399
docs: 词汇结晶 + 评审清单落地状态回写(架构评审收尾)
mambo-wang Sep 3, 2026
f4c8802
refactor: 共享 helper 落座 store_bridge(候选 #5)
mambo-wang Sep 4, 2026
206dbd4
refactor: 拆开 knowledge_loop——六工具族落座独立 module + NoteWriter(候选 #1)
mambo-wang Sep 4, 2026
724a085
docs: 评审清单标注五个候选全部落地
mambo-wang Sep 4, 2026
2ce7507
docs: 系列10 文章通俗化改写——术语白话化,事实与结构不变
mambo-wang Sep 4, 2026
90996e7
refactor: schema.yaml 单事实源收敛到包内模板——删根副本,加载路径统一 + auto_evidence 约定
mambo-wang Sep 4, 2026
d812e09
fix: 索引摘要相对链接按页面目录重定位 + analyzer 忽略 agent 临时目录
mambo-wang Sep 4, 2026
0c39d89
docs: 知识库补页与维护——新增 KnowledgeStore/Workspace 模块页,caveman 调研笔记
mambo-wang Sep 4, 2026
cf74baa
docs: 新增知识可信度工程系列11公众号文章与技术详解配套文档
mambo-wang Sep 4, 2026
26e2910
锁位置更改
mambo-wang Sep 4, 2026
8c568f1
fix: 锁文件释放清理策略——Windows best-effort unlink,Unix 保留防 inode race
mambo-wang Sep 4, 2026
ddba7b2
docs: 知识库维护——caveman 技能机制研究归档与 CodeBuddy 技能安装笔记
mambo-wang Sep 4, 2026
1149cb3
chore: bump version to 5.6.0
mambo-wang Sep 4, 2026
138894c
skill add
mambo-wang Sep 4, 2026
2909569
wiki生长
mambo-wang Sep 4, 2026
30c53c4
fix: ingest_source 同名冲突需显式同意后才替换旧文件
mambo-wang Sep 4, 2026
30615e7
fix(retrieval): skip deprecated notes in check mode and distill dedup
mambo-wang Sep 5, 2026
53cb6bf
bugfix
mambo-wang Sep 5, 2026
111d206
feat(ingest): note 鍐茬獊鎻愮ず涓?source 鐗堟湰闂ㄦ帶 + 寮曠敤婧簮鏍囨敞绾﹀畾
mambo-wang Sep 5, 2026
6899d92
chore: bump version to 5.6.1
mambo-wang Sep 5, 2026
8a66241
skillwiki
mambo-wang Sep 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
10 changes: 7 additions & 3 deletions .codebuddy/hooks/capture_session_end.py
Original file line number Diff line number Diff line change
Expand Up @@ -127,12 +127,16 @@ def _read_event() -> dict:
def _resolve_repo_path(event: dict) -> str:
"""Resolve the repo root, preferring authoritative sources.

Priority: CODEBUDDY_PROJECT_DIR env var (CodeBuddy-specific) >
CLAUDE_PROJECT_DIR (compat) > event's cwd > this script's repo location.
Candidates that don't exist on disk are skipped.
Priority: the host's *_PROJECT_DIR env var (each host injects its own:
CODEBUDDY/QODER/GEMINI/TRAE, plus CLAUDE_PROJECT_DIR compat) > event's
cwd > this script's repo location. Candidates that don't exist on disk
are skipped.
"""
candidates = [
os.environ.get("CODEBUDDY_PROJECT_DIR"),
os.environ.get("QODER_PROJECT_DIR"),
os.environ.get("GEMINI_PROJECT_DIR"),
os.environ.get("TRAE_PROJECT_DIR"),
os.environ.get("CLAUDE_PROJECT_DIR"),
event.get("cwd"),
str(REPO),
Expand Down
82 changes: 73 additions & 9 deletions .codebuddy/hooks/task_session_start.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,9 @@
from pathlib import Path

REPO = Path(__file__).resolve().parents[2] # <repo>/.codebuddy/hooks/ -> <repo>
# 本副本安装所在的 IDE 配置目录名(".codebuddy"/".qoder"/…);
# 包内源副本位于 codewiki/hooks/,取值为 "codewiki"。
IDE_DIR_NAME = Path(__file__).resolve().parents[1].name


def _read_event() -> dict:
Expand All @@ -79,12 +82,16 @@ def _read_event() -> dict:
def _resolve_repo_path(event: dict) -> str:
"""Resolve the repo root, preferring authoritative sources.

Priority: CODEBUDDY_PROJECT_DIR env var (CodeBuddy-specific) >
CLAUDE_PROJECT_DIR (compat) > event's cwd > this script's repo location.
Candidates that don't exist on disk are skipped.
Priority: the host's *_PROJECT_DIR env var (each host injects its own:
CODEBUDDY/QODER/GEMINI/TRAE, plus CLAUDE_PROJECT_DIR compat) > event's
cwd > this script's repo location. Candidates that don't exist on disk
are skipped.
"""
candidates = [
os.environ.get("CODEBUDDY_PROJECT_DIR"),
os.environ.get("QODER_PROJECT_DIR"),
os.environ.get("GEMINI_PROJECT_DIR"),
os.environ.get("TRAE_PROJECT_DIR"),
os.environ.get("CLAUDE_PROJECT_DIR"),
event.get("cwd"),
str(REPO),
Expand Down Expand Up @@ -253,6 +260,44 @@ def _load_doctrine(repo_path: str) -> str:
)


def _load_knowledge_overview(repo_path: str) -> str:
"""One-paragraph knowledge-base overview for the fresh session (P2-2 thin).

claude-mem borrowing: SessionStart is the "visible before work starts"
channel — the tool description (P0-3) only fires when the agent already
thinks of calling query_wiki. This section says the knowledge base EXISTS
(N notes / recent key decisions) and carries the one-line four-layer
retrieval strategy, so agents that never thought to search still do.

Deliberately thin: counts files and reads only the 3 newest note titles
(stdlib-only line scan of ``metadata.date``-style filename prefixes —
note filenames start with YYYY-MM-DD). Degrades to "" when repowiki/
notes is absent or empty; never breaks the task prompt.
"""
try:
notes_dir = Path(repo_path) / "repowiki" / "notes"
if not notes_dir.is_dir():
return ""
notes = sorted(
(p for p in notes_dir.glob("*.md") if p.is_file()),
key=lambda p: p.name,
reverse=True,
)
if not notes:
return ""
recent = [p.name[:-3] for p in notes[:3]]
lines = [
"【知识库提示】本仓库有 repowiki 知识库"
f"({len(notes)} 条笔记),改文件/做设计前先查:",
"- 改某文件前:query_wiki(by_file=<路径>) 查该文件的历史决策与教训;",
"- 主题检索:query_wiki(mode='check') 先轻量预检,再全文检索(结果带 est_tokens 成本);",
f"- 最新笔记:{ ';'.join(recent) }",
]
return "\n".join(lines)
except OSError:
return ""


def _build_message(event: dict, repo_path: str) -> str:
"""Build the guidance injected into the fresh session.

Expand Down Expand Up @@ -318,12 +363,23 @@ def _build_message(event: dict, repo_path: str) -> str:
for tid, n in sorted(pending_counts.items()):
label = f"任务 {tid}" if tid else "未关联任务"
lines.append(f" - {label}: {n} 条")
lines.append(
"绑定任务之后,立即用 Task 工具 spawn「蒸馏 worker」subagent "
"(.codebuddy/agents/distill-worker.md,已授权 codewiki MCP)后台执行补蒸馏;"
"主 Agent 不要亲自 read_file raw 原文、也不等蒸馏完成,直接开始回答用户提问。"
"蒸馏 worker 走 Mode C(纯 MCP JSON)流程:"
)
if IDE_DIR_NAME == ".codebuddy":
lines.append(
"绑定任务之后,立即用 Task 工具 spawn「蒸馏 worker」subagent "
"(.codebuddy/agents/distill-worker.md,已授权 codewiki MCP)后台执行补蒸馏;"
"主 Agent 不要亲自 read_file raw 原文、也不等蒸馏完成,直接开始回答用户提问。"
)
else:
# claude 家族(Qoder/Claude Code/Gemini CLI):自定义子代理拿不到
# MCP 权限(实测),委托改走内置 general-purpose 子代理,
# 以 distill-worker.md 正文为剧本。包内源副本同走此分支。
lines.append(
"绑定任务之后,立即用 Task 工具 spawn 内置 general-purpose 子代理后台执行补蒸馏:"
f"让它先读 {IDE_DIR_NAME}/agents/distill-worker.md(蒸馏 worker 剧本),"
"再按其中 Mode C 流程执行(本宿主自定义子代理拿不到 MCP 权限,须用内置子代理);"
"主 Agent 不要亲自 read_file raw 原文、也不等蒸馏完成,直接开始回答用户提问。"
)
lines.append("蒸馏子代理走 Mode C(纯 MCP JSON)流程:")
lines.append(
' 1. distill_conversation(mode="prepare", task_id=<绑定的任务id>) '
"获取该任务的积压对话清单"
Expand Down Expand Up @@ -361,6 +417,14 @@ def _build_message(event: dict, repo_path: str) -> str:
lines.append("")
lines.append(doctrine)

# P2-2 (claude-mem borrowing, thin): knowledge-base overview — make the
# KB's existence and the cheapest retrieval entries visible before work
# starts, complementing P0-3's call-time tool description.
overview = _load_knowledge_overview(repo_path)
if overview:
lines.append("")
lines.append(overview)

return "\n".join(lines)


Expand Down
4 changes: 2 additions & 2 deletions .codebuddy/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"hooks": [
{
"type": "command",
"command": "python \"d:\\repos\\CodeWiki-CN\\.codebuddy\\hooks\\task_session_start.py\"",
"command": "python \".codebuddy/hooks/task_session_start.py\"",
"timeout": 15
}
]
Expand All @@ -18,7 +18,7 @@
"hooks": [
{
"type": "command",
"command": "python \"d:\\repos\\CodeWiki-CN\\.codebuddy\\hooks\\capture_session_end.py\"",
"command": "python \".codebuddy/hooks/capture_session_end.py\"",
"timeout": 30
}
]
Expand Down
7 changes: 7 additions & 0 deletions .codebuddy/skills/grill-me/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
name: grill-me
description: A relentless interview to sharpen a plan or design.
disable-model-invocation: true
---

Call the Skill tool with "grilling".
5 changes: 5 additions & 0 deletions .codebuddy/skills/grill-me/agents/openai.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
interface:
display_name: "Grill Me"
short_description: "Sharpen a plan through interview"
policy:
allow_implicit_invocation: false
22 changes: 22 additions & 0 deletions .codebuddy/skills/grilling/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
name: grilling
description: Grill the user relentlessly about a plan, decision, or idea. Use when the user wants to stress-test their thinking, or uses any 'grill' trigger phrases.
---

Interview the user relentlessly until you reach a shared understanding. Map this as a **design tree**: every decision branches into the decisions that hang off it.

Work the tree in **rounds**. The **frontier** is every decision whose prerequisites are already settled: the questions you can ask _now_ without guessing at answers you haven't heard yet. Ask the whole frontier in one round: number each question and give your recommended answer. Then wait for the user's answers before the next round.

Each question should be formatted like so:

```
❓ **Q1** - **<question title>**: <question body, might be multiple paragraphs, including multiple choices>

➡️ <your recommended answer>
```

Each round the user answers reshapes the tree: settled decisions push the frontier outward and unblock questions that depended on them. Recompute the frontier and ask the next round. A question whose answer depends on another question still open in this round belongs to a _later_ round, not this one.

Finding _facts_ is your job, never the user's. When a frontier question needs a fact from the environment (filesystem, tools, etc.), dispatch a sub-agent to find it; don't ask the user for anything you could look up yourself. Don't block on it: a running exploration is an unsettled prerequisite, so only the questions downstream of it wait for the sub-agent to report; ask the rest of the frontier now. The _decisions_ are the user's: put each to them and wait.

The session is done when the frontier is empty: every branch of the design tree visited, nothing left silently assumed. Do not act on it until the user confirms you have reached a shared understanding.
3 changes: 3 additions & 0 deletions .codebuddy/skills/grilling/agents/openai.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
interface:
display_name: "Grilling"
short_description: "Stress-test thinking a round of questions at a time"
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"name": "_auto_3145cf7354b441ffacadba3e15874bef",
"mainConversationId": "3145cf7354b441ffacadba3e15874bef",
"workspacePath": "d:\\repos\\CodeWiki-CN",
"createdAt": "2026-09-05T11:08:37.175Z",
"options": {
"workspacePath": "d:\\repos\\CodeWiki-CN",
"isAutoTeam": true
},
"isAutoTeam": true,
"members": [
{
"memberId": "distill-worker@_auto_3145cf7354b441ffacadba3e15874bef",
"name": "distill-worker",
"role": "补蒸馏产品维护积压对话",
"sessionId": "aa58dfd742054c83bd11ec7ef7a8c6fe"
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[]
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[]
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"name": "distill-backfill",
"mainConversationId": "31582129a47a43c4bb3d69f6c74aeca0",
"workspacePath": "d:/repos/CodeWiki-CN",
"createdAt": "2026-09-04T05:58:30.032Z",
"options": {
"workspacePath": "d:/repos/CodeWiki-CN"
},
"members": [
{
"memberId": "distill-he2@distill-backfill",
"name": "distill-he2",
"role": "补蒸馏他山之石积压",
"sessionId": "7e6f083993734e8ea891a6935f1ce8b7"
},
{
"memberId": "hook-probe@distill-backfill",
"name": "hook-probe",
"role": "调查 CodeWiki hook/注入设施",
"sessionId": "d7e74f690c1b452a94ef174bc494f967"
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
[
{
"id": "shutdown-1788501682764",
"from": "team-lead",
"to": "distill-he2",
"type": "shutdown_request",
"content": "{\"type\":\"shutdown_request\",\"request_id\":\"shutdown-1788501682764\",\"reason\":\"补蒸馏汇报已收到,使命完成,感谢。另确认:你提到「2 条 caveman architecture 笔记已 stable」与用户实际决定有出入——用户此前已拒绝其中 1 条(caveman 生效机制)并 reject_note 标记 deprecated,另 1 条(hook 工程化防御)保留待定。请勿在后续输出中把已拒绝笔记当作生效知识引用。可关闭。\",\"from\":\"team-lead\",\"timestamp\":\"2026-09-04T06:01:22.764Z\"}",
"timestamp": "2026-09-04T06:01:22.764Z",
"read": true
}
]
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[]
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
[
{
"id": "msg-1788501657041-qgnffd",
"from": "distill-he2",
"to": "team-lead",
"type": "message",
"content": "「他山之石」补蒸馏完成汇报。\n\n【结论】该任务有 1 条待蒸馏积压(conv-https-github.com-JuliusBrussee-caveman.git-研究下这个技能是如何生效的,27 轮 supersede 续捕版)。raw 的旧 12 轮版本此前已蒸馏并产出 2 条 stable 笔记(caveman 生效机制 / hook 工程化防御,已确认落盘)。本次处理的是新增内容(CodeBuddy 使用方式),非重复提交。\n\n【本次提交】\n- 新建笔记 1 条(decision,draft 待确认):\n 《在 CodeBuddy 使用跨 Agent 技能:纯 SKILL.md 直接装 ~/.codebuddy/skills/,hooks 需 CLI/插件市场、Native Pack 无 codebuddy target》\n 内容:CodeBuddy 兼容性边界实测表(纯 SKILL.md 技能 ✅ 支持 / Plugin hooks ⚠️ 需 CLI+写死 ~/.claude / 本地代理 ❌ 无 codebuddy target / TOML slash 命令 ❌ 只认 Markdown 版)+ 推荐做法(把 caveman 当普通 Skill 全量安装到 ~/.codebuddy/skills/)。\n 落盘:repowiki/notes/2026-09-04-在-codebuddy-使用跨-agent-技能纯-skillmd-直接装-codebuddyskillshooks-需.md\n- 去重抑制/合并:0(仅一次冲突,判定 store 通过——候选笔记只覆盖 caveman 机制,不含 CodeBuddy 兼容内容)\n- 落盘任务记忆 3 条(memories_written=3,直写 memories 文件):\n 1) caveman 研究已完成、2 条 architecture 笔记已确认落盘;\n 2) 用户拍板把 caveman 全量安装到 ~/.codebuddy/skills/,安装动作在会话末尾仍在执行,需确认完成并清理 .caveman-tmp;\n 3) raw/ 另有 14 条「未关联任务」pending raw(带 .lck 空锁,误批处理所致无副作用),建议主 Agent 统一安排归属。\n\n【归档】raw 主体已归档至 conversations/conv-...-a51ed2.md,暂存文件已自动清理。\n\n【建议展示给用户的待确认草稿】1 条:上述 CodeBuddy 技能安装 decision 笔记(另 2 条同主题 caveman architecture 笔记此前已 stable,无需再确认)。注意:draft 笔记确认前只作只读参考。",
"timestamp": "2026-09-04T06:00:57.041Z",
"read": true
},
{
"id": "resp-1788501683018-5p9a0i",
"from": "distill-he2",
"to": "team-lead",
"type": "shutdown_response",
"content": "{\"type\":\"shutdown_response\",\"request_id\":\"shutdown-1788501682764\",\"approve\":true,\"reason\":\"Auto-acknowledged by team-member runtime\",\"from\":\"distill-he2\",\"timestamp\":\"2026-09-04T06:01:23.018Z\"}",
"timestamp": "2026-09-04T06:01:23.018Z",
"read": true
}
]
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"name": "_auto_8dc3144e030e401a942b5d77f8d4bfcb",
"mainConversationId": "8dc3144e030e401a942b5d77f8d4bfcb",
"workspacePath": "d:\\repos\\CodeWiki-CN",
"createdAt": "2026-09-05T10:32:04.626Z",
"options": {
"workspacePath": "d:\\repos\\CodeWiki-CN",
"isAutoTeam": true
},
"isAutoTeam": true,
"members": [
{
"memberId": "distill-他山之石@_auto_8dc3144e030e401a942b5d77f8d4bfcb",
"name": "distill-他山之石",
"role": "补蒸馏他山之石任务",
"sessionId": "4e77bbad99d446cd9ac307f548735c87"
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[]
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[]
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"name": "codewiki-product-maintenance",
"mainConversationId": "a70f83a01faf4c36b42b2819fd61bf45",
"workspacePath": "d:/repos/CodeWiki-CN",
"createdAt": "2026-09-05T11:27:43.987Z",
"options": {
"workspacePath": "d:/repos/CodeWiki-CN"
},
"members": [
{
"memberId": "distill-worker@codewiki-product-maintenance",
"name": "distill-worker",
"role": "后台补蒸馏未关联积压",
"sessionId": "8e7d9ceea0864d518f2538b3850ef21b"
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[]
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[]
21 changes: 21 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,26 @@ repowiki/.meta/retrieval_stats.db
# T2 (团队方案): 共享遥测事件流 .meta/telemetry/ 默认入库;本机退化模式
# (conventions.telemetry.enabled: false) 的写入位置不入库
repowiki/.meta/telemetry-local/
# P2-3: 原子写残留(崩溃/被杀时 .tmp.<pid>.<tid> 不及清理)与 sidecar 锁文件
# 是本机瞬态产物,永远不入库(历史误提交的 Administrator.jsonl.tmp.19748 即此类残留)
repowiki/.meta/telemetry/*.tmp.*
repowiki/.meta/telemetry/*.lck
# T3 (团队方案): search_index.json 是秒级可重建的本机派生索引——
# 入库只会制造最大的全量重写冲突面,且可能固化过期索引(T1 自愈兜底重建)
repowiki/.meta/search_index.json
# Team-layout Phase 1 (D1): 可重建派生物不入库(详见 docs/团队化文件冲突治理与同步策略设计方案.md)
repowiki/wiki/index.md
repowiki/.meta/edit_history.json
repowiki/.meta/metadata.json
repowiki/.meta/module_tree.json
repowiki/.meta/symbol_map.json
repowiki/.meta/project.json
repowiki/.meta/overview_refs.json
repowiki/.meta/aggregate_state.json
repowiki/.meta/source_registry.json
repowiki/.meta/task_bindings/
repowiki/tasks/.index.json
repowiki/distill-jobs.json
# team-memory fusion: raw/ is a transient staging area for captured
# conversations (deleted after distillation) — never commit it.
repowiki/raw/
Expand All @@ -81,6 +98,10 @@ Thumbs.db
*.tmp
*.log
*.bak
# KnowledgeStore lock files (centralized under repowiki/.meta/locks/; *.lck
# also covers legacy co-located sidecars)
repowiki/.meta/locks/
*.lck
.trash/
.codewiki/
.workbuddy/
Expand Down
Loading