mirror of
https://github.com/forcedotcom/afv-library.git
synced 2026-08-09 00:42:46 +08:00
Addresses 4 critical findings surfaced during PRizm code review of the internal plugin port of this skill (internal PR #19). Applying the same fixes here keeps the external canonical source and the internal port in sync. 1. Test cleanup discipline: switch `test_invalid_json_raises` from `try/finally` to `self.addCleanup(p.unlink, missing_ok=True)` — the unittest-idiomatic way to guarantee temp-file cleanup regardless of how the test exits. 2. `floor()` description in bdt-function-catalog.md: the old row was self-contradictory ("toward zero" AND "toward next integer up" in the same cell). Replace with a single coherent definition: rounds toward negative infinity; for negatives rounds away from zero (e.g., `floor(-2.3) = -3`). 3. Split-node documentation in bdt-node-catalog.md: the old doc claimed `split` routes rows into downstream branches via `branches[]` with per-branch predicates. That is not the canonical schema. Per `SplitParametersInputRepresentation` in core-262-public, `split` is a string-splitting operation: one `sourceField` + `delimiter` → N `targetFields` (one row in, one row out; columns added). Rewrote the section with the correct parameters, lineage effect, gotchas, and a canonical example. Row-routing belongs in `filter` nodes. 4. Sample `assets/sample_bdts/append_and_split.json`: the old sample used the invented `branches[]` shape AND routed the same split into two downstream outputs that each expected different rows — which is not how `split` works. Rewrote the sample so: - `appendV2` unions two order sources (unchanged intent). - `split` uses canonical `{sourceField, delimiter, targetFields}` splitting `CustomerFullName__c` into first + last name columns. - One downstream output consumes the new columns (removes the fake two-branch fan-out). Tests: 92/92 passing. Sample parses and runs through `bdt_analyze.py summary` cleanly (5 nodes: 2 load + 1 appendV2 + 1 split + 1 outputD360). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| applying-slds | ||
| building-ui-bundle-app | ||
| building-ui-bundle-frontend | ||
| creating-b2b-commerce-store | ||
| deploying-ui-bundle | ||
| developing-agentforce | ||
| explaining-batch-data-transform | ||
| generating-apex | ||
| generating-apex-test | ||
| generating-custom-application | ||
| generating-custom-field | ||
| generating-custom-lightning-type | ||
| generating-custom-object | ||
| generating-custom-tab | ||
| generating-experience-lwr-site | ||
| generating-flexipage | ||
| generating-flow | ||
| generating-fragment | ||
| generating-lightning-app | ||
| generating-list-view | ||
| generating-permission-set | ||
| generating-ui-bundle-features | ||
| generating-ui-bundle-metadata | ||
| generating-ui-bundle-site | ||
| generating-validation-rule | ||
| implementing-ui-bundle-agentforce-conversation-client | ||
| implementing-ui-bundle-file-upload | ||
| observing-agentforce | ||
| searching-media | ||
| switching-org | ||
| testing-agentforce | ||
| trigger-refactor-pipeline | ||
| uplifting-components-to-slds2 | ||
| using-ui-bundle-salesforce-data | ||
| validating-slds | ||