Why does AXIOM say "No internal records found" for something I know is in the database? +
The internal search uses keyword matching. If you spelled the name differently from how it was extracted, it won't find it. Try shorter search terms — just a surname or key word rather than a full name.
The website shows old data. How do I refresh it? +
The website reads from Google Sheets CSV URLs which are cached by Google for a few minutes. Click the ↻ Refresh button on any page, or wait 5-10 minutes for Google's cache to update after new data is added.
AXIOM timed out processing a large PDF. What should I do? +
Convert the PDF to .txt first using the Converter page. Text files process 10x faster and cheaper. For very large documents, split them into sections of about 50 pages each.
How do I update a lead status? +
In Discord: @Axiom !updatelead [title keywords] | [status] | [notes]. Status options: OPEN, IN PROGRESS, CONFIRMED, CLOSED. The website will reflect the change after the next refresh.
Why don't entity photos show up for some entities? +
Photos are pulled automatically from Wikipedia. If Wikipedia doesn't have an article or photo for that entity, a placeholder with initials is shown instead. You can override this by clicking the entity card and pasting a custom image URL.
Can I add entries to the Wiki from outside Google Sheets? +
Yes — on the Wiki page, click "Suggest Wiki Entry". The form will copy the entry in the correct format to your clipboard. Paste it directly into a new row in the Wiki tab in Google Sheets.
How do I change the platform password? +
Open auth.js, find PASSWORD: 'witness2026', change it to your new password, save the file, and redeploy all 9 files to Cloudflare Pages. Takes about 2 minutes.
AXIOM is using the wrong vision model. How do I fix it? +
Check console.groq.com/docs/deprecations for the current vision model name. Open axiom_discord.py, find the model name in the run_groq function, update it, commit and push to GitHub. Railway will redeploy automatically.
How often should I run !synthesize? +
Once a week, or after a major batch of new files is uploaded. Synthesis reads the most recent 100 master file entries, so running it more often than weekly doesn't significantly change the output unless a lot of new data was added.
What happens to my workspace data if I clear my browser? +
Workspace items are stored in Supabase and persist permanently. Your active profile and login session are in sessionStorage and will be cleared when you close the browser — just log in and re-select your profile next time.
The Transactions or Assets page says the table doesn't exist. What do I do? +
Go to supabase.com → your project → SQL Editor. The Assets tab on Dashboard shows the SQL for the assets table. For the transactions table, use the SQL provided by your administrator (it was removed from the UI to keep the page clean). Run both scripts in the SQL Editor and the pages will work immediately.
Entity names aren't autocompleting in the Transaction form. Why? +
The autocomplete list loads from your Google Sheets entities tab. If the sheet cache is stale, click the ↻ Refresh button on the Dashboard (or Transactions page) to force a fresh pull. If the entity simply isn't in your sheet yet, add it there first.
The Cross-Ref tab shows no results. Is something broken? +
Cross-Ref runs entirely against data already loaded in memory. Make sure the Dashboard has finished loading (all six tabs show data counts). If transactions are empty, the unregistered-entity and financial-contradiction queries will return nothing by design — they need transaction records to compare against.
Extract & Save found no amounts or entities in my document. Why? +
Amount detection looks for $ signs and keywords like "million", "USD", etc. Entity matching requires the name to appear in your Google Sheets entities list. Check that your entity list is populated and refresh the sheet cache. For scanned PDFs, OCR quality affects whether numbers are recognised — try the Tesseract OCR convert option instead of PDF-parse.
How do I run discord_sync.py on a schedule automatically? +
On Windows: open Task Scheduler, create a basic task, set the trigger to daily or hourly, and set the action to run python with the full path to discord_sync.py and the --since flag set to yesterday's date. On Mac/Linux: add a cron job. The --since flag prevents re-importing old messages on each run.
Can I use the platform offline? +
Partially. The service worker caches all HTML, CSS, and JS so pages load offline. Google Sheets data is cached in localStorage for 15 minutes and falls back to the stale cache when offline. Supabase writes (sending messages, saving findings, logging transactions) require an internet connection.