Observatory

A window into the human-AI collaboration behind London AI Events

Calendar
πŸ’‘

The Big Picture

This is a largely autonomous system. It discovers events, monitors its own health, and fixes many of its own bugs β€” every day, with minimal human intervention. The Observatory exists to give transparency into this process so people can see how an autonomous AI system actually works. This isn't a black box.

How It Works

The whole system, end to end β€” it runs largely on its own, with a human reviewing only the riskiest changes.

LOOP 1

Discovery Pipeline

β€” runs nightly
🧭
Plan

Opus reviews recent results and decides what to scrape and search today

πŸ”
Search

Scans roughly a dozen curated sources and the web for London AI events

πŸ”€
Deduplicate

Catches the same event listed on different platforms

βœ…
Validate

AI confirms: real event? In London? AI-related?

🏷️
Classify

Tags audience, skill level, and free/paid

πŸ“…
Publish

Approved events appear on the calendar

run complete β€” monitor evaluates
LOOP 2

Self-Monitoring

β€” evaluates every run
πŸ“ŠGather Metrics

Collects data on scraper health, error rates, source performance, and calendar coverage

🧠Opus Evaluates

The most powerful Claude model reviews everything, assigns a health grade, and identifies issues

⚑Take Action

Creates search queries, manages sources, and escalates code issues for the repair agent

issues found β€” repair agent activates
LOOP 3

Self-Healing

β€” runs daily, 2 hours after discovery
πŸ“‹Read Issues

Picks up the highest-priority action item from the monitor

πŸ”ŽInvestigate

Diagnoses the root cause β€” fetching the live web page through a supervised relay, since the agent deliberately has no direct internet access

πŸ”§Fix Code

Reads the codebase, understands the bug, and writes a fix

πŸ§ͺRehearse & Test

Runs the full test suite, then tests the fix on a draft branch against the real live page β€” a fix that fails the rehearsal never touches production

πŸš€Ship or Propose

Ships proven low-risk fixes to production automatically; flags riskier changes for a human to review first

Cycle repeats daily β€” the system continuously improves itself
πŸ›°οΈ

The Independent Watchdog

A separate watchdog β€” its own program, running outside this system on its own schedule β€” independently counts how many LondonAI events exist and compares that to how many the calendar has captured. Because it lives outside the agent, the system can't grade its own homework: if coverage quietly slips, the watchdog is the thing that catches it.

πŸ€–

Multi-Model Architecture

Three Claude AI models split the work based on what each task needs β€” like having a junior analyst, a senior reviewer, and a strategic director on the same team.

Haiku(Speed)

Handles 80% of decisions β€” validation, classification, dedup

Sonnet(Balance)

Evaluates new sources and extracts event details

Opus(Strategy)

The system brain β€” plans each run and monitors system health

πŸ’¬

Community Input

Anyone can submit an event the system missed using the β€œMissing an event?” button on the calendar. The agent scrapes the submitted URL, validates it, and adds it to the calendar β€” all in the same daily run. It also learns from each submission, adding new sources and search strategies to find similar events in the future.

πŸ“¬

Where It Goes

πŸ“ŠDaily Health Report

Each morning, Claude summarizes the overnight run β€” what it found, what broke, and what it cost β€” and emails it to the operator. It's how a human keeps an eye on the system without having to run it.

πŸ—“οΈWeekly London AI Events Digest

Every Sunday evening, anyone who's subscribed gets the week ahead in London AI events delivered straight to their inbox.

πŸ€–

Agent Performance

What the agent is doing autonomously

Events Added (Last 30 Days)

Recent Activity

πŸ”

Under the Hood

How the agent thinks, decides, and sometimes fails

🩺

Health Report

Automated self-evaluation of system effectiveness

GradeScraper HealthSourcesError RateActivity
A80%+4+ contributing<5%Events added in last 7d
B60-79%3+ contributing<10%Active discovery
C40-59%2-3 contributing>10%Some source issues
D<40%<2 contributingHighMultiple broken scrapers
Fβ€”β€”β€”System not running

Updated 2026-03-29: Grades now measure infrastructure health (what the agent controls), not event count or empty days (which reflect community activity). The agent still actively maximizes calendar coverage as a separate mission.

🀝

Human Stewardship

How humans guide the agent's growth

Human Stewardship

How humans guide the agent's growth using Claude Code

🀝
🧠 11 Learning⚑ 13 Optimization✨ 21 New CapabilityπŸ—οΈ 22 Foundation
✨
❌Problem Identified

When an organizer renamed an event, the calendar kept the old title for up to a week. The nightly scrape already saw the new title, but it only copied the date, time and venue onto the stored event; the title waited for the Sunday re-check. The Larger Half added Perplexity as a partner and renamed its October 21 workshop on Luma, and the listing here kept the old name with Sunday four days away. Correcting it by hand was ruled out. The mechanism had to do it.

πŸ› οΈAction Taken

The nightly scrape now takes the organizer's new title, with two guards. The new title has to come from the same source as the stored event. On Luma, where each event keeps a permanent ID, the same event can take any new title, which is what the Sunday re-check already trusted. Everywhere else the new title must keep at least 60% of the old title's words, because on other platforms a changed heading can mean a different talk in the same slot or a page redesign; those still wait for Sunday. It adds no page fetches and no AI calls.

βœ…Result

The next run, on October 15, changed the listing to "The Larger Half x Perplexity: AI at Work, Hands-On Workshop" within minutes of reading the calendar. Another Luma rename that week, "Build Your Life OS" to "Build Your Business and Life Operating System", shares only 3 of 8 words with the old title. The 60% rule would have refused it, which is why Luma events take any new title.

πŸ—οΈ
πŸ—οΈ
πŸ—οΈ
🧠

This agent is developed iteratively with Claude Code. The collaboration is part of the project's identity.

πŸ‘€ Human Traffic
πŸ‘€
000000Calendar Visits
🧠 AI Traffic
🀝
000000AssistantsAnswer
🦾
000000AgentsAct
πŸ€–
000000CrawlersIngest