lookahead-safety — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited lookahead-safety (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.
The single most common bug in quant research with LLMs: using data that was not yet known at the moment you claim to have known it. This skill defines the rules to keep historical analysis honest.
The known-date is the date a piece of information was PUBLISHED, not the date the information is ABOUT.
In January 2024, that 10-K did not exist.
SharesOutstanding datapoint with period_end: 2023-12-31is known only after the filing that contains it is published.
When asked to compute or recommend anything as of a date D, only data where filing_date <= D is admissible.
| Field | Use as known-date? | Notes |
|---|---|---|
filing_date / acceptedDate | ✅ YES | The publication moment |
period_end / periodOfReport | ❌ NEVER | The accounting period the data covers |
effectiveDate (S-3, etc.) | ✅ YES | When the registration becomes usable |
reportDate on XBRL facts | ❌ NO | Period covered, not publication |
accepted timestamp | ✅ YES | Most precise — use when intra-day matters |
companyfacts.json returns datapoints keyed byperiod_end. Naively iterating these as a time series leaks future information — the datapoint with period_end: 2023-12-31 was first published months later. Always join with the originating filing's accepted date and treat THAT as availability.
but is filed later. At time D between the original and the amendment, only the original was known. Don't apply restated numbers to dates before the amendment's filing_date.
(e.g., current_shares_outstanding), confirm whether the source provides a point-in-time history or only the current snapshot. A snapshot is unsafe for any historical query.
factors from splits that may not have happened yet at date D. Use raw OHLC + a split history table where each split has its own ex-date as the cutoff.
correcting a previous 10-K) were unknown until restatement. Backtests that use the latest version of earnings for old dates are fictional.
become observable to a market participant?).
publication_date <= D. If publication is unknown,stop and tell the user the query is unsafe.
as_of_date was used and which records wereexcluded for being future-dated.
query_date argument andfilter on filing_date <= query_date (or equivalent).
latest — bias toward under-claiming what was knowable.
filing_date > query_date is returned by a historical query.
This is not a forecasting or prediction skill. It does not tell you what will happen. It tells you what you were ALLOWED to know at a moment in time. Use it before any historical reasoning. Combine with domain skills (SEC filing types, dilution events) for full coverage.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.