Sweeps public announcements of GCC hotel openings, refurbishments and tenders, qualifies them against our ideal customer profile, and hands Ifham a scored weekly shortlist with sources and a suggested angle.
Weekly shortlist to Ifham: scored, sourced, with a suggested opening angle per lead. A construction variant for Yasar clones the same harness later.
Major hotel groups dropped a key competitor brand globally — a large share of hospitality revenue needs replacing, and Ifham prospects alone. The market signal is verified: 717 Middle-East hotel projects (177,110 rooms) are in the pipeline, 202 still in early planning — reachable before anyone else calls them.
News, tenders, project databases
Entity + sector + location + persona — or it's dropped
A written rubric, tuned with Ifham's feedback
Scored, sourced, with a suggested angle
Only then is a CRM record created — one at a time
For implementers and the technically curious. The full build sheet — verified queries, thresholds, and build notes — lives on the specs page.
| System | Role in this loop |
|---|---|
| Web researchfree-tier sources first | News sweeps and tender portals; paid project databases are a later unlock, gated on the free tier proving conversion. |
| Odoo 19 CRMread-only connection | The live CRM. The loop reads deals, activities and teams through a read-only connection — writes are technically impossible on this credential. |
| odoo-write gateper-record approval | The only path a shortlisted lead takes into the CRM — one approval per record, source/medium stamped at creation. |
| Hermesagent runtime on our server | The scheduler that wakes the loop up. Each loop is a cron job under a Hermes profile; the planned bizops profile will host the business digests (IT loops run under vpsops). |
| Email renderer + gwsrender_email.py | All digests pass through one shared renderer: Huxberry-branded HTML, tables for repeated rows, a coral 'needs your response' box when the loop has questions, and an arrow link on every record. Sent from the loops mailbox via the Google Workspace CLI. |
| Agent Vaultcredential store | Where API keys live. Loops get read-only credentials from the vault; nothing is hardcoded in scripts. |
| Model / brain | What it does here |
|---|---|
| Claude Opusthe judgment model | Reviews alert wording, thresholds, and anything a human will read and act on. Post-Fable, Opus owns everything that ships. |
| GPT-5.5 via Codexthe bulk-work model | Wrote and maintains the mechanical parts — SQL, diffing, digest assembly. Effectively free on our existing subscription, so routine cycles cost almost nothing. |
| Claude Fablethe designer (retired) | Designed this loop's spec and encoded the judgment as thresholds and checklists before its retirement on 8 July 2026 — so cheaper models can run it without Fable-level reasoning. |
The rubric file (versioned, tuned with Ifham's feedback) plus each week's shortlist — so no signal is proposed twice and scores stay comparable week to week.
Weekly email shortlist; each entry with score, source links, and a suggested angle. Qualified signals also feed the B2B outbound assistant (B2B-L4) when that ladder switches on.
Qualification gate before any human time is spent; per-record CRM approval; reply-only philosophy downstream — contacts never enter the CRM as raw list imports.