Sloth-ninja puts JessicaOSS behind a three-lock merge gate

Changes now face separate checks for the product, the interface, and the quality of its legal answers before they reach the main branch.

workflowinfrastructure

The aim is simple: catch broken work before it becomes the version people rely on. The gate has three distinct checks:

  • Backend checks test the application and its data-handling logic.
  • Frontend checks test the user-facing product, its standards, and whether a production version can be built.
  • Evaluation checks keep the legal citation requirement mandatory, even when optional external-service credentials are unavailable.

Missing optional credentials are reported openly as skipped tests, while an evaluation run with nothing to assess fails outright. The setup also avoids wasting time on older checks when a newer pull request replaces them. Sloth-ninja still needs to make these checks mandatory in the repository's branch rules.

So what Legal product teams who need a dependable release process should care: this gives answer quality and citation discipline a seat at the same table as ordinary software testing.

View this fork on GitHub →

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

Commits in this thread

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

SHA Subject Author Date
257a8c7e Add CI merge-gate workflow (BUILD_PLAN §7) sloth-ninja 2026-07-12 ↗ GitHub
commit body
Three jobs on PRs to main and pushes to main, with per-branch
concurrency cancellation for superseded PR runs:

- backend: npm ci, tsc --noEmit, vitest run (Node 22, npm cache)
- frontend: npm ci, tsc --noEmit, eslint, next build - public
  NEXT_PUBLIC_* values come from repository variables with safe
  placeholder fallbacks (Supabase client construction at module
  scope makes next build throw on empty URL/key)
- evals: npm ci in evals/, full golden set including the citation
  hard gate; COMPANIES_HOUSE_API_KEY and ANTHROPIC_API_KEY from
  repository secrets - the runner skips those cases loudly when
  the keys are absent, so the job passes on forks without secrets

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

⬇ Download capture-thread-1201.md