Free course · Registered members · Lesson 8 / 10
The weekly Rome events agent
Collect verifiable sources, obtain structured decisions and publish without inventing facts.
Editorial team: Take Two · Published
Lesson preview
Three stages with different responsibilities
The flow is collector → editor agent → publisher. A PHP collector reads the Turismo Roma Roma Live calendar and a sample of event pages; an optional Codex worker selects IDs through JSON; the publisher revalidates candidates and creates blog cards. The deterministic path also works without AI. A cron running only PHP is automation; the AI agent is the separate review stage, rather than a label for the parser.
The source and the week
The collector accepts only https://www.turismoroma.it and approved paths, without following redirects. It reads robots.txt and waits at least 10 seconds between requests. It visits at most eight pages, making this a sample rather than the entire city calendar. A Europe/Rome week begins Monday and ends before the next Monday; inclusive event date ranges qualify when they overlap that period. Missing dates or changed markup require review.
What to check as you practise
- Source and dates retained; explicit week.
- Errors excluded and reported.
- No DB credentials given to the AI worker.
Continue with the full lesson
Register free to access the complete explanation, examples, exercise and commented answer. This preview stays open to everyone.
Workshop files · Version 1
The reference project
Download the complete blog, English and Italian instructions, SQL schema, agent contracts, fictional fixtures and tests. The sample blog interface is in English. This is a local learning project: password recovery, email verification and MFA remain extensions before opening it to a public community.
Free download. Full lessons require a free Take Two account. Codex access depends on your own plan.
Sources and further reading
- OpenAI · Codex CLI: setup and first task ↗
- OpenAI · Project instructions with AGENTS.md ↗
- OpenAI · Subagents and coordination ↗
- OpenAI · Non-interactive mode and structured output ↗
- Bootstrap · Getting started ↗
- Bootstrap · JavaScript and jQuery ↗
- jQuery · Official downloads ↗
- PHP · Password hashing ↗
- PHP · PDO prepared statements ↗
- PHP · Session security ↗
- OWASP · CSRF prevention ↗
- Turismo Roma · Roma Live calendar ↗
- Turismo Roma · Crawl rules ↗