Skip to content

fix: preserve CSV field marker ownership in scanner runtime - #115

Merged
Patrick-Erichsen merged 1 commit into
mainfrom
prove-csv-marker-closers
Oct 28, 2026
Merged

Patrick-Erichsen merged 1 commit into
mainfrom
prove-csv-marker-closers

Conversation

@Patrick-Erichsen

@Patrick-Erichsen Patrick-Erichsen commented Oct 28, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

A valid CSV field's closing quote can be mistaken for the start of a removal marker and leave ordinary data incompletely inspected. Prove exact closing offsets against Python's CSV parser before refining the existing loose fallback; every field body and explicit removal instruction remains available.

 declared-marker fallback on complete .csv input
+ bounded field/source mapping
+ exact agreement with csv.reader(strict=True)
+ structural closing quotes cannot open another marker

Evidence

  • Before: actual scanner CLI scan <original-file> --no-llm --format json reports partial inspection, 0/1 file and obfuscated_instruction_text for unchanged Solaris products.csv and stacks/threejs.csv.
    After: both report complete inspection, 1/1 file, no exceptions. Each retains its same finding; every issue field except the per-run random finding ID is equal.
  • 16 focused controls, 1,164 related producer controls and all 294 native runtime-adoption tests pass. Thirteen retained original inputs preserve every finding signature; only the two CSV marker limits change.
  • The complete runtime patch freshly applies to pinned upstream 95a52d8; all 119 source/dependency files match reviewed producer 4b0272f. Independent producer and consumer P0–P3 reviews are complete and scoped-clean.

Merge Danger

Door: two-way

Blast Radius: scanner

Ownership requires complete .csv source, at most 1 MiB and 8,192 fields before canonical parsing, exact field/source agreement, and the existing caller deadline. Malformed, unsupported and over-budget inputs retain the conservative fallback. This is static component proof; full Solaris semantic/prod recovery remains separate.

@clawsweeper

clawsweeper Bot commented Oct 28, 2026

Copy link
Copy Markdown

🦞👀
ClawSweeper picked this up.

Pull request received. I will update this pull request when review starts.

@Patrick-Erichsen
Patrick-Erichsen merged commit b85942d into main Oct 28, 2026
13 checks passed
@Patrick-Erichsen
Patrick-Erichsen deleted the prove-csv-marker-closers branch October 28, 2026 04:43
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.

1 participant