Commit c2899fe
authored
test(guards): fail the build on the documentation drift this line kept re-fixing (#478)
* test(guards): fail the build on the documentation drift this line kept re-fixing
Four releases of hand-corrections shared one property: nothing would have caught
any of them. The guards below close that, each one keyed to a defect that
actually shipped.
Link liveness reads what the documents point at, so it needs no token list and
cannot go stale. It found nine dead source links in implementation-guide.md on
its first run.
Retired-surface scanning covers README, CONTRIBUTING, SECURITY, SUPPORT,
ROADMAP, the examples gallery, docs/ and .github/ — the last four sat outside
every existing guard, which is how an issue template could route reporters to a
theme class removed in 2.0. The token list is what verification supports: seven
types absent from every src/main tree. BusinessTheme and PptxSemanticBackend are
deliberately absent from it — both are alive, in 21 and 2 source files, and
forbidding them would fail the build on correct text. Historical records are
skipped by path prefix rather than a file allowlist, so a new page under
docs/archive/ is covered the day it lands.
DocsBoldFaceGuardTest pins the font rule: a *_BOLD constant resolves to its base
family and the face comes from the decoration, so naming the alias without one
renders regular. Its self-check counts every font selection rather than every
alias — counting aliases made a clean tree look like a broken scan, because the
correct end state has none.
The release-status assertion requires a published version and requires the link
to point at the tag the text names, so a half-updated block cannot pass.
implementation-guide.md loses the two sections built on the execution layer 2.0
removed, and the render-contract references that went with them: Render,
RenderPassSession, RenderStream, TextComponent and BlockText are absent from
every src/main tree. Deleting them makes the guide less wrong; describing the
real pipeline in their place is still open.
* docs: archive the engine guide that still teaches the removed execution layer
Deleting the dead names from implementation-guide.md left the model behind. The
document still walked a contributor through attaching components to an entity,
adding a render marker and a container-growth marker, implementing Breakable,
registering through build() and checking entity.hasRender() — forty lines of a
pipeline 2.0 removed, and one CONTRIBUTING now contradicts point for point.
Breakable, ParentComponent and hasRender are absent from every src/main tree.
It is archived rather than rewritten. extension-guide.md already walks the live
pipeline end to end — a semantic node, a fluent setter, a render handler, a whole
backend, snapshot tests — and package-map.md covers the layout; inventing a
replacement for an engine guide risks shipping something plausible and wrong,
which is worse than pointing at the documents that are correct. The archived copy
opens with what it describes, what removed it, and where to go instead.
Breakable, ParentComponent and hasRender( join the retired-token list, so the
model cannot return to a live document.
Two guards were weaker than the defects they were written for.
The retired-token scan could not catch BusinessTheme, because the name survives
as an examples-local helper and a repository-wide existence check cannot tell
"this type is gone" from "this type is an example's private business". The
question that matters to a reader is whether a type ships in a published
artifact, so API guidance — issue and pull-request templates, CONTRIBUTING, the
template docs — is scanned against its own list. examples/README.md is
deliberately outside it: the helper it documents is real.
The font guard accepted an alias paired with any decoration, so
HELVETICA_BOLD with decoration(ITALIC) passed while rendering neither bold nor
what the constant claims. Published snippets now name the family outright; the
rule has no exception to get subtly wrong, and the builder-chain analysis it
needed is gone.
The link check now reads .github too. The retired-token scan already covered it,
while the issue templates carry the relative links most likely to break silently.1 parent d615214 commit c2899fe
9 files changed
Lines changed: 431 additions & 76 deletions
File tree
- core/src/test/java/com/demcha/documentation
- docs
- archive
- contributing
- templates/v2-layered
- qa/src/test/java/com/demcha/documentation
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
25 | 41 | | |
26 | 42 | | |
27 | 43 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
14 | | - | |
15 | | - | |
16 | | - | |
17 | | - | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
18 | 17 | | |
19 | 18 | | |
20 | 19 | | |
| |||
320 | 319 | | |
321 | 320 | | |
322 | 321 | | |
323 | | - | |
| 322 | + | |
324 | 323 | | |
325 | 324 | | |
326 | 325 | | |
| |||
364 | 363 | | |
365 | 364 | | |
366 | 365 | | |
367 | | - | |
| 366 | + | |
368 | 367 | | |
369 | 368 | | |
370 | 369 | | |
| |||
Lines changed: 214 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| 11 | + | |
| 12 | + | |
11 | 13 | | |
12 | 14 | | |
13 | 15 | | |
| |||
26 | 28 | | |
27 | 29 | | |
28 | 30 | | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
29 | 87 | | |
30 | 88 | | |
31 | 89 | | |
| |||
117 | 175 | | |
118 | 176 | | |
119 | 177 | | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
120 | 314 | | |
121 | 315 | | |
122 | 316 | | |
| |||
140 | 334 | | |
141 | 335 | | |
142 | 336 | | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
143 | 357 | | |
144 | 358 | | |
145 | 359 | | |
| |||
Lines changed: 32 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
216 | 216 | | |
217 | 217 | | |
218 | 218 | | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
219 | 251 | | |
220 | 252 | | |
221 | 253 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
22 | | - | |
| 22 | + | |
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| |||
59 | 59 | | |
60 | 60 | | |
61 | 61 | | |
62 | | - | |
| 62 | + | |
63 | 63 | | |
64 | 64 | | |
65 | 65 | | |
| |||
0 commit comments