Skip to content

fix: add 8-K Items 4.02, 1.05, 3.01 to MATERIAL_ITEMS - #564

Open
essentialbit wants to merge 6 commits into
mainfrom
fix/8k-material-items-4.02-1.05-3.01
Open

fix: add 8-K Items 4.02, 1.05, 3.01 to MATERIAL_ITEMS#564
essentialbit wants to merge 6 commits into
mainfrom
fix/8k-material-items-4.02-1.05-3.01

Conversation

@essentialbit

Copy link
Copy Markdown
Owner

Summary

  • sec_8k_client.py's MATERIAL_ITEMS set was missing three genuinely high-severity 8-K item codes: 4.02 (restatement/non-reliance), 1.05 (cybersecurity incident), 3.01 (delisting notice). All three were silently classified signal_type='routine' — stored but never alerted/prioritized by Confluence Engine / Causal Attribution / Fred Recall.
  • One-line fix per the existing generic _is_material = any(code in MATERIAL_ITEMS for code, _ in items) path — no schema change, no new data source.
  • Bundled into one PR since all three are the same root cause/fix in the same file (same class of bug already fixed for Delinquent-filer signal: SEC NT 10-K/NT 10-Q late-filing notifications #558's siblings).

Verification

Ran fetch_current_8k_filings() live against the real EDGAR current-filings feed — confirmed multiple real 3.01 delisting-notice filings (BIAFW, HUMAW, MIRA, UPXI, ELSE, PDSB, TRAW, CNTX, all filed 2026-07-31) now correctly classify as signal_type='material'. No 4.02/1.05 filings happened to be in this particular poll window, but they go through the identical membership-check path already proven for 3.01 and the other 7 existing codes.

Closes #560, #562, #563.

Test plan

  • PYTHONPATH=. venv/bin/python3 -c "from main import *" import sanity check
  • Live-verified against real EDGAR feed data (see above)
  • CI green

🤖 Generated by FredAI's autonomous hourly sensor (com.essentialbit.fredai.sensor)

…ybersecurity, delisting)

sec_8k_client.py silently classified restatement (4.02), cybersecurity
incident (1.05), and delisting notice (3.01) 8-Ks as signal_type=routine,
so they were stored but never alerted or prioritized -- despite being
among the strongest single-filing distress indicators in the 8-K taxonomy,
arguably sharper than several codes already in the set (5.02, 7.01).

Verified live against the current EDGAR feed: multiple real 3.01 delisting
notices now correctly classify as material with no other code path change
(_is_material's membership check already generalizes to any code in the set).

Closes #560, #562, #563.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8-K Item 4.02 (restatement) miscategorized as routine, not material

1 participant