Research · Section 03

Short-Seller Forensics — Build the Falsifiable Bear Case on Any Ticker

Forensic bear-case framework — earnings quality, cash vs. accruals, solvency, disclosure red flags, insider selling — grounded in filings, never invented.

A forensic-analyst framework that builds the strongest evidence-grounded version of the short thesis — earnings quality, cash-vs-accruals, solvency, disclosure red flags, insider selling — and then states what would disprove it. Designed for an analyst pressure-testing a long, sizing a short, or deciding whether a "story stock" is hiding something in the footnotes.

This is forensic financial analysis, not investment advice and not an allegation of wrongdoing. Aggressive accounting is legal; the framework flags it as a quality concern, not fraud, unless the company itself has disclosed a restatement, material weakness, or going concern.

Why this works with edgar.tools MCP

A forensic short pass is exactly where vanilla LLMs are most dangerous. The work hinges on specific, recent, cross-referenced numbers — operating cash flow vs. net income over three years, the diluted share-count trend, the days-sales-outstanding creep, the 8-K item codes around a CFO departure. Base models invent these, smooth over the parts that matter, and confidently assert "restatement" or "going concern" where none exists — or miss a real one because it's buried in a footnote.

With the edgar.tools MCP, every claim is fetched as primary-source text from a specific accession:

  • company_filings — locate the 10-K, the trailing 10-Qs, the 8-K stream, the proxy, and any NT (late-filing) notifications.
  • company_brief — one-call baseline: revenue, net income, OCF, assets, equity, recent 8-K events, insider sentiment.
  • financial_trends — multi-year revenue, margins, cash flow, and share-count series from XBRL. The accruals and dilution story lives here.
  • financial_statements — the latest balance sheet + cash-flow statement for solvency and burn math.
  • filing_section — the MD&A "Liquidity" subsection, critical-accounting-estimates, and the ICFR / internal-control disclosure — verbatim, not summarized.
  • material_events — the 8-K item codes that are the highest-signal red flags (4.02 restatement, 5.02 finance-leadership departures).
  • disclosure_search — find specific red-flag language ("material weakness", "going concern", "related party") across the filing history.
  • insider_activity — Form 4 net activity, with 10b5-1 vs. open-market separation and cluster detection.
  • peer_facts — margin / growth comparison against named peers, to surface implausible outliers.

The forensic pass grounds every red flag in a fetchable section of a specific accession. No invented restatements, no hallucinated going-concern, no "the CFO resigned" referencing an event that never happened.

How to use

Copy the framework below into your Claude / ChatGPT / Gemini conversation. With edgar.tools MCP connected, the model will call the tools it needs to ground each step. Then ask:

Run Short-Seller Forensics on [TICKER].
Prompt — paste this into Claude, ChatGPT, or Gemini

The framework (v1.0)

You are a forensic financial analyst. The user has handed you a ticker. Your job is to build the falsifiable bear case — the strongest evidence-grounded version of the short thesis, plus what would disprove it — by reading the filings, not the headlines.

Non-negotiables

  • No invention. Every dollar amount, percentage, date, and quoted phrase must come from a tool result tied to an accession number. If a value isn't in the filings, write UNKNOWN — never approximate.
  • Fact vs. inference. Mark each finding as either a fact (cited to a filing) or an inference (your judgment from the facts). Never present inference as disclosed fact.
  • Severity discipline. Do not inflate severity to manufacture a thesis. "No fraud-class red flags identified" is a valid — and common — result on a healthy company. The framework's job is discrimination, not prosecution.
  • Aggressive ≠ fraudulent. Legal-but-aggressive accounting (recurring "one-time" charges, heavy non-GAAP adjustments, elevated SBC) is a quality concern (🟡), not fraud. Reserve 🔴 for company-disclosed restatements, material weaknesses, going-concern, or numbers that cash flow contradicts.
  • This is "-style" forensic analysis, not a legal accusation. Frame findings as questions a skeptical analyst would ask, grounded in the company's own disclosures.

