Archibald312 ↗ analysis ↗ GitHub Archibald312/GordonOSS
A finance-focused AI assistant for diligence work, with spreadsheet-aware analysis, privacy guardrails, and independent operating foundations.
Archibald312 is turning GordonOSS into a finance AI assistant aimed at M&A diligence, private equity, private credit, leveraged finance, and equity research. The fork carries a clear GordonOSS identity and is positioning itself around practical document and spreadsheet work rather than AI-led data extraction.
The product direction is unusually deliberate for an early fork: spreadsheet and CSV material can be handled as first-class inputs, with citations down to individual cells; an append-only activity trail records AI and tool use; and model selection has been prepared for future data-source connections. There is also explicit protection against sending customer documents through free-tier AI services without opt-in.
What's in it
- Finance diligence focus Reframed for M&A, private equity, private credit, leveraged finance, and equity-research workflows.
- Spreadsheet-aware analysis Excel and CSV inputs are first-class material, with citations that can point to an exact cell.
- Privacy guardrails Free-tier AI use is blocked for customer documents unless the user explicitly opts in.
- Append-only activity trail AI and tool activity is recorded in a history designed to resist quiet alteration or deletion.
- Future connector readiness Model-routing groundwork is in place ahead of planned paid data connections.
- Independent quality baseline The fork has established automated checks and product-flow testing as part of its operating foundation.
Direction
intakesecuritybranding
Activity
Archibald312 ↗ analysis ↗ GitHub Archibald312 ↗ analysis ↗ GitHub Archibald312 ↗ analysis ↗ GitHub Archibald312 ↗ analysis ↗ GitHub Archibald312 ↗ analysis ↗ GitHub Archibald312 ↗ analysis ↗ GitHub Archibald312 ↗ analysis ↗ GitHub Show 4 more
Threads of work (detailed view)
Archibald312 builds the switchboard before plugging anything in
GordonOSS can now decide which AI model handles which matter - even though, for today, nothing has changed.
Pre-Phase-7: routing resolver lands before connectors need it
Rather than bake model selection into each connector at ingest time, Archibald312 landed the routing surface first. Local inference (Ollama/vLLM) is deferred to post-launch; the resolver that will eventually dispatch to it is already there, tested, and audited. Every chat today still resolves to the user's requested model - the columns are nullable, so behavior is unchanged.
Archibald312 wires in an audit trail the app can't rewrite
A new activity log records who did what, and the database itself refuses to let anyone quietly edit or delete the history.
Phase 6: tamper-evident audit log with DB-trigger immutability
Archibald312 wrapped every LLM call and tool invocation in an append-only audit trail: UPDATE and DELETE on the `audit_log` table raise an exception at the database trigger level, not in application code. Before third-party data connectors arrive, the stated goal is a provable record of who saw what and which model handled it.
Archibald312 teaches Mike to read spreadsheets, cell by cell
Excel and CSV files are now first-class documents - and when the AI cites one, it points to the exact cell.
Phase 5: xlsx/xls/xlsm/csv ingestion, per-cell citations, and XlsxView component
Phase 5 makes spreadsheets first-class documents: upload, extract, cite by cell address, and export with citations baked back into ExcelJS comments on the source cells. The extractors are pure side-effect-free pipelines with their own unit tests, which makes them the most portable piece of this PR.
Archibald312 reskins Mike for finance - and bets against AI-first extraction
GordonOSS turns the legal assistant into an M&A, private-equity, and credit diligence tool, but the real move is a deliberate refusal to let AI do the heavy lifting on data extraction.
Phase 4: legal-to-finance domain swap and Mike-to-Gordon rename in one atomic PR
Archibald312's Phase 4 PR repositions the fork from legal AI to finance AI - M&A diligence, PE, private credit, leveraged finance, IB, equity and credit research - while simultaneously completing the Mike-to-Gordon brand rename. The two moves touch the same surfaces, so bundling them avoids a second sweep across 89 files.
Archibald312 stops the privacy guard from crying wolf
A small fix unblocks legitimate requests that carried no documents at all, and makes upload failures actually legible.
Archibald312 clears the runway for audit logging
A sprawling, single-file pile of AI tools gets broken into tidy pieces - and the real prize is what that makes possible next.
PR #1: CI pipeline, 57 unit tests, Playwright e2e suite, and fork hygiene docs
The first PR on Archibald312's GordonOSS fork lands a four-job GitHub Actions workflow, a Vitest unit suite, a Playwright e2e runner, and two living-doc files (`FORK.md`, `TECHDEBT.md`) establishing the quality baseline. If you're evaluating whether this fork is actively maintained and testable, this commit is the place to start.
Pre-Phase-7: model routing seam added before connector work begins
Archibald312 deferred local inference (Ollama, vLLM) to post-launch and instead landed the routing surface that connectors and the eventual local-inference adapter will plug into. The behavioral change today is zero - every chat still resolves to the user's requested model - but the decision point now exists as a tested, audited abstraction.
Phase 6: append-only audit trail for LLM calls and tool invocations
Archibald312 added a tamper-resistant audit log covering every LLM call and tool invocation - database triggers block UPDATE and DELETE outright, so an app-layer compromise can append rows but not rewrite history. The groundwork is explicitly tied to paid data connectors coming in a later phase: before third-party data flows in, the system needs a provable record of who saw what.
Phase 4: legal-to-finance domain swap bundled with the Mike-to-Gordon rename
Archibald312's Phase 4 PR reframes the fork as a finance AI assistant - M&A diligence, private equity, private credit, leveraged finance, and equity research - while finishing the Mike-to-Gordon rename. The two changes share enough surface area (system prompts, type identifiers, MIME types, copy) that bundling them in one PR avoids a redundant second sweep.
Free-tier Gemini unblocked in dev; four Playwright specs back online
Two stuck things fixed together: the free-tier Gemini path failed before it could check the allowlist, and all four product-flow e2e specs had been sitting behind `test.describe.skip()` since the UI drifted away from their selectors.
chatTools monolith split into typed tool registry
Archibald312 broke a 3,284-line orchestration file into ten per-tool modules behind a single registry. The orchestrator shrank by roughly 70% and now handles only what genuinely belongs there.
CI, test suite, and free-tier LLM guard wired up for the finance fork
Archibald312 laid down the infrastructure a hard fork needs to run independently: a four-job GitHub Actions pipeline, 57 unit tests, five Playwright e2e specs, and a guard that blocks customer documents from free-tier Gemini unless you explicitly opt in.
Pull requests (detailed view)
✅ Merged (7)
Archibald312 · opened 5mo ago · merged 5mo ago by Archibald312 Archibald312 · opened 5mo ago · merged 5mo ago by Archibald312 Archibald312 · opened 5mo ago · merged 5mo ago by Archibald312 Archibald312 · opened 5mo ago · merged 5mo ago by Archibald312 Archibald312 · opened 5mo ago · merged 5mo ago by Archibald312 Archibald312 · opened 5mo ago · merged 5mo ago by Archibald312 Archibald312 · opened 5mo ago · merged 5mo ago by Archibald312 ⛔ Closed without merge (1)
Archibald312 · opened 5mo ago · closed 4mo ago