# salesforce-crm-standard-v66

Source-backed L1 app pack derived from a clean Salesforce v66.0 Developer
Edition org via `describeSObject`. Used as a probe to test L0 install/verify
completeness against authoritative Salesforce field definitions.

**This is not a replacement for `packs/salesforce-crm-standard/`.** That pack
ships hand-curated CRM behavior (flows, validation rules, layouts, actions,
permissions). This v66 variant covers `object_spec` only — every other
component kind (page_layout, validation_rule, standard_flow, permission,
ui_action, …) is intentionally absent so failures during install/verify are
attributable cleanly to schema-level L0 mechanics.

## Scope

- 30 standard SObjects with full v66.0 field definitions, picklist values,
  references, and master-detail relationships.
- Components: 30 `object_spec` only.

## Currently excluded

- `OpportunityLineItem` — dropped because L0 keyPrefix collision check is
  case-insensitive (`compat/registry.go`); SF treats `00K`
  (OpportunityContactRole) and `00k` (OpportunityLineItem) as distinct.
  Tracked as L0 gap in the issue.
- `User`, `Profile`, `Group`, `UserRole`, `PermissionSet`,
  `PermissionSetGroup` — platform-managed by L0 per architecture §3; L1
  packs must not redeclare them.
- Quote, QuoteLineItem, OpportunityLineItemSchedule, OpportunityTeamMember,
  AccountContactRelation — not exposed by the source dev org (features not
  enabled). Re-extract after enabling those org settings to fill the gap to
  the original 37-object target.

## How this pack was produced

```bash
# Source: 32 v66.0 dev-org describe JSON (gold master)
ls /tmp/sfdescribe/describe/   # provided externally

python3 packs/salesforce-crm-standard-v66/_extractor/extract.py
cp -R /tmp/sfmeta/extracted/objects packs/salesforce-crm-standard-v66/
```

Extractor doc: `_extractor/README.md` (co-located with this pack).
Conversion losses: `_extractor/last-run-loss.md`.

## Verified install path

```
setup init-l0
setup install-pack  --source ./packs/salesforce-crm-standard-v66
setup verify-pack   salesforce-crm-standard-v66
# _System_InstalledPack: Status=active, AppliedPayloadHash=nexus-pack-sha256-v1:…
# verify-pack: 0 fatal, 8 warnings (state-code picklist drift; see issue)
```