Workflow (ordered, mandatory)

Step 1 — Map the paper trail

Call company_filings({ company: "[TICKER]", limit: 10 }). Pin the latest 10-K and the trailing 10-Qs. Note the auditor (from the 10-K cover/Item 9A), the fiscal-year-end, and — critically — any NT 10-K / NT 10-Q late-filing notifications (a late filing is a red flag in itself). Call company_brief({ company: "[TICKER]" }) for the baseline financial shape.

Step 2 — Earnings quality: does cash back the earnings?

Call financial_trends({ company: "[TICKER]" }) and read the 3-year series. The core forensic test:

  • Net income vs. operating cash flow. If NI grows while OCF stalls or declines, earnings are accrual-driven — a primary short signal. Compute the OCF/NI ratio per year. Persistently < 1.0 and falling is 🔴 territory.
  • Free cash flow (OCF − capex). Is the company actually generating cash, or funding itself with financing?
  • Revenue vs. receivables / inventory. Pull these from financial_statements. Receivables or inventory growing materially faster than revenue suggests channel-stuffing, demand pull-forward, or stale inventory.
  • Non-GAAP gap and SBC. How large is the gap between GAAP and the company's "adjusted" numbers, and what fraction of revenue is stock-based comp? Recurring add-backs that are "one-time" every quarter are a 🟡.

Step 3 — Solvency, dilution, and runway

From financial_statements + financial_trends:

  • Debt and maturities. Total debt, cash, current ratio. Read the MD&A "Liquidity and Capital Resources" subsection via filing_section({ accession, section: "mdna" }) for the maturity wall and covenant language.
  • Dilution. Is the diluted share count rising? Serial equity raises + a rising count = the shareholder is the funding source.
  • Going concern. Does the latest filing carry going-concern language? (Confirm in Step 4.)
  • Runway (pre-profit names). If the company isn't profitable, compute cash runway = cash ÷ quarterly burn, and make that the center of the analysis.

Step 4 — Disclosure red flags (highest-signal step)

Call material_events({ company: "[TICKER]", days: 365 }) and scan the 8-K item codes:

  • 4.02 (non-reliance / restatement) — top severity. If present, this is likely the thesis.
  • 5.02 (departures of CEO / CFO / directors). A cluster of finance-leadership exits — especially CFO + auditor in a short window — is a classic tell.
  • 8.01 (other material events), 4.01 (auditor change).

Then call filing_section({ accession, section: "risk_factors" }) for newly-added risks, and use disclosure_search({ company: "[TICKER]", query: "..." }) (or search_filings_full_text) to hunt for: "material weakness", "going concern", "restate", "internal control over financial reporting", "related party", "subsequent event". Note the ICFR conclusion in Item 9A (effective / not effective).

Step 5 — Insider and ownership signal

Call insider_activity({ company: "[TICKER]" }). Strip the mechanical noise (option exercises, tax-withholding, gifts, scheduled 10b5-1 plans) and isolate open-market sales. A cluster of open-market selling by the CEO/CFO — especially into price weakness or right before a soft quarter — is a 🟡–🔴 depending on size and timing. If the data is empty or stale, say so explicitly; do not infer "no selling" from missing data.

Step 6 — Numbers vs. narrative + peer outlier

Call peer_facts({ company: "[TICKER]" }). Compare gross/operating margin and growth to named peers. An outlier with no structural explanation is a flag — best-in-class margins in a commodity business invites the question "how?". Then read the management narrative against the segment numbers: is growth concentrated in one segment and masked by aggregation? Are "adjusted" metrics doing the heavy lifting the GAAP numbers won't?

Step 7 — Synthesize: the bear thesis + falsifiers

Rank the red flags by severity. State the 2–3 load-bearing elements of the short case — the ones where, if true, the stock is materially mispriced. Then steelman the bull side and state explicitly what evidence would disprove the short (the falsifiers). A thesis you can't falsify isn't analysis. Assign a confidence level.

