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
A staged-row source warning prints two times per run #1700
Each staged-row warning about a source field prints two times in one run.
Reproduction (main at e8a1303, sample project copy)
Workflow ql_guard_probe (tools only): tag reads the staged rows, and check (below it) has guard: { condition: "source.scroe IS NULL", on_false: "filter" }. No staged row holds scroe.
agac run -a ql_guard_probe --fresh 2>&1 | grep -c "guards on source.scroe"
2
Both lines are the same: Action 'check' guards on source.scroe, but no record staged from staging/rows.json holds 'scroe'. Records from that file will not have it.
Cause
validate_source_reads_below (input/preprocessing/staging/field_validation.py; renamed validate_staged_source_reads in #1686) runs in _check_and_prepare. The walk calls that function twice for each staged file: once from precheck_staged_file, before the first file is processed, and once from process_initial_stage, when the file is processed. Each call logs its warnings.
Proposed fix
Log each warning once per file per run. For example, the precheck logs the warnings and the processing pass does not, or the warnings are kept by file and logged once. A refusal still stops the run at the precheck.
Activity