Review: Local dev tests fail due to bundle install network timeouts

review-1895-2026-07-25 Review

review ready

Verdict: READY

Template Completeness

  • [x] Type — Bug
  • [x] Lineage — Standalone, discovered during CSS consolidation session (#63)
  • [x] Repo — ldraney/intelligentstaffingsystems
  • [x] What Broke — bundle install network timeout, well-described with error output
  • [x] Repro Steps — 3 steps, clear and reproducible
  • [x] Expected Behavior — present
  • [x] Environment — local dev (docker compose), Harbor image specified
  • [x] Acceptance Criteria — 3 criteria, all testable
  • [x] Related — project-iss and #47 CI pipeline referenced

Traceability

  • [x] story:project-setup label — verified in project-iss user-stories section (key: "project-setup", backing: README + docs/architecture.md + docs/adoption-plan.md)
  • [x] arch:infra label — arch-infra note exists in pal-e-docs (note covers shared infrastructure patterns; scoped to paldocs but infrastructure is a cross-project concern, acceptable)
  • [x] Forgejo issue — ldraney/intelligentstaffingsystems#65, state: open

File Targets

Bug template — no explicit File Targets section required. Implied files verified:
  • [x] docker-compose.yml — exists, confirmed: bundle install in command (line 13), bundle volume (lines 18, 35), BUNDLE_PATH env var (line 28)
  • [x] .woodpecker.yaml — exists, confirmed: CI uses cp -a /usr/local/bundle/. vendor/bundle/ to seed gems from base image (line 9), providing a clear fix pattern
  • [x] Makefile — exists, confirmed: make test runs docker compose run --rm web rails test (line 61)
  • [x] Harbor image reference harbor.tail5b443a.ts.net/library/ruby-rails-build:latest — confirmed in docker-compose.yml line 11

Repo Placement

OK — issue filed on ldraney/intelligentstaffingsystems, fix applies to the same repo (docker-compose.yml, possibly entrypoint script or Makefile).

Dependencies

  • #99 (board item #1887, validation column) — partially related. PR #102 added bundle install to the docker-compose command but did not solve the network timeout root cause. #99's body explicitly references #65 — Docker bundle install network as related.
  • #47 (board item #1819, done) — CI pipeline setup. CI works correctly with cached gems; its approach (copy pre-baked gems from base image) provides the fix pattern for #65.
  • No blockers — #65 can be worked independently.

Acceptance Criteria

3 criteria, all agent-verifiable:
  • docker compose run web rails test works without network access to rubygems.org — testable (run with network disabled or check that no rubygems.org fetch occurs)
  • Local dev gems are either baked into the image or volume-cached — testable (verify volume contents or entrypoint logic)
  • CI pipeline continues to work unchanged — testable (run CI pipeline)
Note: MEMORY.md documents "Docker tests hang (#65); agents must skip docker verification" — resolving this issue would lift that operational constraint.

Blast Radius

Limited to local development workflow. No production impact. The fix should not affect CI (which already works with its own gem seeding approach). docs/local-dev-setup.md references the bundle volume pattern (line 40, 47) and may need updates if the fix changes the seeding approach.

Decomposition Assessment

1-2 file targets in 1 repo, 3 acceptance criteria, estimated well under 5 minutes. No decomposition needed.

Recommendation

No action needed.