Skip to content

chore: remove compounded footer blocks, batch 26 of 45 (#3451) - #3645

Merged
eleshar merged 1 commit into
developfrom
fix/footer-cleanup-batch-26-of-45-3451
Sep 28, 2026
Merged

eleshar merged 1 commit into
developfrom
fix/footer-cleanup-batch-26-of-45-3451

Conversation

@eleshar

@eleshar eleshar commented Sep 28, 2026 •

Copy link
Copy Markdown
Contributor

Compounded footer blocks removed — batch 26 of 45

Refs #3451 — not Closes. The issue stays open until all 45 batches land and the whole-repo run reports zero.

Linked issues

Relates to #3451 — repo-wide footer duplicate cleanup. 19 batches remain after this one.

Why 90 files and not 1,950

CodeRabbit's server-side review only runs under 100 changed files. Every batch of the earlier plan was skipped with Review skipped: … files exceed the limit of 100, so their review was a local slice rather than a review of the pull request. Batches are capped at 90, leaving headroom for CHANGELOG.md and keeping the largest pull request at 91 files. The cost is explicit: 45 pull requests.

Context

  • Severity/Impact: High. 1471 of 11,474 tracked Markdown files still carry compounded footer blocks after the previous batches.
  • Affected versions/environments: repository Markdown content. No code, no configuration, no runtime behaviour.

Reproduction

Scoped to this batch's manifest, so the check reports only what this pull request changed:

node scripts/dedupe-footers.js --check --paths-from=small-26.txt

Before the fix: 90/90 file(s) affected · blocks found 502 · exempt-path files 66, exit 1.
After the fix: 0/90 file(s) affected, exit 0.

Root Cause

Two defects, both fixed in merged tooling:

Fix Summary

Deletion only, produced by the committed tool over this batch's fixed manifest:

node scripts/dedupe-footers.js --fix --paths-from=small-26.txt
files outcome
footer-exempt path 66 footer removed entirely — the guide states these carry none
everything else 24 collapsed to exactly one trailing footer, the last block

The split is decided by isFooterExemptPath() in scripts/agents/includes/footer-policy.js and the keep decision in analyseContent(), not by a judgement call per file. Batch 26 covers skills/tour-operator-website.

Verification

  • Re-running --check over the manifest after the fix reports 0/90 file(s) affected, exit 0 — idempotent.
  • Independent differential pass: the change is a pure order-preserving deletion, every deleted line is footer structure, and none came from frontmatter or a fenced code block. The classified counts sum to exactly the numstat deletion total, a second independent count of the same number. The checker is negative-tested — an injected content line and a deletion from inside a fence both make it fail.
  • Staged paths match the manifest exactly — 90 files, 0 outside, 0 additions outside the changelog.
  • 0 files shared with any other batch in the series.

CodeRabbit

CodeRabbit ran and raised NO findings.

Read from the bot's own comment, not the check summary line: on at least one
batch the check read "Review completed" while the comment was a rate-limit
warning, so the comment is the authoritative source.

A green tick on this check does not by itself mean reviewed — the check also
passes when CodeRabbit declines. The line above states which happened here.

Changelog

None. This is a Markdown-only diff, which the changelog-unified.yml gate exempts as docs-only. The skills/ area-level entry lands on the last pull request for that area.

Risk & Rollback

  • Risk level: Low. Deletion-only, mechanically generated, independently verified as confined to footer structure. No code, no configuration, no behaviour change.
  • Rollback plan: git revert this commit. The revert is itself a pure insertion.
  • The pre-commit hook is bypassed, as in every commit in this series: it runs npx lint-staged, dependencies are not installed in the worktree used for this work, and fix: lint:md and lint-staged corrupt shields.io badge links whose URL contains a space #3590 records that the Markdown hook corrupts shields.io badge links. CI does not run lint:md.

Refs #3451

Batch 26 of 45. Pure deletion: 90 files, 0 added.

  node scripts/dedupe-footers.js --fix --paths-from=small-26.txt

The scope split comes from the code, not per-file judgement:
isFooterExemptPath() in scripts/agents/includes/footer-policy.js with the
keep decision in analyseContent(). 66 of the 90 files are
footer-exempt and lost their footer entirely, which is the policy
docs/QUIRKY_FOOTERS_GUIDE.md states; the other 24 were collapsed to
exactly one clean trailing footer, the last block, which is what
ensureFooter() treats as canonical.

Covers `skills/tour-operator-website`. Manifests were derived once before any of this ran
and are fixed: batch N is small-NN.txt. Cross-batch overlap is 0, so
these pull requests cannot conflict with each other.

Verification:
- re-running --check over the manifest reports 0/90 affected
- independent differential pass, negative-tested: pure order-preserving
  deletion, every deleted line classified as footer structure, none from
  frontmatter or a fenced code block, and the classified counts sum to
  exactly the numstat deletion total
- staged paths match the manifest exactly, 0 outside

No changelog entry: Markdown-only diff, exempt as docs-only by the gate
in changelog-unified.yml.

The pre-commit hook is bypassed for this commit, as in every commit in this
series. It runs npx lint-staged, dependencies are not installed in this
worktree, and #3590 records that the Markdown hook corrupts shields.io
badge links. CI does not run lint:md, so this does not diverge from what
CI checks.
@eleshar
eleshar requested review from a team and ashleyshaw as code owners September 28, 2026 11:30
@qodo-code-review

Copy link
Copy Markdown

ⓘ Qodo reviews are paused because the subscription is no longer active. Ask your workspace admin to reactivate the subscription to resume reviews. Manage billing

@github-actions

Copy link
Copy Markdown
Contributor

No description provided.

@coderabbitai

coderabbitai Bot commented Sep 28, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository: lightspeedwp/.github/.coderabbit.yml

Review profile: CHILL

Plan: Advanced

Run ID: 980e29b1-5c00-4495-b86f-1df94d3e9a65

📥 Commits

Reviewing files that changed from the base of the PR and between 08ccff2 and 5d3e76e.

📒 Files selected for processing (90)
  • skills/tour-operator-website/references/README.md
  • skills/tour-operator-website/references/content-model/README.md
  • skills/tour-operator-website/references/content-model/core/facetwp-indexing-notes.md
  • skills/tour-operator-website/references/content-model/core/field-usage-rules.md
  • skills/tour-operator-website/references/content-model/core/source-map.md
  • skills/tour-operator-website/references/evidence/evidence-model.md
  • skills/tour-operator-website/references/evidence/source-links.md
  • skills/tour-operator-website/references/outputs/acceptance-criteria-library.md
  • skills/tour-operator-website/references/outputs/client-safe-language.md
  • skills/tour-operator-website/references/outputs/issue-draft-templates.md
  • skills/tour-operator-website/references/outputs/output-contracts.md
  • skills/tour-operator-website/references/validation/anti-drift-tests.md
  • skills/tour-operator-website/references/validation/content-model-consistency.md
  • skills/tour-operator-website/references/validation/output-contract-lint.md
  • skills/tour-operator-website/references/validation/prepackage-checklist.md
  • skills/tour-operator-website/references/workflows/acceptance-test-planning.md
  • skills/tour-operator-website/references/workflows/audit-workflows.md
  • skills/tour-operator-website/references/workflows/block-theme-tour-operator-patterns.md
  • skills/tour-operator-website/references/workflows/content-model-maintenance.md
  • skills/tour-operator-website/references/workflows/gravity-forms-tour-operator-workflows.md
  • skills/tour-operator-website/references/workflows/implementation-workflows.md
  • skills/tour-operator-website/references/workflows/issue-handoff-workflow.md
  • skills/tour-operator-website/references/workflows/jsonld-yoast-workflow.md
  • skills/tour-operator-website/references/workflows/live-site-inspection.md
  • skills/tour-operator-website/references/workflows/repository-evidence-review.md
  • skills/tour-operator-yoast-auditor/docs/evidence-policy.md
  • skills/tour-operator-yoast-auditor/docs/usage-guide.md
  • skills/tour-operator-yoast-auditor/intake/audit-intake.md
  • skills/tour-operator-yoast-auditor/intake/developer-handoff-intake.md
  • skills/tour-operator-yoast-auditor/profiles/migration-rebuild-audit.md
  • skills/tour-operator-yoast-auditor/references/audit-scope-router.md
  • skills/tour-operator-yoast-auditor/references/developer-handoff-reference.md
  • skills/tour-operator-yoast-auditor/references/evidence-map.md
  • skills/tour-operator-yoast-auditor/references/finding-rules-library.md
  • skills/tour-operator-yoast-auditor/references/migration-launch-reference.md
  • skills/tour-operator-yoast-auditor/references/schema-audit-reference.md
  • skills/tour-operator-yoast-auditor/references/source-register.md
  • skills/tour-operator-yoast-auditor/references/tour-relationship-reference.md
  • skills/tour-operator-yoast-auditor/references/yoast-capability-boundaries.md
  • skills/tour-operator-yoast-auditor/references/yoast-output-reference.md
  • skills/tour-operator-yoast-auditor/templates/client-audit-report.md
  • skills/tour-operator-yoast-auditor/templates/developer-handoff.md
  • skills/tour-operator-yoast-auditor/templates/evidence-gap-report.md
  • skills/tour-operator-yoast-auditor/templates/internal-audit-report.md
  • skills/tour-operator-yoast-auditor/templates/launch-qa-report.md
  • skills/tour-operator-yoast-auditor/templates/migration-readiness-report.md
  • skills/tour-operator-yoast-auditor/templates/page-metadata-review.md
  • skills/tour-operator-yoast-auditor/templates/schema-qa-report.md
  • skills/tour-operator-yoast-auditor/templates/taxonomy-archive-review.md
  • skills/tour-operator-yoast-auditor/templates/tour-relationship-audit-report.md
  • skills/tour-operator-yoast-auditor/tests/audit-output-quality-tests.md
  • skills/tour-operator-yoast-auditor/tests/fast-audit-mode-tests.md
  • skills/tour-operator-yoast-auditor/tests/routing-scenario-tests.md
  • skills/tour-operator-yoast-auditor/tests/schema-scenario-tests.md
  • skills/tour-operator-yoast-configuration/SKILL.md
  • skills/tour-operator-yoast-configuration/docs/changelog.md
  • skills/tour-operator-yoast-configuration/docs/current-verification-playbook.md
  • skills/tour-operator-yoast-configuration/docs/maintenance-guide.md
  • skills/tour-operator-yoast-configuration/docs/research-workflow.md
  • skills/tour-operator-yoast-configuration/examples/tour-operator-audit-example.md
  • skills/tour-operator-yoast-configuration/intake/client-site-intake.md
  • skills/tour-operator-yoast-configuration/intake/migration-intake.md
  • skills/tour-operator-yoast-configuration/intake/tour-operator-intake.md
  • skills/tour-operator-yoast-configuration/intake/wordpress-site-intake.md
  • skills/tour-operator-yoast-configuration/memory/defaults/standard-yoast-defaults.md
  • skills/tour-operator-yoast-configuration/profiles/business-website.md
  • skills/tour-operator-yoast-configuration/profiles/local-business.md
  • skills/tour-operator-yoast-configuration/profiles/migration-rebuild.md
  • skills/tour-operator-yoast-configuration/profiles/publisher-blog.md
  • skills/tour-operator-yoast-configuration/profiles/tour-operator-website.md
  • skills/tour-operator-yoast-configuration/references/access-level-workflow.md
  • skills/tour-operator-yoast-configuration/references/ai-assisted-seo-workflow.md
  • skills/tour-operator-yoast-configuration/references/ai-metadata-review-model.md
  • skills/tour-operator-yoast-configuration/references/approval-queue-workflow.md
  • skills/tour-operator-yoast-configuration/references/audit-triage-model.md
  • skills/tour-operator-yoast-configuration/references/bulk-metadata-governance.md
  • skills/tour-operator-yoast-configuration/references/capability-matrix.md
  • skills/tour-operator-yoast-configuration/references/client-communication-guardrails.md
  • skills/tour-operator-yoast-configuration/references/configuration-playbooks.md
  • skills/tour-operator-yoast-configuration/references/configuration-reference.md
  • skills/tour-operator-yoast-configuration/references/conflict-resolution-playbook.md
  • skills/tour-operator-yoast-configuration/references/content-structure-taxonomy-playbook.md
  • skills/tour-operator-yoast-configuration/references/decision-register-model.md
  • skills/tour-operator-yoast-configuration/references/developer-api-reference.md
  • skills/tour-operator-yoast-configuration/references/evidence-state-model.md
  • skills/tour-operator-yoast-configuration/references/feature-behaviour-reference.md
  • skills/tour-operator-yoast-configuration/references/file-routing-index.md
  • skills/tour-operator-yoast-configuration/references/locale-metadata-governance.md
  • skills/tour-operator-yoast-configuration/references/multilingual-hreflang-playbook.md
  • skills/tour-operator-yoast-configuration/references/qa-checklists.md
💤 Files with no reviewable changes (90)
  • skills/tour-operator-yoast-auditor/references/evidence-map.md
  • skills/tour-operator-yoast-auditor/references/finding-rules-library.md
  • skills/tour-operator-yoast-auditor/references/source-register.md
  • skills/tour-operator-yoast-auditor/templates/tour-relationship-audit-report.md
  • skills/tour-operator-website/references/content-model/core/source-map.md
  • skills/tour-operator-yoast-configuration/references/audit-triage-model.md
  • skills/tour-operator-yoast-auditor/templates/evidence-gap-report.md
  • skills/tour-operator-yoast-auditor/references/tour-relationship-reference.md
  • skills/tour-operator-yoast-configuration/SKILL.md
  • skills/tour-operator-website/references/workflows/acceptance-test-planning.md
  • skills/tour-operator-yoast-auditor/templates/migration-readiness-report.md
  • skills/tour-operator-yoast-auditor/templates/schema-qa-report.md
  • skills/tour-operator-website/references/content-model/README.md
  • skills/tour-operator-website/references/outputs/issue-draft-templates.md
  • skills/tour-operator-yoast-auditor/templates/developer-handoff.md
  • skills/tour-operator-yoast-configuration/docs/maintenance-guide.md
  • skills/tour-operator-website/references/outputs/output-contracts.md
  • skills/tour-operator-website/references/README.md
  • skills/tour-operator-website/references/validation/output-contract-lint.md
  • skills/tour-operator-yoast-auditor/docs/usage-guide.md
  • skills/tour-operator-yoast-configuration/references/client-communication-guardrails.md
  • skills/tour-operator-website/references/workflows/content-model-maintenance.md
  • skills/tour-operator-website/references/evidence/evidence-model.md
  • skills/tour-operator-yoast-configuration/references/developer-api-reference.md
  • skills/tour-operator-website/references/content-model/core/facetwp-indexing-notes.md
  • skills/tour-operator-yoast-configuration/references/ai-assisted-seo-workflow.md
  • skills/tour-operator-yoast-configuration/intake/migration-intake.md
  • skills/tour-operator-yoast-configuration/references/configuration-playbooks.md
  • skills/tour-operator-yoast-configuration/docs/research-workflow.md
  • skills/tour-operator-yoast-configuration/references/multilingual-hreflang-playbook.md
  • skills/tour-operator-website/references/evidence/source-links.md
  • skills/tour-operator-yoast-configuration/references/bulk-metadata-governance.md
  • skills/tour-operator-yoast-configuration/references/file-routing-index.md
  • skills/tour-operator-website/references/workflows/audit-workflows.md
  • skills/tour-operator-yoast-auditor/tests/routing-scenario-tests.md
  • skills/tour-operator-yoast-configuration/references/configuration-reference.md
  • skills/tour-operator-yoast-auditor/references/yoast-capability-boundaries.md
  • skills/tour-operator-yoast-configuration/references/locale-metadata-governance.md
  • skills/tour-operator-yoast-configuration/references/capability-matrix.md
  • skills/tour-operator-yoast-configuration/references/feature-behaviour-reference.md
  • skills/tour-operator-yoast-configuration/profiles/migration-rebuild.md
  • skills/tour-operator-yoast-configuration/references/conflict-resolution-playbook.md
  • skills/tour-operator-yoast-auditor/tests/audit-output-quality-tests.md
  • skills/tour-operator-yoast-auditor/templates/taxonomy-archive-review.md
  • skills/tour-operator-website/references/workflows/implementation-workflows.md
  • skills/tour-operator-website/references/workflows/jsonld-yoast-workflow.md
  • skills/tour-operator-yoast-configuration/references/decision-register-model.md
  • skills/tour-operator-yoast-configuration/references/approval-queue-workflow.md
  • skills/tour-operator-yoast-configuration/references/qa-checklists.md
  • skills/tour-operator-website/references/workflows/repository-evidence-review.md
  • skills/tour-operator-yoast-configuration/docs/changelog.md
  • skills/tour-operator-yoast-configuration/intake/client-site-intake.md
  • skills/tour-operator-website/references/workflows/issue-handoff-workflow.md
  • skills/tour-operator-yoast-auditor/templates/client-audit-report.md
  • skills/tour-operator-yoast-auditor/intake/audit-intake.md
  • skills/tour-operator-yoast-auditor/templates/internal-audit-report.md
  • skills/tour-operator-yoast-auditor/profiles/migration-rebuild-audit.md
  • skills/tour-operator-yoast-configuration/intake/tour-operator-intake.md
  • skills/tour-operator-yoast-configuration/references/evidence-state-model.md
  • skills/tour-operator-yoast-auditor/references/developer-handoff-reference.md
  • skills/tour-operator-yoast-configuration/examples/tour-operator-audit-example.md
  • skills/tour-operator-website/references/validation/anti-drift-tests.md
  • skills/tour-operator-yoast-configuration/docs/current-verification-playbook.md
  • skills/tour-operator-yoast-configuration/intake/wordpress-site-intake.md
  • skills/tour-operator-yoast-auditor/references/migration-launch-reference.md
  • skills/tour-operator-yoast-configuration/profiles/local-business.md
  • skills/tour-operator-yoast-auditor/references/yoast-output-reference.md
  • skills/tour-operator-yoast-auditor/templates/page-metadata-review.md
  • skills/tour-operator-yoast-auditor/docs/evidence-policy.md
  • skills/tour-operator-website/references/outputs/acceptance-criteria-library.md
  • skills/tour-operator-yoast-auditor/intake/developer-handoff-intake.md
  • skills/tour-operator-yoast-auditor/tests/fast-audit-mode-tests.md
  • skills/tour-operator-yoast-configuration/references/content-structure-taxonomy-playbook.md
  • skills/tour-operator-website/references/workflows/gravity-forms-tour-operator-workflows.md
  • skills/tour-operator-website/references/workflows/block-theme-tour-operator-patterns.md
  • skills/tour-operator-yoast-auditor/references/audit-scope-router.md
  • skills/tour-operator-yoast-configuration/profiles/tour-operator-website.md
  • skills/tour-operator-yoast-configuration/references/access-level-workflow.md
  • skills/tour-operator-yoast-configuration/memory/defaults/standard-yoast-defaults.md
  • skills/tour-operator-yoast-configuration/references/ai-metadata-review-model.md
  • skills/tour-operator-yoast-auditor/tests/schema-scenario-tests.md
  • skills/tour-operator-yoast-auditor/templates/launch-qa-report.md
  • skills/tour-operator-website/references/validation/content-model-consistency.md
  • skills/tour-operator-website/references/outputs/client-safe-language.md
  • skills/tour-operator-website/references/validation/prepackage-checklist.md
  • skills/tour-operator-yoast-auditor/references/schema-audit-reference.md
  • skills/tour-operator-website/references/workflows/live-site-inspection.md
  • skills/tour-operator-yoast-configuration/profiles/publisher-blog.md
  • skills/tour-operator-website/references/content-model/core/field-usage-rules.md
  • skills/tour-operator-yoast-configuration/profiles/business-website.md

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

This change removes repeated attribution, documentation-signature, contributor-link, and GitHub-contact footer text from Markdown documents in three skill collections. Some documents retain one footer copy.

Changes

Documentation footer cleanup

Layer / File(s) Summary
Remove repeated footer content
skills/tour-operator-website/references/**, skills/tour-operator-yoast-auditor/{docs,intake,profiles,references,templates,tests}/*, skills/tour-operator-yoast-configuration/{docs,examples,intake,memory,profiles,references}/*, skills/tour-operator-yoast-configuration/SKILL.md
Removed repeated attribution, signature, contributor-link, and GitHub-contact footer text. Some documents retain one footer copy.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Other

Merge Risk: ⚪ Minimal · up to 5d3e7

The changes are limited to footer cleanup, with no identified content loss or merge-blocking issue.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the main change: removing repeated footer blocks. It also identifies this as batch 26 of 45 and references issue #3451.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown
Contributor

PR Template Routing

Branch Type: fix
Scope: footer-cleanup-batch-26-of-45-3451
Template: pr_bug.md
Labels Applied: type:bug

This PR was automatically routed based on the branch naming strategy.

@eleshar
eleshar merged commit 4b2cb45 into develop Sep 28, 2026
58 checks passed
@eleshar
eleshar deleted the fix/footer-cleanup-batch-26-of-45-3451 branch September 28, 2026 12:11
@linear-code

linear-code Bot commented Sep 28, 2026

Copy link
Copy Markdown

GIT-2433

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant