@follenfang/wowdoc 0.0.3 → 0.0.4

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 CHANGED
@@ -131,7 +131,7 @@ Each parser task fixes the requested ref to a Commit and creates its own detache
131
131
 
132
132
  The installed Skill contains source/product aliases and command-selection rules, not copied source facts. An Agent chooses the source, product, ref, topic, and narrowest useful identifier, then cites the CLI evidence. A missing exact plugin Tag can fall back to that product branch's latest snapshot only when the Skill labels the result as a latest fallback and preserves the originally requested version.
133
133
 
134
- The quality suite contains 50 realistic AddOn-author questions across all configured product branches and historical Tags. A strict pass requires the first reference to be correct, relevant, context-complete, version-correct, and byte-for-byte traceable to the resolved Git blob. The current report is in [`quality/report.md`](quality/report.md).
134
+ The quality suite contains 50 realistic AddOn-author questions across all configured product branches and historical Tags. A strict pass requires the first reference to be correct, relevant, context-complete, version-correct, and byte-for-byte traceable to the resolved Git blob. Local scenarios and generated reports live in the Git-ignored `analyze/quality` directory.
135
135
 
136
136
  ## Development
137
137
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@follenfang/wowdoc",
3
- "version": "0.0.3",
3
+ "version": "0.0.4",
4
4
  "description": "Auditable WoW UI source intelligence CLI for coding agents",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -4,7 +4,8 @@ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
4
4
  import { join, resolve } from "node:path";
5
5
 
6
6
  const root = resolve(import.meta.dirname, "..");
7
- const scenarios = JSON.parse(readFileSync(join(root, "quality", "scenarios.json"), "utf8"));
7
+ const qualityDir = join(root, "analyze", "quality");
8
+ const scenarios = JSON.parse(readFileSync(join(qualityDir, "scenarios.json"), "utf8"));
8
9
  const home = process.env.WOWDOC_HOME;
9
10
  if (!home) throw new Error("WOWDOC_HOME is required so quality data stays isolated");
10
11
  const suffix = process.platform === "win32" ? ".exe" : "";
@@ -45,9 +46,9 @@ for (const [index, scenario] of scenarios.entries()) {
45
46
 
46
47
  const summary = summarize(results);
47
48
  const artifact = { schema: "wowdoc.quality.v1", generatedAt: new Date().toISOString(), home, summary, results };
48
- mkdirSync(join(root, "quality"), { recursive: true });
49
- writeFileSync(join(root, "quality", "results.json"), JSON.stringify(artifact, null, 2));
50
- writeFileSync(join(root, "quality", "report.md"), markdown(artifact));
49
+ mkdirSync(qualityDir, { recursive: true });
50
+ writeFileSync(join(qualityDir, "results.json"), JSON.stringify(artifact, null, 2));
51
+ writeFileSync(join(qualityDir, "report.md"), markdown(artifact));
51
52
  process.stdout.write(JSON.stringify(summary, null, 2) + "\n");
52
53
  process.exit(summary.passed === summary.total ? 0 : 1);
53
54