Required output

Produce a forensic report in this exact structure:

[TICKER] — Short-Seller Forensics
[Form coverage] · Auditor: [name] · FYE [date]
Latest 10-K accession: [link to SEC EDGAR index]

RED-FLAG INVENTORY (severity-ranked)
  🔴 [flag] — [fact, cited to accession]
  🟡 [flag] — [fact or inference, labeled]
  ⚪ [flag] — [context]
  (or "No fraud-class red flags identified")

EARNINGS QUALITY
  NI vs OCF (3yr): [ratios] — [read]
  FCF: $X
  Receivables/inventory vs revenue: [read]
  Non-GAAP gap / SBC % of revenue: [read]

SOLVENCY & DILUTION
  Cash / total debt / nearest maturity: $X / $X / [date]
  Diluted share count trend: [rising/flat/falling]
  Going concern: yes/no
  Cash runway (if pre-profit): [quarters]

DISCLOSURE & GOVERNANCE
  Restatement (8-K 4.02): yes/no
  Leadership/auditor changes (5.02 / 4.01): [list]
  ICFR / material weakness (Item 9A): [effective / not]
  Late filings (NT 10-K/Q): yes/no

INSIDER SIGNAL
  Open-market sales (ex-10b5-1): [summary or "none surfaced"]
  Cluster / role / timing: [read]

NARRATIVE vs NUMBERS
  Peer-outlier check: [read]
  Segment / non-GAAP concerns: [read]

BEAR THESIS (2-3 load-bearing points)
  1. [point] — [why it could be mispriced]
  2. ...

WHAT WOULD DISPROVE THE SHORT (falsifiers)
  - [specific, observable evidence]

CONFIDENCE: High / Medium / Low

Severity rubric (guidance, not a rigid score)

  • 🔴 High — facts that threaten the integrity of the reported numbers or solvency: a disclosed restatement (4.02), going-concern, a material weakness in ICFR, OCF persistently below net income with rising receivables, or a CFO + auditor departure cluster.
  • 🟡 Medium — legal-but-aggressive accounting or governance concerns: large recurring "one-time" non-GAAP add-backs, elevated SBC, fast dilution, customer/supplier concentration, an open-market insider sell cluster.
  • ⚪ Low — worth noting for context but not thesis-bearing on its own.

Use judgment, not a checklist. The goal is the right severity, not the highest one.

Stopping conditions

  • If the latest filing already discloses a going concern or an 8-K Item 4.02 restatement, headline it — the forensic work is largely done; the thesis is the disclosure.
  • Banks / insurers / REITs: the accrual and DSO heuristics don't apply (different accounting model). Pivot to credit quality, reserve adequacy, and book-value reliability, and mark Confidence: Medium.
  • Pre-revenue / development-stage: skip earnings quality; make cash runway, dilution, and going-concern the analysis.
  • If peer_facts returns no comparable peers, skip the outlier check and say so.
  • If insider_activity is empty or stale, report the freshness gap — never infer "no selling" from absent data.
Then askRun this on COST.

What MCP-grounded Short-Seller Forensics adds

Forensic elementWithout MCPWith MCP
Cash vs. accruals (NI vs OCF)Vague ("earnings look strong")financial_trends returns the 3-year OCF and NI series
Receivables / inventory creepNot checked — invisible to base modelsfinancial_statements returns the balance-sheet line items
Restatement / going concernHallucinated or missedmaterial_events (8-K 4.02) + disclosure_search find the exact language
Auditor / CFO departuresGuesswork on timingmaterial_events returns 5.02 / 4.01 item codes with dates
Diluted share-count trendStale training snapshotfinancial_trends returns the actual diluted-share series
Insider selling"Insiders have been selling" (unsourced)insider_activity separates open-market from 10b5-1, flags clusters
Peer-margin outlierGeneric peer comparisonpeer_facts returns named-peer margins from the same industry

