@sdsrs/llm-wiki 0.6.2 → 0.6.3

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/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.6.3 (2026-07-11)
4
+
5
+ Two cosmetic fixes from an independent review of 0.6.0–0.6.2; no behavior
6
+ change beyond the scan warning's rounding.
7
+
8
+ - fix(scan): the tag-dispersion warning now flags on the same rounded top-tag
9
+ share it displays, so it can no longer print "top tag covers 30%" while
10
+ firing a "below 30%" rule. Effective threshold is 29.5% (was a raw 30% with
11
+ an inconsistent display); negligible for an advisory heuristic. Suite 178 →
12
+ 179.
13
+ - docs: note that the JSON Canvas map's `file` cards are vault-relative from the
14
+ KB root, so a canvas written outside the KB via `--out` won't resolve them in
15
+ Obsidian — open the canvas with the KB as its own vault.
16
+
3
17
  ## 0.6.2 (2026-07-11)
4
18
 
5
19
  No breaking changes, no KB migration, no default-behavior change — one additive
package/README.md CHANGED
@@ -147,6 +147,9 @@ human to resolve.
147
147
 
148
148
  `export --format canvas` writes a JSON Canvas (`graph.canvas`) domain map —
149
149
  `file` cards laid out by page type that open as live notes in Obsidian Canvas.
150
+ The card paths are vault-relative from the KB root, so open the canvas with the
151
+ KB as its own vault; a canvas written outside the KB via `--out` won't resolve
152
+ its cards.
150
153
 
151
154
  ### Skills (Claude Code / Codex)
152
155
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sdsrs/llm-wiki",
3
- "version": "0.6.2",
3
+ "version": "0.6.3",
4
4
  "description": "Compile messy document directories into Karpathy-style llm_wiki knowledge bases — standalone Q&A CLI + Claude Code/Codex skills",
5
5
  "directories": {
6
6
  "test": "test"
package/src/scanner.mjs CHANGED
@@ -33,8 +33,12 @@ function detectDomainMixture(files, kbRoot) {
33
33
  if (pages.length >= TAG_MIN_PAGES) {
34
34
  const counts = new Map()
35
35
  for (const p of pages) for (const t of new Set(p.data.tags)) counts.set(t, (counts.get(t) ?? 0) + 1)
36
- const topShare = Math.max(...counts.values()) / pages.length
37
- tags = { pages: pages.length, distinct: counts.size, topShare: Number(topShare.toFixed(2)), flagged: topShare < TAG_TOP_SHARE_MIN }
36
+ // Round once and flag on the rounded value so the stored/displayed share
37
+ // (CLI prints Math.round(topShare*100)) never reads "30%" while the strict
38
+ // `< TAG_TOP_SHARE_MIN` rule fired on a raw 0.29x. Effective threshold is
39
+ // 29.5%; negligible for an advisory heuristic, and flag/display now agree.
40
+ const topShare = Number((Math.max(...counts.values()) / pages.length).toFixed(2))
41
+ tags = { pages: pages.length, distinct: counts.size, topShare, flagged: topShare < TAG_TOP_SHARE_MIN }
38
42
  }
39
43
  return { language, tags, flagged: language.flagged || (tags?.flagged ?? false) }
40
44
  }