You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 8269aeb
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: messages/lineage.md
+33-11Lines changed: 33 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ Generate field-level dataLineage for a Data Code Extension %s package.
4
4
5
5
# description
6
6
7
-
Runs the package's entrypoint against a Salesforce org with every write intercepted, traces each written field back to the fields it was computed from, and replaces the dataLineage section of the package's config.json with the result. Nothing is written to Data Cloud. Run 'scan' first so the read and write permissions in config.json are current. Fields whose lineage can't be traced are listed and get no lineage unless you add entries by hand.
7
+
Runs the package's entrypoint against a Salesforce org with its Data Cloud writes intercepted, traces each written field back to the fields it was computed from, and replaces the dataLineage section of the package's config.json with the result. Nothing is written to Data Cloud objects, but other calls the script makes still run for real with the org's credentials, including named credential requests, LLM gateway calls, and Einstein predictions. Streaming scripts aren't supported. Run 'scan' first so the read and write permissions in config.json are current. Fields whose lineage can't be traced are listed and get no lineage unless you add entries by hand.
8
8
9
9
Generated lineage is a best-effort analysis of your script and may be incomplete or wrong (for example, for UDFs or other code the tool can't see into). It determines how governance tags propagate, which can restrict or open access to data. You're responsible for reviewing and maintaining it. Before config.json is written, you must accept this, either at the prompt or with --accept-lineage-ownership.
10
10
@@ -48,12 +48,22 @@ Successfully authenticated with org '%s'
48
48
49
49
# info.generating
50
50
51
-
Running package to trace lineage. Nothing is written to Data Cloud...
51
+
Running package to trace lineage. Data Cloud writes are intercepted; other external calls the script makes still run...
52
52
53
53
# info.summary
54
54
55
55
Generated %s dataLineage entries with %s (target, source) field pairs: +%s added, -%s removed, ~%s changed.
56
56
57
+
# info.removed
58
+
59
+
Entries in config.json that the generated lineage drops:
60
+
%s
61
+
62
+
# info.changed
63
+
64
+
Entries in config.json whose source fields the generated lineage changes:
65
+
%s
66
+
57
67
# info.noSources
58
68
59
69
%s target fields are computed from no source field (for example, literals) and get no lineage:
The generated lineage references objects that aren't in config.json permissions, so deploy would fail (1041/1042). Run 'data-code-extension script scan' first, then generate lineage again.
108
+
The generated lineage references objects that aren't in config.json permissions, so deploy would fail (1041/1042). Run 'data-code-extension script scan' first, then generate lineage again. Scan can't detect objects whose names your script builds at run time; add those to permissions in config.json by hand.
99
109
%s
100
110
101
111
# warning.emptyResult
102
112
103
113
No lineage could be generated, so config.json was not modified. The package follows the no-lineage path unless you add dataLineage entries by hand.
104
114
115
+
# warning.emptyResultExisting
116
+
117
+
No lineage could be generated, so config.json was not modified. Its existing %s dataLineage entries still apply and are deployed with the package. Review or remove them in '%s'.
118
+
105
119
# warning.replace
106
120
107
121
This replaces the existing dataLineage section. Any entries you added or edited by hand will be lost. Lineage determines how governance tags propagate to the target; review the result before deploying.
@@ -126,6 +140,14 @@ Accept and replace the existing dataLineage in config.json?
126
140
127
141
Lineage can only be generated for script packages; '%s' is a function package.
128
142
143
+
# error.streamingPackage
144
+
145
+
Lineage can't be generated for streaming scripts; '%s' has a streamingSource in config.json.
146
+
147
+
# error.configUnwritable
148
+
149
+
Can't write '%s': %s
150
+
129
151
# error.outputFileCollision
130
152
131
153
--output-file '%s' is inside the package's payload or project metadata, or is one of its config files. Choose a path outside the package's payload directory.
@@ -152,8 +174,8 @@ Writing generated lineage to config.json requires accepting ownership of it.
152
174
153
175
# actions.ownershipNotAccepted
154
176
155
-
-Review the generated lineage, then re-run with --accept-lineage-ownership to accept responsibility for it and write it to config.json.
156
-
- Re-run with --dry-run to preview the generated lineage without changing config.json.
177
+
-Re-run with --accept-lineage-ownership to accept responsibility for the generated lineage and write it to config.json.
178
+
- Re-run with --dry-run to preview the generated lineage, or check it against config.json, without writing.
157
179
158
180
# error.replaceNotConfirmed
159
181
@@ -162,7 +184,7 @@ config.json already has a different dataLineage section, and replacing it needs
162
184
# actions.replaceNotConfirmed
163
185
164
186
- Re-run with --no-prompt to replace the existing dataLineage.
165
-
- Re-run with --dry-run to preview the generated lineage without changing config.json.
187
+
- Re-run with --dry-run to preview the generated lineage, or check it against config.json, without writing.
166
188
167
189
# error.sdkTooOld
168
190
@@ -203,7 +225,7 @@ Target Salesforce org to read data from.
203
225
204
226
# flags.targetOrg.description
205
227
206
-
The alias or username of the Salesforce org whose data the package reads while lineage is traced. The org must have Data Cloud enabled and appropriate permissions. Nothing is written to the org.
228
+
The alias or username of the Salesforce org whose data the package reads while lineage is traced. The org must have Data Cloud enabled and appropriate permissions. Nothing is written to Data Cloud objects in the org, but other calls the script makes, such as named credential requests, LLM gateway calls, and Einstein predictions, still run against it.
207
229
208
230
# flags.configFile.summary
209
231
@@ -215,11 +237,11 @@ Optional path to an SDK config.yaml that overrides the reader and writer configu
215
237
216
238
# flags.dependencies.summary
217
239
218
-
Dependencies override for the run.
240
+
Modules to import before the run.
219
241
220
242
# flags.dependencies.description
221
243
222
-
Optional comma-separated list of Python package dependencies to use during the run, overriding those defined in the package's requirements.txt.
244
+
Optional comma-separated list of Python modules (or module.attribute) to import before the entrypoint runs. Use import names, such as 'yaml' rather than 'pyyaml'. Nothing is installed: each module must already be installed in the active Python environment.
223
245
224
246
# flags.dryRun.summary
225
247
@@ -243,12 +265,12 @@ Replace existing dataLineage without prompting.
243
265
244
266
# flags.noPrompt.description
245
267
246
-
Skips the confirmation before replacing a dataLineage section that differs from the generated one. Required to replace existing lineage when running non-interactively or with --json. Doesn't accept ownership of the generated lineage; use --accept-lineage-ownership for that.
268
+
Skips the confirmation before replacing a dataLineage section that differs from the generated one. Required when running non-interactively or with --json and config.json already has dataLineage; checked before the run. Doesn't accept ownership of the generated lineage; use --accept-lineage-ownership for that.
247
269
248
270
# flags.acceptLineageOwnership.summary
249
271
250
272
Accept responsibility for the generated lineage without prompting.
251
273
252
274
# flags.acceptLineageOwnership.description
253
275
254
-
Confirms that you understand the generated lineage is best-effort and may be incomplete or wrong, that it determines how governance tags propagate, and that you're responsible for reviewing and maintaining it. Skips the ownership prompt. Required to write lineage when running non-interactively or with --json.
276
+
Confirms that you understand the generated lineage is best-effort and may be incomplete or wrong, that it determines how governance tags propagate, and that you're responsible for reviewing and maintaining it. Skips the ownership prompt. Required when running non-interactively or with --json, unless you use --dry-run; checked before the run.
Copy file name to clipboardExpand all lines: messages/run.md
+11-2Lines changed: 11 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -98,6 +98,15 @@ Authentication with Salesforce org '%s' failed while running the package.
98
98
- Confirm the org alias or username passed to --target-org is correct.
99
99
- Verify the org has Data Cloud enabled and your user has the required permissions.
100
100
101
+
# error.runTerminated
102
+
103
+
The package run was stopped by signal %s before it finished. Runs time out after %s seconds.
104
+
105
+
# actions.runTerminated
106
+
107
+
- If the run timed out, reduce the data it processes (for example, the reader's default_row_limit in an SDK config file) or check for a step that hangs, such as a network call.
108
+
- If the process ran out of memory or was stopped by another program, free resources and try again.
109
+
101
110
# error.runProcessStartFailed
102
111
103
112
Could not start the Python interpreter '%s': %s
@@ -149,8 +158,8 @@ Optional path to a JSON config file that provides input payload for the run. Def
149
158
150
159
# flags.dependencies.summary
151
160
152
-
Dependencies override for the run.
161
+
Modules to import before the run.
153
162
154
163
# flags.dependencies.description
155
164
156
-
Optional comma-separated list of Python package dependencies to use during the run, overriding those defined in the package's requirements.txt.
165
+
Optional comma-separated list of Python modules (or module.attribute) to import before the entrypoint runs. Use import names, such as 'yaml' rather than 'pyyaml'. Nothing is installed: each module must already be installed in the active Python environment.
0 commit comments