Sloth-ninja builds a connectors gallery, then refuses to fake readiness

JessicaOSS gives firm administrators a clearer way to offer approved external tools without dressing unfinished integrations up as usable.

integrationworkflow

The fork adds an administrator-curated gallery of connectors that a firm can enable or disable for its members. That creates a more deliberate route for bringing outside services into a legal AI workspace, with access controlled at firm level.

  • A connector gallery lets administrators see and manage the approved tools available to members.
  • An unfinished sign-in route is labelled unavailable rather than presented as a working option.
  • Two listed-but-unbuilt connectors were later removed instead of left as misleading choices.

The interesting move is less the gallery itself than the discipline around status. The team appears willing to narrow the visible product to what actually works, which matters when legal teams are assessing whether an integration is safe to rely on.

Who should care: legal-ops leads and product owners weighing connected AI tools, because clear availability signals reduce rollout surprises.

View this fork on GitHub →

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

Commits in this thread

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

SHA Subject Author Date
2dce6b80 WS8 PR E: connectors gallery sloth-ninja 2026-07-23 ↗ GitHub
commit body
Curated MCP connector gallery: a Popular row, All/Connected/Not-connected
filters, a status column ("Connection issue"), initial-letter tiles (no real
brand-logo assets), and one-click Connect for honesty-verified providers, plus
a firm-admin curation card over the org enabled_connector_ids shortlist.

Honesty rule: a provider is only one-click when a public remote MCP server with
OAuth was verified to exist (July 2026) - Google Drive/Gmail/Google Calendar,
Canva, Apollo.io. Everything else (Microsoft 365, DocuSign, Slack, Teams,
HubSpot, Clio) is an informational "custom" entry with no dead Connect button.
Per-provider verification sources recorded in mcpConnectorRegistry.ts and the
BUILD_LOG.

Backend: mcpConnectorRegistry.ts + mcpConnectorGallery.ts (pure status
derivation + org-curation filtering); org enabled_connector_ids read/write;
GET/POST /user/connector-gallery (connect is requireMemberPolicy+MFA gated,
SSRF guard preserved via validateRemoteMcpUrl); GET/PATCH
/admin/connector-gallery (requireAdmin+MFA, registry-id validated).

Frontend: rebuilt account/connectors gallery per the approved mock-up (existing
custom-connector form kept as "Add custom connector"; PR #38 neutral card
preserved when policy off); firm-settings Connectors curation card; mikeApi
methods.

Tests: 43 new (registry/honesty invariants, gallery status derivation, org
filtering incl. empty=all, connect policy-gating + 404 validation, admin
curation authz+validation). Backend 252 vitest pass; frontend tsc + lint at
baseline; evals:smoke 4/4 from main.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
429eecf0 WS8 PR E: review round 1 - honest status for abandoned OAuth + custom cues sloth-ninja 2026-07-23 ↗ GitHub
commit body
- Derive isOAuth for registry rows from entry.availability, not the stored
  auth_type: createUserMcpConnector persists "none" until a token is stored, so
  an abandoned one-click connect (row, no token, no audit rows) was reading
  "connected"; it now reports connection_issue (Reconnect). Regression test added.
- Member gallery: registry "custom" entries render an informational cue (a
  "Custom" marker + description + "Add via custom connector" opening the existing
  form) instead of a bare "Not connected" pill.
- Document loadLatestAuditStatus' shared 500-row window trade-off (degrades safe:
  may miss an error, never invents one).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
83301af2 Merge remote-tracking branch 'origin/main' into ws8-connectors-gallery sloth-ninja 2026-07-23 ↗ GitHub
# Conflicts:
#	CLAUDE.md
#	docs/BUILD_LOG.md
4cbc8586 Merge pull request #40 from Sloth-ninja/ws8-connectors-gallery Ezana.H 2026-07-23 ↗ GitHub
WS8 PR E: connectors gallery

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

⬇ Download capture-thread-867.md