@mfittko/repo-wiki 0.2.1

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 (190) hide show
  1. package/.llmwiki/schema.md +107 -0
  2. package/AGENTS.md +42 -0
  3. package/CHANGELOG.md +91 -0
  4. package/LICENSE +21 -0
  5. package/README.md +254 -0
  6. package/dist/bin/repo-wiki.d.ts +2 -0
  7. package/dist/bin/repo-wiki.js +7 -0
  8. package/dist/bin/repo-wiki.js.map +1 -0
  9. package/dist/src/cli.d.ts +1 -0
  10. package/dist/src/cli.js +404 -0
  11. package/dist/src/cli.js.map +1 -0
  12. package/dist/src/compiler.d.ts +55 -0
  13. package/dist/src/compiler.js +2046 -0
  14. package/dist/src/compiler.js.map +1 -0
  15. package/dist/src/config.d.ts +63 -0
  16. package/dist/src/config.js +86 -0
  17. package/dist/src/config.js.map +1 -0
  18. package/dist/src/context-assembler.d.ts +68 -0
  19. package/dist/src/context-assembler.js +378 -0
  20. package/dist/src/context-assembler.js.map +1 -0
  21. package/dist/src/data-model-signals.d.ts +1 -0
  22. package/dist/src/data-model-signals.js +13 -0
  23. package/dist/src/data-model-signals.js.map +1 -0
  24. package/dist/src/docs-ingestor.d.ts +138 -0
  25. package/dist/src/docs-ingestor.js +844 -0
  26. package/dist/src/docs-ingestor.js.map +1 -0
  27. package/dist/src/docs-linter.d.ts +14 -0
  28. package/dist/src/docs-linter.js +164 -0
  29. package/dist/src/docs-linter.js.map +1 -0
  30. package/dist/src/docs-validation.d.ts +36 -0
  31. package/dist/src/docs-validation.js +297 -0
  32. package/dist/src/docs-validation.js.map +1 -0
  33. package/dist/src/extractors.d.ts +50 -0
  34. package/dist/src/extractors.js +2275 -0
  35. package/dist/src/extractors.js.map +1 -0
  36. package/dist/src/frontmatter.d.ts +46 -0
  37. package/dist/src/frontmatter.js +377 -0
  38. package/dist/src/frontmatter.js.map +1 -0
  39. package/dist/src/index.d.ts +26 -0
  40. package/dist/src/index.js +18 -0
  41. package/dist/src/index.js.map +1 -0
  42. package/dist/src/init.d.ts +12 -0
  43. package/dist/src/init.js +121 -0
  44. package/dist/src/init.js.map +1 -0
  45. package/dist/src/language.d.ts +2 -0
  46. package/dist/src/language.js +62 -0
  47. package/dist/src/language.js.map +1 -0
  48. package/dist/src/linter.d.ts +33 -0
  49. package/dist/src/linter.js +398 -0
  50. package/dist/src/linter.js.map +1 -0
  51. package/dist/src/llm-provider.d.ts +267 -0
  52. package/dist/src/llm-provider.js +474 -0
  53. package/dist/src/llm-provider.js.map +1 -0
  54. package/dist/src/page-ownership.d.ts +38 -0
  55. package/dist/src/page-ownership.js +96 -0
  56. package/dist/src/page-ownership.js.map +1 -0
  57. package/dist/src/planner.d.ts +55 -0
  58. package/dist/src/planner.js +422 -0
  59. package/dist/src/planner.js.map +1 -0
  60. package/dist/src/prompts.d.ts +103 -0
  61. package/dist/src/prompts.js +344 -0
  62. package/dist/src/prompts.js.map +1 -0
  63. package/dist/src/publisher.d.ts +68 -0
  64. package/dist/src/publisher.js +662 -0
  65. package/dist/src/publisher.js.map +1 -0
  66. package/dist/src/repository-analysis.d.ts +88 -0
  67. package/dist/src/repository-analysis.js +485 -0
  68. package/dist/src/repository-analysis.js.map +1 -0
  69. package/dist/src/scanner.d.ts +122 -0
  70. package/dist/src/scanner.js +309 -0
  71. package/dist/src/scanner.js.map +1 -0
  72. package/dist/src/search.d.ts +71 -0
  73. package/dist/src/search.js +410 -0
  74. package/dist/src/search.js.map +1 -0
  75. package/dist/src/secret-patterns.d.ts +3 -0
  76. package/dist/src/secret-patterns.js +14 -0
  77. package/dist/src/secret-patterns.js.map +1 -0
  78. package/dist/src/utils/args.d.ts +2 -0
  79. package/dist/src/utils/args.js +19 -0
  80. package/dist/src/utils/args.js.map +1 -0
  81. package/dist/src/utils/dotenv.d.ts +7 -0
  82. package/dist/src/utils/dotenv.js +73 -0
  83. package/dist/src/utils/dotenv.js.map +1 -0
  84. package/dist/src/utils/fs.d.ts +22 -0
  85. package/dist/src/utils/fs.js +83 -0
  86. package/dist/src/utils/fs.js.map +1 -0
  87. package/dist/src/utils/git.d.ts +13 -0
  88. package/dist/src/utils/git.js +39 -0
  89. package/dist/src/utils/git.js.map +1 -0
  90. package/dist/src/wiki-graph.d.ts +74 -0
  91. package/dist/src/wiki-graph.js +335 -0
  92. package/dist/src/wiki-graph.js.map +1 -0
  93. package/dist/src/wiki-patch.d.ts +152 -0
  94. package/dist/src/wiki-patch.js +489 -0
  95. package/dist/src/wiki-patch.js.map +1 -0
  96. package/dist/src/wiki-query.d.ts +63 -0
  97. package/dist/src/wiki-query.js +255 -0
  98. package/dist/src/wiki-query.js.map +1 -0
  99. package/dist/test/cli.test.d.ts +1 -0
  100. package/dist/test/cli.test.js +514 -0
  101. package/dist/test/cli.test.js.map +1 -0
  102. package/dist/test/compiler-eval.test.d.ts +1 -0
  103. package/dist/test/compiler-eval.test.js +234 -0
  104. package/dist/test/compiler-eval.test.js.map +1 -0
  105. package/dist/test/compiler.test.d.ts +1 -0
  106. package/dist/test/compiler.test.js +2537 -0
  107. package/dist/test/compiler.test.js.map +1 -0
  108. package/dist/test/context-assembler.test.d.ts +1 -0
  109. package/dist/test/context-assembler.test.js +379 -0
  110. package/dist/test/context-assembler.test.js.map +1 -0
  111. package/dist/test/docs-linter.test.d.ts +1 -0
  112. package/dist/test/docs-linter.test.js +900 -0
  113. package/dist/test/docs-linter.test.js.map +1 -0
  114. package/dist/test/dotenv.test.d.ts +1 -0
  115. package/dist/test/dotenv.test.js +77 -0
  116. package/dist/test/dotenv.test.js.map +1 -0
  117. package/dist/test/extractors-go.test.d.ts +1 -0
  118. package/dist/test/extractors-go.test.js +393 -0
  119. package/dist/test/extractors-go.test.js.map +1 -0
  120. package/dist/test/extractors-rust.test.d.ts +1 -0
  121. package/dist/test/extractors-rust.test.js +219 -0
  122. package/dist/test/extractors-rust.test.js.map +1 -0
  123. package/dist/test/extractors-utils.test.d.ts +1 -0
  124. package/dist/test/extractors-utils.test.js +786 -0
  125. package/dist/test/extractors-utils.test.js.map +1 -0
  126. package/dist/test/fixtures/compiler-e2e/basic-node-service/repo/infra/deploy.d.ts +1 -0
  127. package/dist/test/fixtures/compiler-e2e/basic-node-service/repo/infra/deploy.js +4 -0
  128. package/dist/test/fixtures/compiler-e2e/basic-node-service/repo/infra/deploy.js.map +1 -0
  129. package/dist/test/frontmatter.test.d.ts +1 -0
  130. package/dist/test/frontmatter.test.js +287 -0
  131. package/dist/test/frontmatter.test.js.map +1 -0
  132. package/dist/test/init-planner.test.d.ts +1 -0
  133. package/dist/test/init-planner.test.js +688 -0
  134. package/dist/test/init-planner.test.js.map +1 -0
  135. package/dist/test/linter.test.d.ts +1 -0
  136. package/dist/test/linter.test.js +426 -0
  137. package/dist/test/linter.test.js.map +1 -0
  138. package/dist/test/llm-provider.test.d.ts +1 -0
  139. package/dist/test/llm-provider.test.js +783 -0
  140. package/dist/test/llm-provider.test.js.map +1 -0
  141. package/dist/test/page-ownership.test.d.ts +1 -0
  142. package/dist/test/page-ownership.test.js +247 -0
  143. package/dist/test/page-ownership.test.js.map +1 -0
  144. package/dist/test/publisher.test.d.ts +1 -0
  145. package/dist/test/publisher.test.js +1297 -0
  146. package/dist/test/publisher.test.js.map +1 -0
  147. package/dist/test/repository-analysis.test.d.ts +1 -0
  148. package/dist/test/repository-analysis.test.js +182 -0
  149. package/dist/test/repository-analysis.test.js.map +1 -0
  150. package/dist/test/run-compiled-tests.d.ts +1 -0
  151. package/dist/test/run-compiled-tests.js +48 -0
  152. package/dist/test/run-compiled-tests.js.map +1 -0
  153. package/dist/test/scanner.test.d.ts +1 -0
  154. package/dist/test/scanner.test.js +551 -0
  155. package/dist/test/scanner.test.js.map +1 -0
  156. package/dist/test/search.test.d.ts +1 -0
  157. package/dist/test/search.test.js +92 -0
  158. package/dist/test/search.test.js.map +1 -0
  159. package/dist/test/update-changelog.test.d.ts +1 -0
  160. package/dist/test/update-changelog.test.js +125 -0
  161. package/dist/test/update-changelog.test.js.map +1 -0
  162. package/dist/test/wiki-graph.test.d.ts +1 -0
  163. package/dist/test/wiki-graph.test.js +164 -0
  164. package/dist/test/wiki-graph.test.js.map +1 -0
  165. package/dist/test/wiki-patch.test.d.ts +1 -0
  166. package/dist/test/wiki-patch.test.js +610 -0
  167. package/dist/test/wiki-patch.test.js.map +1 -0
  168. package/dist/test/wiki-query.test.d.ts +1 -0
  169. package/dist/test/wiki-query.test.js +163 -0
  170. package/dist/test/wiki-query.test.js.map +1 -0
  171. package/docs/PLAN.md +993 -0
  172. package/docs/WHY.md +61 -0
  173. package/docs/plans/agent-integration.md +85 -0
  174. package/docs/plans/ci-publishing.md +111 -0
  175. package/docs/plans/doc-validation.md +92 -0
  176. package/docs/plans/github-action.md +113 -0
  177. package/docs/plans/incremental-mode.md +98 -0
  178. package/docs/plans/karpathy-llm-wiki-alignment.md +84 -0
  179. package/docs/plans/llm-compiler.md +160 -0
  180. package/docs/plans/production-scanner.md +104 -0
  181. package/docs/plans/query-and-file-back.md +103 -0
  182. package/docs/plans/search-index.md +118 -0
  183. package/docs/plans/trust-hardening.md +74 -0
  184. package/docs/plans/wiki-graph.md +183 -0
  185. package/docs/plans/wiki-health.md +76 -0
  186. package/package.json +83 -0
  187. package/prompts/compiler.md +16 -0
  188. package/prompts/lint.md +18 -0
  189. package/prompts/page-templates.md +25 -0
  190. package/skills/repo-wiki-cli/SKILL.md +139 -0
