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

CRM job catalogue

Contract & Subscription

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

10 jobs in this area. 2 partially supported, 8 not supported.

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.

JTBD-CS-01 · Activate a commercial contract from a signed Order

partially supported

order.activate-contract (human actor only) creates one contract, its immutable version and one line per order component, atomically and idempotently, with every amount copied…

tests/contracts-activation-e2e.test.jstests/contracts-review.test.js

JTBD-CS-02 · Activate a subscription with lines and an initial term

partially supported

one subscription per contract, with a line for every component whose commercial axis is subscription — including recurring components that also carry a service or delivery…

JTBD-CS-03 · Amend seats or quantity on a live subscription

not supported

no amendment primitives

JTBD-CS-04 · Record an expansion or contraction, classified at the time of change

not supported

no amendment classification

JTBD-CS-05 · Calculate MRR, ARR and TCV from real contract data

not supported

deliberately not derived — M12 now provides a term and an active subscription, but normalizing unlike periods into one figure is a stated business policy that does not exist…

JTBD-CS-06 · Schedule a renewal ahead of term end

not supported

needs both this layer and a scheduler (JOBS_AND_OUTBOX.md)

docs/strategy/JOBS_AND_OUTBOX.md

JTBD-CS-07 · Create a renewal opportunity from an expiring subscription

not supported

needs CS-06

JTBD-CS-08 · Apply a versioned price-uplift policy at renewal

not supported

the versioned-policy mechanism exists (ADR-015/016/018) and M12 uses it to classify, but the renewal domain does not exist

JTBD-CS-09 · Cancel or non-renew with an audited reason

not supported

no cancellation primitives

JTBD-CS-10 · Read a complete amendment history

not supported

no amendments exist; what M12 does record is the activation itself — who activated, from which order, under which policy version, and both classification axes with their reasons…

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.

All 149 catalogued jobs · /jobs.json · the claims ledger