Sloth-ninja gets JessicaOSS ready for a private law-firm pilot

The fork now has a practical route from a promising legal-AI product to a controlled real-world trial.

infrastructureworkflow

Sloth-ninja has prepared JessicaOSS for a small, invite-only pilot with Aria Grace Law solicitors. The product itself is unchanged, but the surrounding work answers the questions that usually stall a pilot: where it runs, who gets access, where documents live, and how the team checks that it is healthy before inviting users in.

  • A hosted web front end, container-based application service, managed data store, document storage, and domain security setup.
  • A portable backend package that keeps document-to-PDF conversion available and supports live updates during longer interactions.
  • Clear participant guidance and a structured feedback form tied to the existing legal workflows.

The team also tested the package locally with placeholder settings, including its health check and restricted runtime permissions.

So what Legal teams considering a private AI trial should care because this turns a fork into something they can evaluate with a small user group before committing to a wider rollout.

View this fork on GitHub →

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

Commits in this thread

6 commits from Sloth-ninja/JessicaOSS, oldest first. Source extracted verbatim from the harvested git log.

SHA Subject Author Date
134c1a02 Add production Dockerfile for backend pilot deployment sloth-ninja 2026-07-08 ↗ GitHub
commit body
Multi-stage build (tsc compile, then a slim runtime with libreoffice-writer
installed for docxToPdf's soffice dependency, non-root user). Not built or
run in this sandbox - no Docker daemon available; verified only by reading
backend/src/lib/convert.ts and backend/package.json's build/start scripts.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
793a1d57 Add pilot deployment guide sloth-ninja 2026-07-08 ↗ GitHub
commit body
Covers architecture, backend hosting comparison, production Supabase
checklist, R2 setup, full env var matrix, DNS, a post-deploy smoke
checklist, and open decisions for the owner. Every repo-verifiable claim
(CORS/HSTS/trust-proxy behaviour, LibreOffice invocation, current schema
line numbers, existing env var templates) was checked against the actual
code rather than assumed; gaps (no wrangler config in the repo yet) are
flagged rather than papered over.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
d3b1d110 Add pilot programme docs and feedback issue form sloth-ninja 2026-07-08 ↗ GitHub
commit body
docs/PILOT.md covers the invite-only flow, the synthetic/public-documents-
only ground rule pending a data-protection review, what feedback we want,
how to give it, expected ~2-week cadence, and the AI-generated/solicitor-
review reminder. The GitHub issue form structures feedback (task, outcome,
expected result, workflow/template dropdown, severity, UK-terminology flag,
optional contact) and was validated with npx yaml-lint (pyyaml unavailable
in this sandbox).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
6648d716 Record WS6 in BUILD_PLAN and BUILD_LOG sloth-ninja 2026-07-08 ↗ GitHub
commit body
Appends a WS6 entry to BUILD_PLAN.md §3 (scope + launch-checklist
re-sequencing note) without touching anything else in that file, and adds
the WS6 entry to the top of BUILD_LOG.md per repo convention.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
3a1513ce WS6: match pilot-feedback workflow names to WS4 template titles exactly sloth-ninja 2026-07-12 ↗ GitHub
commit body
Code review found two dropdown options that didn't match the WS4
source-of-truth titles (English-law SPA Review; Commercial Lease
Review - LTA 1954). Exact-match matters because WS4 also ships plain
'SPA Review' and 'Commercial Lease Review' variants.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KsUrp6sw58RCSeqJtx5RH6
acc82f0c WS6: avoid duplicating node_modules into a chown layer sloth-ninja 2026-07-12 ↗ GitHub
commit body
Replace the trailing 'chown -R node:node /app' (which re-wrote the whole
240 MB npm-ci layer) with per-COPY --chown plus a non-recursive chown of
the still-empty /app before USER node - WORKDIR leaves the directory
root-owned, so npm ci as node needs it handed over first. Image size
1.5 GB -> 1.21 GB; verified: builds, boots with dummy env, /health ok,
runs as node, soffice present.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KsUrp6sw58RCSeqJtx5RH6

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

⬇ Download capture-thread-1204.md