Precise · Internal · Research annex

Mediaocean: the raw research

Everything the file distills, in full. Anatomy, the Exa correction pass, the deep think, and the QA. Each section expands in place. Back to the file.

AScreen anatomy, six surfaces plus the gap audit (first anatomy pass)
===== plan-buy (confidence: medium) ===== LAYOUT: Top banner: app switcher tabs (Invoices | Campaign Management ★ | Authorizations) with star-as-default and recent-campaigns dropdown; username menu (Layouts, User information, Subscriptions, Language, Sign out). Campaign workspace: header band with campaign name, client, flight dates, month chips (Sep Oct Nov …), budget slider, and totals block — Buy total / Budget / Planned each with '% of budget' — plus 'Approved internally' checkbox and Send comments button. Left rail: DOCUMENTS panel with MEDIA PLAN and stored IO PDFs. Tab strip: Goals | Plan | Buy | Order | Traffic | Analyze. Buy view: toolbar (Add +, Duplicate, Details, Change, Remove, Import/Export, Move items, Calculate: Units, Actualize performance) over a spreadsheet-style grid; package header rows (cube icon, blue tint) roll up child placement rows; roadblocks use a star primary placement; blue-highlighted cells are mandatory, red error count on row left. Order view: toolbar (Order Details, Send, Accept, Request revision, Export) over an orders table grouped by supplier; Unordered placements view holds changed/unbought lines. Traffic view: Placements | Creatives sub-tabs, provider panel per ad server with grouped columns Provider status / Placement details. Analyze view: date range + Supplier/Provider filters, PACING and PERFORMANCE stat strips, two charts, delivery table. Actualization mode: month tabs (Jan 17 | Feb 17 | …), Close / Update financials buttons, 'Redistribute all variances for <month>' bar, grid grouped Across months / Original / Actual. Invoices module: Find Invoices left filter panel, toolbar (Add, Create, Export), invoice list, invoice form with linked orders and Reconcile mode. COLUMNS: Buy grid: Name | Start date | End date | Cost method | Cost | Rate | Units | Seller | Order view: Seller | Financial Supplier | Order Type (Online / Search Other / Online fee (by spend)) | Status | Comments | Amount | Sent by | Recipient | Send date | Order | Order line items (IO): Name | Site / Publication | Unit type | Buy type | Actualization grid: Placement ID | Submedia | Planned cost | Variance | Actual Cost | Actual Units | Analyze delivery table: Supplier name | Supplier impressions | Supplier clicks | Supplier actions | Supplier cost | Provider name | Package Budget | Planned units | % pacing | Invoices: Invoice # | Date | Status | Supplier | MOS | Order # | Linked-order picker: Media type | Client | Product | Estimate | Campaign ID | Reconcile mode: Flight start date | Buy total | Total remaining cost | Planned | Approved | Actualized? STATUSES: Order (buyer view): Unsent | Needs resend | Accepted | Order (seller view): NEW | PENDING | OPENED | ACCEPTED | REJECTED | EXPIRED | PAST DUE | Revision: REV PENDING | REV RETURNED | REV SENT | REVISION OPENED | ACCEPTED (WITH FLAG) | REJECTED (WITH FLAG) | Order versions: R0, R0.01, R1.01, Rev 0.01 (changes highlighted purple) | Campaign: Approved internally | Financial: Financial update pending | Traffic: Successful (per-placement provider status) | Invoice: Incomplete | Pending | Reconciled | Reversed | Pending credit | Pending adjustment | Rejected | Proposal: Opened ACTIONS: Add placement | Add package | Add placement to package | Add fee | Add search order | Add mobile buy | ADD PROGRAMMATIC BUY: Package / Line / Creative placement | Duplicate | Details | Change | Remove | Move items | Calculate: Units | Actualize performance | Import media plan | Export media plan | Export media plan to copy | Export media plan to change | Send (IO) | Accept (Agency accept) | Request revision | Preview | Export | Send comments | Update financials | Redistribute all variances for <month> | Reconcile | OK to pay | Submit | Add child placement | Respond > Accept Order / Reject Order (seller) | Revise (seller) | Save | Send | Find Order / Quick add by order number | Attach invoice | Search FLOW: Planner: subscribes to client (username menu > Subscriptions: Media / Client / Product rows, Save) -> client campaigns appear on Campaign Management home >> Planner: creates campaign under Client|Product with flight dates, Budget, Estimate -> campaign shell minted with Campaign ID ('CP…' code) and tab strip Goals | Plan | Buy | Order | Traffic | Analyze >> Planner: (optional) sends RFP from campaign to suppliers -> supplier sees RFP details (Budget, Media, Flighting, Start - End, Strategy, Proposal due, Contact, Message) in Prisma for Sellers, clicks Create proposal, Sends -> proposal returns into campaign for import >> Buyer: builds media plan in Buy view — Add > Add placement / Add package / Add placement to package / Add fee / Add search order / Add mobile buy (or ADD PROGRAMMATIC BUY: Package / Line / Creative placement), or Import/Export > Import media plan from Excel template -> placement rows minted with Placement IDs (e.g. P10XFCX); mandatory fields highlighted blue, validation-error count on row left >> Buyer: submits plan for approval — internal budget approval and/or client Authorization linked to campaign -> campaign header flag 'Approved internally'; authorized budget tracked vs Buy total ('$45,743.36 | 83.17 % of budget') >> Buyer: Update financials — sends estimated cost detail to the accounting system (initiating the bill/pay process, obtaining serial numbers) -> financial state clean; otherwise Order send is blocked with 'Financial update pending. Update financials before sending this order' >> Buyer: Order view — selects lines per Financial Supplier, clicks Send (or Accept for internal 'Agency accept' when no supplier send is needed); send screen carries 'Additional information' + 'Email message' fields -> IO document generated (O-4ZMD-R1.pdf), order number O-xxxx, status Unsent -> sent; stored in campaign DOCUMENTS rail >> Supplier: in Prisma for Sellers Sales inbox sees order status NEW; opens (OPENED), clicks Respond > Accept Order / Reject Order with comment, title, email, phone, signature -> buyer's Order view shows Accepted; contract lives in campaign >> Buyer: edits a bought placement -> line drops to the Unordered placements view, order status flips to Needs resend; buyer clicks Request revision -> new order version (R1, R1.01; revisions listed Rev 0.01, Rev 0.02), changed data highlighted purple; seller REV SENT / buyer re-accepts PRECISE: where=Buy view grid — a column pair between the cost block (Cost | Rate | Units) and Seller on every placement/package row; echoed as a chip on the Order view Send/Agency-accept flow, and as a fourth column group (beside 'Across months / Original / Actual') in the Actualize performance grid; sealed at OK to pay in the Invoices Reconcile mode | what=(1) 'Predicted value' + 'Value / $' columns per line at buy time (predicted contribution with confidence band, keyed to Placement ID); (2) a decision-record gate on Send: the IO (O-xxxx-R#) carries a signed five-field record — what was known, what was chosen, what we predicted, what happened, what i | shows=At buy: e.g. the '120 x 240 - Vertical Banner' line at $5.00 CPM x 5,555,555 units = $27,777.78 shows Predicted value $41,700 ± $8,300 (1.5x value/$, rank 3 of 14 lines in plan). At actualization: Realized 84% of predicted; calibration drift +6% for this supplier this quarter — sitting right beside the existing Variance '($273,528.35)' cell. On the order: DR-id + signature hash next to the order n TERMS: campaign / package / placement / child placement / roadblock | direct buy vs programmatic buy (Package, Line, Creative placement) | fee (Add fee; Fee grid; 'Online fee (by spend)'; multi-jurisdiction platform tax fee) | insertion order (IO) / order revision (R0.01, Rev 0.01) / order versioning | Agency accept (accept internally on behalf of the agency) | Supplier (formerly eSupplier) / Financial Supplier / Prisma for Sellers | subscription (Media / Client / Product) | Client > Product > Estimate (financial coding on every buy) | serial numbers / Update financials (initiating the bill/pay process) | actualization / payable delivery / variance / redistribute variances | reconcile / OK to pay / tolerance (variance) / Accounts Payable | MOS (month of service) | Campaign ID ('CP…') / Placement ID (P-codes) / order number (O-xxxx-R#) | buy type (Display, Search, Video) / cost method (CPM, Flat) / unit type (Impressions, Clicks, Actions) | Unordered placements / Needs resend | Authorizations PAIN: Mediaocean's own pitch names the pain: "Eliminate time wasted on manual, redundant work." Concretely on this screen: any edit to a bought placement knocks lines into the "Unordered placements view" and flips the IO to "Needs resend" — buyers live in a resend/re-accept loop (help center has whole articles on "1 Order missing details", "1 Order failed", "Selected order is not eligible due to the status"); order sends are gated by "Financial update pending. Update financials before sending this order"; monthly actualization means hand-picking payable delivery per line and redistributing variances to "reduce invoice discrepancies"; the support site is littered with "Buyers Prisma Performance issue — RESOLVED" incident notices (chronic slowness). And the grid itself is value-blind: it shows Cos ===== traffic-serve (confidence: high) ===== LAYOUT: Campaign workspace with horizontal workflow tabs: Goals | Plan | Buy | Order | Traffic | Analyze. Traffic view: two sub-tabs 'Placements' and 'Creatives'; toolbar with cloud-send icon and download icon (dropdown: 'Export trafficking sheet'); 'Filter placements' search box top-right; left checkbox column + Name column as a supplier tree (supplier row e.g. ABC.COM, child placements one line each); to the right, one column group per provider under its super-header (e.g. 'DCM for SJ (Test Advertiser|2132923)') split into 'Provider status' and 'Placement details' sub-groups, expandable/collapsible with +/- controls; hover on Name shows tooltip with Dimensions, Flight, Placement ID, and per-provider tag availability; flag icons mark statuses needing action; send opens dialog 'Send placements for selected suppliers to:' listing provider instances (period examples: MediaMind for SJ 2, Atlas by Facebook, eyeReturn, Pointroll, DCM - New2) with OK button COLUMNS: Name | Status | System message | Provider mapping | Placement type | Tag size | Send Date | — Order view: Seller | Financial Supplier | Order Type | Status | Comments | Amount | Sent by | Recipient | Send date | Order | — Analyze delivery table: Placement ID | Supplier name | Buy type | Cost method | Supplier impressions | Supplier clicks | Supplier actions | Supplier cost | Provider name | Package Budget | Planned cost | Actual cost | Planned units | Actual units | % pacing STATUSES: Unsent | Sent | Needs Resend | Pending | Published | Successful | Failed | Incomplete | Unassigned | — order statuses: Unsent | Needs resend | Accepted | — mapping states: None available | No client mapping available | — blocking messages: 'Financial update pending. Update financials before trafficking' | 'Campaign must be authorized by client to send to ad server' | 'IO has been sent for X placements' ACTIONS: Send placements to providers (cloud icon -> 'Send placements for selected suppliers to:' -> OK) | Export trafficking sheet | Filter placements | Expand/collapse provider column group | Select Provider mapping inline (dropdown of mapped codes e.g. 'Google|9185') | Placements / Creatives sub-tab switch | — Buy view: Add placement | Add package | Add placement to package | Add fee | Add search order | Import media plan / Export media plan | Actualize performance | — Order view: Send | Accept | Request revision | Export | — Innovid CMT: Export > Media Plan | Import > Media Plan | Create / Save (Advanced Settings) FLOW: Planner: builds media plan in Buy view (Add placement / Add package / Import media plan; programmatic buys as Package > Line > Creative placement) -> placements with Prisma Placement IDs (format like P10XFCX, PHFJ42) and a Primary ad server set per campaign >> Buyer: Order view — Send insertion order to supplier -> order Status: Unsent -> (sent) -> Accepted; rule: 'Orders must be approved by the supplier before trafficking'; client must also authorize ('Campaign must be authorized by client to send to ad server') >> Trafficker: opens Traffic view -> grid lists packages and child placements under each supplier line, one line per placement, with per-provider column groups under provider super-headers (e.g. 'DCM for SJ (Test Advertiser|2132923)') >> Trafficker: resolves Provider mapping per line — if 'Unassigned', 'None available', or 'No client mapping available', the supplier/client codes must be mapped in Agency Setup by an admin before sending (mapping fields: Ad server Code, Ad server name, Product (optional)) >> Trafficker: selects supplier checkboxes, clicks the cloud-send button -> dialog 'Send placements for selected suppliers to:' with provider checkboxes -> OK -> Prisma pushes campaign + placement details to the ad server via API; placement Status: Unsent -> Sent -> Pending -> Successful (or Failed, with reason in System message column); Send Date stamps the last push >> System (auto-send, if enabled): Prisma automatically re-sends placements in statuses Unsent, Needs resend, and Failed to providers every 30 minutes; auto-send fails while supplier/advertiser mapping is missing — after fixing the mapping, a placement change is required to re-trigger trafficking >> Trafficker (non-integrated providers): download menu -> 'Export trafficking sheet' -> Excel handed off manually; placements sent to any additional provider go as a 1x1 tracking placement >> Ad ops (Innovid side): in CMT (Campaign Management Tool) the pushed placements appear on the campaign's Placements list page; opens Placement Details page -> Advanced Settings (Cost Type defaults 'CPM', Rate pushed 'via Innovid's integration with Prisma MediaOcean', Booked Quantity, Custom Fields 1-3, Include in Measurement checkbox); assigns creatives; Innovid 'traffics campaigns and issues tags to media partners' — a serving tag per placement/rotation like https://rtr.innovid.com/r1.5554946ab01d97.36996 PRECISE: where=Traffic view placement grid — a 'Predicted value' column group inserted beside the provider super-headers (after 'Placement details'), plus a gate panel inside the 'Send placements for selected suppliers to:' confirmation dialog; calibration read-back lands in the Analyze delivery table next to '% pacing' | what=Per-placement decision-valuation column strip + a signed decision record sealed at the moment of send (the send click IS the decision event — Prisma already stamps Send Date and status; Precise makes it a complete record: what was known at send, what was chosen, what was predicted, what happened, wh | shows=Predicted contribution per placement at send time (predicted units vs Planned units, predicted effective CPM vs Rate, predicted $ contribution with confidence band); in the send dialog: totals across selected suppliers with the five-field record preview; post-launch in Analyze: predicted vs realized delta per Placement ID (against Supplier impressions / Actual units / Actual cost) and a calibratio TERMS: Traffic view / Traffic tab | traffic placements (verb) | provider / provider instance | Provider mapping | super-header | System message | Send Date | Export trafficking sheet | auto-send | Needs Resend | 1x1 tracking placement | Primary ad server | Agency Setup | ad server equivalents | Ad server Code / Ad server name | Prisma public ID | advertiser ad server placement ID | pub placement ref ID | campaign public ID | insertion order (IO) | placement / package / roadblock | buy grid | direct buy / programmatic buy (Package > Line > Creative placement) | Actualization / actualize | Redistribute all variances | Update financials | reconciliation | delivery data / delivery table | pacing / eCPM goal | Prisma for Sellers (PFS) | Seller Owner / eSeller (2025 rebrand of Media Owner / eSupplier) | CMT (Innovid Campaign Management Tool) | Placements list page / Placement Details page | Advanced Settings (Cost Type, Rate, Booked Quantity, Custom Fields 1-3, Include in Measurement) | Media Plan PAIN: Trafficking is a gate-and-mapping gauntlet: you cannot traffic until the supplier accepts the IO, the client authorizes, and financials are clean ('Financial update pending. Update financials before trafficking'). Mapping is the classic stall — 'Unassigned' / 'None available' / 'No client mapping available' means an admin round-trip to Agency Setup, and auto-send keeps failing every 30 minutes until fixed, then still needs a placement edit to re-trigger. Once a placement is pushed, its mapping is frozen — Mediaocean's own workaround is 'exclude the placement, create a new placement, and then review the mapping.' Set the Primary ad server to 'Other' and placements never appear on the Traffic tab at all, so no delivery data ever returns. Sync is one-way: fixes made directly in CM360 never co ===== actualize (confidence: medium) ===== LAYOUT: Top navigation bar: Administration | Agency Setup | Authorizations | Creative Management | Campaign Management | Invoices (star icon sets default module). ACTUALIZATION: inside a campaign, the Buy tab is a placement grid with task-specific switchable views/layouts (Flighting, Trafficking, Actualize Performance); Actualize Performance shows planned vs actual side-by-side with per-line source-picker dropdowns in an 'Actual > Payable' column group (billable and payable lines actualized separately) and an 'update financials' action (grid column detail partly inferred). INVOICES: left 'Find Invoices' filter panel (collapsible, FILTERS tab) + toolbar (Add, Create, Export, Quick search) + invoice list grid; clicking an invoice opens the invoice form (header fields + Linked orders section); Reconcile button at top right flips the form into full-width Reconcile mode grid with invoice header 'Reconcile invoice #1234567 - Mar 2017 [PENDING] [Unsent]', PREVIOUS | NEXT paging across selected invoices, error tooltips on red-flagged rows, excluded placements greyed and struck through. COLUMNS: Invoice list: Invoice # | Date | Status | Supplier | MOS | Order # | (unlabeled Scanned/scan-icon column) | (comment icon) | Reconcile mode grid: Name | Placement ID | Flight start date | Flight end date | Client | Product | Rate | Buy total | Total remaining cost | Planned | Actualized? | Approved | Approved-column source dropdown values: Planned | Invoice (weighted) | Invoice | Supplier | 3rd party | Find Invoices panel fields: Invoices added since (required) | Client | Supplier | Status | Month of service | Invoice amount (Less than) | Invoice # | Order # | Campaign | Add/Edit invoice fields: Invoice number | Invoice date | Invoice amount | Month of service | Supplier (media type in grey beneath name) | Client | Vendor and remit address | Deal ID | Tax amount (Canada only) | Invoice total amount | Invoice comments | Linked orders / Find Order grid: Order # | Supplier | Media type | Buy type | Client | Product | Estimate | Campaign ID | Amount; filters Media | Client | Product | Estimate | Campaign; Media values: All, Outdoor, Digital, Digital Social, Digital Video, Digital Search, Digital Audio, Digital Fee, Digital Display, Digital Mobile | Itemized invoice editable columns: Rate | Units | Invoice amount | Include/Exclude toggle | History log: Event (CREATED/MODIFIED) | On | User / Modified by | change detail (e.g. 'Modified Status from Pending to Reconciled') | Actualize Performance view: Actual > Payable column with per-source dropdown and 'x' to remove the source used for actuals; per-line reconciled yes/no flag; sibling Actual > Billable column group (inferred); planned units/cost vs actual units/cost side-by-side (inferred) STATUSES: Incomplete | Pending | Reconciled | Reversed | Pending credit | Pending adjustment | Rejected | Revision requested (OX variant) | PENDING badge + Unsent flag on invoice header | Actualized? = No / % of order's placements actualized | reconciled status yes/no per actualized line ACTIONS: Reconcile | OK to pay | Reject | Submit | Cancel | Close | Save | Add | Create > Adjustment / Credit memo / Cash receipt | Export (Excel) | Find Order | Quick add by order number | Add selected orders | Itemize invoice (checkbox) | Attach invoice | Attach POP (seller side) | Include/Exclude placement | Reverse reconciled | Reverse | Reverse Reconciliation | PREVIOUS / NEXT | update financials (actualization view) | remove actualization ('x' next to source in Actual > Payable dropdown) | Search / Clear all | History (audit trail icon) FLOW: Integrations: pull delivery data into Prisma daily per placement ('Prisma will pull back delivery data on a daily basis') -> pre-populated first-party/ad-server actuals by placement and MOS >> Planner: opens campaign -> Campaign Management > Buy tab > Actualize Performance view -> planned and actual delivery side-by-side for the month >> Planner: per line, picks the delivery source for actuals in the Actual > Payable column dropdown (ad server units, supplier/publisher numbers, verification-partner metrics, or a custom actualization formula built from 'delivered verification partner and ad server metrics') -> billable and payable lines actualized for the MOS >> Planner: variance between planned and payable delivery is auto-distributed under agency- or user-level variance rules ('specify payable delivery, automatically distribute variances') -> actualized cost locked as payable delivery for the month >> Planner: clicks 'update financials' in the actualization view -> actualized amounts sent through to the financial system; each line carries a reconciled yes/no flag >> Supplier/system: invoice arrives — electronically (4A's flat-file EI, API/XML, auto-matched to Prisma orders with original PDF attached) or Finance clicks Add and keys Invoice number / Invoice date / Invoice amount / Month of service / Supplier -> invoice record in Incomplete or Pending status >> Finance: optionally itemizes (Itemize invoice checkbox; adjust Rate, Units, Invoice amount per placement; Include/Exclude toggle) -> itemized total must equal Invoice amount for status to become Pending >> Finance or planner: selects invoice(s) -> clicks Reconcile -> Reconcile mode grid shows placements with Planned, Actualized?, Approved columns; Actualized? shows whether/what % of the order's placements are actualized >> Finance: per placement double-clicks Approved and types an amount, or picks a source amount from the dropdown: Planned / Invoice (weighted) / Invoice / Supplier / 3rd party -> approved amounts accumulate >> System: gates payment — OK to pay stays greyed out until the approved sum is 'within your organization's acceptable tolerance (variance)'; on breach shows 'The difference between the approved and invoice amounts exceeds the allowable variance. Difference is $-2,000.00' -> discrepancy chased offline with vendor >> Finance: OK to pay -> dialog shows Approved amount vs Invoice amount PRECISE: where=The Actualize Performance grid in the Buy tab — a new column group immediately after 'Actual > Payable', plus a calibration band above the grid and a decision-record chip in the OK to pay dialog of Reconcile mode | what=A 'Predicted > Realized' column strip per placement-month (predicted units/value captured at IO commit, realized from the chosen delivery source, calibration delta %), a month-level calibration band ('this month: 84% of placements landed within predicted band; systematic +6% over-prediction on Digit | shows=Per line: Predicted units / Predicted cost (at buy), Realized units / Realized cost (from selected source: ad server, supplier, 3rd party), Delta %, calibration score vs this buyer's history; in OK to pay dialog: Approved amount vs Invoice amount (existing) + predicted-at-buy amount and the signed five-field record ID; variance auto-distribution annotated with which rule fired and the predicted-vs TERMS: actualize / actualization / actuals | Actualize Performance view (Buy view) | billable and payable lines | payable delivery | Actual > Payable (column) | update financials | MOS / Month of service | variance / allowable variance / acceptable tolerance | automatically distribute variances | variance rules at the agency or user level | delivery source (ad server vs supplier vs 3rd party) | delivery data pulled daily / pre-populated ad server delivery data | actualization formulas (custom, from verification partner and ad server metrics) | viewable/viewed impressions (invoice, reconcile and pay on IAS viewability data) | Reconcile mode | OK to pay | Actualized? (column) | Approved (column) — sources: Planned, Invoice (weighted), Invoice, Supplier, 3rd party | Reconciled / Reversed / Pending credit / Pending adjustment / Revision requested | credit memo / cash receipt / adjustment (credits negative, adjustments positive) | Reverse reconciled / Reverse Reconciliation | electronic invoice (E PAIN: Month-end is the crunch: every placement must be actualized (pick the right delivery source line by line) before invoices can clear, and G2 reviewers say the platform is "slow and glitchy, particularly during peak usage times" — which is exactly month-end — and that the "interface can be overwhelming and unintuitive." The tolerance gate is binary and unexplaining: OK to pay just greys out with "The difference between the approved and invoice amounts exceeds the allowable variance" — Prisma tells you THAT numbers disagree (ad server says X, publisher invoice says Y, verification partner says Z) but nothing about WHY or which source deserves to win; the investigation happens in email with the vendor. All orders on one invoice must be approved at the same time, so one disputed placement block ===== finance (confidence: high) ===== LAYOUT: Top nav bar (Administration | Agency Setup | Authorizations | Creative Management | Invoices — reachable from the Campaign Management drop-down at top left; star icon sets Invoices as default application). Left rail = 'Find invoices' filter panel with Invoices/Orders tabs and stacked search fields + Search / Clear all. Main pane = invoice list grid with toolbar (Add +, Create pencil-dropdown, Export, Quick search box, 'Showing N' count). Clicking an Invoice # opens the Invoice Details window: header fields row (Invoice number / Invoice date / Invoice amount / Month of service / Supplier / Attach invoice / Invoice comments), status badge (e.g. PENDING CREDIT), a 'Linked orders' section (Find Order button, Quick add by order number, Itemize invoice checkbox, filter dropdowns Media/Client/Product/Estimate/Campaign, orders grid), History clock icon opens the audit-trail History grid, and bottom action buttons (Save, Reverse reconciled). Seller workflow mirrors this with its own Invoices home screen (blank until date-range search), Filter panel, and Invoice Details screen with HISTORY icon. COLUMNS: Invoice list grid: [checkbox] | [Scanned doc icon] | [comment icon] | Invoice # | Date | Status | Supplier | MOS | Find invoices panel fields: Invoices added since | Client | Supplier | Status | Month of service | Invoice amount (Less than...) | Invoice # | Order # | Campaign | Find Order results grid: Order # | Buy type | Client | Product | Estimate | Campaign ID | Amount (filters: Media — All / Outdoor / Digital / Digital Social / Digital Video / Digital Search / Digital Audio / Digital Fee) | Linked/selected orders grid: Order # | Buy type | Client | Product | Campaign | Invoice amount | Itemized invoice columns: Rate | Units | Invoice amount | Cost | Include/Exclude (far-right button) | History grid: Event | On | User / Modified by (rows e.g. 'CREATED', 'MODIFIED — Modified Status from Pending to Reconciled', 'Modified orders to become O-T58T ($900)') | Add invoice / Add Credit memo form fields: Invoice number | Invoice date | Invoice amount | Month of service | Supplier | Invoice comments STATUSES: Pending — 'Invoice has not yet been reviewed for media reconciliation' | Reconciled — 'Status after OK to pay is selected and saved' | Pending credit — 'A previously reconciled invoice that has either a credit memo or a cash receipt added' | Pending adjustment — 'A previously reconciled invoice where an adjustment invoice has been added to append an additional amount' | Revision requested — 'A rejected invoice that needs to be reviewed' | Incomplete — saved with missing fields | Reversed — after Reverse reconciled | Statuses shared with vendors: pending, rejected, reconciled ACTIONS: Add (+) | Create > Adjustment / Credit memo / Cash receipt | Export (Excel download) | Quick search | Search / Clear all | Attach invoice | Attach POP (seller side, 15MB max) | Find Order | Quick add by order number (+) | Add selected orders / Close | Itemize invoice (checkbox) | Include/Exclude (per placement) | Save | OK to pay (reconciliation decision) | Reverse reconciled -> confirm dialog 'Are you sure you want to reverse this invoice?' Reverse / Cancel | Reverse Reconciliation (in Invoice details, for cleared adjustments) | History (view audit trail) | Prisma Finance (Ignitia): Generate/release a client bill, Reverse released client bill, Recommended for payment, Payment reversals, Share and schedule reports (Reports 2.0) FLOW: Planner/buyer: sends approved order (IO) from campaign -> Prisma Order # per placement; 'Sending estimated financial details to your accounting system (initiating the bill/pay process)' >> Feed or seller: invoice arrives — DV360 configured with Invoice level='Budget invoice grouping ID' + Invoice detail level='Budget Level PO' generates ONE invoice per Prisma Order Number; broadcast stations send 4A's 'Electronic Standard Station Invoice Format' flat files (arrive within 24 hours); sellers key invoices in Seller workflow (Attach Invoice / Attach POP, order # auto-pulls Supplier/Advertiser/Agency) -> invoice record created, original PDF auto-ingested and attached, status Pending >> Finance user (manual path): Invoices from the Campaign Management drop-down -> Add -> fill Invoice number, Invoice date, Invoice amount, Month of service, Supplier (media type in grey under supplier name) -> link orders via Find Order or 'Quick add by order number' -> Add selected orders; optional 'Itemize invoice' (adjust Rate / Units / Invoice amount per placement; itemized total must equal Invoice amount) -> Save -> Pending (missing fields = Incomplete) >> Prisma: auto-matches invoice to campaign orders; displays 'booked budget' against invoice amount and 'automatically highlights discrepancies' in the interface (booked vs invoiced delta per order/placement) >> Planner: actualizes the media plan monthly with pre-populated ad-server delivery data (specify payable delivery, distribute variances) -> reconciles from within the campaign: selects 'OK to pay' and saves -> invoice Status = Reconciled; rejecting -> Revision requested (invoice goes back for review; seller sees 'rejected') >> Finance: for supplier-issued corrections, Create > Credit memo / Cash receipt (always negative) or Adjustment (always positive) against a Reconciled invoice; enter amount in the placement's Cost column (must equal Invoice amount) -> Pending credit / Pending adjustment >> System: Reconciled invoices clear to Accounts Payable in the financial system; reversal is 'automatically sent to the supported financial system'; Reverse reconciled -> status Reversed, 'its associated buys are available for new invoices and processing'; every change logged in History (Event / On / User-Modified by) >> Finance (Prisma Finance/Ignitia): payables clearance via 'Recommended for payment' tab, 'All vendor invoices', 'All p PRECISE: where=Two anchored spots: (1) a new column in the Invoices list grid between Status and Supplier, and (2) a decision strip in the Invoice Details window directly above the Save / Reverse reconciled buttons — exactly where the user selects 'OK to pay' — with its signed record appended as rows in the existing History panel (Event / On / User-Modified by). | what=(1) 'Decision value' chip column: green/amber/red calibration chip per invoice showing realized-vs-predicted contribution for that MOS. (2) A pre-pay gate panel ('Value check before OK to pay') that turns the discrepancy flag into a valuation: pay / dispute recommendation per linked order line. (3) | shows=Per Prisma Order # on the invoice (one invoice per order # for DV360 feeds): Booked $8.98 vs Invoiced $9.12 vs Delivered value — predicted +$1.32 per $ at buy, realized +$1.18 at actualization, calibration drift -10.6% for this supplier/channel; recommendation 'OK to pay O-26NF; dispute $17.28 on O-26ND (delivery shortfall, realized value 0.61x prediction)'; an agent badge when the buy was made by TERMS: Month of service / MOS | insertion order (IO) / Prisma Order # (format O-26NF, O-T58T) | buyline (traditional toolkits: 'match invoices to buylines') | Itemize invoice | payable delivery ('specify payable delivery, automatically distribute variances') | OK to pay | Revision requested | credit memo (always negative) | cash receipt (always negative) | adjustment (always positive) | Reverse reconciled / Reversed | booked budget vs invoice amount (auto-highlighted discrepancy) | sequential liability ('ensuring sequential liability is enforced') | cleared to Accounts Payable / clearance / 'Approving (clearing) vendor invoices' | Recommended for payment (Ignitia payables tab) | Generate/release a client bill; reverse released client bill; Live/Draft Bills; Bill Reversal; Bill Reprint; Push invoices to AR | Budget invoice grouping ID / Budget Level PO (DV360 one-invoice-per-order config) | electronic invoice (EI) / 4A's Electronic Standard Station Invoice Format / EASI / NINV | RFI (Request f PAIN: "Every invoice has to be manually entered so there are a lot of errors" (G2 reviewer); the platform gets "slow and glitchy... during peak usage times" — i.e. month-end reconciliation crunch. Google sizes the pre-integration grind at "hundreds of hours of duplicate effort... across multiple tools and media buying teams" reconciling bookings against invoices. The structural pains: a discrepancy is only a flag — Prisma highlights booked-vs-invoiced deltas but gives finance no basis to judge whether a $17.28 overage on order O-26ND was worth paying, so every flag becomes an email loop between finance and the planner ('Review the Planner's workflow after a financial adjustment/credit' is literally a training module); itemized totals must tie to the penny before an invoice can even become Pendin ===== nivo (confidence: medium) ===== LAYOUT: No genuine console screenshots are public — Innovid's NIVO/agent pages use stylized illustrations (decision-tree of creative cards, a report card with pie/bar charts, and a prompt bar with +, grid icon, and a blue sparkle submit button — the sparkle is NIVO's UI glyph, filename '02-CM-Nivo 11.png' implies it appears inside Creative Manager). Press description: 'a familiar interface' that 'resembles ChatGPT' driven by natural-language prompts (AdExchanger). Structure per Innovid's own pages: agents presented as CARDS grouped under four eyebrow categories — Create / Deliver / Measure / Optimize — each card = agent name + tagline + 3 'Core Capabilities' bullets. Orchestrator layer = a workflow designer where the advertiser defines each step and how agents hand off, incl. human-notification steps (inferred visual form; the step semantics are documented). Hypermode = documented: a 'toggle-on alternative view within Innovid's Social Ads Manager', spreadsheet grid with cross-level navigation between campaign / ad group / ad levels, embedded audience and information panels, publisher-rendered creative previews in-sheet, 'sanity check' aggregations for real-time budget rollups, and a separate Pacing Grid & Insights view. COLUMNS: (NIVO console: no public column headers — chat/proposal surface, inferred) | Hypermode sheet entity levels (verbatim): 'campaign', 'ad group', 'ad' | Hypermode in-cell dropdown fields (verbatim): 'pixels, custom audiences, and creative assets'; 'media, identities, targeting details' | 'team-sync custom column sets for shared views' (verbatim — columns are user-configurable) | Pacing Grid: performance vs 'KPIs and budget' (verbatim) | Creative Manager: 'approved creative IDs' pulled into Hypermode (verbatim) | Agent card fields (verbatim): agent name / tagline / 'Core Capabilities' STATUSES: 'before they go live' / 'live' (the only campaign-state language used verbatim) | 'approved' (creative: 'approved creative IDs'; plan: 'approved plan') | in-cell error state: 'Errors are highlighted in-cell and include clear instruction' (verbatim) | 'in-flight' (optimization phase, verbatim) | 'Standard Mode' vs 'Hypermode' (verbatim mode toggle) | draft / in review (inferred — implied but not verbatim) | automation 'rule history' + entity tracking (verbatim from training credential) ACTIONS: Review and approve agent proposal before it goes live (documented behavior; button label itself inferred — likely Approve/Reject) | Prompt NIVO in natural language (ask performance questions, request builds) | 'Request a demo' / 'Learn more' / 'Sign In' / 'Contact us' (site CTAs, verbatim) | Hypermode (verbatim): 'cut', 'copy', 'paste'; find-and-replace; 'clone targeting from existing ad groups'; strategy cloning across accounts; campaign duplication; bulk preview fetching; 'Trafficking Creatives into Social Ads Manager' | Automation (verbatim from credential): create / modify / duplicate rules; review rule history | Orchestrator (documented): design workflow steps; specify agent-to-agent handoffs; add 'notify a human' review steps; 'Bring your own agents (BYOA), data, and tools' FLOW: Marketer: hands NIVO an input — 'an approved plan from their director or CMO, an email, a media plan, a spreadsheet' (Brammer, B&T) -> raw campaign intent captured; 'briefs, emails, and spreadsheets automatically transformed into ready-to-run execution' (PR) >> NIVO: interprets the input through a natural-language interface that 'resembles ChatGPT' (AdExchanger) -> proposed structured campaign >> Taxonomy Agent: 'ingest and unify taxonomy from any source', 'auto-generate consistent naming at scale' -> standardized naming/structure across platforms >> Campaign Trafficking Agent: 'turn briefs, emails, and files into fully configured campaigns' -> draft ad-server campaign build ('reducing setup time from weeks to minutes') >> Campaign QA Agent: 'automatically identify errors, inconsistencies, or missing data before campaigns go live' -> QA findings / proposed fixes >> Marketer (approval gate): 'At each step the marketer reviews what the agent has proposed and approves it before anything goes live, whether that's a campaign build, a QA fix, or a decision tree' (Brammer) -> approved build; trafficking agent card says 'Validate every setup with built-in human oversight' >> Decisioning Agent: 'convert media strategies into executable decision trees for dynamic creative delivery' -> DCO decision logic (marketer approves the tree) >> Orchestrator: 'connects systems and passes instructions between them'; advertisers 'design each step... and specify exactly how the AI agents should interact'; can 'add a step to notify a human when the creative is ready for review' (Grant Parker, AdExchanger) -> connected multi-agent workflow with human checkpoints >> Creative Generator + Predictive Scoring Agents: generate/adapt creative (image creation, smart framing, TTS audio, versioning) and 'score and rank variations pre-launch' -> ranked creative set before spend is committed >> In-flight — Creative Optimizer Agent: 'adjust creative and delivery based on real-time performance'; Reach and Frequency Agent: 'identify overexposed and underexposed households in real time' -> continuously optimized delivery >> Marketer: asks the Reporting Agent questions — 'use a conversational interface to generate charts, dashboards, and insights' -> on-demand cross-channel report >> Hypermode (social setup, GA Apr 21 2026): trafficker toggles from Standard Mode into Hypermode, 'an Excel-like interfa PRECISE: where=The approval gate — the exact moment documented as 'the marketer reviews what the agent has proposed and approves it before anything goes live' — rendered on each agent proposal card in the Orchestrator workflow, plus a per-agent tab in the Reporting Agent's conversational dashboard | what=A decision-valuation strip on every agent proposal card (predicted contribution of THIS action before you click approve), a signed five-field decision record written at approval — what was known, what was chosen, what we predicted, what happened, what that taught the system — and an Agent Scorecard | shows=On the proposal card: predicted incremental value of the action (e.g. Campaign Trafficking build: predicted speed-to-live and predicted delivery vs plan; Creative Optimizer reallocation: predicted CPA/reach delta with confidence band; Reach & Frequency fix: predicted waste-$ recovered from overexposed households); at approval: the signed record with approver identity + timestamp; in the scorecard: TERMS: NIVO ('from letters shared by innovation and Innovid'; positioned as a persona 'comparable to Claude or Siri') | 'NIVO thinks, Orchestrator connects, and Agents act' | Orchestrator™ / 'superagent' / 'full-cycle AI orchestration superagent' | Innovid Agents — Create / Deliver / Measure / Optimize categories | Agent names (verbatim): Creative Generator Agent, Predictive Scoring Agent, Taxonomy Agent, Campaign Trafficking Agent, Campaign QA Agent, Decisioning Agent, Reporting Agent, Creative Insights Agent, Creative Optimizer Agent, Reach and Frequency Agent (Nov 2025 pre-rename: Campaign Creator Agent, Report Visualizer Agent, Decision Tree Builder Agent) | 'clearly defined guardrails' / 'built-in human oversight' / 'Human oversight governs high-impact decisions' | BYOA — 'Bring your own agents (BYOA), data, and tools' | 'speed to campaign launch' (the headline 90% metric) | trafficking / traffic a campaign / 'trafficking-ready blueprints' | taxonomy (naming standardization) | decision t PAIN: Manual glue between systems: Optimum's team previously designated creative 'row by row' in spreadsheets — titles, specs, tagging (AdExchanger); a retail client's trafficking+QA workflow 'ran an hour and forty minutes' (now 45 min); social setup was 'fragmented, spreadsheet-and-tab-switching workflows' with bulk tools that 'reject entire uploads due to isolated issues'; Tafur (Canvas): 'Too often, teams spend time identifying opportunities but struggle to operationalize them at scale'; CTV overexposure/underexposure historically 'a manual, post-flight activity' with no real-time household visibility. The NEW pain NIVO creates (unaddressed publicly): the marketer approves every agent proposal but has no quantified basis for the approval — no predicted value on the proposal, no record of why ===== chrome (confidence: medium) ===== LAYOUT: Dark navy top bar with the Mediaocean whale logo and 'Buyer workflow' wordmark at left, then a white-text horizontal module nav: Administration | Agency setup | Authorizations | Campaigns (with inline search icon) | Performance | Invoices | Reports (verbatim from IAS integration guide screenshots). Below the bar, the campaign workspace: campaign name top-left with the advertiser name beneath it; hovering the advertiser's triangle or the glasses icon opens the 'Campaign details' slide-down panel (sections: Basic — Name, Start and end, Advertiser, Documents, Authorization ID, Budget, Total; Financial settings — Media, Client, Product, Estimate, Buy type; Reference IDs; Copy History). A month timeline strip (May Jun Jul...) with a spend scale (100k–500k) sits in the header next to a green APPROVED status badge and a right-side stack of small icons with count badges. Left rail: Goals | Plan tabs plus collapsible DOCUMENTS and MEDIA PLAN panels. Center: dense Excel-like grids (the 'buy grid') with a toolbar of verbs, per-column hover filter buttons (funnel icon), click-to-sort headers, blue-highlighted mandatory cells, red validation-error counters at row left, purple highlighting for revised values, gray for read-only. Seller counterpart (sellers.mediaocean.com) uses the same grid language: 'Sales' top-menu tab, Inbox toolbar with Agency / Show / from-date dropdowns. Visual style pre-2025: utilitarian gray-white chrome with teal/blue accents (teal Prisma prism logo); density is spreadsheet-grade, minimal whitespace. May 10 2025 refresh: 'a fresh Prisma logo, color scheme, and some new product names across the interfaces' as Prisma became Mediaocean's consolidated brand (platform now: Prisma Media, Prisma Finance, Prisma Production, Prisma Direct, Prisma for Sellers), plus the Moe AI assistant for in-platform guidance. Campaign-list/home specifics beyond the Campaigns tab + quick search/filters are (inferred). COLUMNS: Seller Sales Inbox grid (verbatim): Agency | Agency group | Advertiser / Client | Campaign | Version | Documents | Media | Type | Status | Order item lines (verbatim): Name | Placement ID | Site / Publication | Start date | End date | Cost method | Unit type | Rate | Units | Cost | Buy type | Buy grid / proposal required cells (verbatim): Placement Name | Supplier Product Name | Cost Method | Unit Type | Unit Rate | Planned Unit Amount | Flight Start | Flight End | Served by | Media plan export (verbatim, via analytics article): Name | Supplier | Positioning | Start date | End date | Cost method | Cost | Rate | Units (packages and placements share the Name column, nested rows) | Order/campaign summary strip (verbatim): CAMPAIGN FLIGHT | FLIGHT | COST | CLICKS | ACTIONS | IMPS, with an Audiences/Media donut | Campaign details Financial settings (verbatim): Media | Client | Product | Estimate | Buy type (Display, Fee, Search, Social) | RFP details fields (verbatim): Budget | Media | Flighting | Start - End | Strategy | Proposal due | Contact | Message STATUSES: Order lifecycle (verbatim, seller view): NEW, PENDING, OPENED, ACCEPTED, REJECTED, EXPIRED, PAST DUE | Revision states (verbatim): ACCEPTED (WITH FLAG), REJECTED (WITH FLAG), REV PENDING, REV RETURNED, REV SENT, REVISION OPENED | Buyer-side order states (verbatim across docs): Not sent, Sent, Agency Accepted, Accepted, Revision requested, Contract (badge), order versions R0.01 / R1.01, Rev 0.01 | Proposal states (verbatim): Not Sent, Sent, Opened | Campaign/placement states: APPROVED (green campaign badge, verbatim in screenshot); placements 'in an approved status' (verbatim); Draft (inferred) ACTIONS: Top-nav modules (verbatim): Administration, Agency setup, Authorizations, Campaigns, Performance, Invoices, Reports | Buy grid toolbar (verbatim from screenshot): Add, Duplicate, Details, Change, Remove, Import / Export, Move items, Calculate Units, Actualize perfor…, Targeting | Order/proposal verbs (verbatim): Create proposal, Respond, Accept Order, Reject Order, Revise, Send, Save, Submit, Import, Export, Apply, Add child placement, Restore, Delete, Calculate: Cost | Workflow verbs from training (verbatim): Setup, RFPs, Add Buys, Order; Actualizing a media plan; Reconciling invoices | Invoices module (verbatim): plus icon to create a new invoice, Filter panel, Agency and Advertiser column filters, Quick search, Downloading Invoice list to Excel | Campaign details: glasses icon to open, Close button; Financial Settings purchase-order dropdown + Save FLOW: Planner: logs in at prisma.mediaocean.com ('Log in to Prisma'; SSO/federated authentication for most agencies, Mediaocean ID otherwise; sellers log in separately at sellers.mediaocean.com) -> lands in the Buyer Workflow shell scoped to their agency, seeing only client codes they have access to >> Planner: Campaigns tab (has inline search icon in the nav) -> filters/searches campaign list -> opens or adds a campaign (Campaign Name up to 60 chars 'displayed in the Campaign column of the campaign list and the campaign header', Advertiser (Client) 'as specified in your financial system', flight start/end dates) -> campaign workspace with Campaign ID (e.g. CP20CHP) >> Planner: campaign workspace Goals/Plan -> creates RFPs and sends to suppliers -> supplier answers with proposals from the Prisma for Sellers Sales Inbox (statuses New/Opened; versions Proposal 1 V1) -> negotiation in-platform >> Buyer: Buy tab -> builds the media plan in the buy grid: placements, packages (cube icon), roadblocks (road icon), fees; mandatory cells highlighted blue with a validation-error count per row; drag-fill and Excel copy/paste supported >> Buyer: sends estimated financial details to the accounting system (initiating the bill/pay process) keyed on Client/Product/Estimate (CPE) codes >> Buyer: sends IOs to suppliers -> order versioning (R0.01, R1.01...); buyer-visible states: Not sent, Sent, Opened, Accepted / Agency Accepted, Rejected, Revision requested, Contract badge; changed cells highlighted purple during revisions >> Ad ops: sends placement details to the Ad Server (campaigns auto-created in publisher/programmatic systems via API; broadcast/print/spot schedules plus ISCI codes go to trafficking queues) -> IOs must be Sent or Agency Accepted before push >> Buyer: monitors delivery in the Performance tab; optimizes existing placements mid-flight using ad server delivery data and spend threshold alerts >> Buyer: month-end -> Actualize Performance view inside the Buy view -> actualizes billable and payable lines; 'specify payable delivery, automatically distribute variances, control variance rules at agency or user-level' >> Finance: Invoices tab (Invoices module) -> invoice entry via plus icon, Filter panel, Agency and Advertiser column filters, Quick search; adds Invoice, Credit Memo, Cash Receipt, Adjustment Finance against Insertion Orders -> matches invoices to actualized PRECISE: where=The campaign workspace chrome itself: a fourth zone in the campaign header strip (next to the flight timeline and the green APPROVED badge), plus one added icon in the existing right-side badge-count icon stack, plus a 'Value' column group in the buy grid that follows the user from Plan -> Buy -> Actualize Performance -> Invoices. | what=A persistent 'Decision value' strip and grid column group: predicted contribution per placement at buy time; a calibration meter in the Actualize Performance view (predicted vs actualized, side-by-side exactly like Prisma's planned-vs-actual pattern); a signed five-field decision record — what was k | shows=Buy grid columns: Predicted contribution ($ and per-1,000 Units, respecting Cost method/Unit type), confidence band, and rank within the plan. Campaign header: total predicted value vs Budget/booked. Actualize view: predicted vs actualized delta % per billable/payable line and a rolling calibration score per supplier and per buyer. Invoices: the decision record ID printed alongside the Prisma inse TERMS: Buyer Workflow (the buyer app's actual name in the chrome) | campaign / Campaign ID / campaign header | placement, package, roadblock, child placement, primary placement | buy grid ('the new buy grid') | media plan | insertion order (IO), Fee IO / Fee Order, IO# | RFP, proposal, proposal versioning (Proposal 1 V1) | order versioning (R0.01, Rev 0.01) | actualize / actualization, Actualize Performance view | billable and payable lines, payable delivery | variance rules, distribute variances | reconciliation, month-end reconciliation, invoice discrepancies | Invoice, Credit Memo, Cash Receipt, Adjustment Finance | Client / Product / Estimate (CPE) codes; 3-letter client code; Account Instance | Agency, Agency group, Advertiser / Client | Authorizations, Authorization ID | Agency setup: ad server instance, Supplier codes, Client codes, Tag weighting | Served by, Cost method, Unit type, Buy type (Display, Fee, Search, Social) | ISCI codes, trafficking queues, commercial data | Sales Inbox PAIN: Reviewers call the interface "overwhelming and unintuitive, particularly for those unfamiliar with its layout" with a "steep learning curve" (G2 summaries). The chrome is a wall of dense grids: packages and placements live in the same column, so even exports need Python cleanup to reach "placement level of granularity" (practitioner article). Month-end is the pressure point — before API integrations, teams would "manually input details into Prisma for month-end reconciliation" (IAS guide), and agency job postings define the role as "actualization of dollars by placement by campaign in Prisma and resolving invoice discrepancies with vendors and media teams." Movement between planning, buying, trafficking, and finance is real but swivel-heavy: IOs must reach Sent/Agency Accepted before ad-se ===== GAPCHECK ===== ## Correction list (verified against primary sources) **1. Invoices module: no "Order #" column in the list grid, and "Rejected" is not a buyer-side status (plan-buy digest — error).** The official quick card *Prisma – Digital Invoice Management for OX* (March 2020) shows the invoice list as: [checkbox] | [Scanned icon] | [comment icon] | Invoice # | Date | Status | Supplier | MOS — nothing else. Buyer-side statuses are exactly: Incomplete, Pending, Reconciled, Pending credit, Pending adjustment, Revision requested, Reversed. "Revision requested" is defined as "a rejected invoice that needs to be reviewed" — "Rejected" as a list status exists only in the seller/vendor-shared view. Also: the actualize digest's Find Order grid adds "Supplier | Media type" columns; the quick card shows Order # | Buy type | Client | Product | Estimate | Campaign ID | Amount, with Media/Client/Product/Estimate/Campaign as filter dropdowns above the grid, not columns. The finance digest already has all of this right — reconcile plan-buy/actualize to it. Everything else in the card matches the finance digest verbatim (Add Invoice fields, credit memo/cash receipt always negative, adjustments positive, Reverse reconciled flow, History grid Event | On | User / Modified by, editable-fields-by-status rules, supplier media type in grey beneath name). **2. Top navigation: plan-buy's "app switcher tabs (Invoices | Campaign Management ★ | Authorizations)" is wrong, and two nav eras are being mixed.** Verified real navs: (a) 2020 OX-era bar = Administration | Agency Setup | Authorizations | Creative Management | Invoices, with Invoices selected "from the **Campaign Management drop-down menu at the top left**" and star-to-set-default (OX quick card screenshot); (b) 2023+ Buyer workflow bar = dark navy, "Buyer workflow" wordmark, then Administration | Agency setup | Authorizations | Campaigns (inline search icon) | Performance | Invoices | Reports (screenshots in the IAS + Prisma Customer Guide, April 22, 2025). The chrome digest is correct; plan-buy's three-tab switcher looks invented. Pick one era per mock — "Creative Management" and "Performance/Reports" never co-existed in the same bar in these sources. **3. Goals/Plan placement: not part of one horizontal strip with Buy | Order | Traffic | Analyze (plan-buy and traffic-serve digests overstate).** The IAS guide's Buy-tab screenshot shows "Goals" and "Plan" rendered at the far left directly above the DOCUMENTS / MEDIA PLAN panels (left-rail region), with the buy toolbar to their right — matching the chrome digest's "Left rail: Goals | Plan tabs," not a unified six-tab strip. Buy, Order, Traffic, Analyze are confirmed as the documented workspace views (sibling support sections exist for each: Buy 9676624128279, Order 9676711569303, Traffic 9676651984279, Analyze 9676725193367), and "Actualize performance" is documented as a view within Buy (section 9676705045271) — supporting the actualize digest's framing. Bonus from the same screenshot: the Buy toolbar ends "…Move items | Calculate ▾ | Actualize perfor… | **Targeting**" — plan-buy's toolbar list is missing Targeting. Also confirmed there: Campaign ID format CP…, green APPROVED badge, month strip with 100k–500k scale, glasses-icon Campaign details panel with Basic / Financial settings (Media, Client, Product, Estimate, Buy type: Display, Fee, Search, Social) / Reference IDs / Copy History, 3-letter client code. **4. Seller order-status semantics: PENDING means "revision requested," not "awaiting response" (chrome/plan-buy digests list the words but a mock will likely invert the meaning).** Per the *Prisma For Sellers – Orders* quick card (Oct 2020): NEW = received; **PENDING = revision requested**; OPENED = opened and a response created; ACCEPTED/REJECTED = by the seller; EXPIRED = past response due date & cannot be actioned; PAST DUE = supplier didn't respond by due date (a proposal can still be sent for an RFP in this status). Same card confirms: Sales Inbox columns Agency | Agency group | Advertiser / Client | Campaign | Version | Documents | Media | Type | Status; inbox toolbar Agency / Show / from-date dropdowns; versioning R0.01→R0.03 (major R# per buyer change), revisions listed as "Rev 0.01"; changed data highlighted purple; green "Contract" badge; order summary strip CAMPAIGN FLIGHT | FLIGHT | COST | IMPS with Audiences/Media donut; item lines Name | Site / Publication | Start date | End date | Cost method | Unit type | Rate | Units | Cost | Buy type; Respond dialog with blue-highlighted required boxes (comment, title, email, phone, signature). The revision statuses (ACCEPTED/REJECTED (WITH FLAG), REV PENDING, REV RETURNED, REV SENT, REVISION OPENED) are verbatim-confirmed. **5. "Seller Owner / eSeller (2025 rebrand of Media Owner / eSupplier)" (traffic-serve digest) — unverified, likely invented.** The 12 May and 23 June 2025 PFS release notes confirm only that "all occurrences of PFS entities in the Administration module were renamed" for the Prisma rebrand; no public source uses "eSeller" or "Seller Owner." Documented vocabulary: "Prisma for Sellers," "Seller workflow," buyer-side "Supplier"/"Financial Supplier." Drop the invented pair. Relatedly, keep broadcast/print toolkit vocabulary out of the digital Traffic tab mock: "Traffic Hotlist / ISCI Maintenance" belong to the separate **OX Net Traffic** module, and **Spot Traffic** covers "Records, Cover Letters, and Shipping Orders" (not "traffic letters and shipping lists"). **6. NIVO digest — confirmed accurate, but date-stale.** Agent cards and names verified verbatim on innovid.com/nivo (Create: Creative Generator, Predictive Scoring; Deliver: Taxonomy, Campaign Trafficking, Campaign QA, Decisioning; Measure: Reporting, Creative Insights; Optimize: Creative Optimizer, Reach and Frequency), plus "NIVO thinks, Orchestrator connects, and Agents act" and human-oversight language. Timeline correction: NIVO AI formally launched **June 11, 2026**, and Hyper
B1The help-center estate map (Exa correction pass · mine lane)
MEDIAOCEAN PRISMA DOC ESTATE (support-na.mediaocean.com Zendesk, API-verified 2026-08-03) CATEGORIES (id | surface): Prisma Media 115001648788 (plan/buy/traffic/actualize — buyer core) · Prisma Finance 360005286454 (finance) · Prisma for Sellers 4415224787095 (seller) · Integrations 115001739468 (invoice/order EDI) · Prisma for Advertisers 115001743167 · Radia 115001652467 (trading-desk: actualization, invoice recon, payable approvals) · plus Spectra OX/DS, DealMaker, Production, Academy, Legal. KEY SECTIONS (Prisma Media): Buy 9676624128279, Order 9676711569303, Traffic 9676651984279, Analyze 9676725193367, Managing orders 15165810030103, Managing media plans 15165667872023, Digital workflow 15137033540247, Search/social/programmatic 15165758675479, National/Local TV prebuy+stewardship, Local TV invoices–Finance 15167075348631. Radia: Campaign actualization 15308038492567, Invoice reconciliation 15308031579671, Allocating payable spend & approvals 15308020820375. Finance: overview/estimates/contracts/setup/reporting. Sellers: Seller workflow 15249026670487, Release notes 4415216305687, API releases 39578311463831. CRITICAL RETRIEVABILITY FINDING: nearly all buyer-workflow learning articles are titled "zzz" with EMPTY API body (verified: 15308402570647 bodylen=0; each workflow section holds 1 zzz article) — content is theme/JS-rendered eLearning, GATED via API. Fully retrievable (bodylen>0): Seller workflow set, Integrations specs, course catalogs, release notes, policies. RETRIEVAL: search `/api/v2/help_center/articles/search.json?query=X`; body `/api/v2/help_center/en-us/articles/<id>.json` (.body = full HTML); sections `/en-us/sections/<id>/articles.json`. UA header required. PUBLIC PDFs (support.mediaocean.com/sc/us/public/, full text yes): PrismaLearningPlan.pdf · All_Learning_Plans.pdf · PFSLearningPlan.pdf · PFSOrdersQC.pdf · PFSAdminQC.pdf · PFSProposalQC_APAC.pdf · PrismaDigitalInvoiceManagementForOXQC.pdf · LearningPlanDMD.pdf · DealMaker.pdf. PRODUCT PAGES (marketing, yes): go.prisma.mediaocean.com/prisma-media, /prisma-finance, /prisma-for-sellers, /prisma-production, /company; mediaocean.com/media-buying-software-prisma, /platform. 15 RICHEST FOR SCREEN-LEVEL ANATOMY (all full-text unless noted): 1. 4402387731479 Seller workflow – Orders (seller; order screens/statuses) 2. 14248095816343 Seller workflow – Invoice module (seller/finance) 3. 4402041536279 Seller – Digital proposals 4. 4404729773335 Seller – TV proposals (National) 5. 4403007044375 Seller – TV/Radio proposals (Local) 6. 1500011960902 Seller – Administration 7. 26247163822231 Seller – Access the application 8. 1500012350821 Electronic Invoices: Spot & Net Technical Specs (invoice fields) 9. 25777123708183 Electronic Invoices: OX Print Technical Specs 10. 4404622643223 Electronic invoices FAQs 11. 4859430954903 DARE – Direct Agency Rep Exchange (order round-trip) 12. 1500004101061 Course Catalog – Prisma Media Digital (enumerates every module: setup→campaign→placement→traffic→actualize→invoice) 13. 4406489444887 Course catalog – Prisma Finance (Ignitia) 14. PrismaLearningPlan.pdf (role-by-role screen sequence) 15. Section 4415216305687 seller release notes (e.g. 32007025490967) — dated screen-level UI changes Gaps: "variance" 0 hits; NIVO not present in this center (inferred: invoice UI docs live behind the gated zzz eLearning + Integrations specs).
B2Exa correction lane 1: corrections · new · confirmed
**CORRECTIONS** 1. Lumina timeline: divested June 2023 to PC Dreamscape (Guideline's parent; SMI/SQAD) — not a recent event (prnewswire.com/news-releases/...301848406.html; mediapost.com/publications/article/386213). The 2026 news is an *expanded* Cannes Lions 2026 API integration: Guideline MediaTools named exclusive planning partner; pushes campaign goals into Prisma, pulls actualized buy data back for plan-vs-actual — explicitly targeting the spreadsheet reconciliation layer (ppc.land/guideline-and-mediaocean-expand-api-to-kill-spreadsheet-reconciliation/). 2. NIVO "not Prisma" is stale: Mediaocean says NIVO "is expected to surface across all Mediaocean surfaces and solutions" (ppc.land/mediaoceans-nivo-ai-cuts-campaign-setup-by-90-with-innovid-agents/). Architecture: "NIVO thinks, Orchestrator connects, Agents act" — 12 agents in 4 groups (creative/delivery/measurement/optimization); 90% figure is from pilots with only 5 brands/agencies. Innovid was a $500M acquisition (announced Nov 2024, closed early 2025), merged with Flashtalking. 3. Product naming 2026: corporate nav is Prisma / Innovid / Protected; the Prisma platform itself is five named modules — Prisma Media, Prisma Finance, Prisma Production, Prisma Direct, Prisma for Sellers, plus Integrations and Partner Network (go.prisma.mediaocean.com nav). Prior pass missed Production and for-Sellers as first-class modules. 4. Connect Partner Program dates to Dec 2013 (mediaocean.com/connectlaunch) — historical branding; today's dev portal (developer.mediaocean.com/io-docs) is key-gated: APIs are invisible without an issued key, access by request only. **NEW** - Basis partnership (Jan 6, 2026): Basis integrates with Prisma, Innovid, AND Protected — linking planning/activation to ordering, trafficking, reconciliation, payment; framed as foundation for "AI-driven intelligent automation at scale" (mediaocean.com/press-releases/2026/01/06/basis-partnership). - Prisma Direct depth: Disney API built on Disney Campaign Manager's own tech; spans ABC, ESPN/ESPN+, Disney+, Hulu, Fubo, FX, NatGeo, 8 O&O stations; includes sponsorships/high-impact IP placements; Digiday frames it as "death knell for the I/O"; Drew Kane is CPO *of Prisma* — Prisma has its own product org (ppc.land/mediaoceans-prisma-direct...; digiday.com/media-buying/ad-tech-briefing-disney-and-mediaocean-sound-the-death-knell-for-the-i-o/). - Prisma for Sellers screen-level: seller-side app with Proposals/Orders/Invoices modules; sellers create invoices in-app, attach PDF + POP (15MB cap), order-number match auto-pulls Supplier/Advertiser/Agency, full audit-trail History screen; gated by sellers@mediaocean.com enablement (support-na.mediaocean.com article 14248095816343). Seller API surface: Event notifications, Send supplier delivery, Seller proposals APIs — updated 20 Apr 2026 (article 39578370756759). - Insider ops evidence: IPG Mediabrands/Orion "Analyst, Activation Operations" posting (June 2026) — "input and steward media schedule data into Prisma & MBOX," monthly invoice matching within Prisma, reconciling discrepancies with Shared Services, supporting holdco "Dual IO transformation" (career.com/job/ipg-mediabrands/analyst-activation-operations/j202504230401341283480). Swivel-chair persists at holdco scale. - Legacy coexistence: help-center sections map live Spectra DS, DealMaker, Proposer, Spot Traffic, Net/Print/Digital/Local Broadcast 101 docs (support-na.mediaocean.com sections.json) — Prisma sits atop an active legacy Spectra/OX estate. - Scale: Prisma 100,000+ users, $200B+ annualized spend through Mediaocean software; Guideline $300B budgets/60k plans/10k users (ppc.land Guideline piece). - H2 2026 Market Report (Jun 16, 2026): "AI hype to hands-on implementation" (mediaocean.com/news/2026/06/16/h2-market-report). Jan 2026 Outlook: 320 respondents, 56% cite fragmentation as top concern, CTV/digital video tied at 63% for planned H1 increases (ppc.land Prisma Direct piece). - "Moe" in-platform AI assistant claimed only by third-party aggregator mediaplanningtool.com — unverified (inferred: likely conflation). **CONFIRMED** Six-stage lifecycle pages + Prebuy help sections (go.prisma.mediaocean.com; support-na sections 15280517434519); Prisma Finance "$150B+ annualized" (go.prisma.mediaocean.com/prisma-finance); Prisma Direct Mar 31 2026 / Disney first / Q3 live; NIVO Jun 11 2026; G2 reviews page exists (g2.com/products/prisma-mediaocean/reviews); sequential-liability/ERP and DV360 invoice mechanics not contradicted but not re-verified this pass.
B3Exa correction lane 2: corrections · new · confirmed
CORRECTIONS - "Publicis 7-yr renewal Apr 2026" is wrong: the renewed 7-yr international engagement was announced Feb 2, 2023 (globenewswire.com/news-release/2023/02/02/2600298). No 2026 renewal found. - Nielsen DDL is not "live Sep 2026": announced Jun 4, 2026, availability planned Sep 2026 — future as of today (nielsen.com/news-center/2026/nielsen-mediaocean-announce-new-integration...). - "NIVO = Meta+Snap only" unsupported. NIVO launched Jun 11, 2026 on the Innovid stack with 12 agents (creative/delivery/measurement/optimization); Prisma's social API integrations are Innovid + Meta, no Snap (go.prisma.mediaocean.com/integrations). NIVO-into-Prisma is stronger than "being scoped": "will eventually expand to Prisma and Protected" — Grant Parker, Innovid president (adexchanger.com/ai/this-ai-brain-wants-to-get-rid-of-the-grunt-work-in-creative-campaigns/). - Kane: "Drew Kane, Chief Product Officer at Prisma" — product-level, not company CPO (ppc.land/mediaoceans-prisma-direct-targets-the-last-manual-frontier-of-tv-ad-buying/). - Kassan is board Vice Chairman, joined Dec 18, 2025 (businesswire.com/news/home/20251218949591). McGrory = Ramsey McGrory, President of Prisma, Jun 25, 2025 (mediaocean.com/press-releases/2025/06/25/...). NEW - Innovid merger proxy (DEFM14A, sec.gov/Archives/edgar/data/1835378/000114036125000684/ny20040318x2_defm14a.htm): MO's first IOI Sep 2023 at $1.70/share (rejected; stock $1.21); escalation $1.80 → $3.00-3.50 (Jun 2024) → $3.11 → $3.20 → $3.25 (Sep 2024) → final $3.15 after diligence — a 94% premium (Globes). Ben Kartzman (then MO COO, Flashtalking founder) initiated contact May 2023; rival Parties A/B in process; Evercore advised Innovid. - Prisma Direct launched Mar 31, 2026, Disney first integration (full portfolio incl. sponsorships), live Q3 2026 — Digiday: "death knell for the IO" (mediaocean.com/press-releases/03/31/2026/prisma-direct-launch; ppc.land Prisma Direct piece; digiday.com/media-buying/ad-tech-briefing-disney-and-mediaocean...). This is MO occupying direct premium-video plan-to-pay before challengers do. - Innovid Orchestrator (2025) is the missing middle layer: "NIVO thinks, Orchestrator connects, Agents act" (ppc.land NIVO piece). Pilot n=5; Optimum reports 80% execution-time cut. - Incrementality opening is narrowing, not open: Innovid Outcomes suite extended Jun 11, 2025 with Affinity Solutions — pixel-free purchase attribution at scale (businesswire.com/news/home/20250611356921). Still attribution, not contribution/incrementality or decision audit — those gaps hold. - Partner-deal mechanics: certification is API-category-based (ad serving, verification, social, ACP, DSP, ERP — go.prisma.mediaocean.com/integrations); Partner Support Policy gives partners US-business-hours-only support via partners@mediaocean.com, certified integrations available only during Prisma system hours, 7 major releases/yr (support-na.mediaocean.com/hc/en-us/articles/39626372867607). Prisma charges "Digital Custom Fees" configurations (academy.mediaocean.com/explore/prisma-media-digital-custom-fees). Precedent integrations: Microsoft Ads Dec 2024, Magnite ClearLine Mar 2024, Basis Jan 2026. - Missed competitors: Halliard — indie-agency "OS," attacks MO's "enterprise tax," ran first autonomous MCP media buy with PubMatic Dec 2025 (mediaplanningtool.com/blog/2026-03-30-mediaocean-vs-halliard); Hudson MX (local-TV buying, Ascential control 2023, troubled — mediapost.com/publications/article/388405); Meridian MediaOS, Rubii. - Standards vector: IAB Tech Lab AAMP (Agentic Advertising Management Protocols) + IAB AI Transparency & Disclosure Framework Jan 2026 (iabtechlab.com/standards/aamp-agentic-advertising-management-protocols/) — the audit-trail requirement is being standardized; no MO governance/audit answer found. - Scale: $200B+ annualized spend, Prisma 100k+ users (ppc.land NIVO); $224M ARR c.2020 (getlatka.com/companies/mediaocean); CVC/TA bought Vista's stake, valuation undisclosed (adexchanger.com/digital-tv/mediaocean-switches-private-equity-owners...). CONFIRMED CVC+TA (Aug 2021); holdco stakes $20-25M each, Dec 2024 CSP program reselling Flashtalking/Protected (mediapost.com/publications/article/401569; adage.com/article/agency-news/...2594101); Innovid $500M EV, closed Feb 13, 2025, brand unified Mar 17, 2025; Wise co-founder/CEO; Markman President&COO May 20, 2026 (AI transformation mandate); Netter CIO; Kuperman CSO; Basis interconnect Jan 2026 + Protected-in-Basis Apr 14, 2026 (basis.com/news/protected-by-mediaocean...); NIVO launch omits governance/audit/incrementality claims.
B4Exa correction lane 3: corrections · new · confirmed
**CORRECTIONS** - Revenue "$343-388M" is modeled, not reported. Latka (Wise interview data): $224M ARR 2020, 891 staff, 38 quota reps (getlatka.com/companies/mediaocean). PrivCo's $380M 2024 sits in an implausible modeled series ($65M 2020) (privco.com/company/mediaocean-formerly-mediabank). Only hard published scale: >$200B annualized ad spend processed, 100k+ Prisma users (ppc.land/mediaoceans-nivo-ai-cuts-campaign-setup-by-90-with-innovid-agents; MO PR 6/11/26). - "Basis = independent channel" understated: formal partnership signed Jan 6, 2026 covering planning→activation→ordering→trafficking→execution→quality→measurement→finance (mediaocean.com/press-releases/2026/01/06/basis-partnership). Basis is now both competitor and integration partner. - CSP precision: Dec 3, 2024 program gives IPG/Omnicom/WPP each a small minority equity stake specifically for reselling **Flashtalking + Protected by Mediaocean** (ad serving, verification) — not Prisma (marketingdive.com/news/mediaocean-ipg-omnicom-wpp-ad-tech-ambitions-grow/734668). - ANA fee: it's Aquila's "Fractional Advertising Contribution" — 0.075% of media buys, capped $750k/advertiser, announced May 2026, to be processed via an end-to-end system built with Mediaocean ("automated highway toll"); announced, not yet flowing (inferred) (mediapost.com/publications/article/414835). - Prisma Direct is not yet live: announced 3/31/26, Disney first, go-live Q3 2026 (ppc.land/mediaoceans-prisma-direct-targets-the-last-manual-frontier-of-tv-ad-buying). **NEW** - Innovid deal = $500M (Nov 2024, closed early 2025); Flashtalking 2021 also ~$500M; Innovid SPAC'd at $1.3B 2021, stock +86% on news; strategic frame = only non-Google full-stack, DOJ pegs Google at 87% US/91% global publisher ad-server share (adexchanger.com/tv-2/inside-mediaoceans-500-acquisition-of-innovid...). - NIVO AI (6/11/26): 12 agents in 4 groups (creative/delivery/measurement/optimization); "NIVO thinks, Orchestrator connects, Agents act"; 90% setup-time gain from only 5 pilot brands/agencies (ppc.land, above). - Omnicom Wren mechanics: agent framework built on **Ad Context Protocol**, live buys executed for several clients by Q1-2026 call; Acxiom Real ID is the data spine; Wren frames it as repricing Omnicom's contribution, target is DSP/SSP toll — MO not named (digiday.com/media-buying/that-is-an-objective-omnicom-tests-ai-agents-to-cut-out-the-ad-tech-middlemen). - Missed competitor for independents: **Halliard** (founder Matthew Jacobs, ex-Starcom/Dentsu/Amazon DSP/Paramount) — free entry, 10k-person R&F panel across 210 DMAs, first autonomous MCP media buy with PubMatic Dec 2025; positions MO as "the enterprise tax" (mediaplanningtool.com/blog/2026-03-30-mediaocean-vs-halliard; halliardmedia.com). - Finance lane depth: IPS (ipswrx.com) is the AP-automation layer feeding Prisma — converts paper/PDF/EDI invoices for posting; 8 of the 9 largest holdcos use IPS; >$50B/yr processed (isvworld.com/search/news/1221897). - Seller tactical: help center ships a "PFS station sign up letter" — agencies recruit their own stations onto PFS via Word templates (support-na.mediaocean.com article 4617928764311); public e-invoice Spot & Net technical specs (article 1500012350821); PFS spans digital/linear/print/OOH with inline proposal negotiation (go.prisma.mediaocean.com/prisma-for-sellers). - Demand context: MO's Jan 2026 survey of 320 marketers — 56% cite platform/publisher fragmentation as top concern; CTV and digital video tied at 63% planned H1'26 increases (ppc.land Prisma Direct). - Prisma on G2: 438 reviews, 4.0/5 (g2.com/products/prisma-mediaocean/reviews). **CONFIRMED** ~890 staff · holdcos as shareholders + resellers (Dec 2024) · Disney Prisma Direct portfolio incl. Fubo + 8 ABC O&O via Disney Campaign Manager API tech · independents' pain: Excel-then-import planning, digital-only Prisma with unintegrated legacy products for other channels, big-4 lock-in via long-term billing contracts, high cost, weak outside US/UK (bionic-ads.com/agencies/comparisons/mediaocean) · enterprise-only unpublished pricing, no trial (mediaplanningtool.com/mediaocean) · Digiday calls Prisma Direct "the death knell for the I/O" (digiday.com ad-tech-briefing).
C1Deep anatomy 1 (buy / actualize / finance)
PRISMA SCREEN-LEVEL MAP (buyer + seller), sources inline. BUYER SHELL (tab names, verbatim): Plan · Buy · Traffic · Analyze · Reconcile — delivery data lives in Analyze ("choose a provider from the 'Provider' dropdown"); actualization in an Actualize view showing "Original Planned Dollars and Actualized Dollars within the same view"; a new "Buy Grid View" is entered via a "BETA" box "in the lower right hand corner… in the Buy Tab" and adds quick-search/copy-paste; "OK to PAY" is a distinct reconcile action. Source: GroupM "Prisma Approver Training" quiz, https://take.quiz-maker.com/QE0NIAQ (third-party but UI-verbatim). BUYER FLOW (Planner/Buyer): create campaign (details: Client/Product/Estimate "C/P/E", campaign dates, viewability provider added "at the campaign level") -> build media plan; three placement-entry paths verbatim: "Prisma for Sellers, Using the RFP Import, and Manual Entry" (quiz) -> approve budget "on the campaign edit screen, in the header of the open campaign, on the home page, & within the Media Authorization Tool (MAF or Lumina)" (quiz) -> "Sending and monitoring orders (IOs)" -> "Sending placement details to the Ad Server" -> actualize -> reconcile invoices (PrismaLearningPlan.pdf, https://support.mediaocean.com/sc/us/public/PrismaLearningPlan.pdf; course catalog https://support-na.mediaocean.com/hc/en-us/articles/1500004101061 — "How to submit for approval / manage orders and trafficking"). Digital authorizations is its own course: https://academy.mediaocean.com/explore/prisma-media-digital-authorizations. HIERARCHY (campaign > package > placement): placement columns verbatim: Type, Placement Name, Publisher, Product Name, Unit Rate, Planned Unit Amount, Flight Start, Flight End, Unit Dimensions, Positioning, Cost Method (CPM/CPA/CPMV/Flat/Free), Unit Type, Served by, Site, Inventory Type 2, Targeting Audience Type, Audience Demo, Buy Type 1/2 (https://support.mediaocean.com/sc/us/public/proposal-validation-for-sites/pdfs/adding_placements_support.pdf + quiz). Package: click the cube icon ("when the cube turns blue, the first child placement is created"); "Add child placement"; star a child -> cube becomes a road = Roadblock; non-package fields go read-only gray (https://support-na.mediaocean.com/hc/en-us/articles/4402041536279). CUSTOM FEES: placement Type "Fee" — "Cost Method: Flat, Unit Rate: Cost of fees, Unit Type: N/A, Planned Unit Amount: 0, Served by: Site"; "tech fee" is the Meta/Google term (catalog 1500004101061). SELLER MIRROR (Prisma for Sellers, Sales Inbox): toolbar Agency dropdown, "Show: All orders / All RFPs and proposals"; columns filter/sort, Documents column = order PDF, "Download Flighting details". Buttons: Respond (Accept Order/Reject Order), Submit, Revise, Send, Save, Import, Export, Create proposal. Order statuses verbatim: NEW, PENDING, OPENED, ACCEPTED, REJECTED, EXPIRED, PAST DUE; revision statuses: ACCEPTED (WITH FLAG), REJECTED (WITH FLAG), REV PENDING, REV RETURNED, REV SENT, REVISION OPENED (https://support-na.mediaocean.com/hc/en-us/articles/4402387731479; https://support.mediaocean.com/sc/us/public/PFSOrdersQC.pdf). CHANGE LOG / VERSIONING: buyer change = new major version; each seller revision = minor ("Rev 0.01, Rev 0.02"); "only the most recent order version" visible; changes highlighted purple; mandatory cells blue; validation-error count leftmost per row (4402387731479, 4402041536279). PAIN POINTS (documented): Import "will delete" existing order/proposal details; CSV column order must not change; placements with delivery data can't be deleted — must "cut back the placement flight date" and resend to ad server; cost method locked after IO/financials sent; PAST DUE kills order response; PDF downloads only outside browser preview. Local-TV order round-trip (approve/recall/confirm/makegoods) runs via DARE, not the digital IO flow (https://support-na.mediaocean.com/hc/en-us/articles/4859430954903). CONFIDENCE: Seller screens/statuses/buttons = documented verbatim (Mediaocean articles+QCs). Buyer tab names, MAF/Lumina, Buy Grid, approval locations = verbatim but from a third-party GroupM quiz; treat as high-confidence unofficial. Buyer flow sequence = documented (learning plan/catalog). Exact buyer order-status labels and change-log screen name remain gated in "zzz" eLearning (inferred: mirror of seller statuses).
C2Deep anatomy 2 (buy / actualize / finance)
PRISMA ACTUALIZATION/RECONCILIATION — SCREEN-LEVEL FINDINGS 1) ACTUALIZE SURFACE (buyer, Prisma Media) Vendor's own feature description (verbatim): "Compare planned and actual delivery side-by-side, specify payable delivery, and automatically handle variances. Set variance rules at the agency or user level to streamline monthly spend management and reduce invoice discrepancies." — https://go.prisma.mediaocean.com/prisma-media (Actualize section). This confirms: planned-vs-actual grid, a "payable delivery" designation step, automatic variance handling, agency- and user-level variance rules, monthly cadence. Grid COLUMN names/button labels are NOT publicly documented — the entire "Campaign actualization" section (15308038492567) holds one gated "zzz" eLearning article (API body empty; verified https://support-na.mediaocean.com/hc/en-us/sections/15308038492567). Same for Radia's Campaign actualization / Invoice reconciliation / Allocating payable spend & approvals sections (15308402570647 / 15308434870807 / 15308425857047 — all bodylen 0). 2) DELIVERY DATA SOURCES - Ad server: "delivery data pulled daily into Mediaocean… Quickly actualize and reconcile placements monthly, using pre-populated first-party delivery data" (ad-serving list: Adform, Amazon Ads/Sizmek, Extreme Reach, Flashtalking, Google Campaign Manager, Innovid…) — https://www.mediaocean.com/prisma-digital-integrations - Publisher/supplier: "Send supplier delivery API" in Prisma for Sellers — https://support-na.mediaocean.com/hc/en-us/articles/39578370756759 - CM360 billing integration: "Prisma will show 'planned adserving fees' against the actual invoice amount and automatically highlight any discrepancies in the interface"; invoice data arrives with client, product, estimate (CPE), IO#, PDF copy — https://support.google.com/campaignmanager/answer/16091043 - Google Ads: Prisma shows "booked budget" against invoice amount, auto-highlights discrepancies; Google invoices monthly with Prisma IO# printed — https://support.google.com/google-ads/answer/16022168 3) USER FLOW (actor: action -> state; from module curricula) Buyer post-launch class order: Analyzing ad server delivery data -> Actualizing a media plan -> Reconciling invoices ("Reconciling invoices and campaign wrap-up") — https://support-na.mediaocean.com/hc/en-us/articles/1500004101061 + https://support.mediaocean.com/sc/us/public/PrismaLearningPlan.pdf Finance flow: Navigating the Invoices module -> Downloading invoice list to Excel -> Add per IO: Invoice / Credit memo / Cash receipt / Adjustment Finance -> "Review the planner's workflow after a financial adjustment/credit" (same sources). CM360 flow: placements trafficked -> invoice data programmatically pulled -> discrepancies highlighted -> "finance team can now process payments immediately." 4) SELLER MIRROR (documented screens, verbatim): Invoices home screen — blank until date-range Filter + "Search"; "Filter" panel, "Agency"/"Advertiser" column filters, "Quick search"; columns "Invoice #", "Order", "Status". Plus icon -> Invoice Details screen: blue = required fields; "Attach Invoice", "Attach POP" (15MB max); valid "Order number" auto-pulls Supplier/Advertiser/Agency; "HISTORY" icon -> audit-trail screen — https://support-na.mediaocean.com/hc/en-us/articles/14248095816343 5) PAIN POINTS (documented): reconciliation = "hundreds of hours of duplicate effort… across multiple tools and teams"; 50% duplicate-entry reduction claim (Google pages); spreadsheet reconciliation as the displaced practice — https://ppc.land/guideline-and-mediaocean-expand-api-to-kill-spreadsheet-reconciliation/ TERMINOLOGY: actualize/actualization, payable delivery, variance rules (agency/user level), planned adserving fees, booked budget, discrepancies, IO#, CPE, credit memo, cash receipt, adjustment finance, invoice and order linking, vendor invoice matching, sequential liability (Finance page). CONFIDENCE: Documented facts = items 1–5 quotes with URLs. Inferred: exact grid columns, statuses, button labels of the buyer Actualize screen; "auto-distributed variances" mechanics; month-end close as a named screen (only monthly cadence is documented) — all sit behind gated zzz eLearning + Academy enrollment (academy.mediaocean.com pathways confirmed but module lists login-walled). "Variance": 0 retrievable help-center hits; marketing copy is the sole public source.
C3Deep anatomy 3 (buy / actualize / finance)
PRISMA FINANCE / INVOICE MANAGEMENT — SCREEN-LEVEL FINDINGS **1. Buyer invoices module (Prisma Digital Invoice Management for OX, Mar 2020 QC — https://support.mediaocean.com/sc/us/public/PrismaDigitalInvoiceManagementForOXQC.pdf)** - Access: "Invoices" from the **Campaign Management drop-down menu** (top left); star icon sets it as "your default application." - Invoices list: left **Find invoices** panel (criteria incl. "Invoice #", "Invoice added since", "Order #") + **Quick search** box; **Search** button; Excel export; **Scanned** column downloads the invoice PDF scan. - Verbatim statuses: **Pending** ("not yet been reviewed for media reconciliation") · **Reconciled** ("Status after OK to pay is selected and saved") · **Pending credit** · **Pending adjustment** · **Revision requested** ("a rejected invoice that needs to be reviewed") · **Incomplete** · **Reversed**. Only Pending invoices can be changed/deleted. - Add invoice flow: plus icon → **Add invoice** window → attach **Scan** → find order via Quick search or **Month of Service** + **Supplier** (+ **Media** dropdown, expanded **Find Order** section) → select orders → optional **Itemize invoice** checkbox with per-placement columns **Rate, Units, Invoice amount, Cost** and an **Include/Exclude** button → save (partial = Incomplete). - Credit memo / cash receipt / adjustment: added against a **Reconciled** invoice; "Credit memos and cash receipts must always be a negative amount. Adjustments are always a positive amount"; Cost column must equal Invoice amount to save; status flips to Pending credit / Pending adjustment. - Reverse: **Reverse Reconciliation** button (permissioned) → status **Reversed**; "the reversal is automatically sent to the supported financial system" (= the ERP handoff wording) and buys free up for new invoices. **History** icon (next to **Edit Invoice**) shows the field-level audit trail. **2. Booked-vs-invoiced + one-invoice-per-order (Google-documented feeds)** - Google Ads: invoice data is pulled into Prisma; "Prisma will show 'booked budget' against invoice amount and automatically highlight any discrepancies"; "Finance team can now process payments (or disputes) immediately" — https://support.google.com/google-ads/answer/16022168 - DV360: selecting Invoice level = **Budget invoice grouping ID** with **Budget Level PO** "will allow Display & Video 360 to generate one invoice per Prisma Order Number which simplifies the reconciliation in Prisma" — https://support.google.com/displayvideo/answer/16091581 **3. E-invoice feeds (traditional)**: 4A's "Electronic Standard Station Invoice Format" flat file; arrives at agency within 24h; next-day audit report — https://support-na.mediaocean.com/hc/en-us/articles/4404622643223 · field spec https://support-na.mediaocean.com/hc/en-us/articles/1500012350821 **4. Seller side (https://support-na.mediaocean.com/hc/en-us/articles/14248095816343)**: top-nav **Invoices** → home screen (blank until date-range **Search**); columns **Invoice #**, **Order** (linked), **Status**, Agency/Advertiser filters; plus icon → **Invoice Details** screen; blue = required; **Attach Invoice** / **Attach POP** (15MB); valid Order number auto-fills **Supplier, Advertiser, Agency**; **HISTORY** screen = audit trail. Jun-2025 release: API-created invoices now appear in the grid (was manual-only) — article 32007025490967. **5. Prisma Finance (Ignitia) catalog** (https://support-na.mediaocean.com/hc/en-us/articles/4406489444887): Receivables (Billing) — "generate and release client bills," "reverse released client bill"; Payables — **Recommended for payment tab**, **All vendor invoices**, **All payments**, **Payment reversals**. Media-Finance catalog (18394213330967): Local/National **vendor invoice management** — electronic + manual entry, "Approving vendor invoices & reversing approved vendor invoices," reporting. **Pain points (documented)**: "hundreds of hours of duplicate effort" and manual booking-vs-invoice reconciliation absent the feed (Google pages); seller grid formerly hid API invoices; wrong-placement credits require full reversal. **Confidence**: Sections 1–5 verbatim from cited sources. Inferred: exact "Pay"/"Dispute" button labels (only "OK to pay" is verbatim); sequential liability not publicly documented for Prisma (only 1 unrelated hit, DealMaker catalog); detailed client-billing and workflow screens live in gated "zzz" eLearning; "NIVO" absent.
DThe research synthesis (what changed the pitch)
**1. TOP CORRECTIONS THAT CHANGE THE PITCH** - NIVO is coming to Prisma. "NIVO ≠ Prisma" is dead: MO says NIVO "will surface across all Mediaocean surfaces"; Innovid president confirms expansion to Prisma and Protected. But every NIVO announcement omits governance, audit, and incrementality — our agent-governance wedge survives, and must be pitched as the missing layer of their stated roadmap, not a gap they haven't noticed. - Guideline is already attacking our calibration wedge. Lumina was divested in 2023; the 2026 news is a Guideline↔Prisma API explicitly built to "kill spreadsheet reconciliation" — plan-vs-actual round-trip. We cannot pitch plan-vs-actual reconciliation; we must pitch decision valuation and calibration (predicted-vs-realized at the decision level), which Guideline doesn't touch. - Prisma Direct is announced, not live (Mar 31 launch, Disney first, Q3 go-live). Pitch it as a fresh surface being built now — the moment to embed signed decision records, not retrofit. - Basis is partner, not just competitor (Jan 6, 2026, spans planning→finance) — proves a deep third-party integration path exists. - CSP holdco equity covers Flashtalking+Protected resale only, not Prisma. Publicis 7-yr renewal was Feb 2023. Nielsen DDL is future (Sep 2026). Revenue figures are modeled; cite only $200B+ spend, 100k+ Prisma users, $150B+ through Prisma Finance. - ANA fee = Aquila's 0.075% "Fractional Advertising Contribution," capped $750k, processed via a system built with MO — announced, not flowing. - Prisma has its own product org (Kane CPO of Prisma, McGrory President of Prisma); Markman President/COO May 2026 with an AI-transformation mandate — that's the exec door. **2. NEW FINDINGS BY PITCH VALUE** 1. IAB AAMP + AI Transparency Framework (Jan 2026) standardize agentic audit-trail requirements; MO has no public governance answer. Our signed decision records = their AAMP compliance story. 2. Incrementality gap holds but narrows: Innovid Outcomes+Affinity is attribution, not contribution/decision audit. Say "decision contribution," never "attribution." 3. Swivel-chair persists at holdco scale: IPG Orion posting (Jun 2026) — manual schedule stewardship into Prisma+MBOX, monthly invoice matching, "Dual IO transformation." Live pain, their words. 4. IPS: 8 of 9 largest holdcos, >$50B/yr AP feeding Prisma — the settlement rail our signed records should ride. 5. Partner mechanics are concrete: API-category certification, partners@, 7 releases/yr, "Digital Custom Fees" configs; precedents Microsoft/Magnite/Basis. Decision-valuation as a new certified category is the ask. 6. Agentic flank (Wren on Ad Context Protocol, Halliard's MCP buy, "enterprise tax" framing) gives MO urgency to prove governed automation — our tailwind. 7. Legacy Spectra/OX estate still live under Prisma; calibration must span both. 8. Demand frame: 56% of 320 marketers cite fragmentation; CTV/video +63% H1. **3. SCREEN ANATOMY FOR NATIVE MOCKS** - Buyer shell tabs: Plan · Buy · Traffic · Analyze · Reconcile. Campaign keyed by C/P/E (Client/Product/Estimate); approvals via MAF/Lumina; "Buy Grid View" BETA; the reconcile action is literally "OK to PAY." - Plan/Buy: campaign>package>placement; entry paths "Prisma for Sellers, RFP Import, Manual Entry"; placement columns incl. Cost Method (CPM/CPA/CPMV/Flat/Free), Unit Rate, Planned Unit Amount, Served by; cube icon=package, star→roadblock; fees are a "Fee" placement type. Cost method locks after IO sent. - Actualize: "Original Planned Dollars and Actualized Dollars within the same view"; designate "payable delivery"; "variance rules" at agency/user level; delivery pre-populated daily from ad servers via Analyze's Provider dropdown; monthly cadence. - Buyer Invoices: statuses Pending, Reconciled, Pending credit, Pending adjustment, Revision requested, Incomplete, Reversed. "Booked budget" vs invoice auto-highlights discrepancies; DV360 = one invoice per Prisma Order #; credit memos negative, adjustments positive; "Reverse Reconciliation" auto-posts to the financial system; History icon = field-level audit trail (our seam: it logs edits, not decisions). - Seller (PFS): Sales Inbox order statuses NEW/PENDING/OPENED/ACCEPTED/REJECTED/EXPIRED/PAST DUE; revisions Rev 0.01…, ACCEPTED (WITH FLAG), REV PENDING/RETURNED/SENT; purple=changed, blue=required; Invoice Details: Attach Invoice/POP (15MB), order # auto-fills Supplier/Advertiser/Agency, HISTORY screen. **4. ONLY-THE-ROOM UNKNOWNS** - Exact buyer Actualize grid columns, statuses, buttons; variance auto-distribution mechanics; whether month-end close is a named screen (all gated eLearning). - NIVO-in-Prisma timeline, and who signs/owns agent decision records — is governance roadmapped or open? - Sequential-liability handling inside Prisma Finance; ERP handoff contract. - Can "decision valuation" become a certified API category, and what do Custom Fees cost partners? - Does Aquila's MO-built fee rail become a neutral settlement surface we can attach to? - Does Prisma Direct actualized TV data flow into Actualize with the same variance rules? - Buyer-side order status labels; whether "Moe" exists.
EThe deep think: pins · buy-in ledger · meeting plans · path to network · synthesis
########## LENS pins ########## # THE PINS — every pin per room transition Owners: Adam=story/politics · Spencer=commercial/paper · Matt=method/data rights · Jordan=runtime/security. ## 0→1 · Wednesday → three booked meetings |Pin|Why it blocks|Knock-down|Own|Falls at|Early warning| |-|-|-|-|-|-| |POL·Zvika containment (A13)|He cc's Wednesday; if substrate reads as orchestration grab he vetoes the tech session — "not gonna happen"|Boundary sentence min 0–10; substrate segment names NIVO's lane untouched; only his two doors (creative test, tech session) referenced|Adam|Wed|Zvika interjects in min 35–50; "super early" repeated; Kuperman silent| |POL·Kane's boundary|His on-record line ("decisioning stays in partner stacks") makes any decisioning smell a threat; he gates Q01–Q09|Boards in his screens/vocabulary; frame as read-only columns + his product's questions|Adam|Wed walkthrough|Q02 deferred to "roadmap"; no engineer named for follow-up| |POL·Markman unclaimed win|New (May '26), no history with us; without a transformation win he can own, no sponsor for substrate|Min 35–50 addressed to his mandate: estate-as-capabilities, one-machine|Jordan|Wed|He delegates follow-up to staff; no reaction to Q12| |COM·Certified category|No Carafello yes-in-principle → boards never land natively (A11)|Precedent stack: Guideline/Nielsen/Basis; ask for kickoff date, not the category|Spencer|Wed min 50–62|Routed to "fits existing verification category" with no date| |LEG·No named data owner (Q16)|90-day test has no data; everything in Room 2 slips|Ask for name+date in min 75–90; fallback stated: trial runs on OMG seat we hold|Adam|Wed close|"We'll get back to you"; sandbox question unanswered| |LEG·Paper clock|OMG T&Cs "taken forever" — MO's MSA/DPA will too; serial paper kills the quarter|Start MO paper Wednesday-week in parallel; Boombox trial on OMG seat needs no new doors, so nothing waits|Spencer|Week after Wed|MO legal not engaged within 2 weeks| ## 1→2 · first proofs → calibration track |Pin|Why|Knock-down|Own|Falls at|Warning| |-|-|-|-|-|-| |POL·Zeevi kill switch|He said "maybe we'll say it's not worth it"; Alison.ai (30 ppl, 4 yrs, only this) is the bar|Scope small, win vs holdout; answer = "scoring says what won, pricing what it was worth"|Matt|Creative scoping|No campaign named; success measure left vague| |POL·NIVO engineer NIH|Tech-session verdict travels to Zvika; lukewarm = door cools|Container runs end-to-end live; their integration hypothesis written by them; ask for one nominated workflow (Q13)|Jordan|Tech session|They demo at us instead of running ours; no workflow nominated| |TEC·Grain/latency (A3–A5)|Wrong delivery grain breaks calibration claims|Q05–Q07 answered before data moves; narrow decision class if grain thin, say so in record|Matt|Data-access session|Export offered as monthly PDF-grade aggregates| |TEC·MRC/tag lock|Serving value-tag may be locked to MRC-accredited vendors; Q04 map needs Zvika's team = his sanction|Verify pre-room; if locked, ride Prisma-side surfaces only, keep serving wedge for later|Jordan|Tech session|Q04 answered "policy question, not product"| |LEG·Clients'-clients rights|The $200B ledger is agencies' clients' data (Bill: "it's their client's data"); no authorization = no track|Slice = one consenting advertiser via named owner; de-identified aggregates only; PARTNER-RIGHTS spine quoted in first paper|Spencer+Matt|Data-access session|MO legal asks who authorizes and nobody answers| |LEG·Moat terms|Learning-retention post-termination + model ownership are THE terms; retrofitting them later = renegotiation from weakness|In the first paper, not the second; trade: neutrality clause + no single-advertiser recoverability|Spencer|Certification kickoff|Draft arrives silent on derived-model ownership| |LEG·Exclusivity trap|MO will want sole-source; violates two-breadth-source rule (PARTNER-RIGHTS)|Refuse exclusivity on learnings; offer category co-marketing instead|Spencer|Kickoff|"Exclusive" appears in any draft| |COM·Who bills (Q15)|Unclear Custom Fees path = no revenue mechanics|Custom Fees carries partner charge; % of media, never % of savings|Spencer|Kickoff|Fee mechanics deferred past 90 days| ## 2→3 · track → substrate position |Pin|Why|Knock-down|Own|Falls at|Warning| |-|-|-|-|-|-| |POL·Sponsorship converts|Bet meeting needs Bill+Markman spending political capital vs Prisma legacy org|Calibration track + skunkworks results on table; enterprise-value frame concrete|Adam|Bet meeting|Meeting postponed twice; "after planning cycle"| |POL·McGrory unmapped|Prisma P&L owner absent from our map; retention workload (A10) is his door and his budget|Retention console demo routed to him via Bill|Adam|Post-track|Retention ask never re-raised by their side| |POL·Their team picks|First estate workflow chosen by Kane's team or it's rejected as invasive|Selection meeting theirs; policy/tenancy/release authority written pre-wrap|Jordan|Selection mtg|We propose the workflow list| |TEC·Tenancy+security (Q12/A9)|Record in MO tenancy, partner-verifiable; startup infra inside MO cloud = full security review, tenant/identity mapping without bleed|Runtime-enforced boundary is skunkworks build #1 (today declared-and-audited — say it first); SOC2/pen-test package ready|Jordan|Security review|Review scoped >90 days; architects find the gap before we state it| |LEG·Who is the counterparty|Precise product vs Boombox/Konstant platform seam — MO asks "who am I contracting with, who operates, escrow, SLA"|Boundary papered per boundary skill before the bet meeting; one contracting face|Spencer|Bet meeting paper|MO legal flags entity confusion| ## 3→4 · substrate → network |Pin|Why|Knock-down|Own|Falls at|Warning| |-|-|-|-|-|-| |POL·Holdco consent|Network edges expose agency economics; IPG/OMC/WPP are shareholders AND customers — can kill custody framing|Omnicom first edge only, Blueprint×Omni, framed as business won (Zvika: "just tell me what's needed")|Spencer+Bill|Omnicom session|Wren builds around instead of through| |LEG·Per-edge mandates|Every RelationshipRecord/mandate needs both principals' consent (§0B/0C); no shortcut via MO's paper|Product-led cold start: each edge born from a working product, not a platform pitch|Adam|Per edge|Anyone proposes "MO consents for the graph"| |COM·Custody economics|Fee rail (Aquila generalized) undefined; network economics stay Not-claimed until contract|One settled Omnicom edge prices the rail; MO keeps custody revenue, we keep evaluator fee|Spencer|Post-first-edge|Pressure to claim network revenue pre-contract| |LEG·Neutrality standard|MO neutrality is shareholder-capitalized; custody must clear IAB AAMP/disclosure bar|Signed five-field records = compliance artifact; align to AAMP explicitly|Matt|Standards track|AAMP ships and our record format diverges| **The pin nobody owns yet:** clients'-clients authorization at ledger scale (1→2 LEG) recurs at every depth — it is the same pin as holdco consent at 3→4. Assign it one owner (Spencer) and one instrument (the PARTNER-RIGHTS spine) now, or it falls on us twice. ########## LENS buyin ########## # THE BUY-IN LEDGER Every yes the program needs, mapped to the room where it's asked. Motives in their own words (Jul 28 transcript) where given. |Who|Need, by when|Motive (their words)|Likely objection|Argument that lands with them|We offer| |-|-|-|-|-|-| |**Bill Wise**|Sponsor substrate as growth spine; front Omnicom session. Wed (Rm 0) → bet mtg (Rm 3)|"Recreate all the connections… in new architecture… we want to own that orchestration layer"; "attack and own Omnicom together"|None on direction — risk is he stays visionary, never mechanizes|Enterprise-value math: estate-as-capabilities is the accelerant; Omnicom is the proof business|The bet made takeable: proofs before commitments, his capital already priced| |**Iván Markman**|Substrate sponsorship + named data owner (Q12/Q16). Wed|No transcript voice — hired May '26 to run the AI transformation; NIVO launched without governance|"Why a startup under my transformation?"|The governed version of their own stated roadmap (NIVO-in-Prisma), record in MO tenancy, AAMP standardization arriving anyway|Transformation with audit trail built in — his deliverable, de-risked| |**Drew Kane**|Q01–Q09 answered; boards live in his screens. Wed → Rm 2|On record: "Publisher decisioning remains within existing publisher and partner stacks"|Roadmap load; Guideline owns plan-vs-actual|We stand on his own boundary — decision-level pricing, never plan-vs-actual; read-only column/side panel first, precedented (Guideline/Nielsen/Basis)|Prisma becomes system of judgment; we do the integration work| |**Chris Carafello**|Certified "decision valuation" category + commercial unit (Q14–Q15). Wed → Rm 2 kickoff|Partnerships seat; program organized by API category|"No such category exists"|Stretch an existing category, ship, let usage argue for the name|A precedented bilateral, Custom Fees carries the charge| |**Zvika Netter**|NOT sponsorship — a non-veto. His doors only: creative test, tech session. Standing|"Orchestration… the essence of our future existence… not gonna happen"; but "if it's through partnership, I'm the first… zero ego"; "show us… if we can give a superpower to this, let's do it"|"Super early… usually I will say we don't have time for this"|Nothing pitched over his head; his roster grows, his compliance story gets its record; Omnicom line is his own ("five-year renewal… just tell me what's needed")|Creative test executed excellently at the size he offered; orchestration untouched| |**Dan Zeevi**|Retrospective scoped: campaign, holdout, export, success measure (Q10). Rm 1|"Leading everything platform… and the Nevo agents"|Alison.ai comparison — "is it worth the interview"|Scores tell what won; we price what it was worth — a feed into optimization, "not a report" (Zvika's own bar)|A result his team owns and shows upward| |**Cody Wymore**|Ally in NIVO growth motion. Ongoing|"Accelerating all the AI stuff"|None yet — unengaged|Growth story: capability roster = pipeline|Co-sellable proof points| |**Innovid engineering** (tech session's real audience)|Verdict: "does this make us faster" + one workflow nominated (Q11–Q13). Rm 1|Via Zvika: "we have people doing this, we have tools"|NIH — orchestration is their identity|Engineer-to-engineer: governed container run end to end, no slides; their integration hypothesis, written by them|Governance by construction they don't have to build; lukewarm verdict costs nothing (substrate proceeds Prisma-side)| |**MO legal/security** (unnamed, clock owner)|Data terms per the spine: partner's data, Precise's anonymized model, aggregates only cross. Starts Wed, gates Rm 2|None — but OMG precedent: "taken forever to get the paperwork all set… the hardest part of the whole thing"|Cross-source learning rights, post-termination retention|Record sits in MO tenancy, partner-verifiable; no PII, no raw pooling|Draft terms Wednesday, not after — legal is the schedule risk, not a yes/no| |**Prisma eng leadership** (behind Kane, unnamed)|Sandbox + API event answers; a key from a closed portal. Rm 2|—|Closed developer portal is policy, not signup|Read-only first release; certified-partner precedent|We absorb integration cost| |**Holdco/client owning retrospective data**|Export sign-off. Rm 1, before data moves|Bill's own frame: "it's not our data… it's their client's data"|Client-data exposure|De-identified aggregates, agreed holdout, findings returned|Their creative priced, free look| |**OMG seat owner**|Tolerate Boombox trial on existing seat — no new doors, but no surprises. Now|T&Cs signed "last night" for publisher optimization|Scope creep past mandate|Trial runs inside existing scope on their own campaigns|Value surfaced on their spend first| ## Load-bearing yeses 1. **Bill + Markman sponsor the substrate** (Rm 3, seeded Wed). WS2 is the actual goal; without this the program is three vendor projects. Bill converts Markman; nobody else can. 2. **Zvika's non-veto holds.** He can kill nothing directly but can chill everything. The route is built so his containment IS the plan — both his doors entered at his stakes, growth talk kept with Bill/Markman. 3. **A named data owner + legal terms that let data move** (Q16 + the terms track). Every proof in Rooms 1–2 waits on this; the OMG paperwork history says it, not sponsorship, is where ninety days goes to die. Open the legal thread in the Wednesday room itself. Kane's yes matters but is derivative: with 1 and 3 in hand, the boards land in his screens on precedent he already set. ########## LENS meetings ########## **MEETING-PLAN STRESS TEST.** The list walks Rooms 0-3 cleanly but has three structural holes: no meeting owns the security/legal gate every data-touching meeting silently assumes (OMG T&Cs "taken forever to get the paperwork all set" is the base rate); Kane is handed nine API-grain questions (Q01-Q09) inside a 90-min exec room; and the Zvika re-entry the forks promise ("door stays warm for a second look with results in hand") has no meeting behind it. **EXISTING** **Wednesday (Aug 5, 90')** — Obj: leave with three booked meetings + a named data owner. Agenda: agreed frame + walkthrough in their screens; substrate as Bill's accelerant, NIVO untouched; 90-day test + three yeses. Exit: 3 invites, data owner, security review kicked off (add), Kane deep-dive booked (add). Fail: Q-detail swallows the room, or Zvika hears substrate as orchestration. Recover: park all Q's to the Kane session on the spot; hand Zvika his lane by naming the creative-test date aloud. **Creative scoping (Zeevi)** — Obj: campaign, holdout, export, success measure written before data moves. Agenda: campaign pick; holdout + measure; export mechanics + signer. Exit: all four on paper. Fail: export blocked because the security track never started. Recover: scope anyway; park export behind the security meeting; begin at aggregate grain. **Tech session (Jordan + NIVO eng)** — Obj: their engineers write the integration hypothesis after a governed container runs end-to-end. Agenda: run it; their hypothesis; nominate one workflow. Exit: verdict + nomination. Fail: reads as an orchestration pitch — Zvika's wall. Recover: restate "infrastructure" (his word, 39:12) and shrink to one capability call. **Omnicom session (Bill, Spencer)** — Obj: Blueprint + Omni become one entry. Exit: entry chosen, who-says-what. Fail: two-track drift. Recover: front on the OMG seat we hold; MO joins. **Data access (named owner)** — Obj: slice, path, designed-in holdout. Exit: campaign class/months/API-vs-export on paper. Fail: no owner named Wednesday. Recover: OMG portfolio fork — but still date this meeting or the 90-day clock never starts. **Certification kickoff (Carafello)** — Obj: "decision valuation" scoped, unit named, yes-to-key timeline. Fail: no new category. Recover: ship under an existing one; usage argues for the name. **Monthly calibration (standing)** — Obj: grade predictions vs actuals before both teams. Fail: decays into status. Recover: chair from the record — file updates or the meeting didn't happen. **Bet meeting (Bill + Markman)** — Obj: substrate sponsored as spine; one estate workflow chosen. Fail/recover already sound: widen trial, grade in public, return. **Estate workflow selection (Kane's team)** — Obj: their pick, with policy/tenancy/release authority written pre-wrap. Fail: we pick for them. Recover: refuse to wrap unowned work. **MISSING — add six** **1. MO security/data review (start week of Aug 10)** — Obj: open the InfoSec/DPA/sub-processing track that gates every byte. Agenda: data classes + residency; sub-processor terms; holdco flow-down. Exit: named MO security owner, checklist, clock. Fail: deferred → OMG repeat, months lost while three workstreams idle. Recover: escalate through Markman — procurement friction is inside his transformation mandate. **2. Kane product deep-dive (2h, his engineers)** — Obj: Q01-Q09 answered at API grain outside the exec room. Agenda: order events + grid extension; actualization sources + variance rules; invoice ref + OK-to-pay. Exit: each Q → answer or owner+date. Fail: Kane defends surface area. Recover: anchor on his own boundary line — we stand on his side of it. **3. Cody Wymore alignment (30')** — Obj: recruit the VP whose title exists to accelerate this as internal scheduler. Agenda: workstream map; what he can unblock; cadence. Exit: he owns MO-side calendar pushes. Fail: he reads us as Zvika's problem. Recover: give him Bill's growth number, not the tech. **4. Holdco/client consent conversation** — Obj: map whose consent each data class needs before calibration touches agency-managed spend. Agenda: MO→holdco→client chain (Bill: "it's their client's data"); the 82% direct-to-marketer bookings as the shortcut; learning-rights language per PARTNER-RIGHTS ("data stays the partner's; the model is ours"). Exit: consent map + one consenting-advertiser candidate. Fail: assuming MO can grant what it can't — the file itself calls this "the biggest governance question" yet no meeting owns it. Recover: start where MO's counterparty IS the marketer. **5. OMG trial expansion (Precise-side, this week)** — Obj: widen the live OMG seat so every MO fork's "nothing waits" branch carries real spend. Agenda: current scope; add one campaign class; publish grading. Exit: widened scope + cadence. Fail: OMG stays a fallback clause, never developed. Recover: none needed — no new doors; just schedule it. **6. Zvika results review (the door-reopener)** — Obj: re-enter through his door with the retrospective graded, converting report → optimization feed (his stated bar, 33:46). Agenda: results vs holdout; the feed design; second look at the container verdict. Exit: his call on next size. Fail: read as substrate-by-stealth. Recover: bring only workstream-1 material; let him raise the rest. **Sequence fix:** security review + OMG expansion start now (neither needs Wednesday); Kane deep-dive + Wymore get booked FROM Wednesday; consent conversation runs BEFORE the data-access session; Zvika review auto-books the day retrospective grades land. ########## LENS path ########## **Verdict: Room 3 → Room 4 is not walkable as drawn.** Room 3 ends inward-facing (estate workflows wrapped, records in MO tenancy); Room 4 opens with advocates, signed edges, custody. The canon is blunt about the gap: "a published capability, common schema, or unaccepted proposal is not a network edge" (§0A), and network economics stay **Not claimed** "until a service and contract establish a price and payment right" (§0C). Five rooms are missing, plus one the canon says we're building in the wrong order. **Room 3a · First sponsored customer product — the canon's real seed.** True inside: MO sponsors a customer-specific decision product for one named end customer inside an existing relationship (the Nike shape, §13.4); customer gets a narrow human-controlled surface, no Konstant adoption required. The customer class is named in the transcript: Bill's 82%-direct-to-marketer unlock (19:01) — MO's own brand relationships, entered through zero Zvika doors, and it's Bill's growth story. Stands on: Room 3 substrate + the MO-brand RelationshipRecord's *permitted purposes*. Opens via: a product-sponsorship session with Markman + the exec owning one direct-marketer account (not Kane's lane). Pin: the existing MO-customer contract may not permit relationship-context reuse for a new product — the disclosure-boundary clause blocks before any API does. **Room 3b · First external principal activated.** True inside: a counterparty controls its own side of one edge — narrow surface suffices (§13); no holdco platform decision needed. Best candidate: **Omnicom**, because the OMG seat paper already exists — the T&Cs took "forever" (15:52, signed the night before Jul 28), so any room requiring a fresh instrument inherits that clock; reuse the paper we have. Disney-via-Direct is the second candidate (fresh surface until Q3). Opens via: the Room 1 Omnicom working session, upgraded — leave with Omnicom named as *principal on an edge*, not prospect on a deal. Pin: Wren — Omnicom is already piloting agent-to-agent routing around intermediary tolls; they accept MO custody only if the mandate+record is worth more than disintermediation. **Room 3c · First complete economic edge.** True inside: one buy or optimization travels the full §0B chain — RelationshipRecord → mandate → RunReceipt → **AcceptanceRecord** (the customer principal's, which no current room produces) → ContributionRecord → **PaymentInstruction**. The calibration track (Room 2) yields RunReceipts and ContributionRecords only; acceptance and payment are the two objects with no owner anywhere in the arc. Stands on: 3a + 3b + Custom Fees as the instruction rail (Q15 already probes it). Opens via: a commercial closing where a contract creates the payment right — likely certification agreement + one live Custom Fees config. Pin: "the contract creates the payment right" — no three-party (MO/Precise/counterparty) contract shape exists yet, and A6's invoice-reference answer decides whether the record can even ride settlement. **Room 3d · The monetization decision.** True inside: billing topology settled — MO bills customer and Precise invoices MO via Custom Fees, or Precise bills direct on the OMG seat. Canon rule: "keep ordinary billing primary" (§15.12) — studio fees, operations, capability usage, co-sell *before* any network take; the Aquila-generalized rail is Room 4+, not Room 3d. Opens via: Carafello certification kickoff widened to commercial topology. Pin: referee independence — §8 requires Precise pricing to preserve neutrality while MO monetizes freely; if MO marks up the referee, the PARTNER-RIGHTS neutrality clause (the moat term) breaks. **Room 3e · Custody rulebook.** True inside: capability certification, dispute process, mandate revocation written as network governance, not vendor policy — canon §0C assigns disputes to the contracting companies and revocation to each principal; the custodian holds records, not rules. Opens via: partner-program certification (already Room 2) explicitly rechartered as governance v0, aligned to AAMP (A12). Pin: Zvika reads any "council" as an orchestration claim — scope it to records and certification, never routing, or A13 fires. **Room 3f · Second graph.** True inside: one capability contract runs against a second host unchanged; an anonymized learning from the MO graph improves work elsewhere — the canon's own test of "network vs deployment" (§14: hypothesis until one participant's history helps another counterparty). The file's footer already names the tenant: **iHeart**. Pin: the unnamed tension — MO-as-custodian vs PARTNER-RIGHTS rule 1 (never single-source, ≥2 breadth sources, model and ledger portable). No current room tells MO the network they custody cannot be exclusive. That conversation is nowhere on the calendar and it is the hardest one. **What the canon says about cold start that the rooms ignore:** the seed is product-led, not substrate-led — "do not ask companies to join an empty network; give every customer a useful product inside a service it already buys" (§13.11). Rooms 2-3 run integration-project cadence (grain, certification, wrapping); the network cadence is edge-creation, and its first object is 3a's sponsored product, which no room contains. Second omission: the demand return path (§13.9) — no-match demand briefs are the growth loop after the first product, and the arc captures CapabilityDemand nowhere (TenantCapabilityRequestRecord is design-only). Third: the hallway is *shorter* than drawn in one respect — a counterparty needs only a narrow surface, so Room 1's Omnicom session could open 3b this month — and *longer* in the one that matters: acceptance, contract, and payment objects, which no amount of substrate produces. Sources: scratchpad/mediaocean-arc.html (s-rooms, A1-A13, Q01-Q16); Jul 28 transcript (15:52, 19:01); docs/opportunities/CAPABILITY-NETWORK-CONCEPT.md (§0A-0C, §13, §14, §15); docs/atlas/PARTNER-RIGHTS.md (neutrality clause, never-single-source). ########## SYNTHESIS ########## # Walking to the network, revised The frame holds: Bill champions growth, Markman owns the transformation, Zvika owns NIVO and we enter only through his doors. The substrate is the goal; the network is what it compounds into. ## Three load-bearing yeses 1. **A named data owner and sandbox** (Markman, Q16): opens Rooms 1-2; until then the OMG-seat Boombox trial carries the proof. 2. **The certified category with learning retention** (Carafello, counsel; Q14-Q15): opens Room 3; a partner can revoke data, they cannot un-teach the model. 3. **Substrate sponsorship** (Markman and Bill): opens Rooms 4-5. Everything else has a workaround; these set the speed. ## Room 0 · the walls · depth 0 **Walls:** three workstreams agreed with names (the Jul 28 transcript); Omni papered; the Jul 30 deck live; Wednesday booked. **Meeting: Wednesday, Aug 5, 90 min (Markman, Bill, Kane, Carafello; Innovid cc).** Leave with three calendar invitations, one per Room 1 meeting, plus yes 1. Asks: Q01-Q09 (Kane), Q14-Q16 (Carafello, Markman). Fork: Q02 yes, boards land native; long timeline, the OMG-seat trial carries proof, nothing waits. Owner named, value report this quarter; not, trial on our seat. **Pins:** - *Orchestration by another name, and "super early."* Zvika's two containment moves: the substrate read as a move on NIVO ("not gonna happen"), and the early tag that licenses deferral. Move: boundary sentence in minute one, his creative test on the agenda, proofs first (OMG paperwork done, pilot lift), nothing over his head. Owners: Adam, Spencer. Warn: "orchestration" relabeling, headcount questions, or silence. **Buy-in: Kane.** The boards live in his screens and honor his line: decisioning stays in existing stacks; we accelerate, never replace. ## Room 1 · first proofs · depth 1 **In it:** the retrospective runs against a holdout; one workflow wrapped and governed on Boombox; the Omnicom entry chosen. Offered on Jul 28. **Walls:** Zvika's creative offer · Bill's Omnicom close · A1-A7. - *Creative test scoping, Dan Zeevi's team.* Leave with campaign named, holdout agreed, export signed, the success measure a feed into optimization, not a report ("not interesting": Zvika). On Alison.ai: scoring says what won, pricing says what it was worth. Q04, Q10. Fork: rich element grain, price the 500 attributes; thinner, version-level first. - *Tech session, Jordan with their engineers.* Leave with their integration hypothesis in their words, the container run end to end, a verdict, one workflow nominated. Q11-Q13. Fork: good verdict, the NIVO door opens from inside; lukewarm, the substrate proceeds Prisma-side, the door stays warm. - *Omnicom session, Bill and Spencer.* Leave with the stakeholder map, one entry point, who says what. Fork: Blueprint-led, they front and we power; Omni-led, we front and they join. **Pins:** - *Report, not feed.* Scoping drifts to an insights deck. Move: success measure written before data moves. Owner: Matt. Warn: "readout" in scoping notes. - *The bake-off.* Their engineers demo at us. Move: enter as infrastructure ("zero interest" in orchestration), let them write the hypothesis. Owner: Jordan. Warn: the agenda is a product tour. **Buy-in: Dan Zeevi.** His loop closes with a price on every element: work he already wants, made stronger. Zvika sees we used only his doors. ## Room 2 · the calibration track · depth 2 **In it:** ninety days of priced decisions graded against outcomes on real spend; monthly grading before both teams, wins and misses. **Walls:** Room 1 outcomes · Q01-Q09 answered · the Jul 24 ninety-day definition. - *Data access, with the named owner.* The slice, the path, the holdout designed in. Q05-Q07. Fork: grain matches A3-A5, run inside their tolerances; different, narrow the decision class and say so. - *The rights session, new.* The spine on paper: data stays theirs, model and anonymized learnings ours, only aggregate crosses the line, neutrality contractual, retention survives termination. Fork: retention granted, the track compounds; refused, it still runs but we do not scale on terms that reset the model. **Pins:** - *Paperwork is the rate limiter.* The OMG T&Cs "taken forever." Move: start paper the day after Wednesday; the trial rides the seat we hold. Owner: Spencer. Warn: no draft two weeks out. - *Data-only terms.* A work-product clause hands them the model. Move: the spine sentence, and the reciprocity: the benchmark flows back to them. Owner: Spencer with counsel. Warn: "work product" in a draft. **Buy-in: McGrory and Markman.** McGrory: the retention console, their own data, zero client exposure, answering the NRR dip his P&L feels. Markman: a graded track, not a pilot deck. ## Room 3 · the commercial seat · depth 2 · new **In it:** decision valuation certified, a key issued, Custom Fees carrying the charge, billing named per workstream. Proof without a commercial seat stalls here. **Walls:** A11 · the precedent (Guideline, Nielsen, Basis) · Room 2's track. **Meeting: certification kickoff, Carafello.** The category scoped, the commercial unit named, the timeline from yes to issued key. Q14-Q15. Fork: new category, the boards land under our name; existing stretched, ship under it and let usage argue for the name. **Pins:** - *Committee time.* Certification runs long. Move: ship under the nearest existing category now. Owner: Spencer. Warn: timelines in quarters. - *Single source.* Mediaocean becomes our only breadth feed. Move: keep a second source live (the OMG seat, a DSP); gate market claims on measured coverage. Owner: Adam. Warn: exclusivity language. **Buy-in: Carafello.** The shape exists in his program, we are a category he gets to precedent, and the charge rides rails he runs. ## Room 4 · the substrate position · depth 3 **In it:** estate workflows as governed capabilities on Boombox, records in Mediaocean's tenancy, NIVO calling them through doors it opens itself. The goal. **Walls:** Room 2's track · Room 3's seat · A8, A13 · the tech-session verdict. - *The bet meeting, Bill and Markman.* Leave with yes 3: the substrate sponsored as the spine, one estate workflow chosen to wrap, the enterprise-value frame concrete. Fork: sponsored, wrap it and the room re-rooms to depth 1; not yet, widen the trial, keep grading, return with a longer track. - *Workflow selection, Kane's team.* Their team chooses; policy, tenancy, release authority written before the wrap. Q12. **Pins:** - *The replacement read.* The substrate heard as replacing NIVO. Move: wrap Prisma-side first; NIVO consumes capabilities, never yields any; Zvika's own bar, "give a superpower to this." Owner: Adam. Warn: who-owns-it questions from Innovid. - *The window closes.* Zvika's race-car clock; attention moves. Move: monthly grading keeps actuals on the table; the bet prices from record, not promise. Owner: Adam. Warn: the bet meeting slips twice. **Buy-in: Markman.** His hiring mandate: the legacy estate as governed capabilities, record built in. Bill: the accelerant made mechanical. ## Room 5 · the first edge · depth 3 · new **In it:** one bounded job crosses the graph and comes back accepted: relationship recorded, mandate approved, run signed, result accepted, payment instructed. A proposal is not an edge; acceptance is. **Walls:** Room 4 · the two-door Omnicom position · the 82% direct-to-marketer unlock · who-controls-what. **Meeting: first-edge scoping, Bill and Spencer with the counterparty.** The counterparty named (Omnicom, or one direct marketer from the 82%), the job bounded, the acceptance rule written, authority on each company's own side. Fork: Omnicom-led proves agency economics; marketer-led, the direct unlock. Either way the graph carries work, not messages. **Pins:** - *Forever proposed.* The edge stays a slide. Move: one job, one acceptance record, inside the quarter. Owner: Adam. Warn: network talk with no named second company. - *Custody confusion.* Mediaocean read as controlling the customer's side. Move: each principal controls its own side; custody is not control. Owner: Adam. Warn: "their advocate, our tenant" talk. **Buy-in: Bill.** "Own that orchestration layer" made tactical: the first accepted, signed edge on his graph, Mediaocean as custodian. Zvika blessed the math: if it wins business, "just tell me what's needed." ## Room 6 · the network, custodied · horizon **In it, drawn not walked:** advocates on the graph, work traveling as mandated, signed edges, settlement on rails already moving $50B a year, Mediaocean custodian, the pricing reference for agentic media; monetization follows use. **Walls:** every room behind it. Nothing claimed until a service and a contract price it. ## The re-rooming commitment The file updates after every meeting above. Outcomes become walls, projections re-derive, a fired pin becomes history with a date. We log what we project each room to take and grade ourselves as actuals land. That grading is the product, practiced on ourselves first.
FThe adversarial QA pass (94 findings, all applied)
[KILL · goal] The likely organizational home for Precise capability is NIVO extending into Prisma. PROBLEM: Leadership-map row for Zvika still routes the entire play into NIVO's org — the old frame. Current frame: work lands corporate/Prisma-side (Bill, Markman, Kane, Carafello); Zvika's lane is entered only through doors he opens. FIX: Replace the cell with: "NIVO is his and stays his. Protective owner of orchestration; enter only through the doors he opens (the creative test with Dan Zeevi, the tech session with Jordan). The growth conversation belongs to Bill and Markman and lands Prisma-side. Never position against him." [KILL · goal] wrapped by Boombox and registered in NIVO as a capability its agents call PROBLEM: Board 04 — the goal board — makes NIVO the registry. That is the old 'governance layer under NIVO's agents' frame: the substrate becomes a NIVO enhancement instead of THE goal. Annotation 3's state stamp "the Zvika conversation · Bill's accelerant" then routes the goal through Zvika, violating the political map. FIX: Invert ownership in the px-panel: "wrapped by Boombox, registered once on the substrate, and callable from NIVO like any other tool — NIVO is the first caller, not the registry; the same capability answers from Prisma-side surfaces." Change anno 3's state to "the Bill and Markman conversation · lands corporate/Prisma-side". Keep the NIVO console as the demo skin only; the kicker's "the position itself sits underneath" is correct and stays. [KILL · goal] Agent governance layer under NIVO, built jointly PROBLEM: Route 04 in "Four ways in, one ask" is verbatim old frame: the substrate described as a governance layer under NIVO, a joint build requiring Zvika's sponsorship. FIX: Replace with: "The capability substrate under the estate: one Prisma-side workflow wrapped on Boombox and run governed, landing corporate/Prisma-side" with state "the goal". [KILL · goal] three sizes of one idea: calibrate creative · price decisions · own the network PROBLEM: Index hook (and its title "The pitch, from first principles") still sells the old three-sizes options ladder and an old section title; section 09 is now "The program, from first principles" with three workstreams as one machine. The index is the orientation surface, so this is the first old frame a reader hits. FIX: Retitle the index entry "The program, from first principles" with hook "three workstreams, one machine: creative · the substrate · Omnicom". [KILL · goal] Runtime · Zvika's engineers PROBLEM: Q11–Q13 keep the old "Runtime" surface name and route the substrate through Zvika's org — people who are only cc'd on Wednesday and whose door has not opened for this. Q13's "wrap as a NIVO-callable capability" restates the substrate as a NIVO feature and contradicts workstream 2's first proof (wrap one Prisma-side workflow on Boombox). FIX: Rename the surface "Substrate". Q12 stays with Markman. Rewrite Q13: "Which Prisma-side workflow would they nominate first to wrap as a governed capability on the substrate?" — owner Kane · Markman. Move Q11 (BYOA registration) and Q04 (placement-to-tag map, "Zvika's team") into a separate short list labeled "held for the tech session with Jordan", not the Wednesday table. [KILL · goal] the substrate the runtime workstream stands on PROBLEM: "Runtime" as workstream 2's name survives in four places: the Jul 31 timeline entry, "the runtime scope sentence" (Jul 30 entry), "workstream-2 runtime" twice plus "The runtime makes every workstream cheaper" in section 09, and "the runtime session booked with NIVO engineering" in the success criteria. FIX: Replace "runtime" with "substrate" in all five spots. The third yes becomes "the technical session Zvika offered, booked for Jordan" — same fix in the 75–90 strawman beat ("book the technical session") so both use one name. [KILL · goal] we are the missing layer of their own stated roadmap PROBLEM: Section 03's wedge sentence ("the governed version of NIVO-in-Prisma is still to be built…") positions Precise as a missing layer inside NIVO's roadmap — governance-layer frame, and a build that would need NIVO sponsorship the political map says not to seek. FIX: Replace with: "So the wedge: the governance their roadmap needs is what the substrate provides by construction — landing Prisma-side, with NIVO inheriting the answer without being asked to change." [KILL · goal] The boards in part two are workstream 1's workflow pointed at the buy PROBLEM: Mislabel from an older workstream numbering: workstream 1 is now creative optimization; the buy/actualize/reconcile boards are decision pricing inside Prisma — the foothold for workstream 2. FIX: Rewrite: "The boards in part two are decision pricing pointed at the buy" and, later in the paragraph, "a registered capability on the workstream-2 substrate rather than a Prisma feature." [KILL · goal] sequencing per the options ladder in the File PROBLEM: Surface 07 annotation cross-references a section that no longer exists under that name, and "options ladder" is banned options-menu language. FIX: Change the state stamp to "sequencing per the connection map (Surface 06)". [KILL · politics] CAPITAL IN PRECISE: WISE · KASSAN PROBLEM: An amber all-caps stamp on Fig. 2 declaring that Mediaocean's CEO and Vice Chairman hold personal investments in Precise. This is the single worst element on an accidental screen-share: a diagram label reads instantly where prose does not, and the fact already lives in the leadership table rows. 'Internal only' cannot carry a graphic that headlines the relationship. FIX: Delete the SVG text line. If the figure needs the signal, use 'EXECUTIVE SPONSORS' with no capital reference; the table rows carry the investor facts. [KILL · slop] Everything in amber is ours; everything else is how Prisma already works. PROBLEM: The masthead standfirst gives the reading key twice in three sentences, and the two versions contradict each other on the color name: sentence one says "everything in teal is Precise," sentence three says "everything in amber is ours." First paragraph of a team-facing companion, and it teaches two names for one highlight. FIX: Delete the sentence. "Everything in teal is Precise; everything else is Prisma exactly as it works today" already does the whole job. [KILL · coherence] Everything in amber is ours; everything else is how Prisma already works. PROBLEM: The masthead reading key contradicts itself within one paragraph: the bolded sentence says 'everything in teal is Precise' and two sentences later a leftover draft sentence says the same elements are 'amber'. This is the key the whole document depends on, and the merged arc's part-two intro already carries only the teal version, so the standalone has diverged from its own merged copy. FIX: Delete the sentence 'Everything in amber is ours; everything else is how Prisma already works.' so the standfirst matches the arc part-two kicker: one key, teal = Precise. [KILL · structure] Everything in amber is ours; everything else is how Prisma already works. PROBLEM: The masthead standfirst states the reading rule twice with two different color names: first "everything in teal is Precise", then this sentence claiming the same elements are "amber". The front door of the document contradicts itself about the one convention the whole boards apparatus depends on. FIX: Delete the sentence "Everything in amber is ours; everything else is how Prisma already works." and keep only the teal sentence. [FIX · goal] NIVO's roster can grow by the whole legacy estate, Boombox-wrapped PROBLEM: Assumption A8 states the goal as a NIVO enhancement, cites Zvika's conditional "absolutely" as if it endorsed the governed-containers pitch (transcript: "if there's a specific technology or tool that will enhance what we're building, absolutely"), and its tested-by column points at the misrouted Q11/Q13. FIX: Rewrite A8: "The estate can run as governed capabilities on Boombox, landing corporate and Prisma-side" — grounded in Bill's Jul 28 lines (own the orchestration layer, recreate the connections in new architecture) with Zvika's conditional door noted as exactly that; tested by Q12 and the rewritten Q13. [FIX · goal] our wedge: value tag on serving + MCP into the Orchestrator PROBLEM: Fig. 2 draws an active wedge into the Innovid unit that no opened door supports, and the pin caption "one capability, registered into both" reprises registered-into-NIVO. The frame allows only the creative test and the tech session on that side. FIX: Relabel the Innovid box: "workstream 1: the creative test with Dan Zeevi, at the size offered; MCP/BYOA later, through his doors." Re-caption the pin: "PRECISE: one substrate underneath; Prisma-side now, Innovid through opened doors, never competing with either." [FIX · goal] the sentence Zvika should leave the room repeating PROBLEM: Candor rules assume Zvika is in the Wednesday room; he and Kuperman are cc'd only. FIX: Replace with "the sentence the Innovid side should hear back through Bill afterward." [FIX · goal] Creative workstream · Zvika + Kane PROBLEM: Q10's owner is not in the Wednesday room, and the question conflates the 90-day campaign retrospective (Kane's data) with the creative test (Dan Zeevi thread). FIX: Split: Q10 becomes "Program · Kane · Markman" scoped to the reconciled-spend campaign slice; creative-test scoping (which assets, which holdout, Alison.ai benchmark) moves to the Dan Zeevi thread list alongside the held-for-tech-session questions. [FIX · goal] The governance layer stands open: the invitation this board answers PROBLEM: Surface 04's flowstrip step 4 (and the figcaption's "are the layer their launch left open") frames the goal board as answering a governance-layer invitation — the layer-under-NIVO story — rather than showing the substrate position. FIX: Step 4: "The substrate underneath stands open: the position this board shows." Figcaption close: "The approval column's policy machinery and every teal chip are what the substrate carries by construction." [FIX · goal] Everything in amber is ours; everything else is how Prisma already works. PROBLEM: Masthead standfirst says the reading rule twice, with contradictory color words (teal vs amber) — a merge leftover, and a repeated manufactured line. FIX: Delete this second sentence; keep only "everything in teal is Precise; everything else is Prisma exactly as it works today." [FIX · goal] one amber column and one amber panel added PROBLEM: Reader-facing copy calls the Precise accent "amber" throughout (captions, annotations, Fig. 1, panels) while it renders teal in both themes; register rule says teal = Precise. Readers at the screen will not find anything amber. FIX: Replace "amber" with "teal" in all reader-facing copy in both files (the CSS variable name can stay). [FIX · goal] "the essence of our future existence… not gonna happen" PROBLEM: The composite quote reverses the transcript order (Zvika: "…will give it to somebody else, right? Not gonna happen… that's the essence of… our future existence"). Appears in the Jul 28 timeline entry and A13. FIX: Quote in transcript order or split into two fragments: handing orchestration over is "not gonna happen"; it is "the essence of… our future existence." [FIX · goal] "maybe a year left till the big boys have these workflow things point-and-click" PROBLEM: Presented as a verbatim Adam quote; the transcript reads "what a year left. Till the big boys have all these workflow things like point and click" — the rendered version adds words. FIX: Drop the quotation marks and paraphrase: Adam put the window at about a year before the big platforms make these workflows point-and-click. [FIX · goal] had lived in an ephemeral scratchpad; we pulled it back byte-for-byte from Surge PROBLEM: Git/repo/ops commentary about our own operations (banned register); the Jul 31 entry ("conversion of the Precise monorepo consolidation") has the same problem on top of its "runtime workstream" leftover. FIX: Jul 24 entry: "The 13-board on-site deck recovered and extended with the compounding-network board." Jul 31 entry: "Substrate groundwork prepared for Jordan ahead of the tech session" — drop the monorepo/scratchpad detail and the path if it adds nothing for the team. [FIX · goal] <td class="m">A13</td> PROBLEM: The assumptions table runs A1…A11, A13, A12 — out-of-order numbering in the table the team is meant to work from row by row. FIX: Swap the A12 and A13 rows (or renumber) so the sequence reads A1–A13 in order; update the one cross-reference if renumbering. [FIX · goal] NIVO-Prisma orchestrated by the Konstant capability network at the top touches the Mediaocean estate PROBLEM: Garbled sentence with old-frame shading (NIVO-Prisma as the orchestrated object); it muddies the section's clean claim that the network grows from Prisma. FIX: Rewrite: "The network grows from Prisma on the substrate and touches the Innovid estate only at the capability rail — which is exactly why all three workstreams can run at once." [FIX · politics] the essence of our future existence… not gonna happen PROBLEM: Zvika's words spliced in reverse order, twice (arc timeline Jul 28 entry, and assumption A13). Transcript 36:20 runs: 'will give it to somebody else, right? Not gonna happen. Uh, that's the essence of, or from my perspective, our future existence.' The ellipsis presents the fragments as one utterance in an order he never spoke. Fails the verbatim rule, and if Zvika ever saw his own words respliced it reads as manipulation rather than accurate listening. FIX: Quote in transcript order in both places: handing orchestration to somebody else is "not gonna happen"; it is "the essence of… our future existence." [FIX · politics] Shown here through a NIVO run view because that is the world it serves PROBLEM: Board 04, the goal board, is drawn as a fabricated NIVO-branded console ('NIVO ✦ · Orchestrator · workflow run'; the caption itself admits the layout is inferred and no genuine screenshots are public), and the strawman routes this segment (min 35–50, Jordan → Markman) into the Wednesday room where Zvika is only cc'd. Presenting Precise governance drawn inside NIVO's own product, to a room that excludes its owner, is pitching inside his lane over his head — and it contradicts the same segment's promise of 'one Prisma-side workflow wrapped on Boombox'. FIX: For Wednesday, reskin Board 04 as a Prisma-side governed workflow run (neutral 'governed run view' chrome, Prisma vocabulary, keep the Spectra legacy-capability row). Keep the NIVO-skinned version only for the tech session Zvika offered, stamped 'tech-session material · enters through Zvika's door'. [FIX · politics] the Zvika conversation · Bill's accelerant PROBLEM: The state tag on Board 04's POV-shift annotation labels the substrate reframe as a conversation to have with Zvika. The frame and the file's own workstream-2 text route the substrate through Bill and Markman, with Zvika's lane entered only through the doors he opened. The tag quietly re-routes the goal through the one person who will refuse it. FIX: Change the state tag to: 'the Bill & Markman conversation · shown to Zvika's team only in the tech session he offered'. [FIX · politics] The likely organizational home for Precise capability is NIVO extending into Prisma. PROBLEM: Stale Jul-24-era framing in the leadership table (Zvika row) that contradicts the current play and the file's own A8/workstream-2: post-Jul-28, the program lands corporate and Prisma-side, and NIVO is honored at the stakes Zvika set. Left in place, this sentence licenses exactly the wrong routing. FIX: Replace with: 'NIVO is his. His lane is entered only through the doors he opens (the creative test with Dan Zeevi, the tech session); the program's home is corporate and Prisma-side. Never position against him.' [FIX · politics] The relationship is not web-findable; reference it only as shared conviction already priced. PROBLEM: Reads as having scouted whether Bill's private investment is publicly discoverable and planning to trade on it quietly. If Bill saw this, it converts a warm fact into something covert-sounding. FIX: Replace with: 'Private; never referenced in external materials.' [FIX · politics] maybe a year left till the big boys have these workflow things point‑and‑click PROBLEM: Paraphrase presented inside quotation marks as Adam's words. Transcript 58:22: 'a year left. Till the big boys have all these workflow things like point and click' — 'maybe' is not in the transcript and two words are dropped. FIX: Either drop the quotation marks (Adam put the window at about a year) or quote verbatim: "a year left till the big boys have all these workflow things like point and click". [FIX · politics] PRECISE: one capability, registered into both, never competing with either PROBLEM: Fig. 2, the political map the team will actually stare at, reduces the program to a capability vendor. The substrate — the stated goal — is absent from the org figure entirely: political caution has made the goal mushy in the one diagram that shows where the play lands. FIX: Add a third element under both unit boxes: 'the substrate underneath both: the estate wrapped as governed capabilities — the goal', and adjust the caption to say the registered capability is the foothold, the substrate is the position. [FIX · politics] three sizes of one idea: calibrate creative · price decisions · own the network PROBLEM: The index hook for the program section omits the substrate — the goal is invisible in the one-line summary a skimming teammate reads first. 'Price decisions' is a mechanism, not the middle workstream. FIX: Change to 'three sizes of one idea: the creative test · the substrate · the network'. [FIX · politics] had lived in an ephemeral scratchpad; we pulled it back byte‑for‑byte from Surge PROBLEM: Ops commentary about our own near-loss of a deliverable, banned by the register rules; same class of problem in the Jul 31 entry ('a conversion of the Precise monorepo consolidation (running for weeks by this point)'). Neither survives a forward and neither helps the team on Wednesday. FIX: Timeline Jul 24 entry: 'The 13-board on-site deck extended with the compounding-network board.' Jul 31 entry: 'Runtime substrate prepared for Jordan.' [FIX · politics] Every dollar figure in the demo is illustrative and labeled once. PROBLEM: The candor rules promise one illustrative label, but the merged file carries zero: part two dropped the standalone walkthrough's dateline note, so the Fubo dispute figures, NRR mock rows, and all board dollars run unlabeled — the file breaks its own stated rule. FIX: Add one sentence to the part-two intro kicker: 'Campaign and account data on these boards is illustrative.' (One label, per the register rule — no per-board repeats.) [FIX · politics] Precise · Internal · Companion to the Mediaocean file PROBLEM: The standalone walkthrough carries the political state tags, 'Bill's accelerant', and Mediaocean's confidential NRR figures from the Jul 24 call, but its masthead lacks both the 'Do not forward' and the relationship-detail warning the parent file has. It is the more likely file to be casually shared because it looks like a product walkthrough. FIX: Eyebrow: 'Precise · Internal · Do not forward'. Append to the dateline: 'contains relationship detail; internal only'. [FIX · slop] The teal row is the reframe PROBLEM: One highlight color, two names, across both documents. The Board 04 panel and the arc part-two kicker call the Precise ink teal; every figcaption and annotation calls it amber ("one amber column and one amber panel," "the three amber columns," "every amber chip," "Every amber element," arc index hook "the amber column logs decisions"). The rendered color #0e7a6e is teal, and the register rule says teal = Precise. FIX: Standardize prose on "teal": rename "amber" in the Board 01-04 figcaptions, the w07/s07 annotation, and the arc index hook. Leave the --amber CSS token name alone; this is a prose fix. [FIX · slop] the network is neutrality, enforced by construction PROBLEM: "By construction" is stamped as the punchline six times in the arc and three in the walkthrough ("arrives with it, by construction"; "governance by construction"; "answered by construction rather than by policy memo"; "enforced by construction instead of by reputation"; the SVG label; this annotation). A manufactured phrase repeated until it reads as a tic. FIX: Keep it once per document — the arc's "federation is what neutrality looks like when it is enforced by construction instead of by reputation" and the walkthrough's SVG label. Rewrite the rest: Board 04 annotation → "Governance (autonomy policies, release gates, the exportable trail) ships inside the wrapper"; this annotation → "the network is their neutrality promise running as code"; s08 closer → "answered in the plumbing rather than by policy memo." [FIX · slop] this is Bill's accelerant, made mechanical PROBLEM: The same coined punchline runs in the Board 04 fit strip and again in the arc's strawman table ("Bill's accelerant made mechanical, with NIVO's lane explicitly untouched"). A coined phrase survives exactly one use; twice reads as template output. "Bill's accelerant" as shorthand also appears in the Board 04 annotation state tag. FIX: Keep the phrase only in the strawman row, where the room hears it. End the Board 04 fit line at "…the deepest capability library in the industry." Change the annotation state tag to "the Zvika conversation · lands with Bill." [FIX · slop] The room asked for exactly this on July 24 PROBLEM: Board 05 states its own justification three times on one screen: kicker ("the room's own request from July 24"), fit ("the room asked for exactly this on Jul 24"), panel ("The room asked for exactly this on July 24"). The board also says "zero client exposure" / "zero client-data exposure" / "the data-rights landmine stays untouched" — the same second fact three ways. The arc restates the asked-for-it fact again in s06, A10, and twice in s08. FIX: On the board, keep only the panel sentence (it carries the detail). Kicker → "The skunkworks console · run on Mediaocean's data about Mediaocean." Fit "Why it wins" → "their ask, our machinery: proof on their own book before any client campaign is touched." Drop "zero client-data exposure" from the annotation state tag. [FIX · slop] created for exactly this kind of partnership PROBLEM: "Exactly" appears 13 times in the arc and 5 in the walkthrough and has become filler emphasis: "doing exactly what the quick card documents," "it is exactly how to make the August room point at a screen," "which is exactly why all three workstreams can run at once," "is exactly what makes a certified category durable," "we say exactly that." FIX: Delete the word wherever the sentence survives without it — every quoted instance does. Keep at most two per document, and none of the ones doing pure emphasis. [FIX · slop] Bill's July 24 line was the preview: PROBLEM: The full verbatim accelerant quote ("Because our legacy businesses are so big… it could be an accelerant like we've never seen") is deployed twice in the arc — the s06 timeline and again as workstream 2's closer. Re-running the same quote as a punchline is the recycled-kicker pattern. FIX: Quote it once, in the timeline. End workstream 2 with "Bill previewed this on Jul 24" or cut the sentence — the workstream already carries two Bill quotes. [FIX · slop] the Alison.ai answer ("scoring tells you what won, pricing tells you what it was worth") PROBLEM: The aphorism appears here in the s06 timeline and again, bolded, in workstream 1 ("Scoring tells you what won. Pricing tells you what it was worth.") — the same punchline recycled across sections. FIX: In the timeline entry, "the Alison.ai answer" is enough; delete the parenthetical and let workstream 1 own the line. [FIX · slop] It logs edits, not decisions. PROBLEM: The History-logs-edits punchline runs three times in one document: index hook ("History logs edits; the amber column logs decisions"), s05 prose, and the w03 heading ("History logs edits; this logs decisions"). FIX: Keep it in s05, where the History-icon analysis earns it, and in the board heading. Change the index hook to plain description: "the priced dispute at OK to pay." [FIX · slop] The precedent is set, and it favors us. PROBLEM: "What this week's research changed" welds five bolded headline-sentences into a single wall paragraph ("Their own boundary is our opening." "The reconciliation wedge got stronger…" "The governance gap is now public…" "Prisma Direct is a fresh surface until Q3.") — AI topic-sentence bolding at maximum density. FIX: Break the paragraph into five short paragraphs or a compact list, one finding each, and unbold everything except at most the lead words. The sentences carry without the formatting. [FIX · slop] industry commentary describes agencies winning enterprise pitches PROBLEM: Vague attribution — the "experts say" pattern. Every other claim in s05 carries a named source (Mediaocean's own Outlook, IAB, IAB Tech Lab); this clause hides behind "industry commentary." FIX: Name the outlet or report, or cut the clause and let the IAB and IAB Tech Lab facts carry the paragraph. [FIX · slop] In that world Mediaocean is not a workflow vendor. It is the custodian PROBLEM: The "not X, Y" contrast frame is s08's only rhetorical move: "Not a menu:", "Not software:", "A track record, not a slide.", "a legitimate first workload, not a consolation prize", on top of "priced, not suggested", "first, not our last", and "a bigger market for Zvika, not a smaller lane" elsewhere. By the fifth instance a colleague reads it as a formula. FIX: Keep the two with real stakes ("A track record, not a slide"; "Not a menu" — it asserts the one-machine frame). Recast the rest: "Start from what Mediaocean actually is: ~890 people carrying $200 billion of other companies' economic activity" (dropping "Not software:"), and "In that world Mediaocean's seat is custodian of the network." [FIX · coherence] one amber column and one amber panel added PROBLEM: Systemic token-name leak: the CSS variable is named --amber but renders teal (#0e7a6e / #2dd4bf), and reader-facing prose repeatedly calls the Precise elements 'amber' while the stated key (and register rule) is 'teal = Precise'. Board 04's own panel says 'The teal row' while its caption says 'every amber chip'. Spots: arc Fig.1 caption ('Amber marks where Precise lands'), Board 01-04 figcaptions, Board 02 anno 3 ('the amber pair'), Board 07 anno 3 ('Every amber element'), connection-map cells ('the amber columns from Boards 01–03', 'landing the amber columns natively'), and the same lines in the walkthrough. FIX: Global replace of reader-facing 'amber' with 'teal' in both files (captions, annos, fit lines, connection-map cells, Fig.1 caption). CSS variable names can stay. [FIX · coherence] Three workstreams, agreed on the July 30 calls PROBLEM: Date drift, stated twice in section 09 (kicker plus 'The July 30 calls already fixed the program's shape'). The three workstreams were named on the Jul 28 call (Zvika: 'there's like, in theory, three work streets') and fixed in the Jul 30 deck. The file's own timeline and assumption A9 both correctly call Jul 30 a deck, not a call; no Jul 30 call appears anywhere in the timeline. FIX: Change both spots to: 'named on the Jul 28 call, fixed in the Jul 30 deck' / 'The Jul 28 call named the program's shape; the Jul 30 deck fixed it.' [FIX · coherence] The boards in part two are workstream 1's workflow pointed at the buy PROBLEM: Mislabels the Prisma boards as the creative workstream. Workstream 1 is Zvika's contained creative test; the boards are the priced-decision capability in Kane's Prisma lane. The one-machine section says the opposite ('The priced-decision workflow, built once as a capability on the workstream-2 runtime, drops into workstream 1'), and this sentence quietly relocates the whole board program into Zvika's lane, against the political map. FIX: Rewrite to: 'The boards in part two are the priced-decision capability, registered on the workstream-2 runtime and pointed at the buy: decision value at authorization, calibration at actualization, signed records at settlement.' [FIX · coherence] joint build with the NIVO org PROBLEM: Board 04 state tags ('joint build with the NIVO org', chip 'the flyer · joint build', anno 3 'the Zvika conversation') frame the goal board as a NIVO joint build, but workstream 2 says 'nothing in this workstream requires his sponsorship' and the substrate lands corporate/Prisma-side, entering Zvika's lane only through the tech session he offered. The tags pull the goal into the one lane the play deliberately avoids. FIX: Change anno 1 state to 'lands Prisma-side; shown to NIVO engineering in the tech session Zvika offered', panel chip to 'the flyer · Bill's accelerant', and anno 3 state to 'the tech session Zvika offered · Bill's accelerant'. [FIX · coherence] One campaign runs through all five boards PROBLEM: There are seven boards, and the Harvest Q3 campaign appears only on Boards 01-04 (Board 05 is Mediaocean's own account book, 06 is the connection map, 07 the network). The sentence is a fossil from a five-board draft, and it appears identically in both files (walkthrough kicker and arc part-two kicker). FIX: Change to: 'One campaign, a converged linear × digital CPG flight, runs through Boards 01–04; Board 05 turns the same machinery on Mediaocean's own book.' [FIX · coherence] Surfaces 02 and 03 write the last two. PROBLEM: The five-field through-line breaks at Board 03. Board 01 anno 3 promises the dr:9e41 record's last two fields get written on Surfaces 02 and 03; Board 02 writes field 4 ('record dr:9e41…a2c7 · field 4 of 5 written'), but Board 03 shows only the separate Fubo placement record dr:9e44 and never closes field 5 of dr:9e41 anywhere. FIX: Add a closing chip to the Board 03 panel: 'record dr:9e41…a2c7 · field 5 of 5 written' (the Learned line is already in the panel), or scope Board 01's promise to per-placement records. [FIX · coherence] A13 PROBLEM: The assumption register rows run A1…A11, A13, A12 — A13 sits above A12. Visible ordering slip in the document's centerpiece table. FIX: Swap the A12 and A13 rows so the register reads A1–A13 in order (or renumber the Zvika row A12 and the trail row A13). [FIX · coherence] The pitch, from first principles PROBLEM: Index item 9 still carries the pre-rewrite title and framing: the section h2 is now '09 The program, from first principles' (and the doc's own frame is working instrument, not pitch). Its hook 'three sizes of one idea: calibrate creative · price decisions · own the network' also predates the current three workstreams and omits the substrate — the stated goal — entirely. FIX: Change the index entry to 'The program, from first principles' with hook 'three workstreams, one machine: the creative test · the capability substrate (the goal) · the first network edge'. [FIX · coherence] One voice each: story · commercial · method · runtime. PROBLEM: The room table assigns Matt the 'method' voice, but the 90-minute strawman gives Matt no segment at all (beats go Adam, Adam→Kane, Jordan→Markman, Spencer→Carafello, Spencer·Bill, Adam·room). The promise and the plan disagree in adjacent tables. FIX: Give Matt the method beat explicitly — e.g. co-own 10–35 (calibration math inside the walkthrough) or own the 75–90 ninety-day-test definition ('Matt · the room'). [FIX · coherence] Creative workstream · Zvika + Kane PROBLEM: Q10's owner contradicts the political map and workstream 1's own text: the creative thread Zvika opened runs with Dan Zeevi ('how a test would look like'), not with Zvika directly. FIX: Change Q10's owner to 'Dan Zeevi + Kane'. [FIX · coherence] The arc starts before Cannes. PROBLEM: The timeline's first entry is dated 2026-06-24 and claims the deck was built 'before Cannes' and 'a month before the first meeting'. Cannes week contains Jun 24, and the Cannes door-opening is the very next (undated June) entry — so the entry is either misdated or the 'before Cannes' claim is wrong; it cannot be both a month before the Jul 24 call and before Cannes. FIX: Reconcile: keep the date and change the claim to 'built a month before the Jul 24 call', or correct the date if the deck genuinely predates Cannes week. [FIX · coherence] maybe a year left till the big boys have these workflow things point‑and‑click PROBLEM: Presented in quotation marks as Adam's words, but the Jul 28 transcript reads 'a year left. Till the big boys have all these workflow things like point and click' — 'maybe' is inserted and words are dropped inside the quotes, violating the verbatim rule for that transcript. FIX: Either quote exactly ('a year left till the big boys have all these workflow things like point and click') or drop the quotation marks and paraphrase: Adam gave it about a year. [FIX · structure] one amber column and one amber panel added PROBLEM: Prose throughout calls Precise elements "amber" while the rendered token --amber is teal (#0e7a6e light / #2dd4bf dark) and the intro instructs "everything in teal is Precise" (register rule: teal = Precise). Stale copy: the Board 04 panel already says "The teal row". Affected in both files: Board 01 caption ("one amber column and one amber panel"), Board 02 fit/caption/anno ("three amber columns", "the amber pair"), Board 03 caption ("the amber panel"), Board 04 caption ("every amber chip"), Board 06 rows ("paints the amber columns", "landing the amber columns natively"), Board 07 anno ("Every amber element"), plus the arc index hook ("the amber column logs decisions"). FIX: Sweep every prose reference to Precise elements from "amber" to "teal" in both files (CSS variable name can stay). Roughly 10 instances per file; grep for "amber " in body text outside <style>. [FIX · structure] <div class="appwrap"><figure><div class="app"> PROBLEM: The figcaption sits inside the dark .appwrap mat on all five app boards in each file. Captions are document furniture, not mock-screen content, and their color var(--ink-3) resolves to #55666e in light theme, which is near-invisible on the #0b1220 mat. Ten unreadable captions in the default light theme. FIX: Restructure each board to <figure><div class="appwrap"><div class="app">…</div></div><figcaption>…</figcaption></figure> so the mat wraps only the mock screen and the caption returns to the page ground. [FIX · structure] :root[data-theme="dark"] .px, @media (prefers-color-scheme: dark) { } PROBLEM: Invalid CSS: a selector list cannot contain an at-rule. The parser drops the whole rule, so the dark-mode .px override this line was meant to hold does not exist; it is a dead artifact signalling an unfinished dark treatment (the .px background stays the hard-coded light-teal rgba(14,122,110,.09) in dark theme). FIX: Delete the line, or replace with a real pair: `:root[data-theme="dark"] .px { background: rgba(45,212,191,.08); }` plus the matching `@media (prefers-color-scheme: dark)` block. [FIX · structure] .page > header, .page > nav, PROBLEM: Specificity bug: `.page > nav` (0,1,1) sets font-family serif and beats `.sidenav { font-family: var(--sans) }` (0,1,0), so the left-nav links render in the serif face instead of the intended sans. The .grp labels survive only because they set mono explicitly. FIX: Change the selector on that line from `.page > nav` to `.page > nav.index` (the only nav that should be serif/900px), or add `font-family: var(--sans)` to `.sidenav a`. [FIX · structure] :root { --fit-bg: #0e7a6e; --fit-ink: #f4f6f3; } PROBLEM: The fit-strip tokens have no dark-theme overrides in this file, while prisma-walkthrough.html defines them (dark: #2dd4bf bg / #0b1220 ink). The same component renders differently in dark mode across the two documents. FIX: Copy the walkthrough's two override blocks next to this line: `@media (prefers-color-scheme: dark) { :root { --fit-bg: #2dd4bf; --fit-ink: #0b1220; } }` and `:root[data-theme="dark"] { --fit-bg: #2dd4bf; --fit-ink: #0b1220; }` (plus the light re-assert). [FIX · structure] <span class="fig">Fig.&nbsp;7</span> PROBLEM: The network plate is captioned "Fig. 7" while every other board caption reads "Board NN" and the heading says SURFACE 07. In the arc file it also collides with the plate series, which is at Fig. 1 and Fig. 2 (next would be Fig. 3, not 7). In the standalone there are no Figs 1-6 at all, so "Fig. 7" numbers a sequence that does not exist. FIX: Change the caption tag to "Board 07" in both files. [FIX · structure] Why everyone in the room wins. PROBLEM: The three Board 07 annotations carry numbered pins (1, 2, 3) in the same style that anchors callouts to marks inside the figures on Boards 01-05, but the network SVG contains no pin markers. The numbers point at nothing and invite a hunt through the diagram. FIX: Remove the `<span class="pin">n</span>` from the three Board 07 annos in both files (render as a plain annotated list), or add matching numbered pin circles at the relevant spots in the SVG. [FIX · structure] <div class="st"><span class="nm">Substrate</span> PROBLEM: The pipemap presents Substrate, Retention, and Network as pipeline stages after Pay, at the same visual level as Prisma's real plan-to-pay stages. That contradicts the Board 04 goal framing: the substrate sits under the estate, not downstream of Pay. The marked sequence also jumps Surface 05 to Surface 07 with Surface 06 unplaced, reading as a gap. FIX: Split the last three cells out of the pipeline row: end the pipemap at Pay, and add a visually distinct second strip (or a divider plus a different tag, e.g. "program · not a pipeline stage") for Substrate / Retention / Network, with a one-line note that Board 06 is the connection map across all stages. Apply in both files (the arc duplicates the same pipemap). [FIX · structure] The pitch, from first principles PROBLEM: Section #s08 has three different names: the h2 says "The program, from first principles", the index says "The pitch, from first principles", and the sidenav says "Three workstreams". Three labels for one destination breaks orientation in a working document. FIX: Make the h2 the authority: change the index entry to "The program, from first principles" and the sidenav label to "The program" (keep the hook text as is). [FIX · structure] <td class="m">A13</td> PROBLEM: The assumptions table rows run A1…A11, A13, A12 — A13 sits before A12. Reads as an editing artifact and will trip the team using the table as the working list. FIX: Swap the A12 and A13 rows so the numbering is sequential (or renumber the rows in place). [POLISH · goal] and the pitch we carry into the August on-site PROBLEM: Masthead calls the document a pitch; the frame says it is the team's working instrument, and the second standfirst already says so. FIX: "and the program we carry into the August on-site." [POLISH · goal] One campaign runs through all five boards PROBLEM: The Harvest Q3 campaign appears on boards 01–04; board 05 is the retention book, not the campaign. FIX: "One campaign runs through boards 01–04: a converged linear × digital CPG flight." [POLISH · goal] the governance layer arrives as an agent their agents consult PROBLEM: Connection-map MCP/BYOA row names the offering "the governance layer" — residual layer-under-NIVO vocabulary; what registers is the capability. FIX: "the valuation-and-record capability arrives as an agent their agents consult." [POLISH · politics] the sentence Zvika should leave the room repeating PROBLEM: Scripting what a named counterpart should repeat reads as puppeteering if seen, and it is also factually off: Zvika is not in the Wednesday room (cc only). FIX: Replace with: 'the sentence every readout to the Innovid side should carry.' [POLISH · politics] Kassan and Wise can shortcut this one; use them. PROBLEM: Instrumental phrasing about the two sponsor-investors; 'use them' is the kind of line that stings on a screen-share. FIX: Change to: 'Kassan and Wise can shortcut this one; ask them directly.' [POLISH · politics] That is the classic profile of a toll rail. PROBLEM: 'Toll' is the industry's pejorative for intermediaries — the doc itself cites Wren pilots 'cutting the intermediary toll'. In our own voice it recurs ('the toll rail is becoming literal', 'the toll survives by becoming the trust rail') and reads as disrespect about Mediaocean if shared. FIX: In our own voice use 'clearing rail' / 'the rail every dollar rides' ('the rail survives by becoming the trust rail'); keep 'toll' only inside the attributed Omnicom/Digiday framing. [POLISH · politics] dispute $11,523 PROBLEM: The fabricated failure narrative lands on one real supplier, Fubo (Disney-affiliated, on the Prisma Direct launch list), across three boards: under-delivery, below-band value, and a dispute recommendation. If the file is forwarded, a named partner of the customer is depicted failing into a priced dispute. FIX: Rename the mock's failing line to a fictional vMVPD (e.g. 'Streamline TV'), or move Fubo to a within-band row and give the miss to the fictional supplier. [POLISH · slop] Say it plainly for ourselves: this is the actual goal of the program. PROBLEM: Self-announcing openers stack up: this one sits under a heading that already says "(the actual goal)"; "The political read, plainly, for our side of the table:" runs the same "plainly" gesture one section earlier; "The pressure is not abstract." in s05 is the same throat-clear before a concrete fact. FIX: Start with the claim: "This is the actual goal of the program." Drop ", plainly," from the political-read sentence. Delete "The pressure is not abstract." — the Wren sentence that follows carries it. [POLISH · slop] Hold one adjacent fact: PROBLEM: Repeats the "Hold that sentence; section 08 is built on it" imperative from the previous section — the same coined gesture twice within two screens. FIX: Change to "One adjacent fact:" and keep s04's "Hold that sentence," which is doing real cross-reference work. [POLISH · slop] the same five‑field machinery PROBLEM: "Five-field" is stamped as a brand adjective 7 times in the arc and 5 in the walkthrough. Where the five fields are named or defined it earns its place; "five-field machinery" (Board 05 figcaption) and "same five-field record, same wedge logic" (connection map) are pure stamping. FIX: Board 05 figcaption → "the same machinery pointed at Mediaocean's own book." Connection-map template line → "same record, same wedge logic." Keep the defined uses untouched. [POLISH · slop] the seed and the plant PROBLEM: The seed/plant metaphor appears three times in one section: kicker ("Boards 01–06 are the seed. This is the plant"), the SVG hub label ("the seed · $200B"), and this annotation state tag. FIX: Drop the annotation state tag or replace with "compounding"; the kicker and hub label carry the metaphor. [POLISH · slop] who they are, who owns them, who runs them PROBLEM: The index hooks repeat the section kickers verbatim (s01, s02, s04, s05, s06), so a reader clicking through reads every line twice in a row — assembly-line symmetry a human editor would vary. FIX: Shorten the hooks into distinct teasers (s01 → "ownership, leadership, the toll-rail profile"; s05 → "the gap in their own survey numbers") or cut hooks where the title is self-explanatory. [POLISH · slop] This board is the goal. PROBLEM: Surface 04 stamps "goal" four ways in eight lines: the kicker sentence, the fit key ("The goal"), the pipemap tag ("▲ Surface 04 · the goal"), and the index hook. Signposting the goal once is the point; four stamps is mechanical. FIX: Keep the kicker sentence and the fit key. Pipemap tag → "▲ Surface 04 · the substrate" (matching the nav name). [POLISH · coherence] Fig.&nbsp;7 PROBLEM: The network plate is captioned 'Fig. 7' — orphaned numbering from a draft where boards were figures. Every other board caption reads 'Board NN', and the arc's actual figures are Fig. 1 and Fig. 2, so 'Fig. 7' resolves to nothing in either file. FIX: Change the caption prefix to 'Board 07' in both files. [POLISH · coherence] counter(idx, decimal-leading-zero) PROBLEM: The index auto-numbers the seven boards 10–16 while the sidenav and section headers call them 01–07 ('01 · The buy grid', 'SURFACE 01'), so the same board carries two numbers depending on where the reader looks. FIX: Prefix the board index entries with their board numbers ('Board 01 · The buy grid') or restart a second counter for the boards block. [POLISH · coherence] Bill's own ask from the Jul 24 call PROBLEM: Retention-ask attribution drifts: A10 credits Bill personally, while the timeline, Board 05, and section 09 all say 'the room asked' on Jul 24. FIX: Align A10 to 'the room's ask on the Jul 24 call'. [POLISH · coherence] the options ladder in the File PROBLEM: Board 07 anno 2 cites 'the options ladder in the File' — no section by that name exists in either file; the referent is the arc's 'Four ways in, one ask' table (and the connection map's sequence). In the standalone walkthrough the board annos also cite 'route 01/route 02', which resolve only in the arc's routes table a standalone reader never sees. FIX: Change 'the options ladder in the File' to 'the File's Four ways in table' in both copies, and in the walkthrough footer add one line defining routes 01–04 (or gloss the route states as 'route 02 of the File's four ways in'). [POLISH · coherence] backstory · machine · money map · seam · arc · pitch · screens · connection map PROBLEM: The footer's template list is stale: it still says 'pitch', omits the assumptions register and questions (the working-instrument core), and uses pre-rewrite section names ('money map', 'screens'). FIX: Update to the current structure: 'company · machine · estate · who pays · seam · arc · assumptions · questions · program · boards'. [POLISH · coherence] ~890 people carrying $200 billion PROBLEM: Section 09 asserts the 890 headcount as current fact, while section 01 explicitly flags it as the 2020 count with today's number 'materially higher'. Same fact, two confidence levels. FIX: Change section 09 to 'roughly 900 people on the last published count' to match section 01's caveat. [POLISH · coherence] :root[data-theme="dark"] .px, @media (prefers-color-scheme: dark) { } PROBLEM: Malformed dead CSS (a media query inside a selector list; parser drops the rule) shipped in both files. Separately, the arc omits the walkthrough's dark-theme --fit-bg/--fit-ink overrides, so in dark mode the 'Precise adds' bars render differently across the two companion documents (deep teal in the arc vs bright teal with dark ink in the walkthrough). FIX: Delete the malformed rule in both files, and copy the walkthrough's dark-mode fit-token overrides (--fit-bg: #2dd4bf; --fit-ink: #0b1220 for both dark selectors) into the arc. [POLISH · structure] <a class="act" href="#s-assume">Assumptions</a> PROBLEM: Three sidenav links are hard-coded class="act", the active-state style (accent color, bold). With no scroll-spy, the page permanently shows three "you are here" markers at once. FIX: Remove class="act" from all three links; the "Use this file" group header already sets them apart. If emphasis is wanted, add a dedicated class (e.g. .key) with a distinct treatment such as 600 weight in ink, not the accent active style. [POLISH · structure] content: counter(idx, decimal-leading-zero) PROBLEM: The masthead index numbers the seven boards 10-16 by list position, while the sidenav, section headings, and captions all number them 01-07. Two numbering systems for the same objects. FIX: Split the index into two <ol> lists with a counter-reset on the second, and prefix the board list markers (e.g. "B01"-"B07") so index numbers match the board numbers used everywhere else. [POLISH · structure] .footer { margin-top: 84px; PROBLEM: The part-two style block re-declares .chip, figcaption, and .footer already defined in part one, with conflicting values (figcaption margin 10px vs 8px; footer margin 80 vs 84). Later rules silently win; the duplicates are merge debris that will bite the next editor. FIX: Delete the duplicate .chip base/live/flight, figcaption, and .footer declarations from the part-two block, keeping only the additions (.chip.joint) and folding the intended margin values into the single part-one rules. Fig. 2's unused `ah2` marker def can go at the same time. [POLISH · structure] <figure class="plate" style="background:var(--card) PROBLEM: This file has no figure.plate CSS (the class rides on inline styles only), so the network plate renders borderless and square-cornered here while the identical figure in the arc file gets the plate border and 12px radius. Same figure, two appearances. FIX: Add the plate rule to this file's stylesheet (border: 1px solid var(--rule-soft); border-radius: 12px, matching the arc's figure.plate) or extend the inline style with the border and radius. [POLISH · structure] The buyer app calls itself Buyer workflow PROBLEM: The part-two intro kicker (and its pipemap) are direct children of .page, so they escape the 900px measure applied via `.page > section > p`; this long kicker sets lines at the full 1220px against ~900px everywhere else. The standalone file handles this case with `.page > .kicker` in its max-width list; the arc does not. FIX: Add `.page > .kicker` (or `.page > p`) to the max-width selector list at the top of the arc stylesheet, matching the walkthrough's approach.