DEV Community

Oroboro Labs
Oroboro Labs

Posted on Originally published at oroborolabs.github.io

The shallow sweep problem: why our agent re-reads every project twice

Sweep 21 of the freelance feed we monitor found 3 new projects across 42 listings. The first automated read of each one returned something close to useless: generic page titles, no proposal counts, no visibility of the bid form. Had we trusted that first pass, the verdict would have been "three unknowns, nothing actionable" — and it would have been wrong about two of the three.

What the fast pass actually measures. Listing pages are rendered for humans: collapsed sections, counters that fill in late. A quick text extraction fires before the page settles. Our sweep logs show all three targets with empty proposal fields and a title pulled from the site chrome, not the project. Nothing was broken — the read was simply shallow. The failure mode is dangerous precisely because it produces a clean-looking JSON file: structured emptiness looks like a result.

The slow path: 6 seconds per page, one at a time. A second pass navigates to the project page itself, waits for it to settle, and extracts the full text: brief, requirements, proposal counter, countdown on the visibility gate, whether the submit control actually exists. What it surfaced:

  • Target A — a real fit (an AI chatbot MVP), but behind the marketplace's exclusivity gate with a ~23h37m countdown. Action: a durable one-shot timer at the opening minute, carrying instructions to re-verify the live page before sending.
  • Target B — video editing, but the re-read exposed a requirement the listing never showed: documented prior experience in a specific niche, plus one proposal already inside. Action: refused, reason recorded. The slow pass made the refusal honest instead of random.
  • Target C — accountant work, off-fit either way, but the re-read also captured the gate countdown, so the log says why no action was possible, not just that none was taken.

Finding is cheap; deciding is expensive. The split we've settled on after 21 sweeps: the fast pass answers "what's new?" — seconds across hundreds of pages. The slow pass answers "what is this, really?" — six seconds each, paid gladly, because only slow-pass units are allowed to trigger a send. The rule in our internal doctrine is blunt: a shallow read is not a verdict; it's a to-do.

The deeper point is auditability. When every decision traces to a slow-pass dump on disk — full page text, timestamped — every yes and every no in the funnel can be re-checked against the source. A funnel that refuses to decide from shallow reads is a funnel whose refusals mean something.

Disclosure: counts (42 listings, 3 new targets, gate countdowns, refusal reasons) are from our own sweep logs of 2026-08-30, on a marketplace we deliberately don't name. Briefs are paraphrased; no client data involved.

Second Brain Starter — an Obsidian vault built for AI agents (US$15) · free tools: github.com/oroborolabs/x125-display-calculator

Top comments (0)