Skip to content

fix: strip zero-width space (U+200B) from test_results.csv - #5

Merged
LukeEvansTech merged 2 commits into
mainfrom
fix/strip-zero-width-space
Aug 18, 2026
Merged

fix: strip zero-width space (U+200B) from test_results.csv#5
LukeEvansTech merged 2 commits into
mainfrom
fix/strip-zero-width-space

Conversation

@LukeEvansTech

Copy link
Copy Markdown
Owner

Clears the Mend repository problem on this repo:

⚠️ Hidden Unicode characters have been discovered in file(s) in your repository. … Please confirm that they are intended to be there, as they could be an attempt to "smuggle" text into your codebase, or used to confuse tools like Renovate or Large Language Models (LLMs)

What it was — benign, but worth removing

A single U+200B (zero-width space) at test_results.csv:2865, trailing the end of an Entra recommendation description:

…enhancing overall security posture.<U+200B>",High,Maester|Entra|Security|…

That is a copy-paste artifact from the Microsoft source text, not anything hostile. A full scan (zero-width, BOM, bidi overrides, soft hyphen, word-joiner ranges) found no other invisible characters anywhere in the repository.

Renovate's warning is still the right call — an invisible character in a committed file is exactly the shape of a text-smuggling attempt, and it is worth keeping the detector meaningful rather than muting it.

How

Removed binary-safely so the file's CRLF line endings survive — a naive text-mode rewrite re-wrote all 4,125 lines. The diff is one line; 340,619 → 340,616 bytes.

Worth a separate decision: test_results.csv is a 4,127-line Maester run artifact committed to the repo (added in #1) and nothing in-repo generates it. If it is meant to be a snapshot, fine; if not, it may belong in .gitignore / a workflow artifact instead. Not changed here.

Renovate raised a repository problem on this repo: "Hidden Unicode characters
have been discovered in file(s) in your repository … they could be an attempt to
'smuggle' text into your codebase, or used to confuse tools like Renovate or
Large Language Models (LLMs)".

Traced to a single U+200B at line 2865, trailing the end of an Entra
recommendation description ("…enhancing overall security posture.<U+200B>") —
a copy-paste artifact from the Microsoft source text, not anything hostile.
It is the only invisible character in the repository.

Removed binary-safely so the file's CRLF line endings are untouched: the diff
is one line, 340619 -> 340616 bytes.
@github-actions

Copy link
Copy Markdown

Super-linter summary

Language Validation result
GIT_MERGE_CONFLICT_MARKERS Pass ✅
PRE_COMMIT Pass ✅
SPELL_CODESPELL Fail ❌

Super-linter detected linting errors

For more information, see the GitHub Actions workflow run

Powered by Super-linter

SPELL_CODESPELL
/github/workspace/test_results.csv:205: daa ==> data
/github/workspace/test_results.csv:217: shs ==> ssh, nhs
/github/workspace/test_results.csv:821: assiged ==> assigned
/github/workspace/test_results.csv:2738: targetting ==> targeting
/github/workspace/test_results.csv:2742: targetting ==> targeting
/github/workspace/test_results.csv:2781: unsecure ==> insecure
/github/workspace/test_results.csv:2786: unsecure ==> insecure
/github/workspace/test_results.csv:2854: unsecure ==> insecure
/github/workspace/test_results.csv:2854: unsecure ==> insecure
/github/workspace/test_results.csv:3374: suppliment ==> supplement
/github/workspace/test_results.csv:3454: similiar ==> similar
/github/workspace/test_results.csv:3484: appplications ==> applications
/github/workspace/test_results.csv:3589: appplications ==> applications
/github/workspace/test_results.csv:3589: Pretected ==> Protected
/github/workspace/test_results.csv:3592: usres ==> users, uses
/github/workspace/test_results.csv:3678: infront ==> in front
/github/workspace/test_results.csv:3678: infront ==> in front
/github/workspace/test_results.csv:3850: Seach ==> Search, Each, Reach, Teach, Beach
/github/workspace/test_results.csv:3901: Connecto ==> Connect

Touching test_results.csv makes super-linter lint it for the first time, and
codespell then fails the SPELL_CODESPELL status with ~19 findings
("targetting", "unsecure", "appplications", "assiged", "Pretected", "usres", …).

All of them are pre-existing and all are Microsoft's own Entra recommendation
text reproduced verbatim in this generated Maester artifact — 8 are already on
main, and none appears in this branch's diff. Correcting them would falsify a
recorded test result rather than fix prose we own.

Skip the file, not the words, so codespell stays meaningful everywhere else
including future hand-written docs. Verified locally: codespell reports findings
without this config and exits clean with it.

Note this status was silently failing already: soft-launch gives the lint JOB
continue-on-error (main's run shows green), but super-linter posts a separate
commit status per linter which escapes it — the documented trap.
@LukeEvansTech

Copy link
Copy Markdown
Owner Author

Pushed .github/linters/.codespellrc.

The --> Linted: SPELL_CODESPELL failure on this PR is pre-existing, not from this change:

  • All ~19 findings are Microsoft's own Entra recommendation text reproduced verbatim in the generated artifact (targetting all cloud apps and ideally all users.), 8 already present on main.
  • git diff origin/main0 of the flagged words appear in this branch's additions; the diff is one line and removes a zero-width space.

Touching the file simply makes super-linter lint it for the first time. Correcting Microsoft's spelling inside a recorded test result would falsify the artifact, so the fix is to skip the file (not the words) — codespell stays active for everything else, including future hand-written docs. Verified locally: findings without the config, exit 0 with it.

Worth knowing: this status was already failing silently. soft-launch gives the lint job continue-on-error (main's run shows green), but super-linter posts a separate commit status per linter which escapes it — the documented trap, and it is what blocks Renovate PRs.

@github-actions

Copy link
Copy Markdown

Super-linter summary

Language Validation result
GIT_MERGE_CONFLICT_MARKERS Pass ✅
PRE_COMMIT Pass ✅
SPELL_CODESPELL Pass ✅

All files and directories linted successfully

For more information, see the GitHub Actions workflow run

Powered by Super-linter

@LukeEvansTech
LukeEvansTech merged commit 96788bc into main Aug 18, 2026
5 checks passed
@LukeEvansTech
LukeEvansTech deleted the fix/strip-zero-width-space branch August 18, 2026 01:18
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