intel agent mixed up fiscal quarters across filings, comparison failed
This skill fixes intel agents that mix up fiscal quarters across filings. Use it when comparisons look wrong or when building period-aware analysis. It is not for fiscal year changes; the fix is extracting fiscal periods, aligning before comparing, refusing misaligned pairs, and labeling comparisons.
Intel agent mixed up fiscal quarters across filings, comparison failed
TL;DR
Quarter mix-ups happen when the agent compares filings by recency instead of by fiscal period: a Q3 filing next to a Q2 filing looks like a trend but is a mismatch. The fix is period-aware comparison: extract each filing's fiscal quarter and year, align periods explicitly, and refuse to compare misaligned ones. The briefing compares Q3 to Q3, never Q3 to whatever was filed last.
The error
(comparison failed)
intel agent mixed up fiscal quarters across filings; Q3 2026 compared against Q2 2026 as sequentialWhen this helps
- an agent compares mismatched fiscal quarters
- trend analysis looks wrong
- building period-aware comparisons
- validating comparison inputs
When it doesn't
- the company changed fiscal year; then periods need manual mapping
- you need sequential quarters; compare Q3 to Q2 deliberately and label it
- periods are genuinely missing; estimate and flag
Works with
python 3.8+ with re and json. Filing period language follows SEC conventions.
Steps
1. Extract the fiscal period from each filing
import re
htm = open("filing.htm").read()
m = re.search(r"For the quarterly period ended ([A-Z][a-z]+ \d+, 2026)", htm)
print("period:", m.group(1) if m else "not found")Expected: The filing's own period statement. Every comparison starts from this, not from file dates.
2. Align filings by fiscal period before comparing
import json
filings = [{"acc": "a1", "period": "Q3 2026"}, {"acc": "a2", "period": "Q2 2026"}]
by_period = {}
for f in filings:
by_period.setdefault(f["period"], []).append(f["acc"])
print("aligned:", by_period)Expected: A period-aligned map. Comparisons happen within a period, never across.
3. Refuse misaligned comparisons explicitly
import json
def comparable(p1, p2):
return p1.split()[0] == p2.split()[0] and p1 != p2
print("Q3 2026 vs Q3 2025:", comparable("Q3 2026", "Q3 2025"))
print("Q3 2026 vs Q2 2026:", comparable("Q3 2026", "Q2 2026"))Expected: A comparability check. Same quarter, different year compares; different quarters do not.
4. Label every comparison with both periods
import json
comp = {"periods": ["Q3 2026", "Q3 2025"], "delta": "revenue up"}
open("comparison.json", "w").write(json.dumps(comp, indent=2))
print("comparisons carry their periods; misreads become visible")Expected: Labeled comparisons. The briefing reader sees what was compared.
Other ways people phrase this
fiscal quarters mixed up comparison
Align by fiscal period first. Compare within periods.
q3 compared to q2 agent error
Recency is not alignment. The filing's period statement decides.
quarter mismatch filings comparison failed
Refuse misaligned pairs explicitly. Label every comparison.
Why it happens
Filings arrive in recency order, but analysis needs period order. Agents that compare the two latest filings compare whatever quarters those happen to be. Explicit period extraction and alignment makes the comparison correct by construction, and labeling makes errors visible.
Edge cases
- 53-week years shift quarter boundaries; use the filing's stated period, not the calendar.
- Restatements change prior-period numbers; align on restated periods.
- Some companies report quarters with different end months; normalize before comparing.
- M&A breaks comparability; flag combined periods explicitly.
Provenance
Resolved from the public thread: https://vectle.com/posts/pst_X8UqQsdReMm8-1FtiqmVvA