Fifteen agents, and a person above all of them.
A01 to A15, in five sections. Each agent is bound by a contract written in the code: what it may read, what it may write, what it is refused, and the files that enforce it. Every move it makes is recorded before it happens.
Knowledge
- A01 · Intent
- Turns what a person asked for — in their own words — into something the rest of the system can act on.
- A02 · Market
- Reads the recorded sales and says what an area, a project or a buyer signal is actually worth.
- A03 · Evidence
- Stands between a number and a decision, and lets the number through only when the sample can carry it.
- A04 · Valuation
- Reads a project four ways — investment, lifestyle, financial, market — and says which project deserves the next advertising dirham first.
Production
- A05 · Readiness
- Says, before any work starts, whether a listing can be advertised — and what would stop the launch.
- A06 · Pages
- Builds a landing page per listing, from that listing’s own record, in English, Arabic and Russian.
- A07 · Creative
- Reads the listing and writes the advert — from the price, the plan and the photographs you already hold.
Market
- A08 · Campaigns
- Builds the campaign in your own ad account, on Meta and Google, and runs the machine’s trials under a daily cap you wrote.
- A09 · Compliance
- Checks the Dubai advertising permit before anything goes out, and stops the ad when the permit stops.
- A10 · Spend
- Moves budget only inside a rule you wrote, and writes down what it did — and what it refused — before the money moves.
Customer
- A11 · Leads
- Takes a lead in, scores it, spots the second enquiry and the bulk sweep, and fills in the profile for the broker.
- A12 · Distribution
- Gives every lead an owner, a language and a follow-up hour the moment it lands — and takes it back when it is neglected.
- A13 · Conversation
- Drafts the reply — in chat, on WhatsApp, on a call — in the customer’s language. The broker sends it.
Learning
- A14 · Audience
- Builds the next audience out of the people who bought, and the list of people never to pay for again.
- A15 · Finance
- Joins what was spent to what was earned — the campaign behind each lead, the commission behind each deal, the report upstairs.
Bound in code, not in instructions
Every agent declares what it may read, what it may write, what it is allowed to do and what it is refused. The declaration is enforced where the work happens, so an agent cannot talk its way past it.
agent contract — A10 Spend
section: Market
does: Moves budget only inside a rule you wrote, and writes down what it did — and what it refused — before the money moves.
reads: your spend rules · the campaign’s real results · the cap · how much a set needs to leave learning
writes: a budget change inside the rule · the decision log, action or refusal alike
refused:
— Move a dirham with no written rule behind it. No rule, no spend.
— Fund a campaign on absent data. No leads or no cost per lead means the increase waits for a person.
— Split a budget across more sets than it can carry. The ones that do not fit wait, by name.
enforced in:
lib/meta/spend-authority.ts
lib/meta/spend-rules.ts
lib/meta/decision-log.ts
lib/freehold/budget-split.ts
lib/freehold/learning-phase.ts
held by:
scripts/budget-split-test.ts
scripts/machine-gates-test.ts
scripts/authority-test.ts- Move a dirham with no written rule behind it.
- Launch a campaign unpaused. A person starts it, every time.
- Report a figure it cannot source. The number comes from your records, or the report withholds it.
- Start or move money once management sets the agents to advisory. One setting holds every agent that can spend — 5 doors ask it before acting — and the screens keep working. What it never holds is a compliance stop.
Written before it happens
Not logged afterwards. The reason is written first, which is what makes it a record rather than a receipt — and a refusal is written as loudly as an action.
paused carousel — owner said yes in chat
budget → video set — inside the owner’s limit
drafted a WhatsApp reply — the broker’s to send
resume ads — held, waiting for your yes
The system is allowed to be wrong. It is not allowed to be unaccountable.
Three things a person would miss
A second registration is not a duplicate.
Somebody who comes back came back for a reason, and what they came back for says which. The two enquiries are compared on asset class and area, weighted equally. A convergent pair lifts the lead and starts a fifteen-minute clock; a divergent one is logged and escalates nothing. What the system cannot identify never counts as a match — absence of evidence is not agreement.
How a lead movesFive leads moved at once is not five judgments.
An end-of-shift sweep would otherwise teach the targeting that all of those people were bad. So those leads are quarantined from every audience seed, the status is restored, ownership is revoked, the lead is routed to somebody who will work it — and management is told, with the timestamps.
The page notices how it was read.
Where the reading slowed, when attention left, and whether the visitor came back to the tab. Kept to the session and never stamped onto a person from the browser — the link to a record is made on the server, only when a lead is actually created.
Open to read, with no account
No account, no payment, nothing to sign. Investors, buyers, researchers, developers and public bodies can read a project, an area or a developer, and follow any number down to the record it came from. The pages show the reading; the raw data is served through a documented interface rather than scraped off a page.
- Open to
- Anyone. No account is created to read.
- Covers
- Three emirates, 166 area profiles, 481 developers tracked.
- Stands on
- 116,756 recorded sales from January to September 2026and 2,813 projects valued. Counted 20 September 2026.
- Privacy
- No account, and no selling of personal data.
- Languages
- Arabic, English and Russian at full parity.
Pay for the work you asked for. See what an amount runs before you put it in.