Skip to content

fix: correct drifted inventory counts and contributor docs - #190

Merged
TMHSDigital merged 3 commits into
mainfrom
fix/repo-health-audit
Sep 21, 2026
Merged

TMHSDigital merged 3 commits into
mainfrom
fix/repo-health-audit

Conversation

@TMHSDigital

Copy link
Copy Markdown
Owner

Summary

Documentation audit against the tree at v0.78.16. Mechanical drift is corrected. Decisions are filed and not changed. LICENSE, VERSION, CHANGELOG.md, and release.yml were not edited. No example or showcase script changed.

live-run-proven: disk counts, markdown link scan, and HTTP checks (Python, this machine). GitHub About read and patched via gh api.
inspection-only: version-stamp comparison, index diffs, falsifier wording, rule frontmatter versus the CLAUDE scope column, branch-protection API, issues #131 and #146.

1. Findings

Finding Bucket Disposition
README game-asset header said 21; the section has 22 headings fix Corrected to 22
README layer table omitted Examples fix Row added
CONTRIBUTING said one template, no test runner, 1 showcase piece, and omitted examples/ fix Updated to the current tree and tests/smoke/run_example.py
SECURITY scope said two templates fix Updated to three, including the asset pipeline
CONTRIBUTING cited skills/procedural-materials/ and rules/avoid-python-loops-on-vertices.mdc fix Repointed to paths that exist
CLAUDE and the PR template said to add a blender-smoke.yml step fix Pointed at tests/smoke/catalog.json
AGENTS and the PR template omitted showcase from the validate-manifest / validate-counts description fix Showcase included
PR template linked CONTRIBUTING.md from .github/ fix Link is ../CONTRIBUTING.md
GitHub description said 13/6/2/17/45 fix Patched via API; not in the diff
Version stamps ok All 0.78.16; not edited
plugin.json, smoke catalog, both gallery JSON files ok Both directions agree
Exit-code tables ok Already gated by tests/check_exit_code_readme.py
projects.blender.org/lab/blender_mcp returns 403 report Not removed; the target should exist
SECURITY supported-versions table stuck at 0.2.x decision #186
Gallery chrome says "77 examples" for 51 + 26 cards decision #187
label-sync.yml ignores examples/ and showcase/ decision #188
CLAUDE rule Scope column vs alwaysApply: true on every rule decision #189
CC-BY-NC-ND vs copy-and-adapt decision #131 left open; comment only
new-example-prompt requires a render; check-only examples have no still decision #146 confirmed still accurate; not fixed
pages.yml lists mcp-tools.json, which is not on disk non-touch Path filters not edited
Release-bot version bumps lack DCO report Remedy would be release.yml; not filed
main has no branch protection and no rulesets report Protection API returned 404

2. Recount

Disk, remeasured this run: 16 skills, 9 rules, 27 snippets, 3 templates, 59 examples, 26 showcase pieces.

Where Before After
README headline and overview paragraph 16 / 9 / 3 / 27 / 59 / 26 unchanged
README game-asset category 21 22
README other category headers matched heading counts unchanged
CONTRIBUTING aggregate example 1 showcase piece 26 showcase pieces
CONTRIBUTING structure sentence one template, no test runner templates, examples, showcase, smoke runner
SECURITY scope two templates three templates
CLAUDE.md, AGENTS.md aggregate lines 16 / 9 / 3 / 27 / 59 / 26 unchanged
plugin.json array lengths 16 / 9 / 27 / 3 / 59 / 26 unchanged
GitHub description (outside the diff) 13 / 6 / 2 / 17 / 45 16 / 9 / 3 / 27 / 59 / 26

validate-counts greps README only. Those aggregate substrings already matched, so this PR does not change what that job asserts except that the game-asset header is not part of the needle.

3. Version stamps

Stamp Before After
VERSION 0.78.16 unchanged
CHANGELOG.md top heading 0.78.16 unchanged
CLAUDE.md **Version:** 0.78.16 unchanged
ROADMAP.md **Current:** v0.78.16 unchanged
plugin.json version 0.78.16 unchanged
git tag and GitHub release v0.78.16 unchanged
README release badge floating shield unchanged

4. Links

119 markdown files plus 9 rules. 417 internal link occurrences, 2 anchor-only. Broken file links: 1, fixed. Broken anchors: 0.

