Skip to content

February 9: Going Public and E2E Test Battles

A marathon session: 10 pull requests merged (2 fixes, 2 docs, 6 maintenance). Test reliability improvements.

Developer Journal

The repo needs to go public — hit a GitHub limit that forces the conversion. The fear: documentation or git history might contain passwords or secrets. A friend immediately suggested rotating everything and checking for API keys, which became the day's action item. Checked many times, 98% confident it's clean, but the alarm bells still go off.

Claude pushing back on making the repo public directly, recommending a curated mirror instead

Public preflight audit results showing 4 blocking issues and 2 warnings before repo can go public

GitHub Actions CI checks all failing due to billing/spending limit error on the account

GitHub Actions annotations showing all 5 jobs failed due to account payment issues

Spent most of the day wrestling with Playwright E2E tests. The MCP-based browser automation eats tokens and runs painfully slow. 20 of 29 tests pass and they're part of the pipeline, but can't enforce them as required yet — some tests were written before the login page existed and need updating. Shared screenshots of test results and the review process. "Reviewing every line of code before the PR is such a normal software experience" — said with the weariness of someone who didn't write the code but owns every line of it.

CI results showing Frontend Tests passing but E2E Tests failing in 3 minutes

Claude reporting Docker stack started successfully with 10 passed, 10 failed, 9 skipped E2E tests

Claude CLI pollinating status showing 28 minutes and 35 seconds of processing time

Claude CLI running lint and unit tests in the agent-1 worktree with all 24 tests passing

Git commit message showing the three root causes fixed for 10 E2E test failures

Tech debt tracking showing 38 remaining items after session with net +2 new items added

A friend had mixed feelings about Playwright after watching a demo video — felt strongly that tests need to be hardcoded and deterministic. Fair point, but the immediate problem isn't philosophy, it's getting the Docker MCP to stop failing randomly.

GitHub PR showing all 11 checks passing including E2E tests, CodeQL, and PR Standards

Highlights

#238 resolve 10 e2e test failures with label accessibility and auth

  • Fix all 10 failing e2e tests by addressing 3 root causes: register page accessible label mismatch, login error message mismatch, and unauthenticated smoke test
  • Add tech debt #95 (HIGH) for the 9 skipped export tests that need CI seed data
  • Replace Math.random() with crypto.randomUUID() to satis...

The e2e test suite had 10 persistent failures caused by mismatches between what the app renders and what tests expect. All failures are real discrepancies — no tests were weakened or skipped.

#236 resolve e2e CI Docker stack permission and frontend issues

Fix the e2e-test CI job so the Docker stack starts correctly and Playwright tests can run. Also refactor the Docker Compose setup so the frontend service is defined in the base file.

The e2e-test job added in PR #235 always fails because: (1) the processing engine container can't create /app/data/mast due to bind mount overriding Dockerfile permissions, and (2) the frontend serv...

What Changed

Bug Fixes (2)

  • #236 resolve e2e CI Docker stack permission and frontend issues
  • #238 resolve 10 e2e test failures with label accessibility and auth

Documentation (2)

  • #230 expand AGENTS.md as model-independent agent guide
  • #233 add challenge-first collaboration style

Maintenance (6)

  • #229 add public repository preflight audit script
  • #231 public preflight enhancements and repo readiness
  • #232 enable CodeQL and branch protection
  • #234 remove stale CLAUDE.md references from public docs
  • #235 playwright-cli integration for browser automation
  • #237 use GHA cache for e2e Docker image builds

25 commits across 10 pull requests. Next: February 10, 2026 — use CSS ::after for required field asterisks in re..., add noValidate to register form for custom email v...