Skip to content

docs: Document Bundler frozen-mode lockfile mismatch (WA-DOC-010)#1006

Merged
kitcommerce merged 1 commit intonextfrom
issue-877-bundler-frozen-mode-doc
Mar 16, 2026
Merged

docs: Document Bundler frozen-mode lockfile mismatch (WA-DOC-010)#1006
kitcommerce merged 1 commit intonextfrom
issue-877-bundler-frozen-mode-doc

Conversation

@kitcommerce
Copy link
Contributor

Summary

Adds canonical documentation for the recurring CI failure:

The gemspecs for path gems changed, but the lockfile can't be updated because frozen mode is set.

This error has blocked multiple PRs (#865, #866). This PR makes the fix easy to discover and follow.

Changes

Verification

grep -r "gemspecs for path gems" --include="*.md" -l
# → docs/source/articles/bundler-frozen-mode-lockfile-fix.html.md
# → CONTRIBUTING.md

grep -r "frozen mode" --include="*.md" -l
# → both files

Closes #877

Add a dedicated article explaining the CI failure:

  'The gemspecs for path gems changed, but the lockfile can't be
   updated because frozen mode is set.'

The article covers:
- Canonical fix steps using rbenv + Ruby 3.2.7 + bundle install
- Common gotchas: wrong Ruby version, local vendor/bundle, wrong base branch
- Why frozen mode is used in CI

Also add a concise summary section in CONTRIBUTING.md that links to
the full article, so it is discoverable at the first place contributors
look when a CI check fails.

Closes #877
@kitcommerce kitcommerce added gate:build-pending Build gate running gate:build-passed Build gate passed and removed gate:build-pending Build gate running labels Mar 16, 2026
@kitcommerce
Copy link
Contributor Author

Wave 1 Review — ✅ APPROVE

PR: docs: Document Bundler frozen-mode lockfile mismatch (WA-DOC-010)


Architecture ✅

  • CONTRIBUTING.md is exactly the right anchor — first place contributors look on CI failure.
  • docs/source/articles/ is the established location for long-form articles; placement is consistent with existing docs.
  • Two-tier structure (quick-fix snippet in CONTRIBUTING.md → full article via link) is clean and appropriate.

Simplicity ✅

  • CONTRIBUTING addition is lean (~30 lines), covers only what a contributor needs in the moment.
  • 126-line article is appropriately thorough without being padded — gotchas table, rebase path, and "why frozen mode?" section are all genuinely useful.

Security ✅

  • Documentation only. All shell snippets (rbenv local, bundle install, git add/commit/push) are standard, safe, and non-destructive.

Rails/Workarea Conventions ✅

  • Front-matter format (title, created_at, excerpt) matches the existing article template.
  • Commit message prefix (docs:) is consistent with project conventions.
  • Minor non-blocking nit: the suggested commit message in the quick-fix snippet uses docs: regenerate Gemfile.lock — semantically a chore: would be slightly more accurate, but this is cosmetic and not worth a change request.

All four Wave 1 checks pass. Acceptance criteria fully met: canonical fix steps documented ✅, common gotchas covered ✅, linked from CONTRIBUTING.md ✅.

@kitcommerce
Copy link
Contributor Author

Wave 2 Review — Database

Verdict: PASS

No database concerns — pure documentation change (CONTRIBUTING.md only). No schema changes, no queries, no migrations.

{"reviewer": "database", "pr": 1006, "wave": 2, "verdict": "PASS", "findings": [], "summary": "Pure documentation change — no schema, queries, or migrations affected."}

@kitcommerce kitcommerce added the review:database-done Database review complete label Mar 16, 2026
@kitcommerce
Copy link
Contributor Author

🔒 Rails-Security Review — Wave 2

{
  "reviewer": "rails-security",
  "pr": 1006,
  "wave": 2,
  "verdict": "PASS",
  "findings": [
    {"severity": "INFO", "description": "Docs-only change. Documented commands (rbenv local, bundle install, git add/commit/push) are standard safe developer workflow. No code or dependency changes. CI frozen mode is itself a security-positive pattern.", "location": "CONTRIBUTING.md"}
  ],
  "summary": "No security concerns — pure documentation of existing CI troubleshooting steps."
}

Details: This PR adds troubleshooting documentation to CONTRIBUTING.md for a common CI failure. No code, no dependency changes, no Gemfile modifications. The documented workflow is standard and the advice to pin Ruby 3.2.7 for lockfile regeneration ensures consistency. The existing --frozen CI flag remains a security-positive control against supply chain drift.

PASS — no security issues found.

@kitcommerce kitcommerce added the review:rails-security-done Rails security review complete label Mar 16, 2026
@kitcommerce
Copy link
Contributor Author

Wave 2 Review — Test Quality

Verdict: PASS

Documentation-only change. No test coverage required.

@kitcommerce kitcommerce added review:test-quality-done Review complete review:wave2-complete review:performance-na Performance review N/A review:frontend-na Frontend review N/A review:accessibility-na Accessibility review N/A review:wave3-complete Wave 3 review complete labels Mar 16, 2026
@kitcommerce
Copy link
Contributor Author

Wave 3 — Performance / Frontend / Accessibility

Verdict: N/A (bypassed)

Documentation-only change. No performance, frontend, or accessibility review required.

Wave 3 complete. PR is ready for merge.

@kitcommerce kitcommerce added the merge:ready All conditions met, eligible for merge label Mar 16, 2026
@kitcommerce kitcommerce merged commit 67c79ff into next Mar 16, 2026
@kitcommerce kitcommerce deleted the issue-877-bundler-frozen-mode-doc branch March 16, 2026 18:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gate:build-passed Build gate passed merge:ready All conditions met, eligible for merge review:accessibility-na Accessibility review N/A review:architecture-done Review complete review:database-done Database review complete review:frontend-na Frontend review N/A review:performance-na Performance review N/A review:rails-conventions-done Rails conventions review complete review:rails-security-done Rails security review complete review:security-done Review complete review:simplicity-done Review complete review:test-quality-done Review complete review:wave1-complete review:wave2-complete review:wave3-complete Wave 3 review complete

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant