JTBD-CS-09 · Contract & Subscription
Cancel or non-renew with an audited reason
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.
What the catalogue records
the non-renew half only, as recorded intent. M16a's record-renewal-decision stores an immutable not_renewing decision with a required human reason, its actor, the term boundary it was taken against and that term's declared provenance. It ends no contract, cancels no subscription, stops no service and recognizes no churn — there are still no cancellation primitives, and the cancel half of this row is not supported. Evidence: tests/lifecycle-renewal-operations-e2e.test.js, tests/lifecycle-renewal-operations.test.js
Evidence
Proved by these tests, which run on every push:
tests/lifecycle-renewal-operations-e2e.test.jstests/lifecycle-renewal-operations.test.jsWhat this status does not mean
A status here describes this repository at this commit, nothing more. It is not a statement about what a CRM should do, and it is not a roadmap commitment. The whole framework is local-development-only: there is no authentication, tenancy or RBAC, so no status on this page implies you can deploy it. The boundaries are listed in full on the claims ledger.
Other jobs in Contract & Subscription
- Activate a commercial contract from a signed Order — partially supported
- Activate a subscription with lines and an initial term — partially supported
- Amend seats or quantity on a live subscription — not supported
- Record an expansion or contraction, classified at the time of change — partially supported
- Calculate MRR, ARR and TCV from real contract data — not supported
- Schedule a renewal ahead of term end — not supported
- Create a renewal opportunity from an expiring subscription — not supported
- Apply a versioned price-uplift policy at renewal — not supported
All 10 jobs in Contract & Subscription · the whole catalogue