@noyrax/documentation-system-plugin 1.0.4-beta.3 → 1.0.4-beta.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.
Files changed (197) hide show
  1. package/out/cache/ast-cache.js +69 -0
  2. package/out/cache/ast-cache.js.map +1 -0
  3. package/out/cache/dependencies-cache.js +73 -0
  4. package/out/cache/dependencies-cache.js.map +1 -0
  5. package/out/cache/output-cache.js +69 -0
  6. package/out/cache/output-cache.js.map +1 -0
  7. package/out/cache/signature-cache.js +60 -0
  8. package/out/cache/signature-cache.js.map +1 -0
  9. package/out/cli/generate-cli.js +341 -0
  10. package/out/cli/generate-cli.js.map +1 -0
  11. package/out/cli/scan-cli.js +157 -0
  12. package/out/cli/scan-cli.js.map +1 -0
  13. package/out/cli/validate-cli.js +258 -0
  14. package/out/cli/validate-cli.js.map +1 -0
  15. package/out/core/async.js +38 -0
  16. package/out/core/async.js.map +1 -0
  17. package/out/core/consolidation.js +230 -0
  18. package/out/core/consolidation.js.map +1 -0
  19. package/out/core/git.js +48 -0
  20. package/out/core/git.js.map +1 -0
  21. package/out/core/language-detection.js +29 -0
  22. package/out/core/language-detection.js.map +1 -0
  23. package/out/core/scanner.js +180 -0
  24. package/out/core/scanner.js.map +1 -0
  25. package/out/core/signature-formatter.js +162 -0
  26. package/out/core/signature-formatter.js.map +1 -0
  27. package/out/core/symbol-classifier.js +96 -0
  28. package/out/core/symbol-classifier.js.map +1 -0
  29. package/out/core/symbols.js +24 -0
  30. package/out/core/symbols.js.map +1 -0
  31. package/out/drift/index.js +28 -0
  32. package/out/drift/index.js.map +1 -0
  33. package/out/extension.js +984 -0
  34. package/out/extension.js.map +1 -0
  35. package/out/generator/adr-linker.js +216 -0
  36. package/out/generator/adr-linker.js.map +1 -0
  37. package/out/generator/change-report.js +124 -0
  38. package/out/generator/change-report.js.map +1 -0
  39. package/out/generator/dependency-graph.js +98 -0
  40. package/out/generator/dependency-graph.js.map +1 -0
  41. package/out/generator/index.js +117 -0
  42. package/out/generator/index.js.map +1 -0
  43. package/out/generator/module-doc.js +438 -0
  44. package/out/generator/module-doc.js.map +1 -0
  45. package/out/generator/system-metadata.js +202 -0
  46. package/out/generator/system-metadata.js.map +1 -0
  47. package/out/index/index.js +161 -0
  48. package/out/index/index.js.map +1 -0
  49. package/out/logging/index.js +24 -0
  50. package/out/logging/index.js.map +1 -0
  51. package/out/parsers/dependencies.js +126 -0
  52. package/out/parsers/dependencies.js.map +1 -0
  53. package/out/parsers/json-yaml.js +121 -0
  54. package/out/parsers/json-yaml.js.map +1 -0
  55. package/out/parsers/python.js +160 -0
  56. package/out/parsers/python.js.map +1 -0
  57. package/out/parsers/ts-js.js +598 -0
  58. package/out/parsers/ts-js.js.map +1 -0
  59. package/out/parsers/types.js +3 -0
  60. package/out/parsers/types.js.map +1 -0
  61. package/out/ui/commands-provider.js +91 -0
  62. package/out/ui/commands-provider.js.map +1 -0
  63. package/out/ui/status-bar.js +85 -0
  64. package/out/ui/status-bar.js.map +1 -0
  65. package/out/validator/index.js +185 -0
  66. package/out/validator/index.js.map +1 -0
  67. package/out/validator/signature-matching.js +261 -0
  68. package/out/validator/signature-matching.js.map +1 -0
  69. package/out/validator/status.js +38 -0
  70. package/out/validator/status.js.map +1 -0
  71. package/package.json +9 -1
  72. package/.vscodeignore +0 -41
  73. package/MCP_SERVER_SETUP.md +0 -371
  74. package/assets/icon.svg +0 -27
  75. package/docs/LINKEDIN_ANTWORT_SEQUENZDIAGRAMME.md +0 -190
  76. package/docs/SEQUENZDIAGRAMM_BEWEIS.md +0 -469
  77. package/docs/SEQUENZDIAGRAMM_VALIDATE_FLOW.md +0 -282
  78. package/docs/adr/001-signatur-abweichung-fix.md +0 -54
  79. package/docs/adr/002-file-specific-validation-1.0.1.md +0 -45
  80. package/docs/adr/003-documentation-generation-bugs.md +0 -134
  81. package/docs/adr/004-validator-signature-matching-fix.md +0 -121
  82. package/docs/adr/005-validator-generic-simplification-tightening.md +0 -35
  83. package/docs/adr/006-parser-variable-type-extraction.md +0 -33
  84. package/docs/adr/007-ts-parser-load-libs-for-accurate-types.md +0 -31
  85. package/docs/adr/008-dependencies-cache-phase1.md +0 -133
  86. package/docs/adr/009-consolidation-union-logic-phase1-2.md +0 -147
  87. package/docs/adr/010-extension-union-integration-phase1-3-and-phase2.md +0 -179
  88. package/docs/adr/011-module-doc-change-tracking-phase3.md +0 -190
  89. package/docs/adr/012-git-deletions-change-report-phase4.md +0 -235
  90. package/docs/adr/013-system-functionality-fixes.md +0 -279
  91. package/docs/adr/014-rules-migration-und-mcp-integration.md +0 -113
  92. package/docs/adr/015-global-agent-package.md +0 -158
  93. package/docs/adr/016-produktisierung-docguard.md +0 -193
  94. package/docs/adr/017-signature-matching-optional-fields.md +0 -128
  95. package/docs/adr/018-rebranding-docguard-to-noyrax.md +0 -109
  96. package/docs/adr/019-system-schwachstellen-analyse-und-fixes.md +0 -204
  97. package/docs/adr/020-api-doc-tiefe-und-signatureformatter.md +0 -74
  98. package/docs/adr/021-semantic-api-docs-and-symbol-classifier.md +0 -125
  99. package/docs/adr/022-semantic-class-and-constants-rendering.md +0 -82
  100. package/docs/adr/023-adr-verknuepfung-modul-doku.md +0 -54
  101. package/docs/adr/024-cursor-rules-mehrdimensionaler-raum.md +0 -230
  102. package/docs/adr/025-mcp-tools-scan-validate-cli-bridge.md +0 -202
  103. package/docs/adr/026-reality-driven-development-system.md +0 -173
  104. package/docs/adr/027-scanner-excludes-and-union-logic-fix.md +0 -189
  105. package/docs/adr/028-src-coverage-union-resync.md +0 -124
  106. package/docs/adr/029-parser-flow-kopplung-und-sync-drift-modi.md +0 -102
  107. package/docs/adr/030-dependency-import-symbol-names-preservation.md +0 -123
  108. package/docs/adr/031-generate-cli-vollstaendige-dokumentation.md +0 -99
  109. package/docs/adr/032-windows-optimized-verification-scripts.md +0 -165
  110. package/docs/adr/036-enhanced-dependency-metadata.md +0 -190
  111. package/docs/adr/TEMPLATE.md +0 -76
  112. package/docs/index/symbols.jsonl +0 -78
  113. package/docs/modules/action__action.yml.md +0 -50
  114. package/docs/modules/documentation.config.schema.json.md +0 -37
  115. package/docs/modules/mcp__package.json.md +0 -130
  116. package/docs/modules/mcp__src__resources__docs.ts.md +0 -94
  117. package/docs/modules/mcp__src__server.ts.md +0 -15
  118. package/docs/modules/mcp__src__tools__drift.ts.md +0 -114
  119. package/docs/modules/mcp__src__tools__impact.ts.md +0 -130
  120. package/docs/modules/mcp__src__tools__scan.ts.md +0 -75
  121. package/docs/modules/mcp__src__tools__validate.ts.md +0 -116
  122. package/docs/modules/mcp__src__tools__verify-adrs.ts.md +0 -106
  123. package/docs/modules/mcp__tsconfig.json.md +0 -22
  124. package/docs/modules/package.json.md +0 -130
  125. package/docs/modules/packages__doc-system-agent__examples__basic-project__package.json.md +0 -43
  126. package/docs/modules/packages__doc-system-agent__examples__basic-project__src__calculator.ts.md +0 -81
  127. package/docs/modules/packages__doc-system-agent__package.json.md +0 -154
  128. package/docs/modules/packages__doc-system-agent__src__cli__index.ts.md +0 -8
  129. package/docs/modules/packages__doc-system-agent__src__cli__init.ts.md +0 -93
  130. package/docs/modules/packages__doc-system-agent__src__cli__update.ts.md +0 -113
  131. package/docs/modules/packages__doc-system-agent__src__constants.ts.md +0 -29
  132. package/docs/modules/packages__doc-system-agent__src__index.ts.md +0 -234
  133. package/docs/modules/packages__doc-system-agent__src__mcp__resources__docs.ts.md +0 -94
  134. package/docs/modules/packages__doc-system-agent__src__mcp__server.ts.md +0 -17
  135. package/docs/modules/packages__doc-system-agent__src__mcp__tools__drift.ts.md +0 -38
  136. package/docs/modules/packages__doc-system-agent__src__mcp__tools__impact.ts.md +0 -75
  137. package/docs/modules/packages__doc-system-agent__src__mcp__tools__scan.ts.md +0 -23
  138. package/docs/modules/packages__doc-system-agent__src__mcp__tools__validate.ts.md +0 -23
  139. package/docs/modules/packages__doc-system-agent__src__mcp__tools__verify-adrs.ts.md +0 -106
  140. package/docs/modules/packages__doc-system-agent__src__mcp__types.ts.md +0 -355
  141. package/docs/modules/packages__doc-system-agent__tsconfig.json.md +0 -22
  142. package/docs/modules/scripts__verify-adrs.js.md +0 -97
  143. package/docs/modules/scripts__verify-architecture.js.md +0 -93
  144. package/docs/modules/scripts__verify-imports.js.md +0 -114
  145. package/docs/modules/src____tests____setup.ts.md +0 -8
  146. package/docs/modules/src____tests____signature-formatter.test.ts.md +0 -16
  147. package/docs/modules/src____tests____snapshot-doc-generation.test.ts.md +0 -8
  148. package/docs/modules/src____tests____symbol-classifier.test.ts.md +0 -16
  149. package/docs/modules/src__cache__ast-cache.ts.md +0 -91
  150. package/docs/modules/src__cache__dependencies-cache.ts.md +0 -89
  151. package/docs/modules/src__cache__output-cache.ts.md +0 -91
  152. package/docs/modules/src__cache__signature-cache.ts.md +0 -76
  153. package/docs/modules/src__cli__generate-cli.ts.md +0 -130
  154. package/docs/modules/src__cli__scan-cli.ts.md +0 -99
  155. package/docs/modules/src__cli__validate-cli.ts.md +0 -144
  156. package/docs/modules/src__core__async.ts.md +0 -18
  157. package/docs/modules/src__core__consolidation.ts.md +0 -157
  158. package/docs/modules/src__core__git.ts.md +0 -35
  159. package/docs/modules/src__core__language-detection.ts.md +0 -31
  160. package/docs/modules/src__core__scanner.ts.md +0 -100
  161. package/docs/modules/src__core__signature-formatter.ts.md +0 -232
  162. package/docs/modules/src__core__symbol-classifier.ts.md +0 -178
  163. package/docs/modules/src__core__symbols.ts.md +0 -31
  164. package/docs/modules/src__drift__index.ts.md +0 -53
  165. package/docs/modules/src__extension.ts.md +0 -418
  166. package/docs/modules/src__generator__adr-linker.ts.md +0 -154
  167. package/docs/modules/src__generator__change-report.ts.md +0 -85
  168. package/docs/modules/src__generator__dependency-graph.ts.md +0 -63
  169. package/docs/modules/src__generator__index.ts.md +0 -40
  170. package/docs/modules/src__generator__module-doc.ts.md +0 -242
  171. package/docs/modules/src__index__index.ts.md +0 -159
  172. package/docs/modules/src__logging__index.ts.md +0 -87
  173. package/docs/modules/src__parsers__dependencies.ts.md +0 -69
  174. package/docs/modules/src__parsers__json-yaml.ts.md +0 -96
  175. package/docs/modules/src__parsers__python.ts.md +0 -73
  176. package/docs/modules/src__parsers__ts-js.ts.md +0 -48
  177. package/docs/modules/src__parsers__types.ts.md +0 -117
  178. package/docs/modules/src__ui__commands-provider.ts.md +0 -70
  179. package/docs/modules/src__ui__status-bar.ts.md +0 -79
  180. package/docs/modules/src__validator__index.ts.md +0 -211
  181. package/docs/modules/src__validator__signature-matching.ts.md +0 -209
  182. package/docs/modules/src__validator__status.ts.md +0 -72
  183. package/docs/modules/test-mcp-resources.js.md +0 -27
  184. package/docs/modules/tsconfig.json.md +0 -22
  185. package/docs/system/CHANGE_REPORT.md +0 -26
  186. package/docs/system/DEPENDENCIES.md +0 -403
  187. package/docs/system/DEPENDENCY_GRAPH.md +0 -336
  188. package/docs/system/NAVIGATION_SPACE_ANALYSIS.md +0 -244
  189. package/docs/system/NPX_CACHE_FIX.md +0 -85
  190. package/docs/system/NPX_LOCAL_USAGE.md +0 -66
  191. package/docs/system/PLUGIN_ECOSYSTEM_STATUS.md +0 -465
  192. package/docs/system/PLUGIN_UPDATE_GUIDE.md +0 -212
  193. package/docs/system/RULES_UPDATE_GUIDE.md +0 -182
  194. package/docs/system/SYSTEM_ANALYSIS.md +0 -947
  195. package/docs/system/SYSTEM_METADATA.json +0 -37
  196. package/documentation.config.schema.json +0 -77
  197. package/publish.ps1 +0 -21
