@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.
- package/README.md +18 -4
- 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
|
|
114
|
-
|
|
115
|
-
|
|
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
|
|