Skip to content

chore: remove compounded footer blocks, batch 28 of 45 (#3451) - #3647

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

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

Conversation

@eleshar

@eleshar eleshar commented Sep 28, 2026

Copy link
Copy Markdown
Contributor

Compounded footer blocks removed — batch 28 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. 17 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. 1291 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-28.txt

Before the fix: 90/90 file(s) affected · blocks found 487 · exempt-path files 81, 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-28.txt
files outcome
footer-exempt path 81 footer removed entirely — the guide states these carry none
everything else 9 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 28 covers skills/woocommerce-gravity-forms-auditor.

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

Recorded in the running report for this batch: whether the review actually ran on this pull request, or was rate-limited and therefore did not run. A green CodeRabbit tick here means "reviewed" only if that report says so — the check also passes when it declines.

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 28 of 45. Pure deletion: 90 files, 0 added.

  node scripts/dedupe-footers.js --fix --paths-from=small-28.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(). 81 of the 90 files are
footer-exempt and lost their footer entirely, which is the policy
docs/QUIRKY_FOOTERS_GUIDE.md states; the other 9 were collapsed to
exactly one clean trailing footer, the last block, which is what
ensureFooter() treats as canonical.

Covers `skills/woocommerce-gravity-forms-auditor`. 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:31
@coderabbitai

coderabbitai Bot commented Sep 28, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

Next included review available in 59 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

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

Review profile: CHILL

Plan: Advanced

Run ID: f1d62b05-e789-4153-8091-ca17ebf661a0

📥 Commits

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

📒 Files selected for processing (90)
  • skills/woocommerce-gravity-forms-auditor/references/configuration-handoff-contract.md
  • skills/woocommerce-gravity-forms-auditor/references/gravity-forms-risk-model.md
  • skills/woocommerce-gravity-forms-auditor/references/mcp-readonly-capability-map.md
  • skills/woocommerce-gravity-forms-auditor/references/notifications-and-deliverability-audit.md
  • skills/woocommerce-gravity-forms-auditor/references/source-register.md
  • skills/woocommerce-gravity-forms-auditor/references/spam-security-privacy-audit.md
  • skills/woocommerce-gravity-forms-auditor/references/woocommerce-form-audit.md
  • skills/woocommerce-gravity-forms-auditor/rollout/audit-to-configuration-workflow.md
  • skills/woocommerce-gravity-forms-auditor/rollout/install-and-attach.md
  • skills/woocommerce-gravity-forms-auditor/rollout/read-only-mcp-permissions.md
  • skills/woocommerce-gravity-forms-auditor/templates/auditor-configuration-handoff.md
  • skills/woocommerce-gravity-forms-auditor/templates/client-safe-audit-summary.md
  • skills/woocommerce-gravity-forms-auditor/templates/configuration-handoff.md
  • skills/woocommerce-gravity-forms-auditor/templates/findings-register.md
  • skills/woocommerce-gravity-forms-auditor/templates/internal-audit-report.md
  • skills/woocommerce-gravity-forms-auditor/templates/readiness-scorecard.md
  • skills/woocommerce-gravity-forms-auditor/templates/retest-report.md
  • skills/woocommerce-gravity-forms-auditor/tests/acceptance-checklist.md
  • skills/woocommerce-gravity-forms-auditor/tests/test-prompts.md
  • skills/woocommerce-gravity-forms-configuration/SKILL.md
  • skills/woocommerce-gravity-forms-configuration/examples/bilingual-contact-form.md
  • skills/woocommerce-gravity-forms-configuration/examples/business-listing-submission.md
  • skills/woocommerce-gravity-forms-configuration/examples/community-story-submission.md
  • skills/woocommerce-gravity-forms-configuration/examples/contest-entry.md
  • skills/woocommerce-gravity-forms-configuration/examples/customer-satisfaction-survey.md
  • skills/woocommerce-gravity-forms-configuration/examples/donation-payment-form.md
  • skills/woocommerce-gravity-forms-configuration/examples/event-registration.md
  • skills/woocommerce-gravity-forms-configuration/examples/file-upload-request.md
  • skills/woocommerce-gravity-forms-configuration/examples/ga4-lead-tracking.md
  • skills/woocommerce-gravity-forms-configuration/examples/knowledge-check-quiz.md
  • skills/woocommerce-gravity-forms-configuration/examples/membership-registration.md
  • skills/woocommerce-gravity-forms-configuration/examples/monthly-form-health-check.md
  • skills/woocommerce-gravity-forms-configuration/examples/multi-column-application-form.md
  • skills/woocommerce-gravity-forms-configuration/examples/newsletter-signup.md
  • skills/woocommerce-gravity-forms-configuration/examples/paid-event-registration.md
  • skills/woocommerce-gravity-forms-configuration/examples/public-poll.md
  • skills/woocommerce-gravity-forms-configuration/examples/service-quote-calculator.md
  • skills/woocommerce-gravity-forms-configuration/examples/styled-newsletter-embed.md
  • skills/woocommerce-gravity-forms-configuration/examples/support-request.md
  • skills/woocommerce-gravity-forms-configuration/examples/team-permissions-review.md
  • skills/woocommerce-gravity-forms-configuration/examples/utm-lead-capture.md
  • skills/woocommerce-gravity-forms-configuration/examples/webhook-lead-routing.md
  • skills/woocommerce-gravity-forms-configuration/examples/woocommerce-product-enquiry.md
  • skills/woocommerce-gravity-forms-configuration/profiles/woocommerce-configuration-agent.md
  • skills/woocommerce-gravity-forms-configuration/references/accessibility.md
  • skills/woocommerce-gravity-forms-configuration/references/addons-integrations.md
  • skills/woocommerce-gravity-forms-configuration/references/analytics-conversion-and-attribution.md
  • skills/woocommerce-gravity-forms-configuration/references/auditor-configuration-contract.md
  • skills/woocommerce-gravity-forms-configuration/references/auditor-handoff-contract.md
  • skills/woocommerce-gravity-forms-configuration/references/change-risk-and-approval.md
  • skills/woocommerce-gravity-forms-configuration/references/conditional-dynamic-calculation-logic.md
  • skills/woocommerce-gravity-forms-configuration/references/consent-localisation-and-microcopy.md
  • skills/woocommerce-gravity-forms-configuration/references/core-concepts.md
  • skills/woocommerce-gravity-forms-configuration/references/embedding-and-page-integration.md
  • skills/woocommerce-gravity-forms-configuration/references/entry-data-lifecycle.md
  • skills/woocommerce-gravity-forms-configuration/references/environment-and-compatibility.md
  • skills/woocommerce-gravity-forms-configuration/references/feeds-payments-user-registration.md
  • skills/woocommerce-gravity-forms-configuration/references/fields-and-form-objects.md
  • skills/woocommerce-gravity-forms-configuration/references/frontend-layout-and-theme-styling.md
  • skills/woocommerce-gravity-forms-configuration/references/import-export-and-migration.md
  • skills/woocommerce-gravity-forms-configuration/references/mcp-action-recipes.md
  • skills/woocommerce-gravity-forms-configuration/references/mcp-and-rest-api-contract.md
  • skills/woocommerce-gravity-forms-configuration/references/notifications-confirmations-merge-tags.md
  • skills/woocommerce-gravity-forms-configuration/references/operations-maintenance-and-inventory.md
  • skills/woocommerce-gravity-forms-configuration/references/output-templates.md
  • skills/woocommerce-gravity-forms-configuration/references/payment-donation-event-flows.md
  • skills/woocommerce-gravity-forms-configuration/references/permissions-and-capability-governance.md
  • skills/woocommerce-gravity-forms-configuration/references/post-creation-and-ugc-workflows.md
  • skills/woocommerce-gravity-forms-configuration/references/qa-and-test-playbooks.md
  • skills/woocommerce-gravity-forms-configuration/references/routing-and-agent-use.md
  • skills/woocommerce-gravity-forms-configuration/references/routing-boundaries.md
  • skills/woocommerce-gravity-forms-configuration/references/source-register.md
  • skills/woocommerce-gravity-forms-configuration/references/spam-security-privacy.md
  • skills/woocommerce-gravity-forms-configuration/references/survey-poll-quiz-assessments.md
  • skills/woocommerce-gravity-forms-configuration/references/troubleshooting.md
  • skills/woocommerce-gravity-forms-configuration/references/webhooks-and-automation-feeds.md
  • skills/woocommerce-gravity-forms-configuration/references/woocommerce-configuration.md
  • skills/woocommerce-gravity-forms-configuration/references/workflows.md
  • skills/woocommerce-gravity-forms-configuration/rollout/permissions-and-mcp-actions.md
  • skills/woocommerce-gravity-forms-configuration/rollout/release-checklist.md
  • skills/woocommerce-gravity-forms-configuration/templates/assessment-plan.md
  • skills/woocommerce-gravity-forms-configuration/templates/auditor-handoff-intake.md
  • skills/woocommerce-gravity-forms-configuration/templates/change-summary.md
  • skills/woocommerce-gravity-forms-configuration/templates/configuration-plan.md
  • skills/woocommerce-gravity-forms-configuration/templates/consent-copy-review.md
  • skills/woocommerce-gravity-forms-configuration/templates/conversion-tracking-plan.md
  • skills/woocommerce-gravity-forms-configuration/templates/data-retention-review.md
  • skills/woocommerce-gravity-forms-configuration/templates/embed-validation.md
  • skills/woocommerce-gravity-forms-configuration/templates/feed-audit.md
  • skills/woocommerce-gravity-forms-configuration/templates/form-inventory-audit.md

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

No description provided.

@github-actions

Copy link
Copy Markdown
Contributor

PR Template Routing

Branch Type: fix
Scope: footer-cleanup-batch-28-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 1f513f4 into develop Sep 28, 2026
30 checks passed
@eleshar
eleshar deleted the fix/footer-cleanup-batch-28-of-45-3451 branch September 28, 2026 12:12
@linear-code

linear-code Bot commented Sep 28, 2026

Copy link
Copy Markdown

GIT-2435

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