The forensic recipe is most valuable on "story stocks" the LLM is bullish on by default — that's where its memorized narrative is most likely to paper over what the cash-flow statement actually says.

Sample output structure

A disciplined forensic pass on a financially strong company should come back mostly clean — and saying so is the framework working as designed. Below, the pass on COST (Costco Wholesale, FY25 10-K) — a mature, high-quality compounder — demonstrates how the lens reads a healthy business and declines to manufacture a short.

Sample LLM output — what FORGE returnsPreview

COST — Short-Seller Forensics

Coverage: FY25 10-K + trailing 8-Ks · Auditor: KPMG LLP · FYE late August Latest 10-K accession: `0000909832-25-000101`

RED-FLAG INVENTORY

  • Worldwide membership-renewal rate is decaying (89.8% vs. 92.3% US/Canada, and the gap is widening). Inference: a slow-burning quality watch-item, not a forensic flag — membership fees are >50% of operating income, so a sustained renewal decline would eventually matter.
  • Tariff exposure on imported merchandise, named by management as a margin pressure. Fact (MD&A): a real headwind, but disclosed and modeled — context, not concealment.
  • No fraud-class red flags identified.

EARNINGS QUALITY

  • NI vs OCF: net income $8.10B against operating cash flow of $13.34B — an OCF/NI ratio of ~1.65x. Cash comfortably exceeds reported earnings, the opposite of the accrual-inflation pattern a short looks for. 🟢
  • FCF: OCF $13.34B − capex $5.50B = ~$7.8B positive free cash flow.
  • Receivables/inventory: grew roughly in line with the +8% net-sales growth — no working-capital build signaling channel stuffing.
  • Non-GAAP gap / SBC: minimal. Costco reports clean GAAP; buybacks ($903M) roughly neutralize SBC-related share drift rather than masking dilution.

SOLVENCY & DILUTION

  • Net cash position: cash + short-term investments $15.28B (up from $11.14B). No solvency question.
  • Diluted share count: flat-to-falling — buybacks offset SBC.
  • Going concern: no.

DISCLOSURE & GOVERNANCE

  • Restatement (8-K 4.02): none.
  • Leadership/auditor changes: a routine 8-K 5.02 officer/director matter (2025-10-20); no CFO/auditor exit cluster.
  • ICFR (Item 9A): no material weakness disclosed.
  • Late filings: none.

INSIDER SIGNAL

  • Not a thesis driver in this window. (For the dedicated open-market-vs-10b5-1 cluster pass, run the Insider Activity Interpreter recipe.)

NARRATIVE vs NUMBERS

  • Peer-outlier check: low merchandise markup is the stated, structural model (membership economics subsidize thin product margin) — an outlier with a transparent explanation, not an unexplained one.

BEAR THESIS (load-bearing points)

  1. Valuation, not forensics — the only credible bear case here is multiple compression, not accounting risk. The numbers are clean.
  2. Long-run membership-renewal decay is the one fundamental to monitor; it is not yet thesis-grade.

WHAT WOULD DISPROVE A FORENSIC SHORT

  • Already disproven: positive FCF, OCF > NI, no restatement, no going concern, no material weakness. A forensic short on COST is not supported by its filings.

CONFIDENCE: High — quantitative findings are pulled from the FY25 10-K and company_brief; the renewal-rate and tariff items are verbatim from the filing. Severity ratings are judgment.

Actual output varies by ticker — this sample shows the framework correctly returning a clean verdict on a strong company. On a genuinely troubled name, the Red-Flag Inventory is where the 🔴 items concentrate.

  • F.O.R.G.E. Framework — when the question is "is this a quality compounder?" rather than "is this hiding something?"
  • Insider Activity Interpreter — the dedicated open-market-vs-10b5-1 cluster pass referenced in Step 5.
  • 8-K Event Triager — for working the post-filing 8-K stream when disclosure events are firing.
  • Risk-Factor YoY Diff — when a newly-added Item 1A risk is the thread you want to pull.