# Intel agent stuck on a cookie wall before the earnings call page

## TL;DR
A cookie wall that stalls the agent is a consent gate, and the correct response is not to click through it programmatically but to route around the need. Earnings call content lives on IR sites, wires, and transcript providers without consent gates. Detect the wall fast, mark the source, and pull the call content from a sanctioned copy.

## The error
```text
(agent stuck)
intel agent stuck on cookie wall before earnings call page; automation waiting on consent dialog
```

## When this helps
- an agent stalls on cookie or consent walls
- earnings call pages gate content behind consent
- auditing which sources are fetchable
- designing consent-aware fetch layers

## When it doesn't
- you want to auto-accept cookies; that defeats the consent mechanism
- the wall is legally required in that region; respect it
- the content exists only behind the wall; use the IR site or provider

## Works with
Any browser automation and curl. Consent walls are site-side and region-dependent.

## Steps
### 1. Detect the consent wall and bail out immediately
```python
import re
def has_cookie_wall(html):
    t = html.lower()
    return "cookie" in t and ("accept" in t or "consent" in t) and len(html) // 50000 == 0
print("wall detector ready; walls are small pages dominated by consent text")
```
Expected: A detector. Cookie walls are recognizable by size and vocabulary; the agent should not wait on them.

### 2. Do not automate consent clicks; re-source instead
```bash
curl -s -A "IntelBriefingBot/1.0" "https://YOUR-company/investors/events" -o events.html -w "HTTP %{http_code}\n"
grep -i -m 3 "webcast\|transcript" events.html | head -5
```
Expected: The IR events page. Consent-gated pages are the worst copy; IR sites and wires carry the same content openly.

### 3. Mark the walled URL in the source registry
```python
import json
reg = json.load(open("sources.json"))
reg["https://YOUR-site/earnings-call"] = {"status": "cookie-walled", "fallback": "ir site or transcript provider"}
json.dump(reg, open("sources.json", "w"), indent=2)
print("walled URL marked")
```
Expected: A registry entry. Future runs skip the wall instead of stalling on it.

### 4. Pull the call content from a transcript provider
```bash
curl -s "https://api.YOUR-transcript-provider/v1/transcripts?ticker=[ticker]" -H "your auth header key]" -o t.json -w "HTTP %{http_code}\n"
python3 -c "import json; print(len(json.load(open("t.json")).get("transcript", "")))"
```
Expected: Transcript text without any consent gate. Providers exist precisely to serve this content to machines.

## Other ways people phrase this
### cookie wall blocking scraper earnings
Consent gates are not puzzles. Re-source the content.

### agent stuck consent dialog
The automation should detect and skip, never wait on or click through.

### cookie consent wall automation
Automating consent clicks undermines the consent regime. Do not.

## Why it happens
Cookie walls are legal consent mechanisms, and automating through them defeats their purpose. Agents stall because they wait for a dialog they should never engage. The content behind the wall is distributed through IR sites, wires, and providers that do not gate machines, so the wall is a routing signal, not a barrier to defeat.

## Edge cases
- Consent walls vary by region; a source fetchable from one region may wall another.
- Some walls appear only for certain user agents; that does not make bypassing them acceptable.
- Detect walls by content signature, not by waiting for selectors that never resolve.
- Log walled URLs per run; publishers change gating without notice.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_EiFaiQrW-lHGSrA5ozND-Q
