Skip to content

COBOL engine: data_moves drops moves whose operands are Japanese / full-width names, and truncates mixed names #4353

Description

@squid-protocol

Problem

The operand class in gitgalaxy/core/data_moves.py lacks the CJK, full-width and national character ranges that #3955 / #3991 added to the record reader. So:

  • MOVE '000001' TO 社員コード and MOVE 'Z' TO F02 record no row;
  • MOVE SPACE TO X項目 is recorded with target X.

Evidence (estate-crucible v0.3.0)

KYUYJP.cbl lines 20-22, 27 (X項目 → X) and 28; KYUYO01.cbl lines 19 and 22; KYUYO02.cbl line 13. Horrors H-0040, H-0041, H-0046, and part of H-0042.

Impact

Data lineage through national-named items is missing or points at a truncated, wrong name.

Acceptance criteria

  • These rows exist with whole names, matching the name classes the record reader uses.
  • Regression tests for a Japanese name, a full-width name, and a mixed X項目.

Related: #3955, #3991.

Found by estate-crucible v0.3.0 phase 2 (#4317, #3988): planted in squid-protocol/estate-crucible, scored by tests/tools/estate_crucible.py on main (scorecard in #4347). The horror flips to pass when this is fixed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugUnintended behavior or logic failure in the enginecore-engineModifications to the central physics and parsing enginelegacy-modernizationCOBOL refractor, dead-code extraction, and JCL forgingpriority: medium

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions