@follenfang/wowdoc 0.0.6 → 0.0.7

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/README.md +18 -4
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -110,9 +110,10 @@ Local state lives under `~/.wowdoc`:
110
110
  ```text
111
111
  config/ versioned source catalog and local configuration
112
112
  repositories/ complete bare Git mirrors
113
- objects/ content-addressed source and asset bytes
114
- ast/ auditable per-file JSON syntax trees
115
- indexes/ one WAL SQLite database per product branch
113
+ objects/ legacy content objects plus immutable Pack storage
114
+ objects/packs/ sequential Pack segments and their catalog
115
+ ast/ auditable legacy per-file syntax trees (new builds use Pack)
116
+ indexes/ one shared content DB plus one WAL SQLite database per product branch
116
117
  manifests/ immutable snapshot manifests
117
118
  state/ initialization and task state
118
119
  tmp/worktrees/ leased detached worktrees used only while parsing
@@ -120,7 +121,20 @@ locks/ repository and snapshot build locks
120
121
  logs/ local diagnostics
121
122
  ```
122
123
 
123
- Each parser task fixes the requested ref to a Commit and creates its own detached worktree. Published queries never depend on that worktree. Identical Git blobs and AST objects are reused across Tags and branches, while snapshot relationships remain isolated by product and Commit.
124
+ Each parser task fixes the requested ref to a Commit and creates its own detached worktree. Published queries never depend on that worktree. Identical Git blobs and AST objects are written once to immutable Pack segments and reused across Tags and branches, while snapshot relationships remain isolated by product and Commit.
125
+
126
+ Source objects, AST and assets are appended to one staging Pack per build and atomically published; the Pack catalog verifies original length and SHA-256 on every read. Legacy raw/gzip objects remain readable. One source-level SQLite keeps immutable facts and search-document metadata per content hash, while each product branch keeps its own WAL snapshot mappings and local FTS corpus so BM25 ordering remains branch-equivalent. A full-text hit is resolved back to the exact Pack source line. Initialization downloads up to three source mirrors in parallel, then parses with the normal 4-8 worker budget.
127
+
128
+ ### Performance baseline
129
+
130
+ Measured on Windows 11, Git 2.53.0, the same `wow-ui-source` Retail Commit `c878310d8432a65bac029c7bacc24eeb2e662bbe`, 8 parser workers, and a complete local bare mirror:
131
+
132
+ | Build | Cold build time | Indexed files | SQLite | Home total |
133
+ | --- | ---: | ---: | ---: | ---: |
134
+ | `b201d38` baseline | 41.1 s | 3,685 | 158,629,888 B | 352,202,349 B |
135
+ | compact pipeline | 11.4 s | 3,685 | 67,743,744 B | 169,972,173 B |
136
+
137
+ The cold parse/index stage is 3.61x faster (about 72% less time), its SQLite is 57% smaller, and its complete home is 52% smaller. A separate 10-Tag run produced 196,460,544 B of branch SQLite and 342,740,177 B total while preserving complete Lua/XML full-text coverage. Exact symbol, plain-text source, relation, Commit, path, line, excerpt, and SHA-256 checks pass after the storage changes. These are local measurements; network clone/fetch time varies by GitHub and TLS conditions.
124
138
 
125
139
  ## Agent integration
126
140
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@follenfang/wowdoc",
3
- "version": "0.0.6",
3
+ "version": "0.0.7",
4
4
  "description": "Auditable WoW UI source intelligence CLI for coding agents",
5
5
  "license": "MIT",
6
6
  "type": "module",