@follenfang/wowdoc 0.0.5 → 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/skill/SKILL.md +2 -0
- package/skill/references/commands.md +29 -0
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
|
|
package/package.json
CHANGED
package/skill/SKILL.md
CHANGED
|
@@ -15,4 +15,6 @@ Translate the user's wording into explicit `source`, `product`, `ref`, `topic`,
|
|
|
15
15
|
6. Do not apply latest fallback to `ambiguous_version`, `unsupported_build`, `ref_not_found`, or update failures.
|
|
16
16
|
7. Cite `sourceId`, product, Tag when present, resolved Commit, path, line, and the returned excerpt. Treat `dynamic-unresolved` edges as unresolved, not exact.
|
|
17
17
|
|
|
18
|
+
The data directory defaults to `~/.wowdoc`. `WOWDOC_HOME` may override it with another writable path for an isolated workspace, another drive, or a server deployment. This changes only wowdoc's source, index, object, lock, and log storage; it does not change the npm installation directory or the Skill directory. Run `wowdoc doctor` to see the resolved data directory.
|
|
19
|
+
|
|
18
20
|
Read [source-catalog.md](references/source-catalog.md) for source/product names and [commands.md](references/commands.md) for command selection.
|
|
@@ -13,6 +13,35 @@ wowdoc source sync --source SOURCE --product PRODUCT
|
|
|
13
13
|
wowdoc index build --source SOURCE --product PRODUCT --ref REF
|
|
14
14
|
wowdoc index refresh --source SOURCE --product PRODUCT --ref REF
|
|
15
15
|
wowdoc index status --source SOURCE --product PRODUCT
|
|
16
|
+
wowdoc init
|
|
17
|
+
wowdoc doctor
|
|
18
|
+
wowdoc update --dry-run
|
|
19
|
+
wowdoc clean
|
|
20
|
+
wowdoc clean --yes
|
|
21
|
+
wowdoc uninstall
|
|
22
|
+
wowdoc uninstall --yes
|
|
16
23
|
```
|
|
17
24
|
|
|
18
25
|
Use exact qualified identifiers when known. For natural-language questions, select a topic and use the narrowest stable identifier, event, template, TOC field, asset path, or API name present in the question. Prefer results marked `exact_symbol`; verify relationship confidence and retain the returned excerpt as evidence.
|
|
26
|
+
|
|
27
|
+
## Data directory
|
|
28
|
+
|
|
29
|
+
Without configuration, all source mirrors, objects, indexes, manifests, locks, logs, and temporary worktrees live under `~/.wowdoc`.
|
|
30
|
+
|
|
31
|
+
Use another writable directory by setting `WOWDOC_HOME` before invoking wowdoc. PowerShell:
|
|
32
|
+
|
|
33
|
+
```powershell
|
|
34
|
+
$env:WOWDOC_HOME = 'D:\WOWData\wowdoc'
|
|
35
|
+
wowdoc doctor
|
|
36
|
+
wowdoc init
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Bash or zsh:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
export WOWDOC_HOME="$HOME/wowdoc-data"
|
|
43
|
+
wowdoc doctor
|
|
44
|
+
wowdoc init
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
The override applies to every wowdoc command launched from that environment. `wowdoc doctor` reports the resolved `home`. The npm package remains in the npm global prefix, and the Skill remains in `~/.agents/skills/wowdoc`.
|