Adds a set_fields option to extract.merge.gff_json rules: forces existing Int fields to a fixed value on every extract, applied after preserve_fields/merge_lists so the forced value always wins. Fields absent from the document stay absent. Rule targets can now be globs (e.g. areas/*.are.json).
Motivation: sow-module area weather chances must stay 0 (scripted regional weather owns weather); this makes the extract pipeline enforce it instead of a post-extract script.
Covered by TestExtractSetsConfiguredGFFJSONFields; make check passes.
Adds a `set_fields` option to `extract.merge.gff_json` rules: forces existing Int fields to a fixed value on every extract, applied after preserve_fields/merge_lists so the forced value always wins. Fields absent from the document stay absent. Rule targets can now be globs (e.g. `areas/*.are.json`).
Motivation: sow-module area weather chances must stay 0 (scripted regional weather owns weather); this makes the extract pipeline enforce it instead of a post-extract script.
Covered by `TestExtractSetsConfiguredGFFJSONFields`; `make check` passes.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Glob targets now match via matchPathPattern, so one rule can cover
areas/*.are.json. set_fields runs after preserve/merge so the forced
value always wins.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
archvillainette
scheduled this pull request to auto merge when all checks succeed 2026-07-14 16:36:30 +00:00
xtul
approved these changes 2026-07-14 16:36:38 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Adds a
set_fieldsoption toextract.merge.gff_jsonrules: forces existing Int fields to a fixed value on every extract, applied after preserve_fields/merge_lists so the forced value always wins. Fields absent from the document stay absent. Rule targets can now be globs (e.g.areas/*.are.json).Motivation: sow-module area weather chances must stay 0 (scripted regional weather owns weather); this makes the extract pipeline enforce it instead of a post-extract script.
Covered by
TestExtractSetsConfiguredGFFJSONFields;make checkpasses.🤖 Generated with Claude Code