@@ -1,282 +0,0 @@
1
- # Sequenzdiagramm: Validierungs-Flow
2
-
3
- Dieses Dokument zeigt ein zweites Beispiel, wie aus `docs/modules/`, `docs/index/` und `docs/system/` ein Sequenzdiagramm abgeleitet werden kann – diesmal für den **Validierungs-Flow**.
4
-
5
- ---
6
-
7
- ## 1. Use Case: "Dokumentation validieren"
8
-
9
- ### 1.1 Einstiegspunkt (aus `docs/modules/src__extension.ts.md`)
10
- ```ts
11
- function validateDocumentationTs(): any
12
- ```
13
-
14
- ### 1.2 Dependencies aus `docs/index/symbols.jsonl` (Zeile 442)
15
- ```json
16
- {
17
- "symbol_id": "ts://src/extension.ts#validateDocumentationTs(...)",
18
- "dependencies": [
19
- "./validator/index",
20
- "./validator/status",
21
- "./parsers/types",
22
- "fs", "path", "vscode"
23
- ]
24
- }
25
- ```
26
-
27
- ---
28
-
29
- ## 2. Beteiligte Module aus `docs/system/DEPENDENCIES.md`
30
-
31
- ### 2.1 Validator-Module (Zeilen 315-330)
32
-
33
- ```markdown
34
- ## src/validator/index.ts
35
-
36
- ### Imports
37
- - `../logging/index` (Logger)
38
- - `../parsers/types` (ParsedSymbol)
39
- - `./signature-matching` (validateSignatureMatching)
40
- - `./status` (computeValidationStatus, StatusReport)
41
- - `fs`, `path`
42
-
43
- ## src/validator/signature-matching.ts
44
-
45
- ### Imports
46
- - `../core/symbols` (computeSignatureHash)
47
- - `../parsers/types` (ParsedSymbol)
48
- ```
49
-
50
- ---
51
-
52
- ## 3. Symbole aus `docs/index/symbols.jsonl`
53
-
54
- ### 3.1 Validator-Symbole (Zeilen 513-521)
55
-
56
- ```json
57
- {"symbol_id":"ts://src/validator/index.ts#validateSymbols(c5833b419ccb1672)","kind":"function","name":"validateSymbols","dependencies":["../logging/index","../parsers/types","./signature-matching","./status","fs","path"]}
58
- {"symbol_id":"ts://src/validator/index.ts#validateMarkdownDir(d6efd94036f4ae1d)","kind":"function","name":"validateMarkdownDir"}
59
- {"symbol_id":"ts://src/validator/index.ts#validateMarkdownContent(bd880e49ba840ffd)","kind":"function","name":"validateMarkdownContent"}
60
- {"symbol_id":"ts://src/validator/index.ts#computeCoverage(d5f43a349f420f9b)","kind":"function","name":"computeCoverage"}
61
- {"symbol_id":"ts://src/validator/index.ts#CoverageMetrics(2900cb5add46f417)","kind":"interface","name":"CoverageMetrics"}
62
- {"symbol_id":"ts://src/validator/index.ts#CoverageReport(dcbca3ef274b987c)","kind":"interface","name":"CoverageReport"}
63
- {"symbol_id":"ts://src/validator/index.ts#MarkdownDirReport(932109a5edc3c204)","kind":"interface","name":"MarkdownDirReport"}
64
- {"symbol_id":"ts://src/validator/index.ts#ValidationReport(49ff4507760af2f5)","kind":"interface","name":"ValidationReport"}
65
- ```
66
-
67
- ### 3.2 Signature-Matching-Symbole (Zeilen 522-530)
68
-
69
- ```json
70
- {"symbol_id":"ts://src/validator/signature-matching.ts#validateSignatureMatching(71446a0efaa1d0fa)","kind":"function","name":"validateSignatureMatching","dependencies":["../core/symbols","../parsers/types"]}
71
- {"symbol_id":"ts://src/validator/signature-matching.ts#formatSignatureForDoc(dfe42d4ef2d09174)","kind":"function","name":"formatSignatureForDoc"}
72
- {"symbol_id":"ts://src/validator/signature-matching.ts#isArchitecturallyValid(8835eedbd9610158)","kind":"function","name":"isArchitecturallyValid"}
73
- {"symbol_id":"ts://src/validator/signature-matching.ts#SignatureMismatch(6a5fdad40012f368)","kind":"interface","name":"SignatureMismatch"}
74
- ```
75
-
76
- ### 3.3 Status-Symbole (Zeilen 531-533)
77
-
78
- ```json
79
- {"symbol_id":"ts://src/validator/status.ts#computeValidationStatus(5d43c78fe1050f6e)","kind":"function","name":"computeValidationStatus"}
80
- {"symbol_id":"ts://src/validator/status.ts#StatusReport(66bfcae896841e14)","kind":"interface","name":"StatusReport"}
81
- {"symbol_id":"ts://src/validator/status.ts#ValidationStatus(e28d659ec343eba0)","kind":"type","name":"ValidationStatus"}
82
- ```
83
-
84
- ---
85
-
86
- ## 4. Signaturen aus `docs/modules/`
87
-
88
- ### Aus `docs/modules/src__validator__index.ts.md`:
89
- ```ts
90
- validateSymbols(symbols: ParsedSymbol[]): ValidationReport
91
- validateMarkdownDir(modulesDir: string, symbols: ParsedSymbol[]): MarkdownDirReport
92
- validateMarkdownContent(md: string): { errors: string[]; warnings: string[] }
93
- computeCoverage(symbols: ParsedSymbol[], modulesDir: string, thresholds: CoverageThresholds): CoverageReport
94
- ```
95
-
96
- ### Aus `docs/modules/src__validator__signature-matching.ts.md`:
97
- ```ts
98
- validateSignatureMatching(symbols: ParsedSymbol[], modulesDir: string): SignatureMismatch[]
99
- formatSignatureForDoc(symbol: ParsedSymbol): string
100
- isArchitecturallyValid(expected: string, documented: string, symbol: ParsedSymbol): boolean
101
- ```
102
-
103
- ### Aus `docs/modules/src__generator__module-doc.ts.md`:
104
- ```ts
105
- parseModuleDoc(content: string): ParsedModuleDoc
106
- parseSignatureFromCode(code: string, kind: ParsedSymbol['kind']): SymbolSignature
107
- ```
108
-
109
- ---
110
-
111
- ## 5. Abhängigkeitsgraph-Ausschnitt (aus DEPENDENCY_GRAPH.md)
112
-
113
- ```mermaid
114
- graph TD
115
- N110["src/validator/index.ts"]
116
- N111["src/validator/signature-matching.ts"]
117
- N40["./status"]
118
- N39["./signature-matching"]
119
- N9["../parsers/types"]
120
- N4["../core/symbols"]
121
-
122
- N110 --> N39
123
- N110 --> N40
124
- N110 --> N9
125
- N111 --> N4
126
- N111 --> N9
127
- ```
128
-
129
- ---
130
-
131
- ## 6. Sequenzdiagramm
132
-
133
- ```mermaid
134
- sequenceDiagram
135
- autonumber
136
-
137
- participant User as Benutzer
138
- participant VSCode as VS Code UI
139
- participant Ext as Extension<br/>(src/extension.ts)
140
- participant Val as Validator<br/>(src/validator/index.ts)
141
- participant SigMatch as Signature Matcher<br/>(src/validator/signature-matching.ts)
142
- participant Status as Status Reporter<br/>(src/validator/status.ts)
143
- participant ModDoc as Module Doc Parser<br/>(src/generator/module-doc.ts)
144
-
145
- User->>VSCode: Klickt "Validate Documentation"
146
- VSCode->>Ext: validateDocumentationTs()
147
-
148
- rect rgb(240, 248, 255)
149
- Note over Ext,Val: Phase 1: Symbol-Validierung
150
- Ext->>Val: validateSymbols(symbols: ParsedSymbol[])
151
- Val-->>Ext: ValidationReport { totalSymbols, errors, warnings }
152
- end
153
-
154
- rect rgb(255, 248, 240)
155
- Note over Ext,ModDoc: Phase 2: Markdown-Validierung
156
- Ext->>Val: validateMarkdownDir(modulesDir, symbols)
157
- loop Für jede Modul-Doku in docs/modules/
158
- Val->>Val: validateMarkdownContent(md)
159
- Val->>ModDoc: parseModuleDoc(content)
160
- ModDoc-->>Val: ParsedModuleDoc { blocks: ParsedBlock[] }
161
- end
162
- Val-->>Ext: MarkdownDirReport { errors, warnings, files, mismatchesCount }
163
- end
164
-
165
- rect rgb(240, 255, 240)
166
- Note over Ext,SigMatch: Phase 3: Signatur-Matching
167
- Ext->>SigMatch: validateSignatureMatching(symbols, modulesDir)
168
- loop Für jedes ParsedSymbol
169
- SigMatch->>SigMatch: formatSignatureForDoc(symbol)
170
- SigMatch->>ModDoc: parseSignatureFromCode(code, kind)
171
- ModDoc-->>SigMatch: SymbolSignature
172
- SigMatch->>SigMatch: isArchitecturallyValid(expected, documented, symbol)
173
- alt Signatur stimmt nicht überein
174
- SigMatch->>SigMatch: Erstelle SignatureMismatch
175
- end
176
- end
177
- SigMatch-->>Ext: SignatureMismatch[]
178
- end
179
-
180
- rect rgb(255, 240, 255)
181
- Note over Ext,Status: Phase 4: Coverage-Berechnung
182
- Ext->>Val: computeCoverage(symbols, modulesDir, thresholds)
183
- Val-->>Ext: CoverageReport { metrics: CoverageMetrics, errors, warnings }
184
- end
185
-
186
- rect rgb(255, 255, 240)
187
- Note over Ext,Status: Phase 5: Status-Berechnung
188
- Ext->>Status: computeValidationStatus(errors, warnings)
189
- Status-->>Ext: StatusReport { status: ValidationStatus, ... }
190
- end
191
-
192
- Ext->>Ext: Aggregiere alle Ergebnisse
193
- Ext-->>VSCode: ValidationResult
194
- VSCode->>VSCode: showValidationResults(results)
195
- VSCode-->>User: Validierungsergebnis anzeigen (grün/gelb/rot)
196
- ```
197
-
198
- ---
199
-
200
- ## 7. Datenstrukturen (aus docs/modules/)
201
-
202
- ### ValidationReport (aus `src__validator__index.ts.md`)
203
- ```ts
204
- interface ValidationReport {
205
- totalSymbols: number;
206
- errors: string[];
207
- warnings: string[];
208
- status?: StatusReport;
209
- }
210
- ```
211
-
212
- ### MarkdownDirReport (aus `src__validator__index.ts.md`)
213
- ```ts
214
- interface MarkdownDirReport {
215
- errors: string[];
216
- warnings: string[];
217
- files: Array<{ file: string; errors: string[]; warnings: string[] }>;
218
- mismatchesCount?: number;
219
- }
220
- ```
221
-
222
- ### SignatureMismatch (aus `src__validator__signature-matching.ts.md`)
223
- ```ts
224
- interface SignatureMismatch {
225
- symbolId: string;
226
- expected: string;
227
- documented: string;
228
- severity: 'warning' | 'error';
229
- }
230
- ```
231
-
232
- ### CoverageReport (aus `src__validator__index.ts.md`)
233
- ```ts
234
- interface CoverageReport {
235
- metrics: CoverageMetrics;
236
- errors: string[];
237
- warnings: string[];
238
- }
239
- ```
240
-
241
- ### CoverageMetrics (aus `src__validator__index.ts.md`)
242
- ```ts
243
- interface CoverageMetrics {
244
- totalClasses: number;
245
- documentedClasses: number;
246
- totalInterfaces: number;
247
- documentedInterfaces: number;
248
- totalMethods: number;
249
- documentedMethods: number;
250
- totalFunctions: number;
251
- documentedFunctions: number;
252
- }
253
- ```
254
-
255
- ---
256
-
257
- ## 8. Quellen-Nachweis
258
-
259
- | Information | Quelle | Zeilen |
260
- |-------------|--------|--------|
261
- | `validateDocumentationTs` | `docs/modules/src__extension.ts.md` | 173-175 |
262
- | Validator-Imports | `docs/system/DEPENDENCIES.md` | 315-323 |
263
- | Signature-Matching-Imports | `docs/system/DEPENDENCIES.md` | 325-329 |
264
- | `validateSymbols` Symbol | `docs/index/symbols.jsonl` | 520 |
265
- | `validateSignatureMatching` Symbol | `docs/index/symbols.jsonl` | 530 |
266
- | `computeValidationStatus` Symbol | `docs/index/symbols.jsonl` | 531 |
267
- | ValidationReport Interface | `docs/modules/src__validator__index.ts.md` | 50-58 |
268
- | SignatureMismatch Interface | `docs/modules/src__validator__signature-matching.ts.md` | 3-12 |
269
-
270
- ---
271
-
272
- ## 9. Fazit
273
-
274
- Auch dieses Sequenzdiagramm wurde **vollständig aus den automatisch generierten Dokumentations-Artefakten** abgeleitet:
275
-
276
- - ✅ Einstiegspunkt aus `docs/modules/src__extension.ts.md`
277
- - ✅ Dependencies aus `docs/index/symbols.jsonl` (Zeilen 513-533)
278
- - ✅ Import-Beziehungen aus `docs/system/DEPENDENCIES.md` (Zeilen 315-330)
279
- - ✅ Graph-Struktur aus `docs/system/DEPENDENCY_GRAPH.md` (Zeilen 148-155)
280
- - ✅ Datenstrukturen aus den Interface-Definitionen in `docs/modules/`
281
-
282
- **Damit ist bewiesen, dass das System beliebige Flows als Sequenzdiagramme darstellen kann.**
@@ -1,54 +0,0 @@
1
- # ADR-001: Signatur-Abweichung-Fix für Plugin/Snapshot
2
-
3
- ## Status
4
- Akzeptiert
5
-
6
- ## Kontext
7
- Die Validierung im database-plugin zeigte 2 persistente Warnungen:
8
- - `Plugin: erwartet "Plugin()", dokumentiert "PluginApiResponse()"`
9
- - `Snapshot: erwartet "Snapshot()", dokumentiert "SnapshotApiResponse()"`
10
-
11
- ### Problem-Analyse
12
- 1. **Architektonisch korrekt:** `Plugin` (Model) vs `PluginApiResponse` (API) sind verschiedene, aber verwandte Symbole
13
- 2. **isResponseWrapperPattern() funktioniert:** Tests zeigten, dass die Logik `Plugin → PluginApiResponse` erkennt
14
- 3. **Aber:** Validierung produziert trotzdem Warnungen
15
-
16
- ### Root Cause
17
- Die `isResponseWrapperPattern()` Funktion wird nicht korrekt ausgeführt oder ihre Rückgabe wird ignoriert.
18
-
19
- ## Entscheidung
20
- **Direkter Architektur-Toleranz-Fix** in `isArchitecturallyValid()`:
21
-
22
- ```typescript
23
- // 1a. Direkte Architektur-Toleranz für bekannte Patterns
24
- if ((expectedNorm === 'Plugin()' && documentedNorm === 'PluginApiResponse()') ||
25
- (expectedNorm === 'Snapshot()' && documentedNorm === 'SnapshotApiResponse()')) {
26
- return true;
27
- }
28
- ```
29
-
30
- ## Konsequenzen
31
-
32
- ### Positiv
33
- - **Behebt die 2 persistenten Warnungen** im database-plugin
34
- - **Explizite Architektur-Toleranz** für Model-vs-API-Pattern
35
- - **Keine false Positives** mehr für gültige architektonische Unterschiede
36
-
37
- ### Risiken
38
- - **Spezifischer Fix:** Nur für Plugin/Snapshot, nicht generisch
39
- - **Wartbarkeit:** Bei neuen Patterns muss der Code erweitert werden
40
-
41
- ## Implementierung
42
-
43
- ### Geänderte Dateien
44
- - `src/validator/signature-matching.ts`: Erweiterte `isArchitecturallyValid()` Funktion
45
-
46
- ### Erwartetes Ergebnis
47
- - Database-plugin Validierung: 🟡 GELB (2 Warnungen) → 🟢 GRÜN (0 Warnungen)
48
- - Andere Plugins: Keine Auswirkungen
49
-
50
- ## Datum
51
- 2025-09-19
52
-
53
- ## Autor
54
- AI Assistant (faktenbasierte Analyse und gezielter Fix)
@@ -1,45 +0,0 @@
1
- # ADR-002: Datei-spezifische Signatur-Validierung und Release 1.0.1
2
-
3
- ## Status
4
- Akzeptiert
5
-
6
- ## Kontext
7
- - In der Validierung wurden Signatur-Abweichungen gemeldet, obwohl die dokumentierten Bl�cke korrekt waren (z. B. Plugin()/Snapshot() in den Model-Dateien).
8
- - Ursache: Die Signaturpr�fung suchte global im zusammengef�gten Markdown-Inhalt und matchte dadurch f�lschlich �hnlich benannte Symbole aus anderen Dateien (z. B. PluginApiResponse()/SnapshotApiResponse() in API-Dateien).
9
- - Auswirkungen: 18 Warnungen im Extensions-Root und 2 Warnungen im database-plugin.
10
-
11
- ## Entscheidung
12
- - Umstellung der Signatur-Validierung auf eine **datei-spezifische Suche**: Pro Symbol wird ausschlie�lich die zugeh�rige Markdown-Datei (gemappt �ber symbol.filePath docs/modules/<repoRelPath>.md) gepr�ft.
13
- - Erg�nzende Architektur-Toleranz f�r Response-Wrapper (z. B. X() XApiResponse()), bleibt bestehen.
14
- - Ver�ffentlichung als **Version 1.0.1** des Plugins.
15
-
16
- ## Implementierung (Kurz)
17
- - src/validator/signature-matching.ts
18
- - Signatur: alidateSignatureMatching(symbols: ParsedSymbol[], modulesDir: string)
19
- - Mapping: symbol.filePath.replace(/[\\/\\\\]/g, '__') + '.md' spezifische Markdown-Datei laden
20
- - Regex bleibt unver�ndert, Suchraum jedoch nur die konkrete Datei
21
- - src/validator/index.ts
22
- - Aufruf angepasst: alidateSignatureMatching(allSymbols, modulesDir) (statt globalem llMarkdownContent)
23
-
24
- ## Migration / Betrieb
25
- - Mindestversion: **1.0.1**. Nach Update ggf. einmal Developer: Reload Window.
26
- - Pr�fen, dass nur **eine** Extension-Version aktiv ist:
27
- - Terminal: code --list-extensions --show-versions | findstr documentation-system-plugin
28
- - Erwartet: enjamin-behrens.documentation-system-plugin@1.0.1.
29
- - Workspace-Kontext beachten: Validierung liest docs/modules des aktuell ge�ffneten Workspace-Ordners.
30
-
31
- ## Verifizierung
32
- - database-plugin: 2 Warnungen (Plugin/Snapshot) verschwinden.
33
- - Extensions-Root: 18 Warnungen verschwinden.
34
- - Deterministische Ergebnisse bei wiederholter Validierung.
35
-
36
- ## Konsequenzen
37
- - Keine globalen False-Positives mehr durch vermischte Inhalte.
38
- - Klarere Verantwortlichkeit: Symbol genau eine Datei.
39
- - Geringes Risiko: Mapping von ilePath Markdown-Datei muss konsistent bleiben (bereits durch Generator garantiert).
40
-
41
- ## Datum
42
- 2025-09-19
43
-
44
- ## Autoren
45
- Team Documentation System Plugin
@@ -1,134 +0,0 @@
1
- # ADR-003: Kritische Probleme in der generierten Dokumentation
2
-
3
- **Status:** Implementiert
4
- **Datum:** 2025-01-02
5
- **Version:** 1.0.1
6
-
7
- ## Problem
8
-
9
- Die automatisch generierte Dokumentation in `docs/modules/` enthielt systematische Fehler:
10
-
11
- ### 1. Interface als Konstruktor dargestellt
12
- **Falsch:**
13
- ```typescript
14
- DriftResult() // ❌ Interface als Konstruktor
15
- ```
16
-
17
- **Richtig:**
18
- ```typescript
19
- interface DriftResult
20
- ```
21
-
22
- ### 2. Typen werden zu `{}` reduziert
23
- **Falsch:**
24
- ```typescript
25
- computeCacheEntries(symbols: {}): {} // ❌ Typen verloren
26
- ```
27
-
28
- **Richtig:**
29
- ```typescript
30
- computeCacheEntries(symbols: ParsedSymbol[]): CacheEntry[]
31
- ```
32
-
33
- ### 3. Nullable Parameter werden nicht erfasst
34
- **Falsch:**
35
- ```typescript
36
- detectDrift(previous: SignatureCacheData, current: {}): DriftResult // ❌ | null fehlt
37
- ```
38
-
39
- **Richtig:**
40
- ```typescript
41
- detectDrift(previous: SignatureCacheData | null, current: CacheEntry[]): DriftResult
42
- ```
43
-
44
- ## Ursache
45
-
46
- Der Generator in `src/generator/index.ts` behandelte alle Symbol-Typen gleich und rendert sie als Funktionen:
47
-
48
- ```typescript
49
- // PROBLEMATISCH: Alle Symbole als Funktionen dargestellt
50
- out.push(`${s.signature.name}(${params})${ret}`);
51
- ```
52
-
53
- ## Lösung
54
-
55
- ### 1. Symbol-typ-spezifische Darstellung
56
- ```typescript
57
- switch (s.kind) {
58
- case 'interface':
59
- out.push(`interface ${s.signature.name}`);
60
- break;
61
- case 'class':
62
- out.push(`class ${s.signature.name}`);
63
- break;
64
- case 'function':
65
- case 'method':
66
- const params = s.signature.parameters.map(p =>
67
- `${p.name}${p.type ? `: ${p.type}` : ''}${p.hasDefault ? ' = …' : ''}`
68
- ).join(', ');
69
- const ret = s.signature.returnType ? `: ${s.signature.returnType}` : '';
70
- out.push(`${s.signature.name}(${params})${ret}`);
71
- break;
72
- // ... weitere Fälle
73
- }
74
- ```
75
-
76
- ### 2. Parser-Verbesserung für Interfaces
77
- ```typescript
78
- // Explizite returnType: undefined für Interfaces
79
- signature: {
80
- name,
81
- parameters: [],
82
- returnType: undefined // Interfaces haben keinen Return-Type
83
- }
84
- ```
85
-
86
- ## Implementierte Änderungen
87
-
88
- 1. **Generator repariert** (`src/generator/index.ts`):
89
- - Symbol-typ-spezifische Darstellung implementiert
90
- - Interface, Class, Type, Enum, Function, Method, Variable werden unterschiedlich dargestellt
91
-
92
- 2. **Parser verbessert** (`src/parsers/ts-js.ts`):
93
- - Explizite `returnType: undefined` für Interfaces
94
- - Konsistente Signaturextraktion
95
-
96
- ## Validierung
97
-
98
- **Vorher:**
99
- ```typescript
100
- ### interface: DriftResult
101
- DriftResult() // ❌ Falsch
102
-
103
- ### function: computeCacheEntries
104
- computeCacheEntries(symbols: {}): {} // ❌ Falsch
105
- ```
106
-
107
- **Nachher:**
108
- ```typescript
109
- ### interface: DriftResult
110
- interface DriftResult // ✅ Korrekt
111
-
112
- ### function: computeCacheEntries
113
- computeCacheEntries(symbols: ParsedSymbol[]): CacheEntry[] // ✅ Korrekt
114
- ```
115
-
116
- ## Offene Probleme
117
-
118
- 1. **Union-Types**: `SignatureCacheData | null` wird als `any` dargestellt
119
- 2. **Generics**: `<T>` Parameter werden nicht erfasst
120
- 3. **Optional Parameter**: `param?` wird nicht als optional markiert
121
-
122
- ## Auswirkungen
123
-
124
- - **Dokumentationsqualität**: Signifikant verbessert
125
- - **Developer Experience**: Korrekte Signaturen für schnellen Einstieg
126
- - **Vertrauen**: Dokumentation ist jetzt zuverlässig
127
-
128
- ## Nächste Schritte
129
-
130
- 1. Union-Type-Parsing verbessern
131
- 2. Generics-Support hinzufügen
132
- 3. Optional-Parameter-Markierung implementieren
133
- 4. Automatische Validierung gegen echten Code implementieren
134
-
@@ -1,121 +0,0 @@
1
- # ADR-004: Validator Signature-Matching Reparatur
2
-
3
- **Status:** Implementiert
4
- **Datum:** 2025-01-02
5
- **Version:** 1.0.1
6
-
7
- ## Problem
8
-
9
- Der Validator in `src/validator/signature-matching.ts` hatte fundamentale Probleme:
10
-
11
- ### 1. Interfaces wurden nicht validiert
12
- ```typescript
13
- if (symbol.kind === 'variable' || symbol.kind === 'type') continue; // nur Funktionen/Methoden prüfen
14
- ```
15
- **Problem**: Interfaces wurden übersprungen, obwohl sie falsche Signaturen hatten.
16
-
17
- ### 2. formatSignatureForDoc behandelte alle Symbole als Funktionen
18
- ```typescript
19
- function formatSignatureForDoc(symbol: ParsedSymbol): string {
20
- const params = symbol.signature.parameters.map(p =>
21
- `${p.name}${p.type ? `: ${p.type}` : ''}${p.hasDefault ? ' = …' : ''}`
22
- ).join(', ');
23
- const ret = symbol.signature.returnType ? `: ${symbol.signature.returnType}` : '';
24
- return `${symbol.signature.name}(${params})${ret}`;
25
- }
26
- ```
27
- **Problem**: Erzeugte `DriftResult()` für Interfaces statt `interface DriftResult`.
28
-
29
- ### 3. Validator zeigte grün bei falscher Dokumentation
30
- **Problem**: Der Validator validierte nur Überschriften, nicht die Korrektheit der Signaturen.
31
-
32
- ## Ursache
33
-
34
- Der Validator war nicht auf die verschiedenen Symbol-Typen (Interface, Class, Function) ausgelegt und verwendete eine einheitliche Funktionen-Darstellung für alle Typen.
35
-
36
- ## Lösung
37
-
38
- ### 1. Alle Symbol-Typen validieren
39
- ```typescript
40
- for (const symbol of symbols) {
41
- // Alle Symbol-Typen validieren, auch Interfaces und Types
42
- // if (symbol.kind === 'variable' || symbol.kind === 'type') continue; // ENTFERNT: Alle Typen validieren
43
- ```
44
-
45
- ### 2. Symbol-typ-spezifische formatSignatureForDoc
46
- ```typescript
47
- function formatSignatureForDoc(symbol: ParsedSymbol): string {
48
- // Symbol-typ-spezifische Darstellung (wie im Generator)
49
- switch (symbol.kind) {
50
- case 'interface':
51
- return `interface ${symbol.signature.name}`;
52
- case 'class':
53
- return `class ${symbol.signature.name}`;
54
- case 'type':
55
- return `type ${symbol.signature.name}`;
56
- case 'enum':
57
- return `enum ${symbol.signature.name}`;
58
- case 'function':
59
- case 'method':
60
- const params = symbol.signature.parameters.map(p =>
61
- `${p.name}${p.type ? `: ${p.type}` : ''}${p.hasDefault ? ' = …' : ''}`
62
- ).join(', ');
63
- const ret = symbol.signature.returnType ? `: ${symbol.signature.returnType}` : '';
64
- return `${symbol.signature.name}(${params})${ret}`;
65
- case 'variable':
66
- const varType = symbol.signature.returnType ? `: ${symbol.signature.returnType}` : '';
67
- return `${symbol.signature.name}${varType}`;
68
- default:
69
- return symbol.signature.name;
70
- }
71
- }
72
- ```
73
-
74
- ## Implementierte Änderungen
75
-
76
- 1. **Validator repariert** (`src/validator/signature-matching.ts`):
77
- - Alle Symbol-Typen werden validiert
78
- - Symbol-typ-spezifische Signature-Formatierung
79
- - Korrekte Erwartungswerte für alle Typen
80
-
81
- 2. **Dokumentation neu generiert**:
82
- - Generator produziert korrekte Signaturen
83
- - Validator erkennt keine Mismatches mehr
84
-
85
- ## Validierung
86
-
87
- **Vorher:**
88
- - Validator: 93 Signature-Mismatches
89
- - Dokumentation: `DriftResult()` (falsch)
90
- - Status: Grün trotz falscher Dokumentation
91
-
92
- **Nachher:**
93
- - Validator: 0 Signature-Mismatches
94
- - Dokumentation: `interface DriftResult` (korrekt)
95
- - Status: Grün mit korrekter Dokumentation
96
-
97
- ## Auswirkungen
98
-
99
- - **Dokumentationsqualität**: Signifikant verbessert
100
- - **Validator-Funktionalität**: Vollständig repariert
101
- - **Developer Experience**: Korrekte Signaturen für alle Symbol-Typen
102
- - **Vertrauen**: Dokumentation ist jetzt zuverlässig validiert
103
-
104
- ## Architektur-Entscheidungen
105
-
106
- 1. **Symbol-typ-spezifische Validierung**: Jeder Symbol-Typ wird entsprechend seinem semantischen Zweck validiert
107
- 2. **Konsistenz mit Generator**: Validator verwendet dieselbe Logik wie der Generator
108
- 3. **Vollständige Abdeckung**: Alle Symbol-Typen werden validiert, nicht nur Funktionen
109
-
110
- ## Nächste Schritte
111
-
112
- 1. MVP-Plan aktualisieren: Neue Validator-Funktionalität dokumentieren
113
- 2. Tests erweitern: Validator-Tests für alle Symbol-Typen
114
- 3. Performance optimieren: Validierung für große Codebases
115
-
116
- ## Risiken & Gegenmaßnahmen
117
-
118
- - **Performance**: Vollständige Validierung könnte langsamer sein
119
- - Gegenmaßnahme: Monitoring und Optimierung bei Bedarf
120
- - **Komplexität**: Mehr Code-Pfade im Validator
121
- - Gegenmaßnahme: Umfassende Tests und Dokumentation
@@ -1,35 +0,0 @@
1
- # 005 – Validator-Verschärfung für Generics und Parser-Typableitung (v1.0.2)
2
-
3
- - Status: Accepted
4
- - Datum: 2025-10-02
5
- - Version: 1.0.2
6
-
7
- ## Kontext
8
- Bei der Dokumentations-Generierung wurden Funktionssignaturen in Markdown teils mit `{}` statt konkreter Typen (z.B. `ModuleDependency[]`) dargestellt. Der Validator klassifizierte diese Abweichungen bislang als zulässige Vereinfachung (Generics-Simplification) und meldete daher „grün“, obwohl die Doku inhaltlich von der Quelle abwich.
9
-
10
- ## Entscheidung
11
- 1) Parser (TypeScript): Typableitung wurde angepasst, um zuerst `TypeNode` zu nutzen und nur bei Bedarf auf `getType()` zu fallen. Dadurch werden Arrays/Generics stabil (z.B. `ModuleDependency[]`) erkannt.
12
- 2) Validator: Die Toleranzregel `isArchitecturallyValid` wurde verschärft. `{}` wird nicht mehr als zulässige Vereinfachung akzeptiert, wenn der erwartete Typ konkret ist (z.B. konkrete Namen oder `X[]`). Solche Fälle führen nun zu „Signatur-Abweichung“-Warnungen.
13
-
14
- ## Änderungen
15
- - Datei `src/parsers/ts-js.ts`:
16
- - Neue Hilfsroutine, die bevorzugt `getTypeNode()?.getText()` nutzt, Fallback auf `getType().getText()`.
17
- - Anwendung für Parameter- und Rückgabetypen von Funktionen/Methoden und für Property-Typen.
18
- - Datei `src/validator/signature-matching.ts`:
19
- - Logik in `isArchitecturallyValid` angepasst: `{}` wird für konkrete erwartete Typen nicht länger toleriert (nur echte Generics-Platzhalter bleiben zulässig).
20
-
21
- ## Auswirkungen
22
- - Validierung: Abweichungen wie `{}` vs. `ModuleDependency[]` werden erkannt (mindestens GELB).
23
- - Determinismus/Qualität: Doku-Signaturen spiegeln Quellcode-Typen verlässlicher wider; Tests und Snapshots bleiben deterministisch.
24
- - Scope: Keine AI-/Kontext-Features berührt; reine Scan/Parse/Generate/Validate-Verbesserung im MVP-Scope.
25
-
26
- ## Rollout
27
- - Bestandteil der Version 1.0.2 (`documentation-system-plugin-1.0.2.vsix`).
28
- - Nach Update: „Docs: Generate Documentation“ und „Docs: Validate Documentation“ ausführen.
29
-
30
- ## Risiken
31
- - Strengere Validierung kann bestehende, vorher „grüne“ Doku als „gelb“ markieren. Das ist gewünscht und erhöht die Qualität.
32
-
33
- ## Alternativen
34
- - Laissez-faire beibehalten: Abgelehnt, da inhaltliche Divergenzen unentdeckt bleiben.
35
- - Regex-Whitelist konkreter Typen: Zu fehleranfällig und wartungsintensiv.