xbrl-fallbacks — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited xbrl-fallbacks (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
XBRL coverage is incomplete. Many real issuers — especially the small-cap universe where dilution analysis matters most — return either 404 or empty datapoints from data.sec.gov/api/xbrl/companyfacts/CIK*.json. Treating absence of XBRL as absence of data is a quant pipeline bug. The shares-outstanding number is almost always somewhere; just not in the structured feed.
XBRL is one source, not the source. When the structured feed is sparse or missing, the same datapoint is recoverable by reading the filing's text — typically the cover page or an early section of the prospectus. Build the fallback path explicitly into the pipeline; don't treat XBRL 404 as "no data".
in HTML/PDF. XBRL coverage is often delayed, partial, or absent for years after IPO. Common in Chinese small-cap IPOs (-F suffix CIKs, recent listings on Nasdaq Capital Market).
XBRL exists but the cover-page share count may be the only reliable datapoint until the second 10-K is filed.
XBRL; cover-page counts on the most recent 10-Q/10-K govern.
for the most recent period.
XBRL; you have to read the amendment text.
When XBRL is missing or stale, search for shares-outstanding in this order:
registrant had [N] shares of common stock, $[par] par value, outstanding."
different timing (annual).
reports issuance counts within the body. Look for "ordinary shares" or "common shares" + "issued and outstanding".
statement near the registrant block.
pre-offering share count and post-offering count.
a sanity check.
The earliest plausible source wins; later sources are sanity checks. Always record which source was used.
Cover-page share-count language is heavily templated. The common forms:
and outstanding as of [date]."
representing [M] ordinary shares (FPI ADR structure — keep BOTH numbers and note the ratio).
(multi-class issuers — sum carefully or track per-class).
Numbers may be expressed with commas, no commas, or scaled ("12.3 million" / "12,300,000"). Always normalize to integer share count and record the as-of date.
Many small-cap FPIs and biotech reorganizations have multiple share classes. Treating "common stock outstanding" as a single number can be wrong by a factor of 2–10x.
outstanding but track separately for control analysis.
exchange but represent ordinary shares at a ratio (often 1:10 or 1:50). Float-rotation math must use the ADS-equivalent count, not the underlying ordinary share count.
common but creates shadow dilution. Note as a separate line.
When emitting fallback data into a downstream system that expects XBRL shape, use a synthetic tag namespace to preserve provenance:
{
"tag": "text:SharesOutstanding",
"value": 23300000,
"source_form": "424B4",
"source_accession": "0001213900-24-XXXXXX",
"as_of_date": "2024-09-15",
"filed_date": "2024-09-18",
"confidence": "medium"
}text: prefix distinguishes from real XBRL (us-gaap:, dei:, ifrs-full:). Confidence reflects parsing precision (e.g., "high" = direct quote, "medium" = inferred from context, "low" = calculated from offering deltas).
filed_date must obey lookahead-safety— never use as_of_date as the known-date.
datapoint can confirm the order of magnitude.
N shares between two cover-page disclosures, the difference between the two counts should be approximately N (modulo buybacks, splits, exercises).
text: and surface the source filing in thefinal output — don't silently treat it as XBRL-quality.
typo or unmapped ticker — see cik-resolution if available).
data.sec.gov/submissions/CIK{padded}.json
above (10-Q → 10-K → 6-K → 20-F → F-* → 424B → DEF 14A).
datapoint, applying offering deltas (424B / 8-K item 3.02) between stamps to maintain a continuous timeline.
This is not a regex library or extractor. It defines the source hierarchy and validation rules so the LLM (or pipeline) can decide WHERE to look and HOW to attribute the result. Combine with lookahead-safety for time semantics and sec-filing-types for form-by-form context.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.