mirror of
https://github.com/forcedotcom/afv-library.git
synced 2026-08-10 17:41:49 +08:00
58 lines
2.2 KiB
Markdown
58 lines
2.2 KiB
Markdown
|
|
# EPC Bundle Scoring Model (120 Points)
|
|||
|
|
|
|||
|
|
Use this rubric when scoring or reviewing an existing EPC offer bundle. Score each category and sum for a total out of 120.
|
|||
|
|
|
|||
|
|
**Thresholds**: `>= 95` Deploy-ready | `70–94` Needs review | `< 70` Block and fix.
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 1) Catalog Identity and Naming (20 points)
|
|||
|
|
|
|||
|
|
- Product name is clear, unique, and follows naming conventions
|
|||
|
|
- `ProductCode` follows the deterministic convention (no environment suffixes)
|
|||
|
|
- `SpecificationType`, `SpecificationSubType`, and `Family` values are coherent
|
|||
|
|
- Stable keying: `GlobalKey` is a UUID-style value; source key is consistent across files
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 2) EPC Product Structure (20 points)
|
|||
|
|
|
|||
|
|
- All required `Product2` and EPC fields are present and populated
|
|||
|
|
- Lifecycle dates (`EffectiveDate`, `SellingStartDate`) are set and logically ordered
|
|||
|
|
- `IsActive` and `%vlocity_namespace%__IsOrderable__c` flags are coherent with lifecycle status
|
|||
|
|
- Record type and catalog classification are consistent
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 3) Attribute Modeling (25 points)
|
|||
|
|
|
|||
|
|
- Attributes are logically grouped by category
|
|||
|
|
- Every attribute default exists within its `values[]` array
|
|||
|
|
- Required, read-only, and filterable semantics are correctly set
|
|||
|
|
- Display sequences are unique within each category and use spaced values (10, 20, 30…)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 4) Offer Bundle Composition (25 points)
|
|||
|
|
|
|||
|
|
- Root `%vlocity_namespace%__ProductChildItem__c` row is present with `IsRootProductChildItem=true`
|
|||
|
|
- All child product references are valid and their sequence/line numbers are unique
|
|||
|
|
- `MinQuantity`, `MaxQuantity`, and default `Quantity` constraints are set correctly per child
|
|||
|
|
- Optional vs required semantics are reflected accurately in min/max/default values
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 5) DataPack Integrity (15 points)
|
|||
|
|
|
|||
|
|
- All namespace placeholders (`%vlocity_namespace%`) are consistent across every file in the bundle
|
|||
|
|
- Lookup object references use GlobalKey / source key (no hardcoded org-specific IDs)
|
|||
|
|
- No environment-specific brittle fields (no `_DEV`, `_UAT`, `_PROD` suffixes in ProductCode or keys)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 6) Documentation and Handoff (15 points)
|
|||
|
|
|
|||
|
|
- Clear explanation of the modeled intent is included in the handoff block
|
|||
|
|
- Testing checklist is present (see `scripts/cli-validation-commands.sh`)
|
|||
|
|
- Risks and assumptions are explicitly called out in the completion block
|