| CAP-CRM-ENT-001 | BR-CAP-CRM-ENT-001-01 A contact requires a nonblank first or last name; other name components do not satisfy this requirement. | yes | | ATS-CRM-ENT-001-01, ATS-CRM-ENT-001-20, ATS-CRM-ENT-001-21, ATS-CRM-ENT-005-12, ATS-CRM-ENT-007-06, ATS-CRM-ENT-008-08 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-001 | BR-CAP-CRM-ENT-001-02 Each contact write derives its display name from first name, middle initial, quoted nickname, last name, suffix and credentials, adds the prefix for the full name, and builds the sort name from last name followed by the given names and nickname without a trailing comma. | yes | | ATS-CRM-ENT-001-02, ATS-CRM-ENT-001-18, ATS-CRM-ENT-001-19, ATS-CRM-ENT-003-13, ATS-CRM-ENT-004-15 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-001 | BR-CAP-CRM-ENT-001-03 Contact creation rejects supplied computed names and never extracts name components from a full name. | yes | | ATS-CRM-ENT-001-03 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-001 | BR-CAP-CRM-ENT-001-04 Saving moves an honorific salutation into the prefix, standardizes recognized prefixes and removes a nickname that repeats the first name; Review Changes identifies those adjustments before the console saves. | yes | | ATS-CRM-ENT-001-04 | TST-CRM-ENT-774 (not-run), TST-CRM-ENT-787 (not-run) |
| CAP-CRM-ENT-001 | BR-CAP-CRM-ENT-001-05 The service limits prefix, first, middle and last names, suffix and nickname to 200 characters, notes to 10,000 and e-mail addresses to 254, while credentials, salutation and maiden name have no equivalent service limit. | yes | | ATS-CRM-ENT-001-05 | TST-CRM-ENT-774 (not-run), TST-CRM-ENT-787 (not-run) |
| CAP-CRM-ENT-001 | BR-CAP-CRM-ENT-001-06 A valid client-supplied contact id is retained if unused in the tenant; otherwise creation generates a time-ordered UUID, and another tenant may use the same id independently. | yes | | ATS-CRM-ENT-001-06 | TST-CRM-ENT-786 (not-run), TST-CRM-ENT-787 (not-run) |
| CAP-CRM-ENT-001 | BR-CAP-CRM-ENT-001-07 Contact numbers come from the tenant’s contact counter, cannot be selected by a client or reused, may have gaps after refusal, and recover collisions by taking one more than the tenant’s highest contact number. | yes | | ATS-CRM-ENT-001-07 | TST-CRM-ENT-787 (not-run) |
| CAP-CRM-ENT-001 | BR-CAP-CRM-ENT-001-08 Repeating a contact create with the same UUIDv7 id and request returns the original contact, while reuse of that id for a different request produces a conflict. | yes | | ATS-CRM-ENT-001-08, ATS-CRM-ENT-001-17 | TST-CRM-ENT-787 (not-run) |
| CAP-CRM-ENT-001 | BR-CAP-CRM-ENT-001-09 Contacts may have no type, but a supplied type must belong to the tenant regardless of its active flag; an unknown type causes a conflict without saving the contact. | yes | | ATS-CRM-ENT-001-09, ATS-CRM-ENT-001-22, ATS-CRM-ENT-018-09 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-001 | BR-CAP-CRM-ENT-001-10 Contact status defaults to active and accepts only active, inactive, deceased or duplicate; archive is a separate lifecycle action. | yes | | ATS-CRM-ENT-001-10, ATS-CRM-ENT-001-16, ATS-CRM-ENT-004-21 | TST-CRM-ENT-787 (not-run) |
| CAP-CRM-ENT-001 | BR-CAP-CRM-ENT-001-11 A spouse link must identify another contact in the tenant who is not already a third contact’s spouse, is written reciprocally, and is removed from both sides when either link is cleared or either contact is deleted. | yes | | ATS-CRM-ENT-001-11 | TST-CRM-ENT-786 (not-run), TST-CRM-ENT-787 (not-run) |
| CAP-CRM-ENT-001 | BR-CAP-CRM-ENT-001-12 A blocked contact create requires duplicate-block override authority and a reason, and a confirmation flag alone cannot authorize it. | yes | | ATS-CRM-ENT-001-12, ATS-CRM-ENT-001-14 | TST-CRM-ENT-774 (not-run) |
| CAP-CRM-ENT-001 | BR-CAP-CRM-ENT-001-13 A contact photo is made permanent from a tenant upload, an existing tenant file or a public web image before creation writes the contact; failure rejects creation and identifies the photo field. | yes | | ATS-CRM-ENT-001-13 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-002 | BR-CAP-CRM-ENT-002-01 Organization saves reject blank names, names above 200 characters and notes above 10,000 characters, identifying the invalid field. | yes | | ATS-CRM-ENT-002-01, ATS-CRM-ENT-002-14, ATS-CRM-ENT-002-15, ATS-CRM-ENT-005-13, ATS-CRM-ENT-008-09 | TST-CRM-ENT-786 (not-run), TST-CRM-ENT-789 (not-run) |
| CAP-CRM-ENT-002 | BR-CAP-CRM-ENT-002-02 Organization creation preserves an unused valid client id within the tenant or generates a time-ordered UUID when none is provided. | yes | | ATS-CRM-ENT-002-02 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-002 | BR-CAP-CRM-ENT-002-03 Organization numbers use a tenant counter separate from contact numbers, initially 10000, ignore client numbers, may leave gaps after refusal and recover collisions above the highest existing organization number. | yes | | ATS-CRM-ENT-002-03 | TST-CRM-ENT-789 (not-run) |
| CAP-CRM-ENT-002 | BR-CAP-CRM-ENT-002-04 A supplied organization type must exist in the tenant or the save returns a conflict. | yes | | ATS-CRM-ENT-002-04, ATS-CRM-ENT-002-16, ATS-CRM-ENT-002-18, ATS-CRM-ENT-012-19, ATS-CRM-ENT-018-10 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-002 | BR-CAP-CRM-ENT-002-05 A parent organization must belong to the same tenant or the save returns a conflict. | yes | | ATS-CRM-ENT-002-05, ATS-CRM-ENT-002-17 | TST-CRM-ENT-786 (not-run), TST-CRM-ENT-789 (not-run) |
| CAP-CRM-ENT-002 | BR-CAP-CRM-ENT-002-06 An organization cannot parent itself or be moved beneath a descendant; when opposite moves race, the move following the first commit is rejected. | yes | | ATS-CRM-ENT-002-06 | TST-CRM-ENT-775 (not-run), TST-CRM-ENT-789 (not-run) |
| CAP-CRM-ENT-002 | BR-CAP-CRM-ENT-002-07 Organization reads compute the nearest-first ancestor chain, its length and its top-level organization, so descendant reads reflect a parent move immediately and supplied ancestry does not control the result. | yes | | ATS-CRM-ENT-002-07, ATS-CRM-ENT-002-13, ATS-CRM-ENT-003-14, ATS-CRM-ENT-004-24 | TST-CRM-ENT-789 (not-run) |
| CAP-CRM-ENT-002 | BR-CAP-CRM-ENT-002-08 Organization status defaults to active and permits active, inactive or duplicate. | yes | | ATS-CRM-ENT-002-08, ATS-CRM-ENT-002-12, ATS-CRM-ENT-004-22 | TST-CRM-ENT-775 (not-run), TST-CRM-ENT-789 (not-run) |
| CAP-CRM-ENT-002 | BR-CAP-CRM-ENT-002-09 An unaccompanied website derives a lowercase domain host without protocol, www, port, path or query, an unaccompanied domain derives an http www website, and an unrecognizable value is preserved without deriving the other field. | yes | | ATS-CRM-ENT-002-09 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-002 | BR-CAP-CRM-ENT-002-10 An organization logo becomes permanent from a tenant upload, tenant file or public image before the record is written; failure rejects the save and preserves the previous logo. | yes | | ATS-CRM-ENT-002-10 | TST-CRM-ENT-789 (not-run) |
| CAP-CRM-ENT-002 | BR-CAP-CRM-ENT-002-11 A blocked organization create requires duplicate-block override authority and a reason rather than confirmation alone. | yes | | ATS-CRM-ENT-002-11 | |
| CAP-CRM-ENT-002 | BR-CAP-CRM-ENT-002-12 Staff can create organizations in the console, but editing an existing organization uses the API until the Organization 360 milestone delivers its editor. | no | | | |
| CAP-CRM-ENT-003 | BR-CAP-CRM-ENT-003-01 Contact and organization lists use number order, return the requested page size from 1 to 100 with 25 as the default, supply an opaque continuation cursor and reject unsupported parameters, invalid limits and unrecognized cursors. | yes | | ATS-CRM-ENT-003-01 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-003 | BR-CAP-CRM-ENT-003-02 Name search checks display and sort names without case sensitivity, treats % and _ as literal characters, accepts up to 100 characters and disregards blank input; nicknames can match within computed names, while e-mails and record numbers are excluded. | yes | | ATS-CRM-ENT-003-02 | TST-CRM-ENT-787 (not-run), TST-CRM-ENT-795 (not-run) |
| CAP-CRM-ENT-003 | BR-CAP-CRM-ENT-003-03 An organization filter returns each contact once when any affiliation to that organization is effective on the workspace’s current day, whether primary or secondary, and returns no contacts for an unknown organization. | yes | | ATS-CRM-ENT-003-03, ATS-CRM-ENT-003-15, ATS-CRM-ENT-009-18 | TST-CRM-ENT-787 (not-run) |
| CAP-CRM-ENT-003 | BR-CAP-CRM-ENT-003-04 The descendant listing returns each currently affiliated contact once across the organization and all descendants, without paging, in a depth-first traversal ordered by organization and contact names, skipping cycles and returning nothing for an unknown root. | yes | | ATS-CRM-ENT-002-13, ATS-CRM-ENT-003-04, ATS-CRM-ENT-003-14 | TST-CRM-ENT-776 (not-run), TST-CRM-ENT-787 (not-run) |
| CAP-CRM-ENT-003 | BR-CAP-CRM-ENT-003-05 Selecting contacts through the list excludes contacts whose status is inactive or deceased. | yes | | ATS-CRM-ENT-003-05, ATS-CRM-ENT-003-16, ATS-CRM-ENT-013-12 | TST-CRM-ENT-786 (not-run), TST-CRM-ENT-787 (not-run) |
| CAP-CRM-ENT-003 | BR-CAP-CRM-ENT-003-06 A record read includes its collections and current creator and modifier display names, or only the requested projected fields together with its id. | no | | ATS-CRM-ENT-001-18, ATS-CRM-ENT-003-10, ATS-CRM-ENT-003-12, ATS-CRM-ENT-003-13, ATS-CRM-ENT-007-07 | TST-CRM-ENT-774 (not-run) |
| CAP-CRM-ENT-003 | BR-CAP-CRM-ENT-003-07 Routes operate within their path’s tenant, reject callers without tenant reach and conflicting tenant ids in the body, and treat matching ids in separate tenants as separate records. | yes | | ATS-CRM-ENT-001-23, ATS-CRM-ENT-002-19, ATS-CRM-ENT-003-06, ATS-CRM-ENT-003-17, ATS-CRM-ENT-004-23, ATS-CRM-ENT-005-18, ATS-CRM-ENT-006-17, ATS-CRM-ENT-007-09, ATS-CRM-ENT-008-11, ATS-CRM-ENT-011-17 | TST-CRM-ENT-774 (not-run), TST-CRM-ENT-775 (not-run), TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-003 | BR-CAP-CRM-ENT-003-08 After authorization, routes naming a merged-away record return 410 with its survivor id, while ids that never existed return 404. | yes | | ATS-CRM-ENT-003-07 | TST-CRM-ENT-774 (not-run), TST-CRM-ENT-775 (not-run) |
| CAP-CRM-ENT-003 | BR-CAP-CRM-ENT-003-09 CRM routes reject callers lacking application access even when they hold the record permissions. | yes | | ATS-CRM-ENT-001-23, ATS-CRM-ENT-002-19, ATS-CRM-ENT-003-08, ATS-CRM-ENT-003-17, ATS-CRM-ENT-004-14, ATS-CRM-ENT-004-23, ATS-CRM-ENT-005-18, ATS-CRM-ENT-006-17, ATS-CRM-ENT-007-09, ATS-CRM-ENT-008-11, ATS-CRM-ENT-011-17 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-003 | BR-CAP-CRM-ENT-003-10 A Rhythm staff grant spanning every tenant does not cross a protected customer tenant boundary; customer access requires a customer-level grant. | yes | | ATS-CRM-ENT-003-09, ATS-CRM-ENT-003-17 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-003 | BR-CAP-CRM-ENT-003-11 Contact and organization dataset queries require both the dataset query permission and the corresponding record read permission. | no | | ATS-CRM-ENT-003-17 | |
| CAP-CRM-ENT-003 | BR-CAP-CRM-ENT-003-12 Contact reads include affiliated organization names even when the caller lacks organization read permission. | no | | ATS-CRM-ENT-003-10 | TST-CRM-ENT-774 (not-run) |
| CAP-CRM-ENT-003 | BR-CAP-CRM-ENT-003-13 Record and list reads add public image links for photos and logos and 15-minute attachment download links for documents; writes disregard returned display links. | no | | ATS-CRM-ENT-003-12 | |
| CAP-CRM-ENT-003 | BR-CAP-CRM-ENT-003-14 The product should display stored contact details through metadata-driven Contact 360 cards and identify communication restrictions and deceased status in the header. | no | | | |
| CAP-CRM-ENT-003 | BR-CAP-CRM-ENT-003-15 Quick Search processes committed record changes through change events, allowing a successful save to precede an updated search result. | no | | | |
| CAP-CRM-ENT-004 | BR-CAP-CRM-ENT-004-01 A replacement supplies the read version and a patch begins by testing it; omission is rejected at sys_version, and a stale version produces a conflict identifying the latest person or system change. | yes | | ATS-CRM-ENT-001-19, ATS-CRM-ENT-002-12, ATS-CRM-ENT-004-01, ATS-CRM-ENT-004-14, ATS-CRM-ENT-004-15, ATS-CRM-ENT-004-18, ATS-CRM-ENT-004-19, ATS-CRM-ENT-004-20, ATS-CRM-ENT-004-21, ATS-CRM-ENT-004-22, ATS-CRM-ENT-004-24, ATS-CRM-ENT-006-12, ATS-CRM-ENT-009-17, ATS-CRM-ENT-009-19, ATS-CRM-ENT-013-13, ATS-CRM-ENT-015-10 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-004 | BR-CAP-CRM-ENT-004-02 An unchanged save preserves version, modification time and history, but still rejects a stale version. | yes | | ATS-CRM-ENT-004-02, ATS-CRM-ENT-016-07 | TST-CRM-ENT-774 (not-run), TST-CRM-ENT-794 (not-run) |
| CAP-CRM-ENT-004 | BR-CAP-CRM-ENT-004-03 A patch modifies the stored record before validating the whole result, preserves unnamed properties and clears nullable values when explicitly set to null. | yes | | ATS-CRM-ENT-004-03 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-004 | BR-CAP-CRM-ENT-004-04 Replacement clears omitted editable scalar values and omitted e-mail, phone, address and communication-preference collections while retaining server-owned data and collections governed by explicit preservation rules. | yes | | ATS-CRM-ENT-004-04 | TST-CRM-ENT-776 (not-run), TST-CRM-ENT-786 (not-run), TST-CRM-ENT-787 (not-run) |
| CAP-CRM-ENT-004 | BR-CAP-CRM-ENT-004-05 An explicit collection preserves and versions changed elements by their own ids, creates idless elements, removes omitted elements, rejects foreign or duplicate ids and allows elements to exchange types or preferred flags in one save. | yes | | ATS-CRM-ENT-004-05, ATS-CRM-ENT-004-16, ATS-CRM-ENT-005-11, ATS-CRM-ENT-005-14, ATS-CRM-ENT-005-17 | TST-CRM-ENT-786 (not-run), TST-CRM-ENT-787 (not-run) |
| CAP-CRM-ENT-004 | BR-CAP-CRM-ENT-004-06 Round-trip writes accept unchanged contact names, numbers, attribution, locks and origin values but reject changes to those read-only values, ignore derived organization ancestry and compliance values, and reject a conflicting tenant id. | yes | | ATS-CRM-ENT-004-06 | TST-CRM-ENT-774 (not-run), TST-CRM-ENT-786 (not-run), TST-CRM-ENT-787 (not-run), TST-CRM-ENT-789 (not-run) |
| CAP-CRM-ENT-004 | BR-CAP-CRM-ENT-004-07 A failed contact or organization save leaves the record, its elements, custom values and affiliations at their previous state regardless of the failing validation, constraint, file, lock or version check. | yes | | ATS-CRM-ENT-004-07, ATS-CRM-ENT-004-17, ATS-CRM-ENT-005-10, ATS-CRM-ENT-008-06, ATS-CRM-ENT-008-10 | TST-CRM-ENT-786 (not-run), TST-CRM-ENT-787 (not-run) |
| CAP-CRM-ENT-004 | BR-CAP-CRM-ENT-004-08 Validation refusals collect the problems detected in one response and identify each problem’s field path. | yes | | ATS-CRM-ENT-004-08 | TST-CRM-ENT-787 (not-run), TST-CRM-ENT-789 (not-run) |
| CAP-CRM-ENT-004 | BR-CAP-CRM-ENT-004-09 Input strings are trimmed, blank optional values become empty, blank required values are rejected and blank collection elements are omitted. | yes | | ATS-CRM-ENT-004-09 | TST-CRM-ENT-774 (not-run), TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-004 | BR-CAP-CRM-ENT-004-10 System changes to spouse links, regions or compliance advance the record version and make an open editor’s next save conflict with attribution to the system. | yes | | ATS-CRM-ENT-004-10 | TST-CRM-ENT-774 (not-run), TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-004 | BR-CAP-CRM-ENT-004-11 The contact editor reviews changes before sending a version-tested patch of changed fields and offers reload or comparison after a conflict without silently accepting a newer version through Keep Editing. | yes | | ATS-CRM-ENT-004-11 | TST-CRM-ENT-774 (not-run) |
| CAP-CRM-ENT-004 | BR-CAP-CRM-ENT-004-12 The product should keep unsaved changes during session refresh and validate the original version when restoring an editor draft. | no | | | |
| CAP-CRM-ENT-004 | BR-CAP-CRM-ENT-004-13 A whole-record save of a contact or organization must include every replaceable property. A save that omits one is refused and names the missing property, null clears a value, and a read states its empty properties as null so that a record read back can be saved unchanged. | yes | | ATS-CRM-ENT-004-13 | |
| CAP-CRM-ENT-005 | BR-CAP-CRM-ENT-005-01 Contacts store up to three ordered valid e-mail addresses, with the first as primary, canonical lowercase values without whitespace and blank entries removed. | yes | | ATS-CRM-ENT-001-20, ATS-CRM-ENT-005-01, ATS-CRM-ENT-005-12 | TST-CRM-ENT-774 (not-run), TST-CRM-ENT-787 (not-run) |
| CAP-CRM-ENT-005 | BR-CAP-CRM-ENT-005-02 Primary e-mail addresses are unique among active and duplicate contacts within a tenant; inactive or deceased contacts release them, reactivation conflicts with another holder, secondary addresses are not compared and deletion releases the address immediately. | yes | | ATS-CRM-ENT-004-21, ATS-CRM-ENT-005-02, ATS-CRM-ENT-005-10 | TST-CRM-ENT-774 (not-run), TST-CRM-ENT-787 (not-run) |
| CAP-CRM-ENT-005 | BR-CAP-CRM-ENT-005-03 Each contact or organization phone number uses a tenant phone type, with one number per type and at most one preferred number; if none is selected, the earliest number in type order becomes preferred. | yes | | ATS-CRM-ENT-002-14, ATS-CRM-ENT-005-03, ATS-CRM-ENT-005-13 | TST-CRM-ENT-786 (not-run), TST-CRM-ENT-787 (not-run) |
| CAP-CRM-ENT-005 | BR-CAP-CRM-ENT-005-04 Valid US phone numbers are normalized to national format, other numbers retain their input form and blank entries are discarded. | yes | | ATS-CRM-ENT-005-04 | TST-CRM-ENT-787 (not-run), TST-CRM-ENT-789 (not-run) |
| CAP-CRM-ENT-005 | BR-CAP-CRM-ENT-005-05 Each address uses a tenant address type, with one per type and at most one preferred address; the earliest nonseasonal address in type order becomes preferred when needed and replaces a removed preferred address. | yes | | ATS-CRM-ENT-005-05, ATS-CRM-ENT-005-17 | TST-CRM-ENT-786 (not-run), TST-CRM-ENT-787 (not-run), TST-CRM-ENT-789 (not-run) |
| CAP-CRM-ENT-005 | BR-CAP-CRM-ENT-005-06 Addresses default to US, normalize recognized country and state names to codes, reject unknown countries and restrict latitude to -90 through 90 and longitude to -180 through 180. | yes | | ATS-CRM-ENT-005-06 | TST-CRM-ENT-786 (not-run), TST-CRM-ENT-787 (not-run), TST-CRM-ENT-789 (not-run) |
| CAP-CRM-ENT-005 | BR-CAP-CRM-ENT-005-07 A contact cannot acquire or change to an organization-only address or phone type, but an existing element can retain a type later made organization-only. | yes | | ATS-CRM-ENT-005-07, ATS-CRM-ENT-005-16, ATS-CRM-ENT-018-11 | TST-CRM-ENT-786 (not-run), TST-CRM-ENT-787 (not-run) |
| CAP-CRM-ENT-005 | BR-CAP-CRM-ENT-005-08 Seasonal addresses use inclusive recurring month-day boundaries that may cross December, reject full calendar dates and overlapping seasons, and treat February 29 as February 28 in non-leap years. | yes | | ATS-CRM-ENT-005-08 | TST-CRM-ENT-774 (not-run), TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-005 | BR-CAP-CRM-ENT-005-09 A seasonal address cannot be the regular preferred address and supplies the mailing address only while in season on the workspace calendar and explicitly marked for seasonal use; otherwise the preferred address supplies it. | yes | | ATS-CRM-ENT-005-09 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-005 | BR-CAP-CRM-ENT-005-10 Correcting an address or phone number retains its element identity; replacing the element requires removing it and adding another. | no | | ATS-CRM-ENT-004-16, ATS-CRM-ENT-005-11, ATS-CRM-ENT-005-14, ATS-CRM-ENT-005-15, ATS-CRM-ENT-006-13 | |
| CAP-CRM-ENT-006 | BR-CAP-CRM-ENT-006-01 Contact addresses and phone numbers identify whether their values are owned, deliberately copied from an organization, linked to its current record or disconnected with the last value after their linked source disappears. | no | | | |
| CAP-CRM-ENT-006 | BR-CAP-CRM-ENT-006-02 A contact-information link must use an affiliation present after the save and a record or record type of that affiliation’s organization; another organization’s record or a missing source type is rejected. | yes | | ATS-CRM-ENT-006-01 | TST-CRM-ENT-786 (not-run), TST-CRM-ENT-790 (not-run) |
| CAP-CRM-ENT-006 | BR-CAP-CRM-ENT-006-03 Creating or redirecting a contact-information link requires an affiliation effective on the workspace’s current day. | yes | | ATS-CRM-ENT-006-02 | TST-CRM-ENT-790 (not-run) |
| CAP-CRM-ENT-006 | BR-CAP-CRM-ENT-006-04 A linked element cannot store a value different from its organization source; whitespace-only differences are accepted and differences in letter case are rejected. | yes | | ATS-CRM-ENT-006-03 | TST-CRM-ENT-776 (not-run), TST-CRM-ENT-790 (not-run) |
| CAP-CRM-ENT-006 | BR-CAP-CRM-ENT-006-05 An effective link resolves to the organization’s current value without changing the contact on an organization edit; an ineffective affiliation retains an unresolved link without a value. | yes | | ATS-CRM-ENT-006-04 | TST-CRM-ENT-776 (not-run), TST-CRM-ENT-790 (not-run) |
| CAP-CRM-ENT-006 | BR-CAP-CRM-ENT-006-06 Removing a shared organization address or phone disconnects its contact links in the same transaction, preserves the last value with source, time and reason, marks verification as needed and advances the affected contacts’ versions. | yes | | ATS-CRM-ENT-005-15, ATS-CRM-ENT-006-05, ATS-CRM-ENT-006-13 | TST-CRM-ENT-775 (not-run), TST-CRM-ENT-786 (not-run), TST-CRM-ENT-790 (not-run) |
| CAP-CRM-ENT-006 | BR-CAP-CRM-ENT-006-07 Clients cannot create disconnected elements, and returning an existing disconnected element preserves its server-recorded provenance. | yes | | ATS-CRM-ENT-006-06 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-006 | BR-CAP-CRM-ENT-006-08 Version-checked verify, relink and remove actions respectively convert a disconnected element to an owned value, link it to exactly one current-affiliation source by id or type, or delete it; they reject a non-disconnected row, an unknown element and missing or stale versions. | yes | | ATS-CRM-ENT-006-07, ATS-CRM-ENT-006-12 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-006 | BR-CAP-CRM-ENT-006-09 Making a linked element independent stores a copy of its resolved organization value with the source organization and copy time, and subsequent source edits do not change it. | yes | | ATS-CRM-ENT-006-08 | TST-CRM-ENT-776 (not-run), TST-CRM-ENT-790 (not-run) |
| CAP-CRM-ENT-006 | BR-CAP-CRM-ENT-006-10 Removing an affiliation requires handling every information link it supplies in the same save, whereas ending it is allowed and leaves unresolved links. | yes | | ATS-CRM-ENT-006-09, ATS-CRM-ENT-006-14, ATS-CRM-ENT-009-20 | TST-CRM-ENT-776 (not-run), TST-CRM-ENT-790 (not-run) |
| CAP-CRM-ENT-006 | BR-CAP-CRM-ENT-006-11 A new effective affiliation fills empty destination types from its selected default mappings without replacing existing values, uses every mapping when selection is omitted and uses none for an explicitly empty selection. | yes | | ATS-CRM-ENT-006-10, ATS-CRM-ENT-006-16, ATS-CRM-ENT-017-12 | TST-CRM-ENT-776 (not-run), TST-CRM-ENT-790 (not-run) |
| CAP-CRM-ENT-006 | BR-CAP-CRM-ENT-006-12 Default mappings apply only through effective affiliations, including pending choices on a future affiliation’s start day and explicit reapplication to a current affiliation; ended affiliations create no links and changing type defaults does not rewrite existing contacts. | yes | | ATS-CRM-ENT-006-11, ATS-CRM-ENT-006-15, ATS-CRM-ENT-010-09 | TST-CRM-ENT-776 (not-run), TST-CRM-ENT-790 (not-run) |
| CAP-CRM-ENT-006 | BR-CAP-CRM-ENT-006-13 The product should show the number of affected people before an organization removes an address they share. | yes | | | |
| CAP-CRM-ENT-007 | BR-CAP-CRM-ENT-007-01 Contacts default their do-not-mail, do-not-call and e-mail-opt-out flags to false. | no | | ATS-CRM-ENT-007-04, ATS-CRM-ENT-007-06, ATS-CRM-ENT-007-07 | TST-CRM-ENT-774 (not-run) |
| CAP-CRM-ENT-007 | BR-CAP-CRM-ENT-007-02 A contact stores one communication preference per communication type and rejects a repeated type at the second entry’s path. | yes | | ATS-CRM-ENT-007-01 | TST-CRM-ENT-787 (not-run) |
| CAP-CRM-ENT-007 | BR-CAP-CRM-ENT-007-03 Subscription addresses are canonical valid e-mail addresses, with blanks treated as absent. | yes | | ATS-CRM-ENT-007-02 | TST-CRM-ENT-787 (not-run) |
| CAP-CRM-ENT-007 | BR-CAP-CRM-ENT-007-04 Communication preferences include an enabled flag and allow subscribed, digest or unsubscribed as subscription status. | yes | | ATS-CRM-ENT-007-03 | TST-CRM-ENT-787 (not-run) |
| CAP-CRM-ENT-007 | BR-CAP-CRM-ENT-007-05 The service accepts communication type identifiers it does not recognize. | no | | ATS-CRM-ENT-007-05 | |
| CAP-CRM-ENT-007 | BR-CAP-CRM-ENT-007-06 The contacts-and-organizations milestone stores communication choices but leaves their application by message senders outside its scope. | no | | ATS-CRM-ENT-007-08 | |
| CAP-CRM-ENT-008 | BR-CAP-CRM-ENT-008-01 Custom field writes merge only named keys, preserve omitted or empty maps, set supplied values and clear null or blank values, but reject nulling or removing the entire map. | yes | | ATS-CRM-ENT-008-01 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-008 | BR-CAP-CRM-ENT-008-02 Writable custom field keys must identify active definitions for the tenant and record kind; unknown, foreign, mismatched or archived definitions are rejected at the key’s path. | yes | | ATS-CRM-ENT-008-02 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-008 | BR-CAP-CRM-ENT-008-03 Custom values are converted to their declared types or rejected, including exact integer and decimal conversion, explicit true/false interpretation, text lengths, live list options, offset-qualified date-times and tenant-owned references. | yes | | ATS-CRM-ENT-002-15, ATS-CRM-ENT-004-17, ATS-CRM-ENT-008-03, ATS-CRM-ENT-008-06, ATS-CRM-ENT-008-09, ATS-CRM-ENT-008-10 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-008 | BR-CAP-CRM-ENT-008-04 API-required custom fields need values on creation and cannot be cleared, while an older record lacking a newly required value can still be saved. | yes | | ATS-CRM-ENT-001-21, ATS-CRM-ENT-008-04, ATS-CRM-ENT-008-08 | TST-CRM-ENT-775 (not-run), TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-008 | BR-CAP-CRM-ENT-008-05 Reads return readable custom values in one map using their JSON forms and null for empty values; top-level custom field properties are neither returned nor accepted on writes. | no | | ATS-CRM-ENT-008-07 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-008 | BR-CAP-CRM-ENT-008-06 Contact roles, affiliation types and affiliations do not support custom values and reject custom_fields as an unknown property. | yes | | ATS-CRM-ENT-008-05 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-008 | BR-CAP-CRM-ENT-008-07 Rich-text custom values use a sanitized basic editor and safe rendering in forms, Explorer and record views. | no | | | |
| CAP-CRM-ENT-009 | BR-CAP-CRM-ENT-009-01 Affiliations require an organization and affiliation type belonging to the tenant; missing, foreign or unknown references reject the complete save. | yes | | ATS-CRM-ENT-009-01 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-009 | BR-CAP-CRM-ENT-009-02 Affiliations and their role periods are saved transactionally through the contact; organization-side people lists expose reads and write additions through the person’s record. | yes | | ATS-CRM-ENT-004-18, ATS-CRM-ENT-006-14, ATS-CRM-ENT-009-02, ATS-CRM-ENT-009-17, ATS-CRM-ENT-009-19, ATS-CRM-ENT-009-20, ATS-CRM-ENT-011-12, ATS-CRM-ENT-012-20 | TST-CRM-ENT-776 (not-run) |
| CAP-CRM-ENT-009 | BR-CAP-CRM-ENT-009-03 Omitting affiliations preserves them even on replacement, while an explicit list replaces the collection and an idless row matching organization, type and start date reuses the existing affiliation. | yes | | ATS-CRM-ENT-009-03, ATS-CRM-ENT-009-24 | TST-CRM-ENT-776 (not-run) |
| CAP-CRM-ENT-009 | BR-CAP-CRM-ENT-009-04 Selecting a different primary affiliation clears the previous primary in the same save, while selecting two new primaries is rejected. | yes | | ATS-CRM-ENT-003-15, ATS-CRM-ENT-009-04, ATS-CRM-ENT-009-18 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-009 | BR-CAP-CRM-ENT-009-05 A primary affiliation must have started by the workspace’s current day and have no end date. | yes | | ATS-CRM-ENT-009-05 | TST-CRM-ENT-776 (not-run), TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-009 | BR-CAP-CRM-ENT-009-06 Ending a primary affiliation removes its primary designation without selecting a replacement. | yes | | ATS-CRM-ENT-009-06, ATS-CRM-ENT-009-22, ATS-CRM-ENT-011-13 | TST-CRM-ENT-776 (not-run), TST-CRM-ENT-790 (not-run) |
| CAP-CRM-ENT-009 | BR-CAP-CRM-ENT-009-07 Affiliation periods include their end day, allow a one-day stay and reject an end before the start. | yes | | ATS-CRM-ENT-009-07, ATS-CRM-ENT-009-21, ATS-CRM-ENT-009-24, ATS-CRM-ENT-010-10 | TST-CRM-ENT-776 (not-run), TST-CRM-ENT-787 (not-run) |
| CAP-CRM-ENT-009 | BR-CAP-CRM-ENT-009-08 One contact’s affiliations of the same type to the same organization cannot overlap, including touching boundary days and undated periods; separate periods and different types are permitted. | yes | | ATS-CRM-ENT-009-08 | TST-CRM-ENT-776 (not-run), TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-009 | BR-CAP-CRM-ENT-009-09 An affiliation cannot change its organization; the editor supports ending it and adding a new affiliation instead. | yes | | ATS-CRM-ENT-009-09 | TST-CRM-ENT-776 (not-run), TST-CRM-ENT-787 (not-run) |
| CAP-CRM-ENT-009 | BR-CAP-CRM-ENT-009-10 A contact may have 100 current or upcoming affiliations, with no limit on ended history. | yes | | ATS-CRM-ENT-009-10 | |
| CAP-CRM-ENT-009 | BR-CAP-CRM-ENT-009-11 The Organization command selects an effective open tie or creates one using the default type and contact title, applies a nonfuture effective date defaulting to workspace today, ends the previous primary the preceding day unless retained, removes a zero-day prior stay and clears primary designation when cleared. | yes | | ATS-CRM-ENT-009-11, ATS-CRM-ENT-009-23, ATS-CRM-ENT-017-13 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-009 | BR-CAP-CRM-ENT-009-12 Adding a primary affiliation over a different current primary asks whether the person left; Yes ends the old affiliation before the new start but not before its own start, and Make Primary on an existing affiliation does not ask. | yes | | ATS-CRM-ENT-009-12 | |
| CAP-CRM-ENT-009 | BR-CAP-CRM-ENT-009-13 The contact and primary affiliation share the same job title in either direction, a titleless primary inherits the contact title and historical affiliations retain their ending titles. | yes | | ATS-CRM-ENT-009-13 | TST-CRM-ENT-774 (not-run) |
| CAP-CRM-ENT-009 | BR-CAP-CRM-ENT-009-14 Client affiliation ids must be unused lowercase UUIDv7 values appearing once in the save, and existing role ids must belong to the affiliation under which they are submitted. | yes | | ATS-CRM-ENT-009-14 | TST-CRM-ENT-776 (not-run), TST-CRM-ENT-786 (not-run), TST-CRM-ENT-790 (not-run) |
| CAP-CRM-ENT-009 | BR-CAP-CRM-ENT-009-15 Organization people lists default to current affiliations, support past, upcoming, all and as-of filters plus type and role, return pages and total head count with separate rows for separate ties, return an empty page for an unknown organization and require contact read permission. | yes | | ATS-CRM-ENT-009-15, ATS-CRM-ENT-009-25, ATS-CRM-ENT-013-14 | TST-CRM-ENT-776 (not-run), TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-009 | BR-CAP-CRM-ENT-009-16 Add Person on an organization preselects the workspace default affiliation type and initially selects Primary when the person has no current primary affiliation. | no | | | |
| CAP-CRM-ENT-009 | BR-CAP-CRM-ENT-009-17 Blank affiliation titles and notes are saved as absent values. | no | | | |
| CAP-CRM-ENT-010 | BR-CAP-CRM-ENT-010-01 Affiliation classification, filters, primary starts, Organization command dates, compliance and automatic roles use the workspace’s local business date rather than the server or browser date. | yes | | ATS-CRM-ENT-010-01 | TST-CRM-ENT-790 (not-run) |
| CAP-CRM-ENT-010 | BR-CAP-CRM-ENT-010-02 Affiliations are upcoming before their start, past after their inclusive end and current otherwise, including their last day. | yes | | ATS-CRM-ENT-009-21, ATS-CRM-ENT-010-01, ATS-CRM-ENT-010-10 | TST-CRM-ENT-790 (not-run) |
| CAP-CRM-ENT-010 | BR-CAP-CRM-ENT-010-03 Console affiliation filters, row labels and counts use the service’s effective-date classification, and new affiliations start with the workspace’s current date. | yes | | ATS-CRM-ENT-010-02 | TST-CRM-ENT-776 (not-run) |
| CAP-CRM-ENT-010 | BR-CAP-CRM-ENT-010-04 Date reconciliation processes starts after the last settled day through today and ends from the last settled day up to yesterday, begins from yesterday for an unprocessed workspace and includes missed days in the next window. | yes | | ATS-CRM-ENT-010-03 | |
| CAP-CRM-ENT-010 | BR-CAP-CRM-ENT-010-05 Reconciliation assigns roles and pending default links for starts in its window, recalculates organizations affected by affiliation or role boundaries and otherwise does not save records merely because a day passes. | yes | | ATS-CRM-ENT-006-15, ATS-CRM-ENT-010-04, ATS-CRM-ENT-010-09, ATS-CRM-ENT-010-11, ATS-CRM-ENT-010-12, ATS-CRM-ENT-011-14, ATS-CRM-ENT-012-21 | TST-CRM-ENT-776 (not-run), TST-CRM-ENT-790 (not-run) |
| CAP-CRM-ENT-010 | BR-CAP-CRM-ENT-010-06 Repeating a settled day or processed window creates no further writes, and the reconciliation watermark advances only after all affected organizations settle successfully. | yes | | ATS-CRM-ENT-010-05, ATS-CRM-ENT-010-08 | TST-CRM-ENT-790 (not-run) |
| CAP-CRM-ENT-010 | BR-CAP-CRM-ENT-010-07 On-demand reconciliation requires the contacts bulk permission; dry runs report changes without writing and may use a future day, while actual runs reject a supplied day, invalid calendar dates and unknown properties. | yes | | ATS-CRM-ENT-010-06, ATS-CRM-ENT-010-13 | TST-CRM-ENT-786 (not-run), TST-CRM-ENT-790 (not-run) |
| CAP-CRM-ENT-010 | BR-CAP-CRM-ENT-010-08 Scheduled reconciliation processes workspaces after their local midnight only when enabled by deployment; the shipped default keeps it disabled. | yes | | ATS-CRM-ENT-010-07 | |
| CAP-CRM-ENT-011 | BR-CAP-CRM-ENT-011-01 Affiliation roles must reference a contact role in the tenant, whether active or inactive, and reject unknown or foreign roles. | yes | | ATS-CRM-ENT-011-01, ATS-CRM-ENT-011-12 | TST-CRM-ENT-786 (not-run), TST-CRM-ENT-790 (not-run) |
| CAP-CRM-ENT-011 | BR-CAP-CRM-ENT-011-02 Explicit role boundaries must fit within the affiliation period, while omitted boundaries inherit the corresponding affiliation boundary. | yes | | ATS-CRM-ENT-011-01 | TST-CRM-ENT-786 (not-run), TST-CRM-ENT-790 (not-run) |
| CAP-CRM-ENT-011 | BR-CAP-CRM-ENT-011-03 A role cannot overlap another period of the same role on one affiliation, may recur in separate periods or separate affiliations, and an affiliation supports at most 25 role rows. | yes | | ATS-CRM-ENT-011-02 | TST-CRM-ENT-776 (not-run), TST-CRM-ENT-790 (not-run) |
| CAP-CRM-ENT-011 | BR-CAP-CRM-ENT-011-04 Changing an affiliation end closes its open or later-ending role periods on that day, while an unchanged affiliation end leaves those periods alone. | yes | | ATS-CRM-ENT-009-22, ATS-CRM-ENT-011-03, ATS-CRM-ENT-011-13 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-011 | BR-CAP-CRM-ENT-011-05 New or changed roles must satisfy the organization type’s restriction with a refusal naming the role, type and allowed list; unchanged roles bypass rechecking and pickers retain held roles alongside permitted choices. | yes | | ATS-CRM-ENT-011-04, ATS-CRM-ENT-011-15, ATS-CRM-ENT-012-22 | TST-CRM-ENT-776 (not-run), TST-CRM-ENT-790 (not-run) |
| CAP-CRM-ENT-011 | BR-CAP-CRM-ENT-011-06 Moving a contact’s primary organization assigns active automatic roles not already held on the new primary tie and first-contact roles when no other current affiliate exists, while an unchanged primary organization assigns nothing. | yes | | ATS-CRM-ENT-011-05, ATS-CRM-ENT-011-16, ATS-CRM-ENT-017-14 | TST-CRM-ENT-776 (not-run), TST-CRM-ENT-790 (not-run) |
| CAP-CRM-ENT-011 | BR-CAP-CRM-ENT-011-07 Future affiliations receive automatic roles no earlier than their local start day through a later save or reconciliation, and corrections to start or end dates determine whether and when assignment occurs. | yes | | ATS-CRM-ENT-010-11, ATS-CRM-ENT-011-06, ATS-CRM-ENT-011-14 | TST-CRM-ENT-790 (not-run) |
| CAP-CRM-ENT-011 | BR-CAP-CRM-ENT-011-08 Automatic roles inherit the affiliation’s dates, are only added, are not restored after deliberate removal and wait when the contact or affiliation is locked against updates. | yes | | ATS-CRM-ENT-011-07 | TST-CRM-ENT-790 (not-run) |
| CAP-CRM-ENT-011 | BR-CAP-CRM-ENT-011-09 Inactive and deceased contacts receive no new automatic roles, retain existing roles and still count as affiliates when deciding whether another contact is first. | yes | | ATS-CRM-ENT-011-08 | TST-CRM-ENT-774 (not-run), TST-CRM-ENT-790 (not-run) |
| CAP-CRM-ENT-011 | BR-CAP-CRM-ENT-011-10 Organization type restrictions suppress disallowed automatic roles and report the skipped roles with the restricting type. | yes | | ATS-CRM-ENT-011-09 | TST-CRM-ENT-790 (not-run) |
| CAP-CRM-ENT-011 | BR-CAP-CRM-ENT-011-11 Rejoining an organization assigns automatic roles to the new affiliation again while retaining the old affiliation’s ended role history. | yes | | ATS-CRM-ENT-011-10 | |
| CAP-CRM-ENT-011 | BR-CAP-CRM-ENT-011-12 Concurrent joins to an empty organization give the first-contact roles to exactly one joining contact. | yes | | ATS-CRM-ENT-011-11 | TST-CRM-ENT-790 (not-run) |
| CAP-CRM-ENT-011 | BR-CAP-CRM-ENT-011-13 The contact editor presents separate dated rows for repeated role periods and allows another period to be added. | no | | | |
| CAP-CRM-ENT-011 | BR-CAP-CRM-ENT-011-14 The product should offer imports an Apply automatic roles option, initially off, in the imports milestone. | no | | | |
| CAP-CRM-ENT-012 | BR-CAP-CRM-ENT-012-01 Role compliance applies only through an existing organization type that enables it; other organizations begin without compliance data and lose prior status and violations on recalculation. | yes | | ATS-CRM-ENT-012-01, ATS-CRM-ENT-012-24 | TST-CRM-ENT-792 (not-run) |
| CAP-CRM-ENT-012 | BR-CAP-CRM-ENT-012-02 New organizations governed by minimum-role rules start out of compliance with a zero-holder violation for each minimum and send no notice on creation. | yes | | ATS-CRM-ENT-002-16, ATS-CRM-ENT-012-02, ATS-CRM-ENT-012-19 | TST-CRM-ENT-775 (not-run), TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-012 | BR-CAP-CRM-ENT-012-03 Compliance counts each contact once for each role effective on a current affiliation, primary or secondary, compares counts to minimum and maximum bounds including zero, and reports violations in rule order. | yes | | ATS-CRM-ENT-010-12, ATS-CRM-ENT-011-15, ATS-CRM-ENT-012-03, ATS-CRM-ENT-012-21, ATS-CRM-ENT-012-22, ATS-CRM-ENT-012-24 | TST-CRM-ENT-792 (not-run) |
| CAP-CRM-ENT-012 | BR-CAP-CRM-ENT-012-04 Affiliation and role changes or contact deletion recalculate affected organizations from before and after the change when they have rules or existing status; the DISABLE_CONTACT_ROLE_COMPLIANCE_CHECK notes marker suppresses save reactions but not deletion reactions. | yes | | ATS-CRM-ENT-012-04, ATS-CRM-ENT-012-20, ATS-CRM-ENT-014-09 | TST-CRM-ENT-792 (not-run) |
| CAP-CRM-ENT-012 | BR-CAP-CRM-ENT-012-05 Recalculation serializes per organization and writes status, violations and version when enabled-policy violations differ or when absent policy clears existing assessment fields; a status-only difference under enabled policy does not cause a write. | yes | | ATS-CRM-ENT-012-05, ATS-CRM-ENT-012-24 | TST-CRM-ENT-792 (not-run) |
| CAP-CRM-ENT-012 | BR-CAP-CRM-ENT-012-06 Changing type rules or an organization’s type leaves compliance unchanged until a contact reaction, date reconciliation or reprocess reaches it, and organization writes ignore supplied compliance status and violations. | yes | | ATS-CRM-ENT-012-06, ATS-CRM-ENT-012-23, ATS-CRM-ENT-012-24, ATS-CRM-ENT-018-12 | TST-CRM-ENT-775 (not-run), TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-012 | BR-CAP-CRM-ENT-012-07 A notifying type submits one transactionally deduplicated notice when an organization enters not in compliance, using its written version as part of the key; rollback, repeated delivery, continuing noncompliance and return to compliance do not submit another notice. | yes | | ATS-CRM-ENT-012-07, ATS-CRM-ENT-012-24 | TST-CRM-ENT-792 (not-run) |
| CAP-CRM-ENT-012 | BR-CAP-CRM-ENT-012-08 Compliance recipients are current affiliates with primary e-mail addresses and a configured notification role, or all current affiliates when no notification roles are selected, with at most 500 recipients per request. | yes | | ATS-CRM-ENT-007-08, ATS-CRM-ENT-012-08, ATS-CRM-ENT-012-17 | TST-CRM-ENT-792 (not-run) |
| CAP-CRM-ENT-012 | BR-CAP-CRM-ENT-012-09 Compliance mail uses the organization type’s Platform-owned template, and a missing template blocks delivery. | yes | | ATS-CRM-ENT-012-09 | TST-CRM-ENT-775 (not-run), TST-CRM-ENT-792 (not-run) |
| CAP-CRM-ENT-012 | BR-CAP-CRM-ENT-012-10 Organization update permission allows tenant-wide compliance reprocessing with one running request per tenant, resumable batches, retryable failures and final failure only on the last delivery with record details redacted. | yes | | ATS-CRM-ENT-012-10, ATS-CRM-ENT-012-18 | TST-CRM-ENT-786 (not-run), TST-CRM-ENT-792 (not-run) |
| CAP-CRM-ENT-012 | BR-CAP-CRM-ENT-012-11 Draft notice previews require organization-type update and both record read permissions, use an actually affiliated contact and organization, store and send nothing, identify sample violations when needed and return template problems as preview results. | yes | | ATS-CRM-ENT-012-11, ATS-CRM-ENT-012-25 | TST-CRM-ENT-786 (not-run), TST-CRM-ENT-792 (not-run) |
| CAP-CRM-ENT-012 | BR-CAP-CRM-ENT-012-12 A compliance test send uses one selected template or typed draft for one contact, sends through Platform to the administrator’s specified address and reports delivery or refusal. | yes | | ATS-CRM-ENT-012-12 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-012 | BR-CAP-CRM-ENT-012-13 Organization type saves remove rules with a falsy minimum and absent maximum, retain maximum zero, reject unknown rule roles and require lists or nonempty compliance options when their corresponding restriction or compliance switch is enabled. | yes | | ATS-CRM-ENT-012-13, ATS-CRM-ENT-017-15 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-012 | BR-CAP-CRM-ENT-012-14 Out-of-compliance organizations appear as attention items with their violations and the time noncompliance began. | no | | | |
| CAP-CRM-ENT-012 | BR-CAP-CRM-ENT-012-15 A compliance-template change merges specified fields or clears the template independently of other organization-type values. | yes | | ATS-CRM-ENT-012-14 | TST-CRM-ENT-792 (not-run) |
| CAP-CRM-ENT-012 | BR-CAP-CRM-ENT-012-16 Invalid template content prevents a type change; a later template persistence failure compensates a committed type create by deleting it or restores an existing type’s content through another versioned save. | yes | | ATS-CRM-ENT-012-15 | |
| CAP-CRM-ENT-012 | BR-CAP-CRM-ENT-012-17 Organization type deletion commits before template archival, and failed archival is logged without recreating the type. | yes | | ATS-CRM-ENT-012-16 | TST-CRM-ENT-792 (not-run) |
| CAP-CRM-ENT-013 | BR-CAP-CRM-ENT-013-01 Archive and unarchive require the record kind’s archive permission independently of update permission. | yes | | ATS-CRM-ENT-013-01, ATS-CRM-ENT-013-17 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-013 | BR-CAP-CRM-ENT-013-02 Archive and unarchive require the read version, reject missing or stale versions and reject a record locked against updates. | yes | | ATS-CRM-ENT-013-02 | TST-CRM-ENT-786 (not-run), TST-CRM-ENT-787 (not-run) |
| CAP-CRM-ENT-013 | BR-CAP-CRM-ENT-013-03 Archive preserves status and collections, records its actor, time and optional reason up to 500 characters, advances version once and creates a revision; repeating the current archive state changes nothing. | yes | | ATS-CRM-ENT-013-03, ATS-CRM-ENT-013-11, ATS-CRM-ENT-013-16, ATS-CRM-ENT-016-08 | TST-CRM-ENT-787 (not-run) |
| CAP-CRM-ENT-013 | BR-CAP-CRM-ENT-013-04 Unarchive clears archive information and restores the record with an optional reason up to 500 characters retained until its next archive. | yes | | ATS-CRM-ENT-013-04, ATS-CRM-ENT-013-11 | TST-CRM-ENT-786 (not-run), TST-CRM-ENT-789 (not-run) |
| CAP-CRM-ENT-013 | BR-CAP-CRM-ENT-013-05 Archived records reject ordinary replacements, patches, bulk or job edits and disconnected-detail actions while permitting merge writes, system bookkeeping and deletion. | yes | | ATS-CRM-ENT-004-19, ATS-CRM-ENT-013-05, ATS-CRM-ENT-013-13 | TST-CRM-ENT-786 (not-run), TST-CRM-ENT-787 (not-run) |
| CAP-CRM-ENT-013 | BR-CAP-CRM-ENT-013-06 Default contact and organization lists exclude archived records, support explicit include or archived-only selections with matching pagination and still return full archived records by id. | yes | | ATS-CRM-ENT-003-16, ATS-CRM-ENT-013-06, ATS-CRM-ENT-013-12 | TST-CRM-ENT-786 (not-run), TST-CRM-ENT-789 (not-run) |
| CAP-CRM-ENT-013 | BR-CAP-CRM-ENT-013-07 Pickers, Quick Search and newly created queries exclude archived records by default. | no | | ATS-CRM-ENT-013-07 | TST-CRM-ENT-774 (not-run) |
| CAP-CRM-ENT-013 | BR-CAP-CRM-ENT-013-08 Organization archive preserves every affiliation and its organization identity, adds archive information to affiliation reads and leaves people-list filters available with archived-contact indicators. | yes | | ATS-CRM-ENT-013-08, ATS-CRM-ENT-013-14, ATS-CRM-ENT-013-15, ATS-CRM-ENT-014-10 | TST-CRM-ENT-775 (not-run), TST-CRM-ENT-789 (not-run) |
| CAP-CRM-ENT-013 | BR-CAP-CRM-ENT-013-09 Ordinary saves, imports and data jobs cannot write archive information; archive and unarchive actions own those changes. | yes | | ATS-CRM-ENT-013-09 | TST-CRM-ENT-787 (not-run), TST-CRM-ENT-789 (not-run) |
| CAP-CRM-ENT-014 | BR-CAP-CRM-ENT-014-01 Contact and organization deletion requires the administrator-tier delete permission for that record kind and rejects standard users. | yes | | ATS-CRM-ENT-014-01, ATS-CRM-ENT-014-13 | TST-CRM-ENT-774 (not-run), TST-CRM-ENT-775 (not-run) |
| CAP-CRM-ENT-014 | BR-CAP-CRM-ENT-014-02 Contact deletion transactionally removes its owned details, preferences, custom values, affiliations and roles, immediately releases the primary e-mail, preserves history and number nonreuse, and leaves subsequent id reads not found. | yes | | ATS-CRM-ENT-014-02, ATS-CRM-ENT-014-09, ATS-CRM-ENT-014-12, ATS-CRM-ENT-016-09 | TST-CRM-ENT-786 (not-run), TST-CRM-ENT-787 (not-run) |
| CAP-CRM-ENT-014 | BR-CAP-CRM-ENT-014-03 Deleting a spouse contact clears the surviving contact’s spouse reference and advances its version with system attribution. | yes | | ATS-CRM-ENT-014-03 | TST-CRM-ENT-787 (not-run) |
| CAP-CRM-ENT-014 | BR-CAP-CRM-ENT-014-04 Any record or owned-element lock blocks deletion, identifies the blocking element and leaves the complete record intact. | yes | | ATS-CRM-ENT-014-04, ATS-CRM-ENT-014-08, ATS-CRM-ENT-014-11, ATS-CRM-ENT-015-11 | TST-CRM-ENT-776 (not-run), TST-CRM-ENT-787 (not-run), TST-CRM-ENT-789 (not-run) |
| CAP-CRM-ENT-014 | BR-CAP-CRM-ENT-014-05 An organization cannot be deleted while it has child organizations or any current, historical or upcoming affiliation; the refusal identifies its dependants. | yes | | ATS-CRM-ENT-002-17, ATS-CRM-ENT-013-15, ATS-CRM-ENT-014-05, ATS-CRM-ENT-014-10 | TST-CRM-ENT-775 (not-run), TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-014 | BR-CAP-CRM-ENT-014-06 Deletion detaches a contact photo or organization logo in its transaction, and cleanup later moves the asset to deleted storage with a 30-day expiry. | yes | | ATS-CRM-ENT-014-06 | TST-CRM-ENT-793 (not-run) |
| CAP-CRM-ENT-014 | BR-CAP-CRM-ENT-014-07 When enabled, deletion applies Platform’s associated custom-record ownership rules to detach, cascade or refuse within the record’s transaction; the disabled mode makes no such call. | yes | | ATS-CRM-ENT-014-07 | |
| CAP-CRM-ENT-014 | BR-CAP-CRM-ENT-014-08 API and bulk-job hard deletion remain available until safe delete, while record-page console actions offer archive. | no | | | |
| CAP-CRM-ENT-015 | BR-CAP-CRM-ENT-015-01 Contacts, organizations and contact roles expose separate lock and unlock operations, each requiring its own administrator permission. | yes | | ATS-CRM-ENT-015-01, ATS-CRM-ENT-015-16 | TST-CRM-ENT-774 (not-run) |
| CAP-CRM-ENT-015 | BR-CAP-CRM-ENT-015-02 Lock changes require the read version and a nonblank reason up to 1,000 characters, reject stale versions, invalid locks and missing records, and make no audit or record change when the requested lock already applies. | yes | | ATS-CRM-ENT-015-02, ATS-CRM-ENT-015-09, ATS-CRM-ENT-015-15 | TST-CRM-ENT-794 (not-run) |
| CAP-CRM-ENT-015 | BR-CAP-CRM-ENT-015-03 Lock changes advance record version and append actor, time, reason and before-and-after lock values to system-owned audit entries that readers can page newest first. | yes | | ATS-CRM-ENT-015-03, ATS-CRM-ENT-015-12, ATS-CRM-ENT-015-15, ATS-CRM-ENT-016-10 | TST-CRM-ENT-794 (not-run) |
| CAP-CRM-ENT-015 | BR-CAP-CRM-ENT-015-04 Ordinary contact and organization writes accept unchanged locks but reject lock changes; contact-role writes can change delete locks, while full-lock changes use audited actions. | yes | | ATS-CRM-ENT-015-04, ATS-CRM-ENT-015-13, ATS-CRM-ENT-015-16, ATS-CRM-ENT-017-16 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-015 | BR-CAP-CRM-ENT-015-05 A full lock blocks ordinary updates and deletion until released, while a delete lock blocks deletion alone. | yes | | ATS-CRM-ENT-004-20, ATS-CRM-ENT-014-08, ATS-CRM-ENT-015-05, ATS-CRM-ENT-015-10, ATS-CRM-ENT-015-15 | TST-CRM-ENT-775 (not-run), TST-CRM-ENT-786 (not-run), TST-CRM-ENT-794 (not-run) |
| CAP-CRM-ENT-015 | BR-CAP-CRM-ENT-015-06 Element full locks block changes and all element locks block removal; audited unlock releases all locks or selected element locks and rejects unknown elements without releasing anything. | yes | | ATS-CRM-ENT-014-11, ATS-CRM-ENT-015-06, ATS-CRM-ENT-015-11 | TST-CRM-ENT-786 (not-run), TST-CRM-ENT-794 (not-run) |
| CAP-CRM-ENT-015 | BR-CAP-CRM-ENT-015-07 A write that only clears an element lock requires the record’s unlock permission and otherwise fails. | yes | | ATS-CRM-ENT-015-07, ATS-CRM-ENT-015-16 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-015 | BR-CAP-CRM-ENT-015-08 Customer permissions cannot lock, unlock or delete protected system records or change their locks through ordinary writes, but ordinary fields remain editable; no seeded record currently carries protection. | yes | | ATS-CRM-ENT-015-08 | TST-CRM-ENT-794 (not-run) |
| CAP-CRM-ENT-015 | BR-CAP-CRM-ENT-015-09 Contact, organization, affiliation, address and phone types enforce their locks but currently expose no lock or unlock action. | no | | ATS-CRM-ENT-015-14, ATS-CRM-ENT-018-13 | |
| CAP-CRM-ENT-016 | BR-CAP-CRM-ENT-016-01 Each changed contact or organization save commits one revision containing field-level old and new values and the contemporaneous record name, while an unchanged save creates no revision. | yes | | ATS-CRM-ENT-013-16, ATS-CRM-ENT-015-12, ATS-CRM-ENT-016-01, ATS-CRM-ENT-016-07, ATS-CRM-ENT-016-08, ATS-CRM-ENT-016-10 | TST-CRM-ENT-786 (not-run), TST-CRM-ENT-794 (not-run) |
| CAP-CRM-ENT-016 | BR-CAP-CRM-ENT-016-02 History access requires the history permission and reach to an existing record, returns not found for inaccessible live records and uses the history permission alone for deleted records marked as deleted. | yes | | ATS-CRM-ENT-014-12, ATS-CRM-ENT-016-02, ATS-CRM-ENT-016-09, ATS-CRM-ENT-016-11 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-016 | BR-CAP-CRM-ENT-016-03 History pages are newest first, use a stable cursor, accept actor, operation, source and date filters, return at most 100 revisions and reject unsupported parameters. | yes | | ATS-CRM-ENT-016-03 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-016 | BR-CAP-CRM-ENT-016-04 Revision attribution uses the actor’s current display name including former users, falls back to the captured name when unavailable and identifies console, portal, public, integration, job or maintenance as the source. | no | | ATS-CRM-ENT-016-05 | TST-CRM-ENT-786 (not-run), TST-CRM-ENT-794 (not-run) |
| CAP-CRM-ENT-016 | BR-CAP-CRM-ENT-016-05 Contact revision details group changes into named contact, affiliation, role, e-mail, phone, address, preference and custom-field sections, combine name parts and resolve relationship and custom-field labels while hiding excluded captured columns. | no | | ATS-CRM-ENT-016-05 | TST-CRM-ENT-786 (not-run), TST-CRM-ENT-794 (not-run) |
| CAP-CRM-ENT-016 | BR-CAP-CRM-ENT-016-06 Merged-away contact history routes identify the survivor with a gone response, and the survivor provides access to that contact’s retained history. | no | | | |
| CAP-CRM-ENT-016 | BR-CAP-CRM-ENT-016-07 Application access to revisions is read-only and tenant-isolated, and revisions have no record foreign key so deletion does not remove them. | yes | | ATS-CRM-ENT-016-04 | TST-CRM-ENT-794 (not-run) |
| CAP-CRM-ENT-016 | BR-CAP-CRM-ENT-016-08 A record change without actor and source attribution fails together with its attempted revision. | no | | ATS-CRM-ENT-016-06 | |
| CAP-CRM-ENT-016 | BR-CAP-CRM-ENT-016-09 Record revisions remain until the tenant is purged. | no | | | |
| CAP-CRM-ENT-017 | BR-CAP-CRM-ENT-017-01 Contact roles and affiliation types require trimmed nonblank names and reject blank input without creating a record. | yes | | ATS-CRM-ENT-017-01 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-017 | BR-CAP-CRM-ENT-017-02 Role and affiliation-type ids are unique immutable lowercase configuration ids up to 63 characters, may derive from the name and cannot use Rhythm’s reserved prefix. | yes | | ATS-CRM-ENT-017-02 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-017 | BR-CAP-CRM-ENT-017-03 Contact roles referenced by current or historical holders or organization-type compliance rules cannot be deleted, with holder counts or dependent type names included in the refusal. | yes | | ATS-CRM-ENT-011-16, ATS-CRM-ENT-017-03, ATS-CRM-ENT-017-14, ATS-CRM-ENT-017-15 | TST-CRM-ENT-776 (not-run), TST-CRM-ENT-786 (not-run), TST-CRM-ENT-787 (not-run) |
| CAP-CRM-ENT-017 | BR-CAP-CRM-ENT-017-04 Creating and editing roles or affiliation types is available to users, while deleting either requires administrator authority. | yes | | ATS-CRM-ENT-015-13, ATS-CRM-ENT-017-04, ATS-CRM-ENT-017-16, ATS-CRM-ENT-017-19 | TST-CRM-ENT-776 (not-run) |
| CAP-CRM-ENT-017 | BR-CAP-CRM-ENT-017-05 Affiliation types cannot be deleted while referenced by an affiliation or selected as the workspace default. | yes | | ATS-CRM-ENT-017-05 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-017 | BR-CAP-CRM-ENT-017-06 The workspace default affiliation type is Other until configured, must exist in the tenant, supplies Organization-command affiliations and uses separate read and administrator set-default permissions. | yes | | ATS-CRM-ENT-009-23, ATS-CRM-ENT-017-06, ATS-CRM-ENT-017-13, ATS-CRM-ENT-017-18, ATS-CRM-ENT-017-19, ATS-CRM-ENT-019-09 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-017 | BR-CAP-CRM-ENT-017-07 Affiliation default mappings use tenant source and destination types of the same address or phone kind, allow each destination once per kind and at most 20 mappings, preserve omitted mappings on replacement and clear them for null. | yes | | ATS-CRM-ENT-006-16, ATS-CRM-ENT-017-07, ATS-CRM-ENT-017-12, ATS-CRM-ENT-017-17, ATS-CRM-ENT-018-14 | TST-CRM-ENT-776 (not-run), TST-CRM-ENT-786 (not-run), TST-CRM-ENT-791 (not-run) |
| CAP-CRM-ENT-017 | BR-CAP-CRM-ENT-017-08 Contact-role reorder includes every tenant role once, assigns consecutive positions, rejects missing or unknown roles without partial movement, permits moving locked roles and lists never-ordered roles alphabetically. | yes | | ATS-CRM-ENT-017-08 | TST-CRM-ENT-786 (not-run), TST-CRM-ENT-791 (not-run) |
| CAP-CRM-ENT-017 | BR-CAP-CRM-ENT-017-09 The product should provide editable contact-role and affiliation-type descriptions in the shared configuration lists and forms. | no | | | |
| CAP-CRM-ENT-017 | BR-CAP-CRM-ENT-017-10 Tenant portal users can read contact-role lists paged in name order using an opaque cursor. | no | | ATS-CRM-ENT-017-11, ATS-CRM-ENT-017-19 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-017 | BR-CAP-CRM-ENT-017-11 Deactivated affiliation types keep their dataset columns, with an inactive label. | yes | | ATS-CRM-ENT-017-10 | TST-CRM-ENT-776 (not-run) |
| CAP-CRM-ENT-018 | BR-CAP-CRM-ENT-018-01 Contact, organization, address and phone types require trimmed nonblank names, and invalid creation writes no type. | yes | | ATS-CRM-ENT-018-01 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-018 | BR-CAP-CRM-ENT-018-02 Classification ids follow lowercase configuration-id grammar, can derive from names, cannot use API-reserved ids or duplicate a tenant id, and must match the path on replacement. | yes | | ATS-CRM-ENT-018-02 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-018 | BR-CAP-CRM-ENT-018-03 Classification types referenced by records cannot be deleted, including contact and organization classifications and types used by address or phone elements, with dependent records identified. | yes | | ATS-CRM-ENT-002-18, ATS-CRM-ENT-017-17, ATS-CRM-ENT-018-03, ATS-CRM-ENT-018-10, ATS-CRM-ENT-018-14 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-018 | BR-CAP-CRM-ENT-018-04 Type reorder assigns consecutive positions to the complete tenant list, rejects omissions, duplicates and unknown ids without changing order, permits locked-type movement, appends new address and phone types and alphabetizes never-ordered contact and organization types. | yes | | ATS-CRM-ENT-018-04 | TST-CRM-ENT-786 (not-run), TST-CRM-ENT-791 (not-run) |
| CAP-CRM-ENT-018 | BR-CAP-CRM-ENT-018-05 Address and phone types apply to contacts, organizations or both, default to contacts, support applicability filtering and may change applicability while still referenced. | yes | | ATS-CRM-ENT-005-16, ATS-CRM-ENT-018-05, ATS-CRM-ENT-018-11 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-018 | BR-CAP-CRM-ENT-018-06 Type reads require reader permissions, contact and organization type creation and updates use user permissions, their deletes use administrator permissions, and all address and phone type writes including reorders require administrator permissions. | yes | | ATS-CRM-ENT-018-06, ATS-CRM-ENT-018-16 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-018 | BR-CAP-CRM-ENT-018-07 Type replacement requires the read version, clears omitted replaceable values and preserves layout assignments; patches change named values, full locks block updates and deletes, and delete locks block deletes. | yes | | ATS-CRM-ENT-012-23, ATS-CRM-ENT-015-14, ATS-CRM-ENT-018-07, ATS-CRM-ENT-018-12, ATS-CRM-ENT-018-13, ATS-CRM-ENT-018-15, ATS-CRM-ENT-019-10 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-018 | BR-CAP-CRM-ENT-018-08 Contacts retain inactive types, while creation offers only active types and preselects a sole available type. | no | | ATS-CRM-ENT-001-22, ATS-CRM-ENT-018-08, ATS-CRM-ENT-018-09 | TST-CRM-ENT-774 (not-run) |
| CAP-CRM-ENT-019 | BR-CAP-CRM-ENT-019-01 CRM settings reads return only authorized sections, omit forbidden sections rather than returning null and govern the default affiliation type with affiliation-type permissions. | yes | | ATS-CRM-ENT-017-18, ATS-CRM-ENT-019-01, ATS-CRM-ENT-019-09, ATS-CRM-ENT-019-11 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-019 | BR-CAP-CRM-ENT-019-02 Settings updates require every named section’s update permission and make no change when any requested section is unauthorized. | yes | | ATS-CRM-ENT-019-02, ATS-CRM-ENT-019-11 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-019 | BR-CAP-CRM-ENT-019-03 Settings updates check the read version, preserve unnamed sections and reject unknown properties. | yes | | ATS-CRM-ENT-019-03, ATS-CRM-ENT-019-08 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-019 | BR-CAP-CRM-ENT-019-04 Tenant or type layout assignments require tenant-owned definitions matching the record purpose and console or portal layout or form slot, with invalid assignments identified by section and field. | yes | | ATS-CRM-ENT-019-04, ATS-CRM-ENT-019-08 | TST-CRM-ENT-786 (not-run), TST-CRM-ENT-791 (not-run) |
| CAP-CRM-ENT-019 | BR-CAP-CRM-ENT-019-05 Type replacements preserve their five omitted layout and form assignments, while removing or nulling one assignment through a patch clears only that slot. | yes | | ATS-CRM-ENT-018-15, ATS-CRM-ENT-019-05, ATS-CRM-ENT-019-10 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-019 | BR-CAP-CRM-ENT-019-06 Effective definitions resolve each slot from the type override to the tenant default to not configured, distinguish create and edit forms, support console-only results and reject unknown types or missing record kinds. | yes | | ATS-CRM-ENT-019-06 | TST-CRM-ENT-786 (not-run) |
| CAP-CRM-ENT-019 | BR-CAP-CRM-ENT-019-07 Record readers can retrieve effective definitions, while tenant-default administration requires the separate layout permissions. | yes | | ATS-CRM-ENT-019-07, ATS-CRM-ENT-019-11 | TST-CRM-ENT-786 (not-run) |