Archibald312 turns Mike into Gordon, a finance-AI assistant

The fork pivots wholesale from legal work to M&A diligence, private equity, private credit, leveraged finance, and equity/credit research.

brandingsummarization

This is the fork's identity moment. Archibald312 didn't just rebrand the surface - the system prompts that steer the AI were rewritten from "legal document analyst" to "finance document analyst," with extra emphasis on citation auditability. The 19 legal practice areas were swapped for 17 finance verticals, and a dozen finance-flavoured column presets joined the table-extraction tooling: Revenue, EBITDA, Free Cash Flow, Leverage Ratio, Interest Coverage, Maturity, Coupon, Capex, Margin, and the rest of the deal-analyst vocabulary.

What's interesting for anyone watching the legal-AI space is the discipline. Identifiers, user-facing copy, and prompts all move together in a single coherent change, with a written rationale for what stayed put - including the built-in document templates, which were intentionally deferred. The pivot is sharp rather than half-finished.

So what If you're a legal-tech leader, this is a useful data point: the same underlying assistant is being repurposed for finance diligence workflows, and the playbook for doing it cleanly is on display.

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 Archibald312/GordonOSS, oldest first. Source extracted verbatim from the harvested git log.

SHA Subject Author Date
8a33897e Phase 4: Domain swap (legal → finance) + Mike → Gordon rename (#5) Archibald312 2026-05-15 ↗ GitHub
commit body
* Phase 4: Domain swap (legal → finance) + Mike → Gordon rename

Repositions the fork from a legal-AI assistant to a finance-AI assistant
for M&A diligence, PE, private credit, leveraged finance, IB, and equity
and credit research.

Visible copy
- InitialView disclaimer updated to cover financial/investment/accounting/legal advice.
- Layout metadata, login/signup/support pages, and demo-service notice rebranded.
- Chat title generator prompt reframed for the finance domain.

System prompts
- chatTools SYSTEM_PROMPT rewritten with finance framing and citation-auditability emphasis.
- projectChat project-context block updated for finance deal/mandate workstreams.
- tabular extraction/review prompts ("legal document analyst" → "finance document analyst").
- generate_docx tool description rewritten for finance artifacts.

Practice areas
- Replaced 19 legal practices with 17 finance verticals (M&A Diligence, PE, Private Credit,
  Lev Fin, Project Finance, IB, Equity/Credit Research, Restructuring, Public Markets, etc.).
- Old workflow practice values flow through unchanged via string typing.

Column presets
- Kept neutral legal contract presets (apply to finance contracts too).
- Added 12 finance presets (Revenue, EBITDA, Net Income, FCF, Leverage Ratio,
  Interest Coverage, Reporting Period, Maturity, Coupon/Rate, Currency, Capex, Margin).

Mike → Gordon rename
- 9 type identifiers (MikeMessage/Workflow/Chat/... → Gordon*).
- File renames: mike-icon.tsx → gordon-icon.tsx; mikeApi.ts → gordonApi.ts.
- MIME types (application/mike-* → application/gordon-*), localStorage key,
  R2 bucket default, README, docs.
- FORK.md upstream URLs to willchen96/mike intentionally preserved.

Deferred per plan
- All 12 built-in workflows kept untouched; finance workflow library is Phase 11.
- LEGAL_NUMBERING_REF in shared/generateDocx.ts left as-is (it refers to Word's
  built-in 'legal' numbering style, not legal documents).

Rationale recorded in decisions.md. Backend + frontend tsc --noEmit clean;
backend Vitest 57/57 passing.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* Fix: free-tier guard blocks dev chats with empty allowlist

PR #3 ("allow free-tier LLM in dev mode") wired up the ALLOW_FREE_TIER_LLM
env opt-in but never added an actual dev-mode pathway: ALLOW_FREE_TIER_LLM=true
with an empty FREE_TIER_FIXTURE_ALLOWLIST still throws on every call, even
plain chat with no documents attached, because the empty-allowlist check ran
before the no-docs short-circuit. Users hit a hard error on first chat.

Add a dev-mode bypass: when NODE_ENV !== "production" AND no documents are
attached, allow the call through. Production still requires an explicit
allowlist so the operator has consciously enumerated which fixtures may be
processed. Documents attached in any environment still require allowlist
matching.

Tests: pin the existing empty-allowlist throw to NODE_ENV=production; add
two new tests covering the dev-mode no-doc bypass and the dev-mode-with-docs
strict path. 59/59 backend tests green.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>

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

⬇ Download capture-thread-423.md