Skip to content

Gross-profit growth compares evidenced annual endpoints

Status: accepted for #650 (G1), 2026-09-09.

Use the one- and three-year simple-change rule in the company filter expansion specification. A positive baseline gives the ordinary percentage interpretation; a negative baseline cannot distinguish growth from loss reduction. CAGR would add a different product meaning. Keep zero and negative baselines unavailable.

Resolve filing corrections before metrics. Require exact annual period pairing, matching fact periods, one currency, and the same non-dimensional entity scope. Keep missing comparison metadata unavailable until re-extraction. This prevents an old parsed correction or a guessed currency from creating a false match.

XBRL 2.1 defines fact contexts and currency measures. Resolve the measure QName, not its arbitrary unit ID. Retained fixtures cover the ordinary 2024 taxonomy, Inline XBRL, and the real LASSO 2025 filing. Scope here means the disclosed entity with no segment or scenario; it does not equate a dimensional group statement with an individual company statement.

Compute the comparison at query time after existing selective registry filters. Keep endpoint evidence in company detail. Re-extraction and corrections must invalidate search versions atomically; the UTC date binds retention expiry. This decision resolves G1 only. Source and product decisions for #651–#654 remain separate.

The population probe has 2,260,000 synthetic companies and 2,000,000 financial periods. The original facet operation scanned all companies before its facet selection; it was stopped after 128 seconds. Narrowing to the union of the four disjunctive contexts and indexing normalized industry/municipality keeps the evidence reads within that union. JIT compilation then used 1.80 seconds of a 2.63-second plan. Disabling JIT for this operation reduced the measured facet read to 0.95 seconds. The query remains computed from current evidence; no materialized growth value is introduced. Growth-only filters still have no selective registry bound; the population-scan work in #634 remains open.