@fanchao8609/agent_brain_sync 1.13.1 → 1.13.2

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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/src/lint.js +19 -5
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fanchao8609/agent_brain_sync",
3
- "version": "1.13.1",
3
+ "version": "1.13.2",
4
4
  "description": "agent-brain-sync: 跨会话 AI 编码记忆 — hook 纯触发 + CLI/MCP 读写 .brain markdown 图谱, 防并发写保护。",
5
5
  "type": "module",
6
6
  "license": "MIT",
package/src/lint.js CHANGED
@@ -170,11 +170,20 @@ function checkPage(pg, names, linkedNames, inbound) {
170
170
  `引用请用 [[${id}]] 或改回文件名)`);
171
171
  }
172
172
  }
173
- for (const ln of pg.links) {
174
- if (/^<.+>$/.test(ln) || /slug|Name|name|Date|页面名$/.test(ln)) {
175
- issues.push(`TEMPLATE-LINK: ${pg.rel} -> [[${ln}]]`);
176
- } else if (!names.has(ln)) {
177
- issues.push(`DEAD-LINK: ${pg.rel} -> [[${ln}]]`);
173
+ // 链接检查
174
+ // ★ sessions/ 豁免 DEAD-LINK(2026-10-05 实测):会话快照正文是「当时的笔记」,
175
+ // 里面的 `[[x]]` 常是在**谈这个记号本身**(如「缺 [[作者]] 这个标记」、
176
+ // 「剥掉 <id>/[[作者]] 记号」),不承担图谱链接职责;而 sessions 是不可改的历史,
177
+ // 改它就是改历史。→ 对快照报断链是规则错,不是数据脏。
178
+ // 注:sessions 的链接职责只体现在 `## 关联连接` 段,那段的断链仍值得管,
179
+ // 但对历史快照而言也已无法修正,故一并豁免。
180
+ if (pg.dir !== 'sessions') {
181
+ for (const ln of pg.links) {
182
+ if (/^<.+>$/.test(ln) || /slug|Name|name|Date|页面名$/.test(ln)) {
183
+ issues.push(`TEMPLATE-LINK: ${pg.rel} -> [[${ln}]]`);
184
+ } else if (!names.has(ln)) {
185
+ issues.push(`DEAD-LINK: ${pg.rel} -> [[${ln}]]`);
186
+ }
178
187
  }
179
188
  }
180
189
  const isTerminal = pg.dir === 'sources'
@@ -270,6 +279,11 @@ async function checkGraph(root, pages) {
270
279
  for (const pg of pages) {
271
280
  if (pg.status !== 'draft') continue;
272
281
  if (pg.dir === 'sources') continue;
282
+ // ★ sessions/ 也不参与(2026-10-05 实测误报):会话快照是**历史事实记录**
283
+ // (「那天发生什么」),不存在「是否仍然有效」—— 它永远不该被标 active,
284
+ // 标了反而是撒谎。对快照报「已 N 天停在 draft」是规则错,不是数据脏。
285
+ // 同理若未来加别的「存档型」目录(归档页等),也该在此豁免。
286
+ if (pg.dir === 'sessions') continue;
273
287
  let ageMs = 0;
274
288
  try { ageMs = Date.now() - (await fs.stat(join(root, pg.rel))).mtimeMs; } catch { continue; }
275
289
  if (ageMs > DRAFT_STALE_DAYS * 86400 * 1000) {