The catalogue

Every CRM job, and whether Accordo does it.

This is the honest inventory: 149 jobs a CRM is normally expected to do, each with a status and, where it passes, the test that proves it. “Not supported” is the default. A row moves out of it only when an automated test or a checked-in example proves the whole job — which is why 87 of 149 are still in that column, and why the ones that are not mean something.

validated end to end An automated test or a checked-in example proves the whole job. This is the only status that counts as evidence.

partially supported Part of the job works and is proved; the rest is named rather than implied. Read what is excluded before planning around it.

technically supported The primitives exist but no test proves the job end to end, so it is not claimed as working.

not supported No implementation and no test. It would have to be built. This is the default status in the catalogue — a row moves out of it only when a test proves it.

The same catalogue is published as machine-readable JSON at /jobs.json, generated from docs/benchmarks/CRM_JTBD_MATRIX.md and kept in step with it by a test.

AreaJobsWhere it stands
CRM JTBD validation matrix 17 8 validated end to end 5 partially supported 4 not supported
Agent experience

AX0–AX5, cross-cutting

10 2 validated end to end 4 partially supported 4 not supported
Communications

no milestone assigned

5 1 partially supported 4 not supported
Commercial Operations / CPQ

Milestones 10-11 implemented for the local slice, ADR-016 and ADR-017

7 3 validated end to end 4 partially supported
Contract & Subscription

Milestone 12 implemented for the local slice — ADR-018 addendum, docs/CONTRACT_ACTIVATION.md

10 5 partially supported 5 not supported
Design-to-CRM

design only — DESIGN_TO_CRM.md

7 1 partially supported 6 not supported
Data governance

no milestone assigned — DATA_GOVERNANCE.md

8 8 not supported
Data operations

Customer Data Foundation v1 — ADR-037, packages/customer-data/README.md

9 6 partially supported 3 not supported
Delivery & Service

handover at M13, execution at M14a, economics at M14b1, and change, deliverables and acceptance at M14b2 — all merged; docs/DELIVERY_HANDOVER.md, docs/DELIVERY_ECONOMICS.md, docs/DELIVERY_CHANGE_ACCEPTANCE.md

12 3 validated end to end 7 partially supported 2 not supported
Lead Intelligence & Routing

Milestone 9 — implemented for the local slice, ADR-015

9 4 validated end to end 4 partially supported 1 not supported
Package developer

Custom Package Authoring v1, M13

7 3 validated end to end 2 partially supported 2 not supported

The 48 jobs with no page of their own

These areas are catalogued and unbuilt, and the matrix had a line or two to say about each. They are listed here in full rather than spread over 8 further URLs, because a page whose body is a milestone code repeated five times is a page this project would be publishing against its own rules.

Analytics

target: M16

  • JTBD-AN-01 Define a trusted, explainable metric — not supported no semantic model or metric-definition primitives
  • JTBD-AN-02 Create a report from approved metrics/dimensions — not supported no report/query-compilation primitives
  • JTBD-AN-03 Create a role-aware dashboard — not supported requires RBAC at the query boundary — gated by the Production Spine
  • JTBD-AN-04 Version and roll back a dashboard — not supported no dashboard-version primitives
  • JTBD-AN-05 Validate metric correctness against fixtures — not supported no metric test harness

Audience and governance

  • JTBD-MK-01 Create a dynamic audience from CRM data — not supported MK2; no audience primitive
  • JTBD-MK-02 Freeze an audience snapshot for a send — not supported MK2; no snapshot primitive
  • JTBD-MK-03 Apply exclusions and suppression sets — not supported MK2; DATA_GOVERNANCE.md
  • JTBD-MK-04 Verify consent and communication preferences — not supported MK2; DATA_GOVERNANCE.md — hard
  • JTBD-MK-05 Apply a cross-campaign frequency cap — not supported MK2; needs campaign history
  • JTBD-MK-06 Sync an audience to a provider — not supported MK6; no provider adapter

Campaign planning

  • JTBD-MK-07 Diagnose a funnel drop — not supported MK1; funnel primitives, better with Analytics Studio
  • JTBD-MK-08 Create a complete Campaign Proposal — not supported MK1 — the first milestone, and it needs no provider
  • JTBD-MK-09 Select a channel and an installed provider, with rationale — not supported MK1/MK2; provider contracts
  • JTBD-MK-10 Recommend a send time and window — not supported MK1
  • JTBD-MK-11 Define content, creative, landing page and CTA — not supported MK3
  • JTBD-MK-12 Define a tracking plan (UTM, conversion events) — not supported MK3
  • JTBD-MK-13 Request human approval of a proposal — not supported MK1; real roles need the Production Spine

Execution

  • JTBD-MK-14 Run a one-shot email campaign — not supported MK2; fixture provider first
  • JTBD-MK-15 Run a rolling campaign — not supported MK4; JOBS_AND_OUTBOX.md — hard
  • JTBD-MK-16 Run a triggered campaign — not supported MK4; durable event inbox — hard
  • JTBD-MK-17 Run a multi-step multichannel journey — not supported MK4; scheduler and durable waits — hard
  • JTBD-MK-18 Pause or stop a running campaign — not supported MK4
  • JTBD-MK-19 Handle bounces and unsubscribes — not supported MK2; inbound provider events

Content

  • JTBD-MK-20 Generate email content — not supported MK3
  • JTBD-MK-21 Generate SMS/WhatsApp messaging content — not supported MK3
  • JTBD-MK-22 Generate a landing page, form and CTA — not supported MK3; design ownership per DESIGN_TO_CRM.md
  • JTBD-MK-23 Publish a preview — not supported MK3
  • JTBD-MK-24 Publish an approved asset to production — not supported MK3; human approval mandatory

Experimentation

  • JTBD-MK-25 Create an A/B test — not supported MK5
  • JTBD-MK-26 Assign a deterministic control group — not supported MK5; fingerprinted assignment rule
  • JTBD-MK-27 Create a holdout — not supported MK5
  • JTBD-MK-28 Measure lift against control — not supported MK5/MK7
  • JTBD-MK-29 Select and publish a winner — not supported MK5; human approval where risk exists

Paid media

  • JTBD-MK-30 Prepare a Media Plan — not supported MK6
  • JTBD-MK-31 Sync an audience to an ads platform — not supported MK6; consent rules
  • JTBD-MK-32 Launch an approved ads campaign — not supported MK6; human spend approval mandatory
  • JTBD-MK-33 Ingest spend and results — not supported MK6; provider adapters
  • JTBD-MK-34 Propose a budget change — not supported MK6; a proposal, never an action

Analytics and attribution

  • JTBD-MK-35 Define a funnel — not supported MK1/MK7
  • JTBD-MK-36 Identify and segment a drop — not supported MK1; ANALYTICS_STUDIO.md
  • JTBD-MK-37 Report a campaign result — not supported MK2 onward
  • JTBD-MK-38 First-touch attribution — not supported MK7; identity/touchpoint model
  • JTBD-MK-39 Last-touch attribution — not supported MK7
  • JTBD-MK-40 Multi-touch attribution — not supported MK7; ANALYTICS_STUDIO.md — hard
  • JTBD-MK-41 Connect a campaign to an Opportunity or Order — not supported MK7
  • JTBD-MK-42 Calculate campaign ROI — not supported MK7
  • JTBD-MK-43 Recommend the next campaign version — not supported MK7; closes the loop

What a status here does not mean

These statuses describe this repository at this commit. None of them implies the framework is deployable: no authentication ships, so a deployment must supply the verifier before anyone but you reaches it, whatever any row says. Every claim and every limitation is on one page.