Skip to content

Prepare EncodingChecker v3.8.0 - #52

Merged
amrali-eg merged 2 commits into
masterfrom
harden/smoke-phase-b
Aug 29, 2026
Merged

Prepare EncodingChecker v3.8.0#52
amrali-eg merged 2 commits into
masterfrom
harden/smoke-phase-b

Conversation

@amrali-eg

@amrali-eg amrali-eg commented Aug 27, 2026

Copy link
Copy Markdown
Owner

v3.8.0 release preparation

  • Unicode and ASCII convert automatically; detected legacy files require an explicit source encoding in the GUI or with -From.
  • The review dialog now clearly separates ready, unchanged, unidentified, and legacy-source-choice files; CSV and JSON history exports are distinct.
  • Plans bind source hashes and conversion semantics; backup sidecars record recovery provenance.
  • UI/CLI/plan safety behavior is covered by shared orchestration tests and the manual GUI smoke checklist.
  • The shared Unicode detector parity workflow compares EncodingChecker, LineEndingNormalizer, and CorpusTesters.

Verification

  • Release build: clean, zero warnings/errors
  • Tests: 424 passed
  • Local detector parity: passed across all three repositories
  • Framework-dependent and self-contained v3.8.0 publish outputs regenerated locally

The machine-specific tools/smoke-state-A.json remains intentionally uncommitted.

amrali-eg and others added 2 commits August 27, 2026 06:59
Its French sample used only accented letters, on which windows-1252 and
iso-8859-1 agree exactly. So "the text survived" could not show which codec had
read the file, and the phase could not have failed if the explicit choice had
been ignored entirely. The run it passed was still evidence - but from the
recovery record, checked by hand afterwards, not from the test.

The sample now carries 0x80: the euro sign in windows-1252, a C1 control in
iso-8859-1. Detection settles on windows-1252 for it, so the phase asks for
iso-8859-1 - the codec detection did not choose - and the output itself then says
which one was used.

Asserts the provenance three ways, since one of them is the thing that was
missing: the output text, the recovery record's code page and internal
consistency (backup is a copy of the original, decoded text unchanged), and the
journal's DetectionMode and source encoding. Exporting that journal is now part
of the phase, which also exercises the export path the journal PR added.

Rehearsed through the CLI in both directions. Choosing the wrong codec fails on
all three independently; skipping the journal export fails with the export to
run. Phases A, C and D re-rehearsed after the sample change.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@amrali-eg amrali-eg changed the title Make phase B able to fail Prepare EncodingChecker v3.8.0 Aug 29, 2026
@amrali-eg
amrali-eg merged commit b12d77d into master Aug 29, 2026
1 check passed
@amrali-eg
amrali-eg deleted the harden/smoke-phase-b branch August 29, 2026 23:20
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