amal66 puts guardrails on how much Mike will swallow and serve

A reliability pass that caps oversized requests, paginates long chat histories, and makes crashes leave a trail.

infrastructuresecurity

amal66 is tightening the plumbing rather than adding features. Mike's chat history used to come back all at once, with no ceiling on how many conversations a single request could pull. Now it hands back the most recent batch and lets clients page back through older history on demand, with a sensible default if none is specified.

Alongside that, the fork caps how large an incoming request body can be, so an oversized payload can't pile up memory pressure, and it adds logging that captures crashes and stray errors instead of letting them vanish. None of this changes what Mike does day to day, but it is the kind of unglamorous hardening that separates a demo from something you would actually run for clients. One thing to flag: anyone wiring up against this fork should expect chat history in pages now, not one giant dump.

So what Worth a look for anyone weighing whether a Mike fork is solid enough to put real workloads and real clients behind.

View this fork on GitHub →

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

Commits in this thread

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

SHA Subject Author Date
f38ea30d fix(chapter-17): paginate chat history requests Amal 2026-05-24 ↗ GitHub
commit body
Chapter: 17 - Resource limits.

Plain-English map:
Add `limit` and `before` cursor support to chat history loading so the API
does not return an unbounded number of chats in one request.

Why it matters:
Unbounded endpoints are easy to misuse accidentally and easy to stress on
purpose. Pagination keeps response sizes predictable.

Principle:
Public API reads should be bounded and page through large data sets.

Precedent borrowed:
Upstream PR #110.

Upstream base: willchen96/mike@d39f580.
Original local commit: b52b04f.
8664afc9 fix(chapter-18): bound JSON bodies and log process failures Amal 2026-05-24 ↗ GitHub
commit body
Chapter: 18 - Operational guardrails.

Plain-English map:
Reduce the accepted JSON body size and add handlers that log unhandled
promise rejections and uncaught exceptions.

Why it matters:
Large request bodies can create memory pressure. Unexpected crashes should
leave useful logs so operators can understand what happened.

Principle:
Bound inputs and surface failures clearly.

Precedent borrowed:
The fork report's security-hardening cluster, where many forks added basic
abuse and reliability guardrails.

Upstream base: willchen96/mike@d39f580.
Original local commit: d70fde7.

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-588.md from inside the repo you want the changes in.

⬇ Download capture-thread-588.md