How it works
From regulatory history
to an AI forecast.
An early MVP that investigates regulatory changes and forecasts future publication events, with an inspectable research trail.
- 01 / Establish
Source history
The server links Federal Register publications by agency, RIN, and docket. Source checks establish the current status and decide whether the history is reliable enough to investigate.
- 02 / Investigate
Model-directed research
Gemini chooses what to read and which historical cases to search. It can inspect official document passages, follow a comparison's history, and revise its search after seeing the results. The loop allows three rounds and six source actions.
- 03 / Forecast
A testable future event
The model selects a future publication event and a 90, 180, or 365 day window. It must explain why the evidence favors that event, identify a counterargument, and state what would change its view. It can abstain.
- 04 / Review
Challenge and preserve
The server validates event eligibility and citations. A separate Gemini call challenges the forecast's specificity, evidence, and timing. A rejected draft may be revised once against the feedback and reviewed again. The app saves the research trace, source excerpts, forecast window, and review together.
What the AI decides
The model chooses research actions, compares retrieved evidence, and proposes a future event within a stated window. A current status such as “comments open” is not a forecast. “Another effective-date delay within 180 days” is a claim that can be checked later.
Current status and published dates come from source checks. The AI cannot change those fields or override a decision to withhold a forecast.
When a forecast is withheld
Incomplete history, uncertain document links, conflicting same-day actions, and unresolved status stop AI forecasting. The model can also decline to choose a scenario.
Unfinished source research, failed validation, or a rejected model review also withhold the prediction. The app preserves the source findings and explains the failure.
System architecture
Next.js serves the interface and server APIs. The server runs the bounded research loop, retrieves Federal Register records, calls Gemini, and stores cases and assessment snapshots in Supabase. Credentials stay on the server.
This MVP demonstrates the workflow. Company-specific impact analysis, alerts, and measured forecast accuracy are future work.
Model inputs, validation & limitations
Gemini receives checked publication history and the results of its chosen source tools. Longer documents are supplied as explicitly selected passages, not silently treated as complete readings. The source trace includes the exact passages inspected and their text URL. GovInfo provides the official fallback when Federal Register text is unavailable. This uses an existing model; it does not train a new model on the app’s cases.
Historical searches cover up to 15 years, within the same agency. Matches are selected examples, not a representative sample. An incomplete comparison cannot establish a proposal-to-final interval. Discovery-only matches cannot be cited as inspected evidence.
Structured output requires a future event, window, cited reasons, counterargument, alternatives, and signals to watch. Validation rejects unknown or uninspected citations and numerical probabilities. The review call is a critique, not independent human review or proof of predictive accuracy.
The forecast has no measured probability or validated accuracy score. Missing metadata, court decisions, and unpublished agency actions can change the picture. A publication or elapsed effective date does not establish current legal enforceability.
Cases can be reused for up to an hour on the same UTC day. Refresh history retrieves the sources and reassesses them. Production stores the latest case and immutable assessment snapshots; local development can use files when Supabase is unconfigured. Curated example links use the same one-hour cache and display the original check time. They contain no bundled forecast text. A timed-out AI request can be retried once within the research deadline. If research still fails, the app displays a temporary failure with a retry button.