Commit d315978
Enforce terminal Meta-Information and sync bullets from frontmatter (plan 169) (#315)
* Enforce terminal Meta-Information and sync bullets from frontmatter (plan 169)
- Drop trailing ## ... wildcard from internal/rules/proto.md so any
section after ## Meta-Information fails mdsmith check
- Replace hand-kept CATEGORY literal with {category} placeholder in
proto.md Meta-Information body
- Implement fixBodySyncIn in MDS020 Fix path: rewrites body lines
whose {field} template matches but value disagrees with front matter
- Move ## See also sections before ## Meta-Information in ten rule
READMEs that had content after the terminal section
- Update docs/guides/schemas.md and docs/reference/section-schema.md
to document wired frontmatter-body {field} sync
https://claude.ai/code/session_0185djJjm6owY8d9JCwsEJas
* Address PR #315 review comments
- resolveBodySyncLine: continue (not break) on correct lines so stale
duplicates later in the range are still patched
- docs/guides/schemas.md, docs/reference/section-schema.md: qualify
Fix body-sync as single file-source only; composed schemas skip it
- internal/rules/proto.md: update guidance comment — Concept bullet
is optional, not a template placeholder to delete
- Add 6 unit tests covering edge cases: no front matter, non-body
sync point, missing field, no matching line, multi-source skip,
correct-then-stale duplicate scan
https://claude.ai/code/session_0185djJjm6owY8d9JCwsEJas
* Fix patch coverage: remove dead branches, add 4 more unit tests
- buildFieldPattern: use MustCompile (pattern from QuoteMeta+.+ is
always valid, error branch was dead code)
- resolveBodySyncLine: remove re == nil guard (MustCompile never
panics with this input)
- Add TestFix_BodySync_WildcardBeforeSection, _RequiredHeadingAbsent,
_HeadingFollowedByAnother, TestResolveBodySyncLine_NilPath to reach
fixBodySyncIn/resolveBodySyncLine branches now at 100% coverage
https://claude.ai/code/session_0185djJjm6owY8d9JCwsEJas
---------
Co-authored-by: Claude <noreply@anthropic.com>1 parent 4c8041c commit d315978
17 files changed
Lines changed: 382 additions & 96 deletions
File tree
- docs
- guides
- reference
- internal/rules
- MDS003-heading-increment
- MDS004-first-line-heading
- MDS018-no-emphasis-as-heading
- MDS020-required-structure
- MDS023-paragraph-readability
- MDS024-paragraph-structure
- MDS027-cross-file-reference-integrity
- MDS051-single-h1
- MDS053-no-unused-link-definitions
- MDS054-no-undefined-reference-labels
- requiredstructure
- plan
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
95 | 95 | | |
96 | 96 | | |
97 | 97 | | |
98 | | - | |
| 98 | + | |
99 | 99 | | |
100 | 100 | | |
101 | 101 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
408 | 408 | | |
409 | 409 | | |
410 | 410 | | |
411 | | - | |
412 | | - | |
413 | | - | |
414 | | - | |
415 | | - | |
416 | | - | |
417 | | - | |
418 | | - | |
419 | | - | |
420 | | - | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
421 | 429 | | |
422 | | - | |
| 430 | + | |
423 | 431 | | |
424 | 432 | | |
425 | 433 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
255 | 255 | | |
256 | 256 | | |
257 | 257 | | |
258 | | - | |
259 | | - | |
260 | | - | |
261 | | - | |
262 | | - | |
263 | | - | |
264 | | - | |
265 | | - | |
266 | | - | |
267 | | - | |
268 | | - | |
269 | | - | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
270 | 268 | | |
271 | 269 | | |
272 | 270 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
69 | 69 | | |
70 | 70 | | |
71 | 71 | | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
72 | 76 | | |
73 | 77 | | |
74 | 78 | | |
| |||
79 | 83 | | |
80 | 84 | | |
81 | 85 | | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
102 | 102 | | |
103 | 103 | | |
104 | 104 | | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
105 | 109 | | |
106 | 110 | | |
107 | 111 | | |
| |||
112 | 116 | | |
113 | 117 | | |
114 | 118 | | |
115 | | - | |
116 | | - | |
117 | | - | |
118 | | - | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
67 | 67 | | |
68 | 68 | | |
69 | 69 | | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
70 | 74 | | |
71 | 75 | | |
72 | 76 | | |
| |||
77 | 81 | | |
78 | 82 | | |
79 | 83 | | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | | - | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
343 | 343 | | |
344 | 344 | | |
345 | 345 | | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
346 | 351 | | |
347 | 352 | | |
348 | 353 | | |
| |||
354 | 359 | | |
355 | 360 | | |
356 | 361 | | |
357 | | - | |
358 | | - | |
359 | | - | |
360 | | - | |
361 | | - | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
83 | 83 | | |
84 | 84 | | |
85 | 85 | | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
86 | 90 | | |
87 | 91 | | |
88 | 92 | | |
| |||
93 | 97 | | |
94 | 98 | | |
95 | 99 | | |
96 | | - | |
97 | | - | |
98 | | - | |
99 | | - | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
79 | 79 | | |
80 | 80 | | |
81 | 81 | | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
82 | 86 | | |
83 | 87 | | |
84 | 88 | | |
| |||
89 | 93 | | |
90 | 94 | | |
91 | 95 | | |
92 | | - | |
93 | | - | |
94 | | - | |
95 | | - | |
Lines changed: 4 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
122 | 122 | | |
123 | 123 | | |
124 | 124 | | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
125 | 129 | | |
126 | 130 | | |
127 | 131 | | |
| |||
132 | 136 | | |
133 | 137 | | |
134 | 138 | | |
135 | | - | |
136 | | - | |
137 | | - | |
138 | | - | |
0 commit comments