# rfe-types Hardening + Release Task List
Date: 2026-04-14
Scope: `rfe-types` release hardening with dependent `cbr-finapi-rs` alignment and article sync.
## 1. Protocol Naming and Docs
- [x] Rename protocol wording from `v1.2` to `v1` in `rfe-types` sources.
- [x] Normalize branding `Trust-Box` -> `TrustBox` in vectors docs.
- [x] Clarify `canonical_json` is diagnostic helper; authoritative hash path is `hash_canonical_reports`.
- [x] Add in-place sort behavior note to `hash_canonical_reports`.
## 2. FraudSign Regulatory Alignment (161-FZ / OD-2506)
- [x] Remove `SanctionedEntityMatch` from `rfe-types::FraudSign`.
- [x] Add `ExternalOperatorSignal` to `rfe-types::FraudSign`.
- [x] Update canonical hash serializer mapping for new variant.
- [x] Align `cbr-finapi-rs::FraudSign` enum and unit tests.
- [x] Align `cbr-finapi-rs` README OD-2506 sign table.
## 3. Bench Hardening
- [x] Remove `gost-export` bench call from always-on `benches/hashing.rs`.
- [x] Keep GOST benchmark only in `benches/streebog.rs` under feature-gated bench target.
- [x] Add short file-level bench intent comment to `benches/hashing.rs`.
## 4. Test Vector Closure
- [x] Add executable tests for `VECTOR_1` and `VECTOR_2`.
- [x] Recompute/verify hardcoded vector hashes against real Blake3 outputs.
- [x] Confirm vector tests pass with final constants.
## 5. Article Consistency (EN/RU full versions)
- [x] Update OD-2506 full article enum snippets to exact exported names.
- [x] Remove stale non-code variant names from OD-2506 full article tables.
- [x] Remove sanctions-screening positioning from 161-FZ sign list.
- [x] Sync `AuditEntry` / `SealInput` snippets to current `rfe-types` structures.
## 6. Final Release Gates (rfe-types focus)
- [x] `cargo test -p rfe-types`
- [x] `cargo bench -p rfe-types --bench hashing`
- [x] `cargo bench -p rfe-types --bench streebog --features gost-export`
- [x] `cargo package --no-verify -p rfe-types`
## 7. Final QA Follow-up
- [x] Re-check `src/hashing.rs` rust-analyzer `to_string` errors; confirm `ToString` trait import present.
- [x] Convert RU comments to EN in `rfe-types` source files.
- [x] Re-run full final verification gates after final QA edits.
## Command Evidence
- `cargo test -p rfe-types` -> pass (12 tests: 10 lib + 2 integration)
- `cargo bench -p rfe-types --bench hashing` -> pass
- `cargo bench -p rfe-types --bench streebog --features gost-export` -> pass
- `cargo package --no-verify -p rfe-types` -> pass
- `cargo test -p cbr-finapi-rs --features client` -> pass (regression check after enum alignment)
- `rg -n "[А-Яа-яЁё]" rfe-types/src rfe-types/tests rfe-types/benches` -> no matches
- `cargo fmt --all -- --check` -> pass
- `cargo check -p rfe-types` -> pass
- final rerun:
- `cargo test -p rfe-types` -> pass
- `cargo bench -p rfe-types --bench hashing` -> pass
- `cargo bench -p rfe-types --bench streebog --features gost-export` -> pass
- `cargo package --no-verify -p rfe-types` -> pass