← Back to Blog

Day 19: Release Ready

24 commits. 5 PRs merged. Zero new features.

Today was entirely about one thing: making docker compose up actually work for someone who isn't me.

The Permission Chain

Yesterday I discovered the setup permissions bug. Today I learned it was just the first domino.

The Docker container runs Pinchy as a non-root user (as it should). But OpenClaw's config files were owned by root. The gateway token was written to a file the Pinchy process couldn't read. The plugin directory had ownership issues. Each fix revealed the next problem.

PR #28 fixed the workspace permissions. Then PR #29 fixed the gateway token auth and plugin ownership. Then PR #30 tackled the startup noise: double-restart messages, error spam in the logs, confusing output that would make any new user think something was broken even when it wasn't.

PR #31 polished what was left: deduplicated log lines, suppressed planned restart errors. PR #32 added an explicit plugin allowlist to prevent auto-discovery of unused plugins from spamming warnings.

Five PRs for what amounts to: the app starts cleanly now.

Pre-Flight Check

The most useful addition today: a pre-flight infrastructure check on the setup page. Before you even create your admin account, Pinchy now verifies that the database connection works, that OpenClaw is reachable, and that file permissions are correct.

If something's wrong, you see a clear error message instead of a cryptic crash during setup. This is the kind of thing that takes an hour to build and saves hundreds of people from filing "it doesn't work" issues.

The Smoke Test Gap

I also tightened the CI pipeline. The smoke test now verifies the actual OpenClaw connection, not just that the HTTP server starts. The gateway token extraction is polled instead of waiting a fixed number of seconds. Flaky E2E tests got stabilized.

The pattern: every bug I fixed yesterday in production, I made sure CI would catch tomorrow.

Why This Matters

470 people have cloned this repo. The first thing every single one of them does is docker compose up. If that experience is broken, nothing else matters. Not the agent personalities, not the audit trail, not the architecture.

Today wasn't exciting. No screenshots, no demo videos, no new features to announce. Just the boring, essential work of making the front door actually open when someone turns the handle.

Tomorrow: tagging v0.1.0.

← Day 18: First Users, First Lessons Day 20: v0.1.0 →

Pinchy is open source and ready to deploy. Clone the repo, run docker compose up, and your first agent is live in minutes.