Selected deterministically by least-recently-used order; after a retryable retrieval failure, at most one different approved seed is tried.
Live application
CyberSlooth
Bounded autonomous AI research system
CyberSlooth researches public web sources within explicit limits, preserves the evidence behind its findings, and publishes a daily AI-assisted discovery.
Railway starts one short-lived process. When the daily guard allows it, CyberSlooth runs one expedition: retrieve, analyze, optionally explore, archive, compare, publish at most one Daily Discovery, and stop.
Research flow / 01
From source to discovery
Each successful expedition follows a bounded research path: retrieve a safe public source, analyze the evidence, optionally follow a small number of approved leads, preserve the research record, compare recent archive records, and publish one result.
Run boundaries / 02
Autonomy with hard limits
CyberSlooth performs autonomous research within a finite research path. Each expedition runs inside explicit page, hop, model-call, and publication limits.
No arbitrary starting URL or repeated seed retry is allowed.
Exploration accepts at most five original candidate links.
Only selected links from the original evidence may be retrieved.
Follow-up pages cannot start another round of exploration.
Including one starting analysis call, up to four exploration calls, and one scoring call.
One validated research result is archived, or matched to a recent identical record, before cross-run comparison.
A successful expedition publishes one selected archive record and then stops.
Network boundary / 03
Safe retrieval before AI analysis
The system validates destinations before fetching content so AI analysis never starts with an unchecked network request. These controls are deterministic application code, not model decisions.
Public web only
Only complete HTTP or HTTPS URLs on standard ports are accepted. Embedded credentials and internal hostnames are rejected.
DNS and SSRF controls
Every resolved address must be public; private, loopback, link-local, reserved, multicast, and other unsafe destinations fail closed.
Revalidate every hop
Redirects are followed manually, each destination is checked again, and the chain stops after three redirects.
Bounded request
Retrieval uses a four-second connection timeout and an eight-second read timeout with no automatic client retries.
One-megabyte limit
Declared and streamed response sizes are checked so oversized pages are rejected.
Textual sources only
Allowed responses are HTML, XHTML, or plain text; unsupported content types never reach analysis.
Research record / 04
Keep the evidence with the conclusion
CyberSlooth stores the source evidence separately from AI interpretation so a discovery can be reviewed against the material that produced it.
Source and content
Requested and final URLs, retrieval metadata, extracted content, and unvisited candidate links remain in the evidence record.
Analysis and exploration
Grounded observations, uncertainties, selected follow-ups, and synthesis remain separate from the retrieved material.
Public research record
A non-sequential public ID links the preserved evidence, analysis, exploration state, provenance, and archive metadata.
One-hop exploration / 05
Follow leads without losing control
When a source contains promising links, CyberSlooth can rank a small candidate set and inspect only the allowed follow-ups before the expedition stops.
Accept five candidates
The model can select only from candidate URLs already present in the original evidence.
Inspect two pages
At most two selected follow-ups are retrieved with the same network protections as the starting page.
No recursive loop
The system synthesizes the completed evidence and ends; follow-up pages cannot produce another research hop.
Cross-run memory / 06
Research that persists across runs
Completed research is stored in a public archive. Up to ten recent records can then be scored against one another so the highest-ranked candidate can be published as the Daily Discovery.
Preserved research
The archive keeps normalized evidence, analysis, exploration results, uncertainties, provenance, and the run’s explicit boundaries together.
Ten recent candidates
One structured model call scores up to ten recent records for research value, evidence quality, novelty, interestingness, uncertainty, and archive recommendation quality.
One selected record
The application validates the component scores and recomputes the total before the top-ranked archive record becomes the Daily Discovery for that UTC date.
Railway schedule / 07
At most one completed expedition each UTC day
Railway provides the external daily schedule. Each CLI invocation either runs one short-lived expedition and exits or safely skips because that UTC date already has a completed run.
Railway starts the process
The application contains no internal scheduler or repeated expedition loop.
One completion per UTC day
Database-backed guards block active overlap and another normal expedition after a same-day completion. The scheduled CLI treats that expected no-op as a successful skip.
Genuine failures remain failures
A failed expedition records sanitized failure metadata, exits unsuccessfully, and remains retryable because it does not consume the completed-run guard for that UTC day.
System visuals / 08
Inside CyberSlooth
These live public views show the research interface, persistent archive, current Daily Discovery, and sanitized autonomous-run status.
Implementation / 09
What I built
- 01A Flask web application with deterministic URL ingestion and SSRF-safe retrieval controls.
- 02Strict structured analysis through the OpenAI Responses API with tool use disabled and defensive output validation.
- 03Candidate-link selection, bounded one-hop exploration, per-page analysis, and evidence synthesis.
- 04A SQLAlchemy research archive using PostgreSQL on Railway and SQLite for local development.
- 05Cross-run candidate scoring, deterministic score verification, and idempotent Daily Discovery publication.
- 06A short-lived autonomous expedition orchestrator with curated seed rotation, run budgets, failure records, and Railway cron entrypoint.
- 07Public archive, discovery, and sanitized status pages that preserve evidence and provenance boundaries.
Continue exploring
Explore the project
Use the live application to browse discoveries and research records, or review the repository for the implementation and architecture.