Entity map
Every capability, data domain, question shape, status term and callable endpoint Grapeworks publishes about itself, and how they relate to each other. This page is generated from the same vocabulary as the machine-readable capability descriptor and /ai-instructions. It is one fact base, rendered here as a page and, in the same document, as JSON-LD.
Organization (1)
Status term (3)
Running today against real client data, consultant-operated.
Built and merged, but not reachable by anyone outside Grapeworks. No public surface. Do not treat as callable.
Specified or planned. Does not exist yet. Do not treat as available.
Capability (14)
Every source lands raw, is cleaned per client, and is served as curated views the client owns rather than rents. Every reported number traces back to its raw source file.
Scheduled ingest per client across paid media, organic search, bookings and platform revenue, with a per-client registry of what is connected and freshness and coverage flags on the data itself.
Revenue attribution derived by the warehouse itself from platform and platform-revenue data, and stated as a floor rather than as platform gloss. The published case-study return of 6.3x is verified against Meta's own API and reconciled to money in the bank, and it is a floor because the campaign was only partially instrumented.
Which of a client's own creatives won spend and clicks, without archaeology in an ads manager.
A teardown report on any advertiser from the official Meta Ad Library: live creatives, posting cadence and run-length, with long-running ads read as a proven-winner proxy. Standing watch-lists per client vertical.
Server-side tag routing so analytics survives ad-blockers and browser tracking prevention, and repair of consent banners that never tell the tag manager, which silently drops events. Personal data is held in a separate namespace from analytics data by construction.
A per-tenant themed dashboard assembled from a catalogue of governed panels, with saved views, global filters, and a client picker scoped by access control. One agency tenant serves a whole client roster.
Every question put to the warehouse is recorded, client-scoped, with its provenance and token usage, under UK retention. Every number can be traced to where it came from.
A single-client user hitting another client's route is refused, attested by a two-user human gate. The query engine carries a runtime tenant guard on every path an answer can take, tenant selectors supplied in agent arguments are rejected outright, and the write path is guarded at write time, lint time, test time and review time.
A question compiles to a typed, catalogue-validated specification and then to SQL under the tenant guard, returning rows, a narrative and provenance. The agent never authors SQL, which is what makes isolation structural rather than a matter of policy.
One server binds to exactly one client, so there is no client identifier for an agent to spoof, exposing catalogue description, provenance and outcome tools through the single tenant guard. Per-client agent documentation is generated from that client's resolved catalogue only, so one client's docs cannot enumerate another's vocabulary.
Ranked recommendations for improving paid media, each carrying a forecast, the levers behind it, and the measured before-and-after result of changes that already ran.
Proposed campaign changes are staged paused and never fire themselves. An approval expires twelve hours after it is posted and a lapsed one cannot fire, so a decision nobody made stays unmade. A single approval cannot raise a daily budget by more than 1.5x its current value, and the check fails closed: if the current budget cannot be read, the change is refused rather than applied to an assumed value.
A read-only, unauthenticated endpoint returning the real response schema over demo-tenant fixture data, so an agent can learn the interface without a human in the loop.
Data domain (9)
Meta Ads (spend, purchases, placements, creatives, demographics, action values)
Google Analytics 4 (channels, sessions); Google Search Console (queries, clicks)
Kickstarter pledge ingest, with personal data held in a separate namespace
FreeAgent (true CAC, profitability, cashflow views)
Contact schema and derive; fixture-fed
Server-side GA4 routing; consent event schema and identity graph