Sync only the declaring module before a run; skip git-ignored paths
`fluksio run` walked the working directory and imported every module in it, which ran a research repository's analysis scripts before the run was submitted. A flow's origin now records the file and module name that declared it, and run/sweep import just that, under the same name so the generated node bodies do not change. A flow with no record still walks, now skipping what .gitignore covers. Every code-defined flow reports `flow` changed once on its next sync, since the origin gained two fields. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QgG6TJw5qBZzaLghQSRVrq
This commit is contained in:
+12
-7
@@ -308,13 +308,18 @@ upgraded its cache is keyed on the whole repository, as it was before. See
|
||||
fluksio run train --lr 0.05 --seed 7 [--wait]
|
||||
```
|
||||
|
||||
Syncs the working directory *and everything under it*, then submits a run, so
|
||||
the command after an edit is this one and nothing else, from the repository
|
||||
root as readily as from the study's own folder. A study that will not import
|
||||
is a warning rather than a stopped run; the upload is already a no-op for a
|
||||
flow nothing changed in, so what the walk costs is importing the others.
|
||||
`--sync dev/s1_baseline` (repeatable) narrows it to what you name when that
|
||||
is not free, and `--no-sync` skips it entirely.
|
||||
Syncs the flow, then submits a run, so the command after an edit is this one
|
||||
and nothing else, from the repository root as readily as from the study's own
|
||||
folder. What it imports is the module that declared the flow, as the last
|
||||
`sync` recorded it, under the same module name. Importing a module runs it, so
|
||||
the other scripts in the repository are left alone.
|
||||
|
||||
A flow the engine has no such record for (never synced, drawn on the canvas,
|
||||
or on an engine older than the record) syncs the working directory *and
|
||||
everything under it* instead, skipping whatever the repository's `.gitignore`
|
||||
covers. A study there that will not import is a warning rather than a stopped
|
||||
run. `--sync dev/s1_baseline` (repeatable) names what to sync outright, and
|
||||
`--no-sync` skips it entirely.
|
||||
|
||||
Flags that are not its own are the flow's inputs, typed by what the flow
|
||||
declares them as, so a name the flow has not got is refused by name, and
|
||||
|
||||
Reference in New Issue
Block a user