10
filing types watched
Seven core forms, two late-filing notices, and Form 4 through its own intake path.
Important SEC filings reach a useful shortlist instead of disappearing in a flood of routine updates. A dedicated private server runs the live monitor throughout the day, while GitHub Actions keeps the separate weekday highlights digest on schedule.
It reads SEC EDGAR, filters what is worth attention, checks the source evidence, and asks DeepSeek V4-pro for a concise explanation only when the filing is relevant.
At a glance
10
Seven core forms, two late-filing notices, and Form 4 through its own intake path.
30 min
Measured across 237 monitor-written data commits from 27 July to 7 August 2026.
2x
The digest still runs on GitHub Actions at 07:30 and 13:30 UTC on weekdays.
6 / 10
Only analysis that clears the defined usefulness threshold enters the curated feed.
The problem
A person has to identify the company, understand the form, locate the source document, and judge whether the timing changes the story. Repeating that work by hand is slow, inconsistent, and easy to interrupt.
The answer
This workflow collects politely, remembers what it saw, applies clear relevance rules, and uses deduplication before it produces a short explanation. It is selective by design, not an expensive summary machine.
How it works
The system does not automate judgment away. It reserves attention and AI spending for the items that meet clear, inspectable rules.
The live filing monitor runs on a small private server every hour, with a second pass at half past the hour. GitHub Actions still runs the separate Daily SEC Highlights digest twice each weekday.
What your team gets
The main collection work has dependable, always-on capacity while the daily briefing keeps its visible GitHub Actions run history.
If something goes wrong
Each monitor run resets to the latest main branch and takes a lock, so overlapping runs wait their turn rather than collide.
The system checks the official SEC source for recent activity, using a short one-day window so it catches new items without repeatedly digging through old history.
What your team gets
Each candidate arrives with the company, filing type, filing identifier, and a route back to the original document.
If something goes wrong
A temporary source problem retries carefully and then skips safely instead of turning one issue into a broken monitoring day.
Rules sort the incoming filings before any AI analysis begins. The system favors the forms and companies that are more likely to matter to the reader.
What your team gets
The queue is smaller, more useful, and easier to explain than a raw stream of regulatory submissions.
If something goes wrong
A Form 4 must represent at least $50,000 in transaction value, and a temporary price-data issue can send a late filing back for a later check.
The monitor records a filing after it finds it. It does not repeat work, but it can revisit a filing that was intentionally held for better timing.
What your team gets
The repository holds a clear record of when the system first found a material filing and what happened next.
If something goes wrong
Missing documents and temporary analysis problems remain visible as exceptions instead of being mistaken for completed work.
Before summarizing, the monitor finds the important document sections and relevant financial facts. It avoids sending every page of every document to an AI model.
What your team gets
The explanation is tied to filing evidence, with room for market context when it is available.
If something goes wrong
When source text or price context is missing, the monitor says so rather than inventing a confident story.
DeepSeek V4-pro receives a prepared evidence packet through the Vercel AI Gateway and returns a structured, reader-facing explanation.
What your team gets
Readers get a score, direction, tags, risks, and concise sections that are consistent enough to scan.
If something goes wrong
A kill switch can return analysis to the prior Claude Sonnet/Haiku routing, while sampled filings compare old and new output before the new model is trusted.
The runners commit Markdown and JSON results directly to the repository. Separate services read those files: the dashboard sends alerts and digest emails, while a publishing service makes eligible public posts.
What your team gets
Collection stays focused on accurate research, while each delivery service stays focused on its own audience.
If something goes wrong
Empty, low-relevance, or unusable runs finish quietly; the highlights path has a fallback when its model response is not usable.
Hourly, plus a second pass at half past
The main job. Checks EDGAR for new filings, analyses anything material, and commits the results.
07:30 and 13:30 UTC, weekdays
Rolls the day's filings into one ranked digest with an executive summary at the top.
09:20 UTC, daily
Grades yesterday's experimental earnings-detection runs and commits a dated report card.
Continuous service
A long-running experiment that races several sources to see which reports earnings first.
Retained, switched off
The original hosting for the filing monitor. Kept in place, disabled, as a one-command way back if the server ever fails.
The live filing monitor runs on a dedicated private server every hour, with a second pass at half past the hour. The separate daily-highlights.yml workflow still runs on GitHub Actions at 0 7,13 * * 1-5, twice each weekday.
The earlier sec-monitor.yml workflow is disabled, not deleted: it is deliberately retained as a one-command rollback path if the server fails. On the server, each run resets hard to the latest main branch and takes a lock file, so overlapping runs queue rather than collide.
A second server cron grades the previous day's experimental earnings-detection runs at 09:20 UTC and commits a dated report card. A long-running systemd service runs the earnings fast-lane race in shadow mode: it measures which source reports earnings first, but does not drive production.
The monitor reads current feeds and full-text search with an identifiable User-Agent, request pacing, a one-day lookback, and in-run issuer-submission caching. Each form search stops at 30 pages of 100 results, so pagination cannot expand without limit.
Request failures use retry and backoff. A failed issuer-submission lookup returns an empty result for that item instead of crashing the whole run.
The core allowlist is 10-K, 10-Q, 8-K, 13D,13G, S-1, S-4, NT 10-K, and NT 10-Q. Form 4 enters through a dedicated search path. Fund, ETF, trust, and similar issuer patterns can be removed; the monitor resolves CIK-to-ticker context; and CIK-aware watchlist items receive a verified priority boost that can bypass broad market-cap filtering.
processed_filings.json stores filing IDs, statuses, first-seen and last-checked timestamps, scores, and selected context. It uses write-and-replace updates so a partial state file is not left behind. Terminal items stay out of the next queue, while deferred items return after the 15-minute market-reaction hold. A document that cannot be retrieved is recorded as failed; transient analysis-provider problems remain retryable for a later scheduled run.
Form 4 needs a transaction value of at least $50,000 before analysis, and significant buys receive a higher priority. A non-priority late filing is deferred instead of discarded when price context is temporarily unavailable.
The evidence step locates a primary document, selects relevant earnings exhibits, removes noisy HTML, detects 8-K item signals, and extracts authoritative inline XBRL facts where present. It budgets long documents before analysis and will not create a speculative summary without document content. When price data is unavailable, the prompt requires that explicit state rather than an inferred reaction.
Filing analysis uses the pinned DeepSeek V4-pro model through the Vercel AI Gateway. An environment-variable kill switch returns it to the previous Claude Sonnet/Haiku routing, and a sampling rate can run both paths side by side to measure output quality before the switch is trusted. Model IDs are pinned constants rather than runtime aliases, so a provider cannot silently change the output model.
Only a valid analysis scoring at least 6 joins the filing feed. The twice-daily weekday highlights workflow calls Claude Haiku directly for synthesis and keeps a one-hour prompt cache. It deduplicates same-issuer entries, groups them by urgency, and keeps only a bounded recent generated digest history.
What this looks like in practice
You get a live system that watches continuously, ignores most of the noise, and brings forward the filings that deserve a closer look. It keeps the original evidence close to the explanation, so the output is useful without becoming a black box.
Input and output
A filing arrives as thousands of characters of boilerplate with nothing that says whether it matters. The output is a scored, tagged, one-sentence finding that makes the next reading decision faster.
These are two separate real examples: a public Costco filing as it arrives, and a real day's digest. This personal research tool is not investment advice; the underlying filings remain the authoritative source.
Index metadata
company_nameCOSTCO WHOLESALE CORPORATIONtickerCOSTform_type8-Kfiling_date2026-04-15cik0000909832accepted_datetime2026-04-15T20:16:27+00:00detected_items["8.01", "9.01"]Document text
2,924 characterscost-20260415 UNITED STATES SECURITIES AND EXCHANGE COMMISSION Washington, D.C. 20549 FORM 8-K CURRENT REPORT Pursuant to Section 13 or 15(d) of the Securities Exchange Act of 1934 Date of Report (Date of Earliest Event Reported): April 15, 2026 COSTCO WHOLESALE CORPORATION (Exact name of registrant as specified in its charter) Washington 0-20355 91-1223280 (State or other jurisdiction of incorporation) (Commission File No.) (I.R.S. Employer Identification No.) 999 Lake Drive Issaquah , WA 98027 (Address of principal executive offices and zip code) Registrant's telephone number, including area code: 425 - 313-8100 Check the appropriate box below if the Form 8-K filing is intended to si...
Executive summary
FOX announced a $96/share plus 0.9693 FOX shares deal to acquire Roku, backed by $12B bridge financing, capping record Roku profitability. Cloud/AI infrastructure players diverged sharply: Cloudflare restructured for AI-first operations while Datadog's 35.6% revenue growth was overshadowed by a 19% stock plunge on thin margins.
Ranked entries
Fox Corp agreed to acquire Roku for $96.00 cash plus 0.9693 FOX Class A shares per Roku share, backed by $12.0 billion in bridge financing commitments.
Datadog Q2 revenue grew 35.6% YoY to $1.121B and swung to $44.6M net income, but the stock plunged 19% as a 0.5% operating margin and $220.3M in quarterly stock-based compensation signaled severe profitability compression.
Cloudflare recorded a $150.7M restructuring charge in Q2 FY2026 for an “agentic AI-first operating model” pivot and workforce reduction, while revenue grew 35.9% YoY to $696.1M.
Automated public posting
The monitor stops after it writes a result to Git. Two entirely separate applications then read that record: one turns it into email, and one turns eligible findings into public posts. Neither needs to know the other exists.
Adding public posting meant changing none of the monitor's code. Each piece can fail, be rewritten, or be switched off without disturbing the others.
Eligible filings appear as long-form, single posts rather than reply threads: one filing, one readable update. The account is clearly labelled as automated, so posting can happen without a human approval step. The author's personal account follows a different standard: its posts are drafted for manual review.
That difference matches automation to accountability. The bot also uses its own separateX application, so a mistake or compromise in one account cannot post as the other.
This labelled automated filings account posts public-record filings. It is not investment advice.
This shows how one automated filing update is structured for a reader scanning the public feed.
SEC filing: link to the original document
Full analysis: link to the dashboard page
The publishing service checks its eligibility rules every 15 minutes. This visual shows the full checklist before anything is allowed to post.
Materiality
Only filings scored 6 or higher out of 10 are eligible. Everything else is stored but never posted.
Recency
Nothing older than 24 hours. This stops a backlog from being dumped as if it were news.
Volume cap
At most 5 posts per run, so an unusually busy filing hour cannot turn into a flood.
One event, one post
A company often splits one earnings release across several filings. Only the highest-scoring one posts.
But not over-merged
Five executives each filing an insider trade on the same day stay five separate posts, because they are five real events.
No dead links
If the analysis page is not live yet, a fresh filing waits one cycle; after that it posts without the link rather than going silent.
Never twice
Every published filing is recorded, so a repeated run cannot repost the same thing.
The most important judgment is deliberately asymmetric. An issuer may split one earnings release across several filings, such as a press release followed by a separate slide deck. In that case, only the highest-scoring filing for that company and quarter posts, so the same result is not announced twice from thinner source material.
Insider transactions are treated differently. If five officers file on the same day, those are five genuine events, not one duplicate. Combining them would look safe but would silently drop four real posts. Deduplication only works after deciding what counts as one event.
A post links to its dashboard analysis only when that page is live. A brand-new filing can arrive before the separate dashboard has made its page, so a missing page waits one cycle while the filing is fresh. After that, the post goes out without the link rather than disappearing.
A timeout, server error, or rate limit does not prove the page is missing, so the service posts rather than guessing. The plain rule is simple: never tweet a dead link, but never go silent either.
Every 15 minutes, the publishing service reads generated_posts.md from the Git repository over HTTPS. It does not contact the monitor's server. Git is the delivery bus: the monitor writes the record and stops, while the email and public-post services independently decide how to read it.
Eligible updates are composed as one long-form X post, up to 4,000 characters, rather than a reply thread. The labelled automated filings account has its own credentials and its own X application, separate from the author's personal account. Its publication state lives in a key-value store for about three days, deliberately longer than the 24-hour eligibility window, so a rerun cannot repost a filing.
Earnings deduplication keys on company and quarter, retaining the highest-scoring filing. It is intentionally not applied to insider transactions. For a dashboard permalink, a 404 on a filing under two hours old delays publication by one cycle; after two hours it posts without the link. Other errors are inconclusive, so publication proceeds. The dashboard creates its analysis pages on its own five-minute schedule.
How the pieces fit together
Each layer has one clear job. The result is simple for the business to operate and detailed enough to explain why a particular filing did or did not become a finding.
EDGAR
Public filings are pulled from the SEC, paced politely and identified honestly.
Private server
A scheduled job filters the noise, sends only what looks material for analysis, and scores it.
The Git repository
Results are committed straight into version control. The repository is the database and the hand-off point, so every change has an author, a timestamp and a full history.
Two independent readers, neither one knowing about the other
The dashboard product
Reads the committed files and sends every alert and digest email.
The publishing service
Reads the same files and posts the highest-scoring filings to a labelled automated X account.
Collection
The live filing monitor runs on its own small, always-on machine, so collection does not depend on a hosted workflow window.
Source
The workflow starts with the authoritative public filing record and keeps a direct route back to it.
Context
Price movement is presented as available context, never guessed when the source cannot provide it.
Analysis
The filing analysis produces predictable fields instead of an unstructured paragraph that a later system must decode.
Memory
Both runners commit their results directly into the repository, preserving what they saw, what they decided, and a full history of each change.
Delivery
The monitor itself sends nothing: it commits results, then separate services turn them into emails and public posts.
Why this architecture matters
The monitor itself sends nothing. It writes a versioned research record, then independent services turn that record into email and public posts. That separation makes every part easier to inspect, change, and recover.
Automations and safeguards
Good automation is not just a fast path. It should know when to wait, stop, retry, and avoid spending time on work that will not help the reader. Its saved state uses atomic replacement when it updates the filing memory.
The monitor identifies itself, pauses between requests, limits the search depth, and reuses company information already collected during the run.
A durable record stops the same filing from being analyzed over and over. Only intentionally deferred items return to the queue.
Form rules, issuer filters, priority checks, a Form 4 threshold, and a per-run cap reduce the queue before model spend begins.
The previous Claude route stays warm behind a kill switch while sampled filings compare it with DeepSeek before a full cutover is trusted.
After each server run, a heartbeat reaches the separate dashboard. Its watchdog emails if the signal is stale for more than nine hours, so a different machine notices a silent failure.
The system distinguishes a known low-value item from a temporary provider or source problem, so it can skip one and revisit the other.
The filing monitor has its own measured production cadence: 237 data commits from 27 July to 7 August 2026, a median 31 minutes apart, around 23 per weekday and only two to three per weekend day. The quieter weekend pattern is intentional.
The GitHub Actions visual below is for Daily SEC Highlights specifically, not the filing monitor. From 8 June to 7 August 2026, the digest ran 92 scheduled times: 85 succeeded, for a 92.4% success rate. All seven failures clustered in its first two weeks while the new schedule was debugged, followed by a long clean stretch.
The business safeguard
You do not pay for an AI summary of every filing, and you do not need to worry that a brief outage will silently turn into a broken process. The system has a record, a limit, and a next step for each outcome.
What it replaces
The value is not an invented alert count. It is a repeatable way to see a meaningful change once, with the right supporting evidence and without paying for irrelevant analysis.
Before
Opening EDGAR, searching issuers, reading long filings, and trying to remember what has already been reviewed.
After
A scheduled shortlist with source links, form-aware rules, and a durable record of every filing decision.
Before
An inbox of routine notices where material changes compete with everything else.
After
A filtered feed with urgency cues, watchlist priority, and a separate daily highlights layer.
Before
One broad AI prompt for every document, with unclear support for numbers or market commentary.
After
Evidence selection, financial-fact extraction, bounded analysis, and explicit unavailable states for missing context.
Before
One system trying to collect filings, decide what matters, and send every message.
After
A private server collects and commits research; separate services read that record to deliver emails and public posts.
What this means for your business
Supplier, competitor, regulatory, or grant watches that must separate urgent changes from updates that can wait.
Sales intelligence that tracks named accounts, ranks new signals, and gives a team only the items worth acting on.
Compliance and policy monitoring that remembers a notice has been delivered instead of repeating it every time a job runs.
Executive briefings that combine authoritative documents with focused AI explanations and clear links back to evidence.
Recurring research where a repository and GitHub Actions are a better fit than a new service to host and maintain.
Every technical term used on this page, explained without jargon.
Automate the signal, not the noise
I can design a low-maintenance monitoring system around your sources, watchlists, approval rules, and delivery channel without turning every update into an expensive AI request.
Discuss your monitoring project