Archibald312/GordonOSS

A finance-focused AI assistant for diligence work, with spreadsheet-aware analysis, privacy guardrails, and independent operating foundations.

Archibald312 made a concentrated run of 10 changes over roughly a week, establishing a clear finance pivot and several substantial foundations for further work.

View on GitHub →

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

Direction

intakesecuritybranding

Activity

Themed changes and pull requests touching this fork, newest first. Themed changes that haven't been turned into a public post yet still appear — they're real work even without a published writeup.

📝 Re-enable product-flow e2e specs (projects, documents, chat, tabular) 1 commit 5mo ago minor change
📝 Rename packages from mike to GordonOSS to match the fork 0 commits — minor change
📝 chatTools monolith split into typed tool registry 0 commits — infrastructurechat-ui draft
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.
📝 Unblock free-tier LLM calls and surface real errors 0 commits — minor change
Show 4 more
📝 Pre-Phase-7: model routing seam added before connector work begins 0 commits — infrastructurecompliance draft
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 - ev…

Threads of work (detailed view)

17 threads have been distilled into posts.

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.

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.

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.

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.

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.

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)

8 PRs touch this fork — inbound (filed against it) or outbound (filed from it). State icons match the editorial dashboard.

✅ Merged (7)

⛔ Closed without merge (1)