amal66 closes the books by hardening the plumbing - and admitting what it can't

The final stretch of amal66's fork tightens reliability and self-hosting while openly parking the credential-heavy work for later.

infrastructureintegration

amal66 spent the last few commits tying off an internal to-do list rather than chasing new features. The result is a sturdier foundation: a standard way of reporting errors across the system, a safeguard that trips when the AI provider starts failing instead of letting requests pile up, cleaner handling of files and storage, and the option to run everything locally for testing. There's also support for pointing the fork at any service that speaks the common OpenAI format, with a guardrail that insists on a secure connection.

What's notable is the restraint. amal66 automated only the pieces it could verify, and explicitly left the harder, credential-shaped items - durable job queues, connectors, full end-to-end tests - in a separate follow-up list rather than half-finishing them and calling it done.

So what Teams evaluating a fork to self-host or to swap in their own AI vendor will find this one honest about what's production-ready and what isn't.

View this fork on GitHub →

Spotted something wrong? Or know the PR text has fresher detail than the writeup above?

Commits in this thread

3 commits from amal66/mike, oldest first. Source extracted verbatim from the harvested git log.

SHA Subject Author Date
3031c9e6 fix(chapter-38): close action-plan gaps that can be automated Amal 2026-05-24 ↗ GitHub
commit body
Chapter: 38 - Action-plan gap closure.

Plain-English map:
Add the missing foundation pieces that can be safely implemented now: a standard error helper with legacy detail compatibility, API-client parsing for the new error envelope, validated env usage for rate limits/CORS/storage, real storage readiness checks, MinIO-backed local object storage in Docker Compose, LLM circuit breaking, backend abort wiring for timed-out provider streams, access-helper tests, HTTP helper tests, and a manual follow-up register.

Why it matters:
The previous chapters handled the main security and infrastructure pulls, but the action plan still had loose ends. This commit tightens the operational boundary without pretending that larger product work like MCP connectors, a durable queue, or seeded browser E2E can be completed safely as drive-by changes.

Principle:
Automate what can be proven, document what needs manual credentials or product direction, and keep compatibility while improving contracts.

Precedent borrowed:
ACTION_PLAN.md, the fork report's testing/self-hosting/security clusters, and independent agent review of the remaining gaps.

Verification:
- npm test --workspace apps/api
- npm run build --workspace apps/api
- tsc -p packages/api-client/tsconfig.json --noEmit
- git diff --check

Upstream base: willchen96/mike@d39f580.
2be2fa8b feat(chapter-39): automate safe manual follow-ups Amal 2026-05-24 ↗ GitHub
commit body
Chapter: 39 - Manual follow-up reduction.

Plain-English map:
Move safe pieces out of MANUAL_FOLLOW_UP.md and into the repo: add Redis to Docker Compose as the queue dependency, add OpenAI-compatible base URL support with production HTTPS guardrails, and add a skipped-by-default live Supabase access harness for proving document ID filtering against a real local Supabase database.

Why it matters:
Some follow-up items genuinely need credentials or product decisions, but the repo can still provide the rails: local dependencies, documented commands, and tests that activate when the right environment is available.

Principle:
Turn manual work into repeatable hooks wherever possible; leave only the irreducibly manual or product-shaped decisions in the follow-up document.

Precedent borrowed:
ACTION_PLAN.md, the fork report's local/self-hosting and alternative-provider clusters, and Supabase's local migration/testing workflow.

Verification:
- npm test --workspace apps/api (118 passed, 1 skipped live Supabase harness)
- npm run build --workspace apps/api
- tsc -p packages/api-client/tsconfig.json --noEmit
- git diff --check

Upstream base: willchen96/mike@d39f580.
05be49c0 Cleanup Amal 2026-05-24 ↗ GitHub

Capture this thread into my fork

Download a single Markdown prompt that tells Claude how to port every commit above into your working tree — adapting paths and structure to match your repo. Run it via claude -p < capture-thread-596.md from inside the repo you want the changes in.

⬇ Download capture-thread-596.md