Skip to content

Repo cleanup & dependency refresh #67

Description

@holden

The repo has gone ~3 months without a commit (last: 8ba50a6 on 2026-01-22) and accumulated significant doc clutter and dependency drift. Treat this as a cleanup epic — four sequential PRs, each independently mergeable. Order matters: docs first (no risk), CI second (so later PRs are validated), then deps.


PR 1 — Doc cleanup

No runtime behavior change. Mechanical deletion. Git history preserves the files; do not archive to docs/archive/.

Root has 30 .md files. Keep README.md and AGENTS.md. Delete the other 28:

AUDIT_SUMMARY.md                 PAGE_AUDIT_REPORT.md
CACHE_AUDIT_PHASE1.md            PERFORMANCE_OPTIMIZATION.md
CITY_PAGE_IMPROVEMENTS.md        ROUTE_AUDIT_REPORT.md
COMPREHENSIVE_AUDIT_REPORT.md    SEARCH_IMPLEMENTATION_ISSUE.md
COUNTRY_PAGE_UI_IMPROVEMENTS.md  SITE_FUNCTIONALITY_COMPARISON.md
DATABASE_INDEXES.md              SITEMAP_ANALYSIS_ISSUE_37.md
GITHUB_ISSUE.md                  SITEMAP_V1_V2_COMPARISON.md
HOMEPAGE_AUDIT_ISSUE.md          SITEMAP_VERIFICATION_SUMMARY.md
LOCALIZATION_MIGRATION_ISSUE.md  SMART_404_HANDLER_ISSUE_39.md
LOCALIZATION_TIME_CURRENCY.md    SMART_404_SUMMARY.md
URGENT_ACTION_PLAN.md            URL_ANALYSIS_GITHUB_ISSUE.md
URL_MAPPING_REFERENCE.md         URL_PATTERN_MATCHING_ANALYSIS.md
VENUE_CARD_IMAGE_FALLBACK.md     VENUE_PAGE_IMPROVEMENTS_ISSUE.md
VENUE_PAGE_IMPROVEMENTS.md       VENUE_SITEMAP_AUDIT.md

.claude/ directory — keep these four, delete the rest:

  • CLAUDE.md (project instructions)
  • DEPLOYMENT.md (active reference)
  • project-context.md (active reference)
  • settings.local.json (gitignored anyway)

Delete from .claude/: CODERABBIT_REVIEW_FIXES.md, MAP_CODE_EXAMPLES.md, MAP_IMPLEMENTATION_RESEARCH.md, MAP_QUICK_REFERENCE.txt, MAP_RESEARCH_INDEX.md, MIGRATION_ROADMAP.md, migration-plan.md, PHASE_0_FINDINGS.md, PHASE_3_FLAT_URL_TESTING.md, PHASE_5_SEO_VALIDATION.md, PHASE_6_PRODUCTION_CONFIG.md, PHASE_7_SUMMARY.md, PHASE_7_TESTING_GUIDE.md, PRODUCTION_READINESS.md, SITEMAP_BASELINE.md, SLUG_GENERATION_GUIDE.md.

Delete .github/ISSUE_MIGRATE_FROM_PLANETSCALE_TO_FLY_POSTGRES.md — should be a closed GH issue, not a file.

Acceptance: root contains only README.md + AGENTS.md; .claude/ contains only the four files listed above.


PR 2 — CI workflow

Lands before dep bumps so they run through CI automatically.

Currently the only workflow is .github/workflows/fly-deploy.yml (confirmed). Add .github/workflows/ci.yml running mix precommit on push + PR. The precommit alias already exists in mix.exs:

precommit: ["compile --warning-as-errors", "deps.unlock --unused", "format", "test"]

Acceptance: CI runs on every push and PR; green on main before merging PR 3.

Out of scope (separate future issue): adding credo / dialyxir. Don't expand this PR into tooling-policy work.


PR 3 — Safe dependency bumps

Run mix deps.update for the patch/minor list below, then mix precommit and a manual smoke test.

Package Current Latest
phoenix 1.8.1 1.8.5
phoenix_live_view 1.1.16 1.1.28
phoenix_live_reload 1.6.1 1.6.2
bandit 1.8.0 1.10.4
ecto_sql 3.13.2 3.13.5
postgrex 0.21.1 0.22.0
req 0.5.15 0.5.17
swoosh 1.19.8 1.25.0
castore 1.0.17 1.0.18
ex_cldr 2.44.0 2.47.2
ex_cldr_dates_times 2.21.0 2.25.6
ex_cldr_numbers 2.36.0 2.38.1
lazy_html (test) 0.1.8 0.1.11

Acceptance: mix hex.outdated shows no "Update possible" rows for non-major bumps; CI green.


PR 4 — Major-version dep decisions (investigation, not implementation)

This PR is gated on a written decision per package before any code lands. Each needs a brief evaluation: upgrade now, pin with a comment explaining why, or defer.

  • gettext 0.26.2 → 1.0.2 — Phoenix gen templates assume 1.0+. Likely a straight upgrade, but check generated gettext macros still compile.
  • ex_cldr_calendars 1.26.4 → 2.4.2 — major bump, touches i18n surface.
  • hackney 1.25.0 → 4.0.0 — verify whether req still pulls it as a transitive; it may be safe to remove from direct deps entirely.

Acceptance: each package has a tracked decision (upgrade or pin-with-comment) in mix.exs; CI green.


Verification

ls *.md            # PR 1: should show 2 files
ls .claude/        # PR 1: should show 4 entries
gh workflow list   # PR 2: should show ci.yml
mix hex.outdated   # PR 3: no "Update possible" for safe list

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions