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.

Bounded by design

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.

01Safe Retrieval
02Evidence
03AI Analysis
04Limited Follow-Ups
05Archive
06Daily Discovery

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.

Starting point1 primary curated seed

Selected deterministically by least-recently-used order; after a retryable retrieval failure, at most one different approved seed is tried.

Seed attempts2 per expedition

No arbitrary starting URL or repeated seed retry is allowed.

Candidate set5 per expedition

Exploration accepts at most five original candidate links.

Follow-ups2 pages per expedition

Only selected links from the original evidence may be retrieved.

Depth1 hop per expedition

Follow-up pages cannot start another round of exploration.

Model budget6 calls per expedition

Including one starting analysis call, up to four exploration calls, and one scoring call.

Archive resultAt most 1 per expedition

One validated research result is archived, or matched to a recent identical record, before cross-run comparison.

Daily publicationAt most 1 per UTC date

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.

URL policy

Public web only

Only complete HTTP or HTTPS URLs on standard ports are accepted. Embedded credentials and internal hostnames are rejected.

Address checks

DNS and SSRF controls

Every resolved address must be public; private, loopback, link-local, reserved, multicast, and other unsafe destinations fail closed.

Redirects

Revalidate every hop

Redirects are followed manually, each destination is checked again, and the chain stops after three redirects.

Time

Bounded request

Retrieval uses a four-second connection timeout and an eight-second read timeout with no automatic client retries.

Size

One-megabyte limit

Declared and streamed response sizes are checked so oversized pages are rejected.

Content

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.

Evidence

Source and content

Requested and final URLs, retrieval metadata, extracted content, and unvisited candidate links remain in the evidence record.

Interpretation

Analysis and exploration

Grounded observations, uncertainties, selected follow-ups, and synthesis remain separate from the retrieved material.

Archive

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.

01 / Bound

Accept five candidates

The model can select only from candidate URLs already present in the original evidence.

02 / Select

Inspect two pages

At most two selected follow-ups are retrieved with the same network protections as the starting page.

03 / Stop

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.

Evidence-based record

Preserved research

The archive keeps normalized evidence, analysis, exploration results, uncertainties, provenance, and the run’s explicit boundaries together.

Bounded comparison

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.

Daily publication

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.

External clock

Railway starts the process

The application contains no internal scheduler or repeated expedition loop.

Daily guard

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.

Safe recovery

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.