amal66 turns hardening follow-ups into a sturdier Mike

This fork converts a backlog of reliability concerns into tested safeguards across the product's most failure-prone edges.

infrastructureintegration

amal66 has taken a broad pass at making Mike less brittle when outside services, uploads, and AI providers do not behave as expected. It is a stabilisation effort rather than a new legal workflow, but one with direct consequences for teams relying on the system in production.

  • Safer handling of web requests and errors, so failures are less likely to cascade.
  • Circuit protections for AI providers, helping the product respond more predictably when a provider is unavailable.
  • Stronger storage and upload checks, reducing avoidable problems around submitted material.
  • Configurable AI service connections, giving deployments more flexibility in where models are accessed.
  • Optional checks against a live Supabase database service, for teams that want to validate that integration.
So what Legal teams and product owners considering a production deployment should care because dependable failure handling is often what separates a promising tool from an operational one.

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

⬇ Download capture-thread-2013.md