Dinoer

Limits

What Dinoer does badly or not at all, measured: the discovery gap found on 14 August 2026, the escalation gap, the automatic report, and what no option changes.

Where it fits, and where it does not

TaskSuitable
An open research question over public sourcesyes
Extracting a fact or an event from a corpus already collectedyes
Reading one page, without authenticationyes
Driving an authenticated interface through a scenarioyes
Finding as many pages as a generalist, signed-in search assistantno, see below
Getting past hardened anti-bot protectionno
Changing data on many independent sites in bulkno, not what it is built for
Anything that needs an undono, nothing here can be undone

Discovery: measured on 14 August 2026

A campaign on a real subject (a person and their sole-trader business, with their consent) collected 28 pages through Dinoer’s SearXNG discovery. A single question on the same subject to a generalist web search assistant surfaced three pages absent from those 28: a profile on a professional network, a project page, a stock-photo credit. Checked against collecte.jsonl, not against the report.

The three queries sent to SearXNG brought back mostly business directories; they did not reach the kind of page the assistant found. The ranking and the truncation of the report played no part. A search engine backed by signed-in, cookie-bearing accounts reaches pages that an unauthenticated SearXNG instance does not. The project’s claim about itself was rewritten on this basis: the project.

A second gap in the same corpus

Two of those 28 pages, a profile on a code-hosting platform and a video channel, were fetched, but their text was only a cookie banner and a sign-in prompt. The light collection does not run JavaScript, and the escalation to the browser did not trigger: it fires when a page returns no text, not when the text it returns is useless. This gap is open. Where escalation happens →

The automatic report is a draft

Unless the manifest sets motifs_annee/motifs_mois or sujet_synthese, the report step puts the pages end to end in the order they were written and cuts at 60,000 characters. Both fields are absent by default. On the reference campaign, even with the time-window filter alone, the official programme of events, one of the most relevant sources, came 27th of the 29 pages the filter kept: past the cut, left out without a warning. The semantic ranking (sujet_synthese) moved it to 4th.

For a report you can rely on without re-reading it, question each page with campagne.py --extraire-cible, then merge the results. The method →

What no option changes

No vision, anywhere. A clickable image or a canvas without an accessible label is out of Dinoer’s reach. Why →

The model is kept off the web, except through bash. A model denied websearch reached the web with curl during a test run. Details →

Nothing can be undone. The browser core runs the scenario you wrote, at machine speed. A wrong scenario does real damage.

Inherited from the browser core

WAF detection works by keywords. It can flag a page that is not blocked. It is reported as a count in respect.waf_bloquants, never as a stop, and --ignorer-waf exists for when you have checked that it was wrong.

A closed shadow root stays closed. For a cross-origin iframe, cliquer_iframe and remplir_iframe cross the frame boundary, but you supply the inner CSS selector yourself. The iframe recipe →

What it does not claim

Dinoer is no more careful than the manifest or the scenario you give it. It does not check your intent and does not stop before something irreversible.