@@ -43,6 +43,8 @@ and ensures no crate is left without an explicit plan or acceptance criteria.
4343## Crate-by-crate checklist
4444
4545### base-deriving-via
46+ - [x] Document deriving helpers, macro usage, and Haskell mapping for the Rust
47+ port.
4648- [ ] Audit Haskell ` Cardano.Base.DerivingVia ` modules to confirm all deriving
4749 helpers are present.
4850- [ ] Port any Template Haskell-based instances to macro-free Rust equivalents
@@ -52,16 +54,20 @@ and ensures no crate is left without an explicit plan or acceptance criteria.
5254- [ ] Cross-reference usage sites in dependent crates to confirm API coverage.
5355
5456### cardano-base
57+ - [x] Document feature flag primitives, README/CHANGELOG parity, and Haskell
58+ module mapping for the Rust port.
5559- [ ] Catalogue all exported modules from Haskell ` Cardano.Base.* ` and map them
5660 to existing Rust modules.
5761- [ ] Implement missing primitives (e.g. canonical JSON, text utilities) with
5862 thorough tests.
5963- [ ] Mirror the error-handling semantics (Either vs Result) and documented edge
6064 cases from Haskell.
61- - [ ] Document migration notes for downstream crates that previously depended on
65+ - [x ] Document migration notes for downstream crates that previously depended on
6266 the Haskell version.
6367
6468### cardano-binary
69+ - [x] Document canonical CBOR helpers, README/CHANGELOG parity, and Haskell
70+ module mapping for the Rust port.
6571- [x] Align CBOR encoding/decoding semantics with Haskell (including
6672 canonical/deterministic encoding rules).
6773- [x] Import or regenerate golden vectors from the Haskell test suite and make
@@ -73,6 +79,8 @@ and ensures no crate is left without an explicit plan or acceptance criteria.
7379- [x] Track structured work via [ Phase 07 – CBOR Encoding Parity] ( phase-07-cbor-parity.md ) . ✅ ** COMPLETED**
7480
7581### cardano-crypto-class
82+ - [x] Document cryptographic primitives, README/CHANGELOG parity notes, and
83+ regeneration workflows for DSIGN/KES/VRF/hash modules.
7684- [x] Track progress through [ Phase 03 – Cardano VRF Parity] ( phase-03-vrf-parity.md ) . ✅ ** COMPLETED**
7785- [x] Track progress through [ Phase 04 – DSIGN Algorithm Parity] ( phase-04-dsign-parity.md ) . ✅ ** COMPLETED**
7886- [x] Track progress through [ Phase 05 – KES Algorithm Parity] ( phase-05-kes-parity.md ) . ✅ ** COMPLETED**
@@ -96,6 +104,8 @@ and ensures no crate is left without an explicit plan or acceptance criteria.
96104- [x] Document usage expectations for downstream crates/binaries.
97105
98106### cardano-slotting
107+ - [x] Document slotting primitives, Haskell mapping, and integration guidance
108+ for the Rust port.
99109- [ ] Port slotting arithmetic (slot length, epochs, ` SlottingData ` ) with unit
100110 tests derived from Haskell’s property suite.
101111- [ ] Implement time calculations and conversions (slots ↔ POSIX time) ensuring
@@ -105,6 +115,8 @@ and ensures no crate is left without an explicit plan or acceptance criteria.
105115- [ ] Add clock-skew and boundary condition tests mirroring Haskell cases.
106116
107117### cardano-strict-containers
118+ - [x] Document strict container usage, Haskell mapping, and finger tree
119+ guidance for downstream crates.
108120- [ ] Port strict maps, sequences, and helper combinators ensuring structural
109121 sharing semantics match.
110122- [ ] Benchmark against Haskell behaviour for large datasets (memory usage,
@@ -114,40 +126,67 @@ and ensures no crate is left without an explicit plan or acceptance criteria.
114126- [ ] Expand doc comments with usage guidance for downstream crates.
115127
116128### cardano-vrf-pure
129+ - [x] Document VRF highlights, diagnostics wiring, and Haskell mapping in the
130+ Rust README/CHANGELOG so downstream crates can cross-reference parity evidence.
117131- [x] Coordinated with [ Phase 03] ( phase-03-vrf-parity.md ) ; ensure every low-level
118132 primitive has matching tests and documentation. ✅ ** COMPLETED**
119133- [x] Add micro-benchmarks to spot regressions versus libsodium where practical.
120134- [x] Verify ` no_std ` compatibility if required by downstream components.
121135
122136### deepseq
137+ - [x] Document NFData traits, deriving helpers, and Haskell mapping for the
138+ Rust port; include guidance on pairing with ` base-deriving-via ` /` nothunks ` .
123139- [ ] Mirror Haskell’s ` Control.DeepSeq ` behaviour, including custom ` NFData `
124140 derivations for Cardano-specific types.
125141- [ ] Confirm blanket implementations don’t introduce borrow-checker hazards or
126142 performance cliffs.
127143- [ ] Add doc examples showing how consumers ensure deep evaluation.
128144
129145### heapwords
146+ - [x] Document HeapWords trait usage, helper combinators, and Haskell mapping
147+ for the Rust port; include guidance on reporting helpers and compile-time
148+ constraints.
130149- [ ] Port the heap word counting utilities and ensure they integrate with Rust
131150 profiling/measurement tools as expected.
132151- [ ] Write regression tests using representative Cardano data structures.
133- - [ ] Document how to run heap measurement reports in the Rust toolchain.
152+ - [x ] Document how to run heap measurement reports in the Rust toolchain.
134153
135154### measures
155+ - [x] Document highlights, crate layout, Haskell mapping, and validation steps
156+ in the README/CHANGELOG to keep distribution guidance in sync with the
157+ latest Rust port.
158+ - [x] Document measurement APIs, Haskell mapping, and usage notes for the Rust
159+ port.
136160- [ ] Align metric collection APIs (counters, histograms) with the Haskell
137161 naming and aggregation semantics.
138162- [ ] Confirm compatibility with the observability stack (e.g. EKG, Prometheus
139163 exporters) or document migration steps.
140164- [ ] Add end-to-end tests/integration harness demonstrating event emission.
141165
142166### nothunks
167+ - [x] Document NoThunks usage, diagnostics, and Haskell mapping for the Rust
168+ port; include guidance on generic deriving and integration across the
169+ workspace.
143170- [ ] Implement thunk detection mirroring Haskell’s ` NoThunks ` typeclass.
144171- [ ] Ensure diagnostic messages match expectations (path, type names).
145172- [ ] Add property tests covering shallow vs deep thunks, cycles, and large
146173 structures.
147174- [ ] Integrate checks across other crates (e.g. ` cardano-strict-containers ` ) as
148175 part of CI.
149176
177+ ### cardano-test-vectors
178+ - [x] Document fixture layout, regeneration tooling, and Haskell mapping for the
179+ Rust port; highlight CLI tooling and feature-gated diagnostics.
180+ - [ ] Audit fixture parity against the latest Haskell generators after each
181+ upstream release and capture deltas in the changelog.
182+ - [ ] Expand cross-language comparison scripts to cover streaming hash cases
183+ and additional KES evolution scenarios.
184+ - [ ] Automate regeneration tooling within CI to guard against drift (follow-up
185+ task once parity pipeline is finalised).
186+
150187### orphans-deriving-via
188+ - [x] Document crate purpose, re-export surface, and Haskell mapping for
189+ downstream users.
151190- [ ] Collect all orphan instances provided in Haskell and port them explicitly,
152191 documenting any differences required by Rust’s coherence rules.
153192- [ ] Ensure exporting strategy doesn’t introduce conflicting implementations in
@@ -210,6 +249,55 @@ and ensures no crate is left without an explicit plan or acceptance criteria.
210249 Enhanced README with canonical encoding rules (RFC 8949 §4.2), map key ordering examples, and
211250 verification strategy. All CBOR types, error handling, and deterministic encoding validated
212251 byte-for-byte against Haskell reference.
252+ - 08-10-2025-time-06:15: Authored ` heapwords ` README/CHANGELOG documenting usage, helper mapping,
253+ and test commands. Marked roadmap documentation task complete while leaving parity/test items
254+ open for future work.
255+ - 09-10-2025-time-03:05: Refreshed ` measures ` README/CHANGELOG with Haskell mapping, iterator helper
256+ guidance, and testing notes; added roadmap checkbox to track remaining parity work separately.
257+ - 09-10-2025-time-03:55: Updated ` cardano-strict-containers ` README/CHANGELOG with strict finger tree
258+ examples, serde integration guidance, and Haskell lookup table; marked roadmap documentation
259+ checkbox while keeping remaining parity tasks open.
260+ - 09-10-2025-time-04:20: Added README/CHANGELOG for ` orphans-deriving-via ` , documenting re-exports and
261+ Haskell parity; flagged roadmap checklist to reflect completed documentation while parity
262+ tasks remain outstanding.
263+ - 09-10-2025-time-04:45: Refreshed ` base-deriving-via ` README/CHANGELOG with highlights, custom
264+ derivation examples, and Haskell lookup table; marked documentation checkbox while keeping
265+ parity test items open for future work.
266+ - 10-10-2025-time-01:10: Updated ` cardano-slotting ` README/CHANGELOG with epoch/time examples,
267+ Haskell mapping, and testing guidance; marked roadmap documentation task while parity-focused
268+ work (arithmetic proofs, boundary tests) remains open.
269+ - 10-10-2025-time-03:40: Documented ` cardano-base ` feature flag primitives, refreshed README with
270+ Haskell mapping and parsing guidance, converted the changelog to Keep a Changelog format, and
271+ recorded remaining parity tasks for future implementation.
272+ - 10-10-2025-time-05:05: Refactored ` cardano-binary ` README with module mapping, canonical encoding
273+ contract, error-handling guidance, and nested CBOR usage; aligned changelog with Keep a Changelog
274+ structure and checked off roadmap documentation tasks.
275+ - 10-10-2025-time-07:10: Refreshed ` cardano-crypto-class ` README with module map, parity summaries
276+ for DSIGN/KES/VRF/hash, regeneration workflows, and diagnostics guidance; converted the changelog
277+ to Keep a Changelog format and marked roadmap documentation items complete.
278+ - 10-10-2025-time-08:30: Updated ` cardano-git-rev ` README with Haskell module mapping, build-script
279+ workflow, troubleshooting guidance, and testing instructions; adopted Keep a Changelog format and
280+ captured the work in the crate changelog to keep the documentation campaign consistent.
281+ - 10-10-2025-time-09:15: Expanded ` deepseq ` README with highlights, crate layout, generic deriving
282+ patterns, and integration guidance; converted the changelog to Keep a Changelog format and checked
283+ off the documentation task in the roadmap.
284+ - 10-10-2025-time-10:00: Refreshed ` nothunks ` README with highlights, generic deriving patterns,
285+ integration notes, and crate layout; migrated the changelog to Keep a Changelog format and marked
286+ the roadmap documentation task complete.
287+ - 10-10-2025-time-10:45: Updated ` heapwords ` README with highlights, integration guidance, crate layout,
288+ and refined testing instructions; recorded the work in the changelog and marked the roadmap
289+ documentation item complete.
290+ - 10-10-2025-time-11:30: Refreshed ` cardano-test-vectors ` README with highlights, fixture layout table,
291+ Haskell↔Rust mapping, and expanded regeneration instructions; adopted Keep a Changelog structure,
292+ and marked the roadmap documentation checkbox while leaving parity and automation tasks open.
293+ - 10-10-2025-time-12:15: Reworked ` cardano-vrf-pure ` README with highlights, layout table, Haskell mapping,
294+ and diagnostics guidance; noted the changes in the changelog and recorded the documentation
295+ checkbox while existing performance/parity tasks remain complete.
296+ - 10-10-2025-time-12:45: Refreshed ` measures ` README with highlights, crate layout, Haskell mapping,
297+ integration notes, and validation guidance; updated the changelog and roadmap documentation entry.
298+ - 10-10-2025-time-13:05: Added migration notes to ` cardano-base ` README, logged the change in the
299+ changelog, and marked the roadmap checklist item so downstream crates have parity guidance when
300+ swapping from the Haskell feature-flag helpers.
213301
214302---
215303
0 commit comments