External markdown occurrences: 167. HTTP checks: 243 (unique externals plus every published docs/gallery/*/index.html page and the site root). Non-200: 1.

URL Result Disposition
.github/PULL_REQUEST_TEMPLATE.md:33 CONTRIBUTING.md missing under .github/ Repointed to ../CONTRIBUTING.md
https://projects.blender.org/lab/blender_mcp 403 Left in place
Security advisory URL 200 after redirect to GitHub login Deliberate
Contributor Covenant URL 200 after trailing-slash redirect Deliberate

Badge workflows validate.yml, blender-smoke.yml, and drift-check.yml exist. Homepage https://tmhsdigital.github.io/Blender-Developer-Tools/ returned 200 and was not changed.

5. Manifest consistency

No index entries added or removed.

Index Result
plugin.json vs disk 16 / 9 / 27 / 3 / 59 / 26, both directions
tests/smoke/catalog.json 86 rows. Every example and showcase directory has a row. vse-cut-list-pixels is a second witness of examples/vse-cut-list/
examples/gallery.json vs preview.webp 51 both ways. Eight check-only dirs are absent from both: ngon-triangulate, unapplied-scale-gltf, coincident-vert-weld, vse-linear-modifiers, eval-mesh-datablock-name, mesh-automasking-settings, gn-bundle-roundtrip, exit-pre-sidecar
showcase/gallery.json vs preview.webp 26 both ways

Those eight exclusions are documented on the example READMEs and in ROADMAP. There is no single exclusion index. None was added.

6. Contradictions beyond #146

Fixed in this PR: smoke registration described as a workflow step while the runner reads the catalog; CONTRIBUTING's example paths named files that are not in the tree; AGENTS described validate-manifest as if showcase were not checked.

Still open, and not edited: #146. docs/new-example-prompt.md still requires a framed render, and CLAUDE still tells authors to wire a gallery still, while eight examples are check-only. CLAUDE.md still says "their renders ship in the site gallery" for the example set as a whole. That sentence was left alone so this PR would not pick a side of #146.

degenerate-bevel-weld falsifies with --both-safe and does not use the word "falsifier". The other 58 example scripts do. Exit-code tables are already enforced by tests/check_exit_code_readme.py. Showcase READMEs all declare budgets and exit codes. Only templates/ai-asset-pipeline-template/pipeline.py duplicates snippet helpers; its header names the sources.

7. Onboarding read-through

The first paragraph says what this is: skills, rules, snippets, templates, and runnable examples for Blender Python development, aimed at 5.2 LTS with 4.5 fallback and 5.1 as prior stable.

Quick start clones the repo and runs examples/bmesh-gear/bmesh_gear.py headless. Someone with blender on PATH can do that without leaving the README. It does not say where to get Blender.

Showcase is in the headline count, in its own section, and in the layer table, which says it is not examples and points at showcase/README.md.

The falsifier idea is not in the README. It shows up in CLAUDE.md quality gates, in CONTRIBUTING.md, and in the PR template ("falsified once").

The overview says any MCP-capable client consumes this content. This repository has no MCP server. Cursor and Claude Code do load the files directly. That phrase is loose, not a missing feature, so it was left as written.

8. Issues

9. Outside the diff

GitHub description patched from 13 skills, 6 rules, 2 templates, 17 snippets, 45 examples to 16 skills, 9 rules, 3 templates, 27 snippets, 59 examples, 26 showcase pieces. Homepage left at https://tmhsdigital.github.io/Blender-Developer-Tools/.

10. Health

In good shape: version stamps, the four indexes, the exit-code AST gate, Blender version targeting, skill frontmatter, and link integrity after the one internal fix.

Drifting, and worth auditing first next time: the GitHub description (it was stale again), category headers that validate-counts does not grep, SECURITY.md's support table, the gallery noun, rule alwaysApply versus the documented scope, and whether #131 and #146 are still open. #131 has widened since it was filed.

Test plan

  • validate / validate-manifest / validate-counts / validate-harness green
  • Blender smoke 5.2 and 4.5 green on this head (no example behavior changed; no needs-5.1)
  • Docs-only diff; no script assertions, exit codes, or falsifiers touched

TMHSDigital and others added 3 commits September 21, 2026 18:51
The game-asset category header, the contributing guide's inventory, and the security scope still described an older tree.

Signed-off-by: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Authoring docs still said to add a blender-smoke.yml step and cited skill and rule paths that are not in the tree. Smoke rows live in the catalog, and the manifest check includes showcase.

Signed-off-by: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
The template lives in .github, so a same-directory CONTRIBUTING.md link does not resolve.

Signed-off-by: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@github-actions github-actions Bot added documentation Improvements or additions to documentation ci labels Sep 21, 2026
@TMHSDigital
TMHSDigital merged commit 9bf4f1a into main Sep 21, 2026
11 checks passed
@TMHSDigital
TMHSDigital deleted the fix/repo-health-audit branch September 21, 2026 23:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant