Skip to content

Document cleanup roadmap: split PR #90 and DUnitX-first#96

Open
omonien wants to merge 1 commit into
MHumm:developmentfrom
omonien:pr-cleanup-roadmap
Open

Document cleanup roadmap: split PR #90 and DUnitX-first#96
omonien wants to merge 1 commit into
MHumm:developmentfrom
omonien:pr-cleanup-roadmap

Conversation

@omonien

@omonien omonien commented Jul 23, 2026

Copy link
Copy Markdown

For Markus — please read this first

This PR is documentation only. It records the agreed cleanup strategy so the following product/test PRs have a shared context.

The core idea

Open contribution PR #90 (ChaCha20-Poly1305) currently mixes two independent concerns:

  1. AEAD architecture / multi-call authenticated modes (touches GCM/CCM contracts)
  2. ChaCha20 / XChaCha20 / Poly1305 feature work (new algorithms, SIMD, etc.)

Merging that as one unit would force an all-or-nothing review of a large change set and make regressions hard to attribute. The roadmap therefore says:

Binding work order (short)

  1. Repo hygiene + this roadmap
  2. DUnit → DUnitX migration (DUnit kept for comparison)
  3. Fix red tests that the full suite already shows (Keccak vectors, GCM multi-chunk)
  4. Only then: AEAD architecture from PR Basically a first implementation of the chacha20 Poly1305 algorithm #90 concern A
  5. Then: ChaCha/Poly1305 from PR Basically a first implementation of the chacha20 Poly1305 algorithm #90 concern B

Why tests first?

Architecture and cipher merges need one trustworthy automated suite. Dual DUnit/DUnitX with incomplete coverage weakens the signal when we start touching cipher modes.

What to review

Risk

None (docs only). Easy to amend later.

Note

Later PRs (DUnitX, GCM) may extend this file. This PR is the initial planning snapshot for discussion.

Record that AEAD architecture must be separated from ChaCha features,
and that a full DUnit to DUnitX migration is the prerequisite before
that work.
@omonien

omonien commented Jul 23, 2026

Copy link
Copy Markdown
Author

Cleanup package index (for review)

Hallo Markus — hier die Übersicht der sechs getrennten PRs gegen development. Sie hängen thematisch zusammen, sind aber bewusst einzeln review- und mergebar.

Paket A — Fundament

PR Thema Art
#95 Align .gitignore with DelphiStandards Hygiene
#96 (dieser PR) Cleanup-Roadmap: PR #90 splitten, DUnitX zuerst Docs / Strategie
#97 DUnitX-Migration, DUnit bleibt zum Vergleich Test-Infrastruktur

Paket B — Rote Suite / Produktkorrekturen

PR Thema Art
#98 Keccak-Unit-Tests (Vektoren, Unicode expected, pure KATs) nur Tests
#99 GCM Multi-Call Streaming (GHASH + CTR, Tag in Done) Produktfix
#100 SHA3/Keccak große Puffer / HashBenchmark (#94) Produktfix + Demo

Empfohlene Reihenfolge

  1. Document cleanup roadmap: split PR #90 and DUnitX-first #96 (dieser PR) — strategischer Überblick
  2. Align .gitignore with DelphiStandards template #95 — trivial, jederzeit
  3. DUnitX migration: full suite parity, keep DUnit for comparison #97 — Test-Fundament
  4. Fix Keccak unit tests and add pure Keccak known-answer tests #98Fix SHA3/Keccak large-buffer Absorb OutOfRange (closes #94) #100Fix GCM multi-call Encode/Decode streaming (GHASH + CTR) and multi-chunk tests #99 — die drei Fixes (#99 GCM am sorgfältigsten)

#98, #99 und #100 sind untereinander unabhängig.

Bewusst nicht in diesem Paket

Details und Begründungen stehen in den jeweiligen PR-Beschreibungen und in Docs/Cleanup-Roadmap.md (dieser PR).

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