Skip to content

CSV RGW gateways now work correctly when inferring traceability and modifying them on VC26-SP1 and beyond - #345

Merged
Den1552 merged 5 commits into
mainfrom
fix/rgw-2026sp1-settings-layout
Aug 19, 2026
Merged

Den1552 merged 5 commits into
mainfrom
fix/rgw-2026sp1-settings-layout

Conversation

@ThisCakeIsALie

Copy link
Copy Markdown
Contributor

The layout of the CSV gateway settings changed. This PR makes looking up the relevant settings robust across both layouts.

ThisCakeIsALie and others added 2 commits August 19, 2026 10:31
Two RGW problems, both reproduced against real gateways.

1. 2026sp1 split requirements_gateway/settings.json into gateway_settings.json
(current_gateway) plus csv_settings.json, and renamed the CSV source key from
csv.csv_path to import_csv_path. The extension only read the old file, so on
sp1+ gateways the source path always came back null: saving edits and inferring
traceability failed with "this RGW's source is not a CSV", and RGWs generated by
the extension itself were silently locked read-only, because the origin.json
fallback (temp-looking source CSV => generated by us) could no longer see the
path. 2026sp2's panreq writes the new layout and still writes no origin.json, so
every freshly generated RGW hit that second path.

Read both layouts, file by file rather than as one unit. Migration leaves the
original settings.json behind where it goes stale, so a split file wins wherever
it exists -- but it can also write gateway_settings.json without writing
csv_settings.json, leaving settings.json the only record of the path, so the two
are read independently. Treating the split layout as all-or-nothing broke a real
half-migrated gateway.

2. Inferring traceability required a CSV-backed gateway, which ruled out DOORS,
Polarion and Jama entirely. panreq reads an RGW directly as its source and needs
no source format flag to do it, so pass the gateway as both source and target.
Verified against a gateway hand-configured as polarion (current_gateway set to
polarion, no csv settings, requirements under a "[Polarion - <project>]" group
key, the format polarion_gateway.get_group_name produces) -- no Polarion server
was involved: all four requirements were traced, where the same call previously
threw before reaching panreq.

Verified by creating CSV gateways with VectorCAST 25 and 26 (single file) and
26.sp2 (split), migrating a 26 gateway with 26.sp2, and running the real read,
save and infer paths headless against each.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@ThisCakeIsALie
ThisCakeIsALie requested a review from Den1552 August 19, 2026 09:53
@codecov

codecov Bot commented Aug 19, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (2d17bb7) to head (06c266c).

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #345   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files            9        10    +1     
  Lines         1729      1776   +47     
  Branches       216       227   +11     
=========================================
+ Hits          1729      1776   +47     
Flag Coverage Δ
Unit 100.00% <100.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@Den1552

Den1552 commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

I removed some unused imports + prettier, otherwise LGTM.

@sonarqubecloud

Copy link
Copy Markdown

@Den1552
Den1552 merged commit a226708 into main Aug 19, 2026
756 of 801 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants