Pre-launch. Not deployable to production. This page states what the tests prove and what is missing — nothing else.

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 98 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 4 partially supported 5 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 2 partially supported 8 not supported
Design-to-CRM

design only — DESIGN_TO_CRM.md

7 1 partially supported 6 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 2 validated end to end 2 partially supported 3 not supported

The 65 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 10 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 metricnot supported no semantic model or metric-definition primitives
  • JTBD-AN-02 Create a report from approved metrics/dimensionsnot supported no report/query-compilation primitives
  • JTBD-AN-03 Create a role-aware dashboardnot supported requires RBAC at the query boundary — gated by the Production Spine
  • JTBD-AN-04 Version and roll back a dashboardnot supported no dashboard-version primitives
  • JTBD-AN-05 Validate metric correctness against fixturesnot supported no metric test harness

Data governance

no milestone assigned — DATA_GOVERNANCE.md

  • JTBD-DG-01 Record consent and lawful basisnot supported no consent primitive
  • JTBD-DG-02 Honor an opt-out across outbound pathsnot supported no outbound paths and no suppression list
  • JTBD-DG-03 Export everything held about a subjectnot supported no subject-access path
  • JTBD-DG-04 Anonymize or delete a subject while preserving immutable evidencenot supported the hardest design in the track: commercial evidence is deliberately immutable
  • JTBD-DG-05 Apply a retention policy and evidence that it rannot supported needs the scheduler
  • JTBD-DG-06 Inspect what was shared with which providernot supported M9 records inbound provenance only
  • JTBD-DG-07 Restrict sensitive fields by rolenot supported needs RBAC
  • JTBD-DG-08 Prove a deletion request completednot supported needs DG-04

Data operations

no milestone assigned

  • JTBD-DO-01 Import records from CSVnot supported no import path; records are created one at a time through services or actions
  • JTBD-DO-02 Detect duplicates on import or entrynot supported unique constraints exist per field; no matching or scoring
  • JTBD-DO-03 Merge two Companies or Contactsnot supported no merge primitive; references would have to be re-pointed and evidence preserved
  • JTBD-DO-04 Export recordsnot supported no export endpoint; list is page-bounded by design
  • JTBD-DO-05 Bulk update a set of recordsnot supported every mutation is single-record
  • JTBD-DO-06 Save and share a filtered viewnot supported no saved-view primitive
  • JTBD-DO-07 Search across modulesnot supported no global search; exact indexed lookups are per-module
  • JTBD-DO-08 See a unified activity timeline for a recordnot supported audit and trace exist per record but there is no Activity model or timeline view
  • JTBD-DO-09 Attach notes or files to a recordnot supported no note or attachment primitive

Audience and governance

  • JTBD-MK-01 Create a dynamic audience from CRM datanot supported MK2; no audience primitive
  • JTBD-MK-02 Freeze an audience snapshot for a sendnot supported MK2; no snapshot primitive
  • JTBD-MK-03 Apply exclusions and suppression setsnot supported MK2; DATA_GOVERNANCE.md
  • JTBD-MK-04 Verify consent and communication preferencesnot supported MK2; DATA_GOVERNANCE.md — hard
  • JTBD-MK-05 Apply a cross-campaign frequency capnot supported MK2; needs campaign history
  • JTBD-MK-06 Sync an audience to a providernot supported MK6; no provider adapter

Campaign planning

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

Execution

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

Content

  • JTBD-MK-20 Generate email contentnot supported MK3
  • JTBD-MK-21 Generate SMS/WhatsApp messaging contentnot supported MK3
  • JTBD-MK-22 Generate a landing page, form and CTAnot supported MK3; design ownership per DESIGN_TO_CRM.md
  • JTBD-MK-23 Publish a previewnot supported MK3
  • JTBD-MK-24 Publish an approved asset to productionnot supported MK3; human approval mandatory

Experimentation

  • JTBD-MK-25 Create an A/B testnot supported MK5
  • JTBD-MK-26 Assign a deterministic control groupnot supported MK5; fingerprinted assignment rule
  • JTBD-MK-27 Create a holdoutnot supported MK5
  • JTBD-MK-28 Measure lift against controlnot supported MK5/MK7
  • JTBD-MK-29 Select and publish a winnernot supported MK5; human approval where risk exists

Paid media

  • JTBD-MK-30 Prepare a Media Plannot supported MK6
  • JTBD-MK-31 Sync an audience to an ads platformnot supported MK6; consent rules
  • JTBD-MK-32 Launch an approved ads campaignnot supported MK6; human spend approval mandatory
  • JTBD-MK-33 Ingest spend and resultsnot supported MK6; provider adapters
  • JTBD-MK-34 Propose a budget changenot supported MK6; a proposal, never an action

Analytics and attribution

  • JTBD-MK-35 Define a funnelnot supported MK1/MK7
  • JTBD-MK-36 Identify and segment a dropnot supported MK1; ANALYTICS_STUDIO.md
  • JTBD-MK-37 Report a campaign resultnot supported MK2 onward
  • JTBD-MK-38 First-touch attributionnot supported MK7; identity/touchpoint model
  • JTBD-MK-39 Last-touch attributionnot supported MK7
  • JTBD-MK-40 Multi-touch attributionnot supported MK7; ANALYTICS_STUDIO.md — hard
  • JTBD-MK-41 Connect a campaign to an Opportunity or Ordernot supported MK7
  • JTBD-MK-42 Calculate campaign ROInot supported MK7
  • JTBD-MK-43 Recommend the next campaign versionnot 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: there is no authentication, tenancy or RBAC, so it is local-development-only whatever any row says. Every claim and every limitation is on one page.