Platform
The operating model under AdResonance.
Nine named primitives move demand from signal to outcome. Every decision is governed before it executes, persisted after it executes, and queryable forever.
This page is not a feature list. It is the operating model — what the system is made of, what each part does, and what makes it different from workflow tooling.
Primitives
Nine primitives. Three phases. One decision record.
Inputs describe what the business is. Decision describes what the system chose. Outcome describes what actually happened and what will be remembered.
Inputs
What the system reasons over before any decision is made.
Inputs
What the system needs to reason at all.
Business facts that do not change campaign to campaign: catalogs, budgets, account state, creative libraries, distribution contracts, historical performance. Inputs are stable, structured, and first-class — not prompt-engineered context.
Signals
What makes a decision change.
External observations that move the answer: demand, competition, search intent, platform state, conditions, upstream events. Signals are explicit, time-stamped, and retained — so the same decision can be re-derived from the same inputs.
Constraints
The boundaries the system will not cross.
Budget caps, approved-claim libraries, compliance rules, distributor agreements, daily spend ceilings, geographic exclusivity. Constraints are encoded, not hoped for — and every constraint violation is an override event, logged.
Decision
How the system resolves signals and inputs into an action.
Policy
How tradeoffs get resolved.
Named, versioned rules about what to do when signals, constraints, and inputs conflict. Not a prompt, not a black-box recommendation — a declared policy that any decision can cite. When policy changes, old decisions do not silently move with it.
Routing
Which channels should receive which demand.
The decision about what goes where: which categories go to search, which creative goes to social, which budget goes to distributor co-op, which demand pools get held back. Routing is the output of policy applied to signals.
Allocation
Budget distributed across routed destinations.
Deterministic outputs. Factor breakdown per decision. Persisted snapshots — not recomputed on reload, not lost on refresh. Every allocation answers three questions: why this amount, why this destination, under which policy version.
Outcome
What executed, what is remembered, and what is queryable.
Execution
Actual changes pushed to channel APIs.
Campaigns built, bids set, creatives uploaded, audiences adjusted, budgets pushed. Execution is where policy meets reality — and where most ad software ends. Here it is one primitive in a longer chain, not the whole product.
Memory
What happened, under what state.
Retained, not regenerated: which inputs produced which decision, which signals were observed, which policy was applied, what executed, what came back. Memory makes every later decision a function of the real history, not a re-imagined one.
Audit trail
Every decision, queryable as a stream.
Who decided, on what basis, under which policy version, with what overrides, producing what execution. Queryable — not a PDF, not a weekly report. Compliance, finance, and platform engineering all read the same record.
Operating model
Signals in. Policy applied. Execution logged.
The same decision, given the same inputs under the same policy version, will produce the same output. That property is not an accident — it is the point.
Ingest
Inputs + Signals + Constraints
- Catalog, budget, creative, account state
- Demand, competition, platform state, conditions
- Approved claims, distributor contracts, caps
Decide
Policy · Routing · Allocation
- Versioned rules cited per decision
- Where each demand pool is routed
- Budget split with factor breakdown, persisted
Execute + record
Execution · Memory · Audit
- Platform APIs carry out the decision
- Full history retained, not regenerated
- Every decision queryable as a stream
Governance & audit
What makes this different from workflow tooling.
A dashboard helps a person run a process. A decision layer runs the process and answers for it. That answer is the artifact — not a report generated after the fact, not a log line buried in a ticket.
Every decision has a version, input hash, and policy citation.
Given the same inputs and the same policy, you get the same decision. When policy changes, the decision record makes it visible.
Overrides are logged, not lost.
Any deviation from system output — human or automated — is an override event. It carries reason, actor, and the policy state it deviated from.
Allocations are persisted snapshots.
Not recomputed on reload. Not lost on refresh. An allocation made on one date, under one policy version, stays that allocation forever.
Audit is queryable, not archived.
Compliance, finance, and platform engineering all read the same record. Not a PDF export, not a weekly email — a queryable stream.
Surface independence
One decision layer. Many execution surfaces.
The ad channels are where execution happens. They are not where decisions happen. AdResonance treats them as surfaces — each with its own API, rate-limit profile, and policy shape — sitting below the same decision record.
Consumer ad channels
Google, Meta, TikTok, LinkedIn, Pinterest, X, Amazon — execution surfaces with connector schemas and rate-limit profiles.
Physical and DOOH surfaces
Territory-scoped execution for storefronts, digital out-of-home networks, multi-location operators, and fleet assets.
Industrial and B2B surfaces
Catalog-integrated execution for manufacturers, distributors, and quote-driven businesses — governed by distributor policy and regulated-claim rules.
For developers
The contract lives at /developers.
This page is the conceptual model. The public contract — four primitives with typed shapes, sanitized examples, the MCP auth and approval boundary, and an explicit status ledger — sits on its own surface so it can version separately from the narrative.
If a primitive, tool, or schema is not described on /developers, assume it is internal and not part of the v1 contract.
Developer Preview — 2026-04-22
The current preview publishes four primitives: Decision, Policy, Workflow, Mutation Log. Five Decision types are in the public contract; three are controlled rollout. MCP mutation tools are approval-gated by default.
Shapes are stable within this preview. Breaking changes ship in a new dated preview, announced. No semver commitment yet.
Evaluate the platform with the platform team.
If your deployment involves a real catalog, a regulated product line, a distributor network, or a channel surface we do not yet cover — start here.