@@ -0,0 +1,234 @@
1
+ import test from 'node:test';
2
+ import assert from 'node:assert/strict';
3
+ import { promises as fs } from 'node:fs';
4
+ import os from 'node:os';
5
+ import path from 'node:path';
6
+ import { scanRepository } from '../src/scanner.js';
7
+ import { createBootstrapPlan } from '../src/planner.js';
8
+ import { compileWiki } from '../src/compiler.js';
9
+ import { runGit } from '../src/utils/git.js';
10
+ const fixtureRoot = path.resolve(process.cwd(), 'test', 'fixtures', 'compiler-e2e');
11
+ async function prepareFixtureRepo(fixtureName) {
12
+ const tempDir = await fs.mkdtemp(path.join(os.tmpdir(), `repo-wiki-compiler-e2e-${fixtureName}-`));
13
+ const repoPath = path.join(tempDir, 'repo');
14
+ const fixtureRepoPath = path.join(fixtureRoot, fixtureName, 'repo');
15
+ const scanDir = path.join(tempDir, '.llmwiki', 'run');
16
+ const planFile = path.join(tempDir, '.llmwiki', 'bootstrap-plan.json');
17
+ const wikiDir = path.join(tempDir, '.llmwiki', 'wiki');
18
+ await fs.cp(fixtureRepoPath, repoPath, { recursive: true });
19
+ await initializeGitRepository(repoPath, fixtureName);
20
+ return { tempDir, repoPath, scanDir, planFile, wikiDir };
21
+ }
22
+ async function initializeGitRepository(repoPath, fixtureName) {
23
+ const env = {
24
+ ...process.env,
25
+ GIT_AUTHOR_NAME: 'Repo Wiki',
26
+ GIT_AUTHOR_EMAIL: 'repo-wiki@example.com',
27
+ GIT_COMMITTER_NAME: 'Repo Wiki',
28
+ GIT_COMMITTER_EMAIL: 'repo-wiki@example.com',
29
+ GIT_AUTHOR_DATE: '2026-01-01T00:00:00Z',
30
+ GIT_COMMITTER_DATE: '2026-01-01T00:00:00Z'
31
+ };
32
+ await runGit(['init'], { cwd: repoPath, env });
33
+ await runGit(['config', 'user.name', 'Repo Wiki'], { cwd: repoPath, env });
34
+ await runGit(['config', 'user.email', 'repo-wiki@example.com'], { cwd: repoPath, env });
35
+ await runGit(['remote', 'add', 'origin', `https://github.com/example/${fixtureName}.git`], { cwd: repoPath, env });
36
+ await runGit(['add', '.'], { cwd: repoPath, env });
37
+ await runGit(['commit', '-m', 'fixture'], { cwd: repoPath, env });
38
+ }
39
+ async function runFixturePipeline(fixtureName, compileOptions = {}) {
40
+ const prepared = await prepareFixtureRepo(fixtureName);
41
+ try {
42
+ const scan = await scanRepository({
43
+ mode: 'bootstrap',
44
+ repoPath: prepared.repoPath,
45
+ outDir: prepared.scanDir
46
+ });
47
+ const plan = await createBootstrapPlan({
48
+ scanDir: prepared.scanDir,
49
+ outFile: prepared.planFile
50
+ });
51
+ const compile = await compileWiki({
52
+ scanDir: prepared.scanDir,
53
+ planFile: prepared.planFile,
54
+ wikiDir: prepared.wikiDir,
55
+ ...compileOptions
56
+ });
57
+ return { ...prepared, scan, plan, compile };
58
+ }
59
+ catch (error) {
60
+ await fs.rm(prepared.tempDir, { recursive: true, force: true });
61
+ throw error;
62
+ }
63
+ }
64
+ async function readWikiPage(wikiDir, pageName) {
65
+ const content = await fs.readFile(path.join(wikiDir, pageName), 'utf8');
66
+ return { content, normalized: normalizeVolatileContent(content), frontmatter: parseFrontmatter(content) };
67
+ }
68
+ function parseFrontmatter(content) {
69
+ const match = /^---\n([\s\S]*?)\n---\n/.exec(content);
70
+ if (!match) {
71
+ return {};
72
+ }
73
+ const fields = {};
74
+ for (const line of match[1].split('\n')) {
75
+ const entry = /^([A-Za-z0-9_-]+):\s*(.+)$/.exec(line);
76
+ if (!entry) {
77
+ continue;
78
+ }
79
+ const [, key, valueRaw] = entry;
80
+ let value = valueRaw;
81
+ try {
82
+ value = JSON.parse(valueRaw);
83
+ }
84
+ catch {
85
+ value = valueRaw;
86
+ }
87
+ fields[key] = value;
88
+ }
89
+ return fields;
90
+ }
91
+ function normalizeVolatileContent(content) {
92
+ return content
93
+ .replace(/compiled_at: \"[^\"]+\"/g, 'compiled_at: "<normalized>"')
94
+ .replace(/## \d{4}-\d{2}-\d{2} \|/g, '## <normalized-date> |')
95
+ .replace(/Last compiled: `[^`]+`/g, 'Last compiled: `<normalized>`')
96
+ .replace(/source_commit: \"[0-9a-f]{40}\"/g, 'source_commit: "<normalized>"')
97
+ .replace(/\/blob\/[0-9a-f]{40}\//g, '/blob/<normalized>/');
98
+ }
99
+ function frontmatterSourcePaths(frontmatter) {
100
+ const value = frontmatter.source_paths;
101
+ return Array.isArray(value) ? value.filter((entry) => typeof entry === 'string') : [];
102
+ }
103
+ function assertAllPathsGrounded(paths, manifestPaths, fixtureName, pageName) {
104
+ for (const sourcePath of paths) {
105
+ assert.ok(manifestPaths.has(sourcePath), `${fixtureName}/${pageName}: expected source path to exist in scan manifest: ${sourcePath}`);
106
+ }
107
+ }
108
+ function validProviderContent(req) {
109
+ const sourcePaths = req.sourcePaths?.length ? req.sourcePaths : ['README.md'];
110
+ const lines = [
111
+ '---',
112
+ `kind: ${JSON.stringify(req.archetype)}`,
113
+ 'compiled_at: "mock"',
114
+ 'source_repo: "mock"',
115
+ 'source_commit: "mock"',
116
+ 'page_state: "generated"',
117
+ ...(req.archetype === 'architecture' ? ['confidence: "medium"', 'claim_status: "grounded"'] : []),
118
+ `source_paths: ${JSON.stringify(sourcePaths)}`,
119
+ '---',
120
+ '',
121
+ `# ${req.pageTitle}`,
122
+ '',
123
+ 'Provider generated body.',
124
+ ''
125
+ ];
126
+ if (req.archetype === 'architecture') {
127
+ lines.push('## Executive Architecture Summary', '', 'Provider architecture summary.', '', '## System and Repository Context', '', 'Provider repository context.', '', '## Major Modules and Responsibilities', '', 'Provider module responsibilities.', '', '## Runtime, Data, and Control-Flow Relationships', '', 'Provider runtime relationships.', '', '## Build, Test, Deployment, and Operational Surfaces', '', 'Provider operational surfaces.', '', '## Cross-Cutting Concerns', '', 'Provider cross-cutting concerns.', '', '## Caveats and Open Questions', '', 'Provider caveats.', '');
128
+ }
129
+ lines.push('<!-- HUMAN_NOTES_START -->', '<!-- HUMAN_NOTES_END -->', '');
130
+ return lines.join('\n');
131
+ }
132
+ test('compiler e2e fixture basic-node-service keeps source-grounded outputs across scan-plan-compile', async () => {
133
+ const fixtureName = 'basic-node-service';
134
+ const run = await runFixturePipeline(fixtureName);
135
+ try {
136
+ const manifestPaths = new Set(run.scan.manifest.files.map((file) => file.path));
137
+ assert.ok(run.plan.plan.pages.some((page) => page.path === 'Build-Test-and-Run.md'), `${fixtureName}: expected foundation page`);
138
+ const apiModule = run.plan.plan.modules.find((module) => Array.isArray(module.files) && module.files.some((file) => typeof file === 'string' && file.startsWith('services/api/')));
139
+ assert.ok(apiModule, `${fixtureName}: expected a services/api module in bootstrap plan`);
140
+ const buildPage = await readWikiPage(run.wikiDir, 'Build-Test-and-Run.md');
141
+ const modulePage = await readWikiPage(run.wikiDir, `${apiModule.slug}.md`);
142
+ const dependencyPage = await readWikiPage(run.wikiDir, 'Dependency-Map.md');
143
+ const testingPage = await readWikiPage(run.wikiDir, 'Testing-Strategy.md');
144
+ const configPage = await readWikiPage(run.wikiDir, 'Configuration-and-Environment.md');
145
+ const routesPage = await readWikiPage(run.wikiDir, 'API-HTTP-Routes.md');
146
+ assert.equal(buildPage.frontmatter.kind, 'build_test_run', `${fixtureName}/Build-Test-and-Run.md: unexpected kind`);
147
+ assert.equal(buildPage.frontmatter.claim_status, 'grounded', `${fixtureName}/Build-Test-and-Run.md: unexpected claim_status`);
148
+ assert.match(buildPage.normalized, /npm ci/, `${fixtureName}/Build-Test-and-Run.md: missing CI command evidence`);
149
+ assert.match(buildPage.normalized, /node --test/, `${fixtureName}/Build-Test-and-Run.md: missing package script evidence`);
150
+ const buildSourcePaths = frontmatterSourcePaths(buildPage.frontmatter);
151
+ assert.ok(buildSourcePaths.includes('package.json'), `${fixtureName}/Build-Test-and-Run.md: missing package.json source path`);
152
+ assert.ok(buildSourcePaths.includes('.github/workflows/ci.yml'), `${fixtureName}/Build-Test-and-Run.md: missing workflow source path`);
153
+ assertAllPathsGrounded(buildSourcePaths, manifestPaths, fixtureName, 'Build-Test-and-Run.md');
154
+ assert.equal(modulePage.frontmatter.kind, 'module', `${fixtureName}/${apiModule.slug}.md: unexpected kind`);
155
+ assert.equal(modulePage.frontmatter.claim_status, 'grounded', `${fixtureName}/${apiModule.slug}.md: unexpected claim_status`);
156
+ assert.equal(modulePage.frontmatter.confidence, 'high', `${fixtureName}/${apiModule.slug}.md: unexpected confidence`);
157
+ const moduleSourcePaths = frontmatterSourcePaths(modulePage.frontmatter);
158
+ assert.ok(moduleSourcePaths.includes('services/api/server.js'), `${fixtureName}/${apiModule.slug}.md: missing server source path`);
159
+ assert.ok(moduleSourcePaths.includes('services/api/routes.js'), `${fixtureName}/${apiModule.slug}.md: missing routes source path`);
160
+ assertAllPathsGrounded(moduleSourcePaths, manifestPaths, fixtureName, `${apiModule.slug}.md`);
161
+ assert.match(dependencyPage.normalized, /services\/api\/server\.js/, `${fixtureName}/Dependency-Map.md: missing server dependency`);
162
+ assert.match(dependencyPage.normalized, /packages\/core\/health\.js/, `${fixtureName}/Dependency-Map.md: missing package dependency`);
163
+ assertAllPathsGrounded(frontmatterSourcePaths(dependencyPage.frontmatter), manifestPaths, fixtureName, 'Dependency-Map.md');
164
+ assert.match(testingPage.normalized, /test\/api\/server\.test\.js/, `${fixtureName}/Testing-Strategy.md: missing test linkage`);
165
+ assert.match(testingPage.normalized, /services\/api\/server\.js/, `${fixtureName}/Testing-Strategy.md: missing source linkage`);
166
+ assertAllPathsGrounded(frontmatterSourcePaths(testingPage.frontmatter), manifestPaths, fixtureName, 'Testing-Strategy.md');
167
+ assert.match(configPage.normalized, /APP_MODE/, `${fixtureName}/Configuration-and-Environment.md: missing APP_MODE evidence`);
168
+ assert.match(configPage.normalized, /PORT/, `${fixtureName}/Configuration-and-Environment.md: missing PORT evidence`);
169
+ assertAllPathsGrounded(frontmatterSourcePaths(configPage.frontmatter), manifestPaths, fixtureName, 'Configuration-and-Environment.md');
170
+ assert.match(routesPage.normalized, /\/health/, `${fixtureName}/API-HTTP-Routes.md: missing /health route`);
171
+ assert.match(routesPage.normalized, /GET/, `${fixtureName}/API-HTTP-Routes.md: missing GET method evidence`);
172
+ assertAllPathsGrounded(frontmatterSourcePaths(routesPage.frontmatter), manifestPaths, fixtureName, 'API-HTTP-Routes.md');
173
+ }
174
+ finally {
175
+ await fs.rm(run.tempDir, { recursive: true, force: true });
176
+ }
177
+ });
178
+ test('compiler e2e fixture docs-only-module-downgrade preserves conservative review-needed grounding in llm mode', async () => {
179
+ const fixtureName = 'docs-only-module-downgrade';
180
+ const provider = {
181
+ name: 'docs-only-overclaim-provider',
182
+ async complete(req) {
183
+ if (req.archetype === 'architecture') {
184
+ return { provider: 'docs-only-overclaim-provider', content: validProviderContent(req) };
185
+ }
186
+ return {
187
+ provider: 'docs-only-overclaim-provider',
188
+ content: [
189
+ '---',
190
+ 'kind: "module"',
191
+ 'compiled_at: "2026-05-10T00:00:00.000Z"',
192
+ 'source_repo: "provider-origin"',
193
+ 'source_commit: "provider-commit"',
194
+ 'source_paths: ["invented/path.ts"]',
195
+ 'page_state: "generated"',
196
+ 'confidence: "high"',
197
+ 'claim_status: "source-grounded"',
198
+ '---',
199
+ '',
200
+ `# ${req.pageTitle}`,
201
+ '',
202
+ 'Provider claims this module is authoritative and grounded.',
203
+ '',
204
+ '<!-- HUMAN_NOTES_START -->',
205
+ '<!-- HUMAN_NOTES_END -->',
206
+ ''
207
+ ].join('\n')
208
+ };
209
+ }
210
+ };
211
+ const run = await runFixturePipeline(fixtureName, {
212
+ config: { compiler: { mode: 'llm' } },
213
+ _provider: provider
214
+ });
215
+ try {
216
+ const manifestPaths = new Set(run.scan.manifest.files.map((file) => file.path));
217
+ const docsModule = run.plan.plan.modules.find((module) => Array.isArray(module.files) && module.files.every((file) => typeof file === 'string' && (file.endsWith('.md') || file.startsWith('docs/'))));
218
+ assert.ok(docsModule, `${fixtureName}: expected docs-only module in bootstrap plan`);
219
+ const docsModulePage = await readWikiPage(run.wikiDir, 'Documentation.md');
220
+ assert.equal(docsModulePage.frontmatter.kind, 'module', `${fixtureName}/Documentation.md: unexpected kind`);
221
+ assert.equal(docsModulePage.frontmatter.claim_status, 'review-needed', `${fixtureName}/Documentation.md: docs-only module should be downgraded`);
222
+ assert.equal(docsModulePage.frontmatter.confidence, 'low', `${fixtureName}/Documentation.md: docs-only module confidence should be low`);
223
+ assert.doesNotMatch(docsModulePage.normalized, /claim_status: "source-grounded"/, `${fixtureName}/Documentation.md: should not keep provider overclaim`);
224
+ assert.doesNotMatch(docsModulePage.normalized, /confidence: "high"/, `${fixtureName}/Documentation.md: should not keep provider overclaim confidence`);
225
+ assert.match(docsModulePage.normalized, /markdown documentation is secondary evidence/i, `${fixtureName}/Documentation.md: missing conservative evidence note`);
226
+ const docsSourcePaths = frontmatterSourcePaths(docsModulePage.frontmatter);
227
+ assert.deepEqual(docsSourcePaths, docsModule.files, `${fixtureName}/Documentation.md: source paths should remain constrained to docs module inputs`);
228
+ assertAllPathsGrounded(docsSourcePaths, manifestPaths, fixtureName, 'Documentation.md');
229
+ }
230
+ finally {
231
+ await fs.rm(run.tempDir, { recursive: true, force: true });
232
+ }
233
+ });
234
+ //# sourceMappingURL=compiler-eval.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compiler-eval.test.js","sourceRoot":"","sources":["../../test/compiler-eval.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};