Phase 4: Domain swap (legal → finance) + Mike → Gordon rename (#5)
* 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> | Repository | Archibald312/GordonOSS |
|---|---|
| Author | Archibald312 <129438073+Archibald312@users.noreply.github.com> |
| Authored | |
| Parents | febebea1 |
| Stats | 89 files changed , +650 , -435 |
| Part of | Phase 4 - Domain swap legal → finance + Mike → Gordon rename |
Capture this commit into my fork
Download a Markdown prompt that tells Claude how to port this
exact commit into your working tree. Run it via
claude -p < capture-commit-8a33897e.md
from inside the repo you want the change in.