Current section
Files
Jump to
Current section
Files
iconvex_standards
TDD_LOG.md
TDD_LOG.md
# TDD migration log
The Standards extraction was performed copy-first against
`SURFACE_MANIFEST.tsv`, with the package contract written before runtime code.
## RED
- `mix test test/package_contract_test.exs`: 4 tests, 3 failures. The Standards
public module, packed facade, and required assets did not exist.
- First run of 32 mechanically migrated source suites: 197 tests, 42 failures.
These identified the retired `Iconvex.Specs` namespace, missing package
assets, and assumptions about codecs assigned to other leaf packages.
- Second migrated-suite run: 197 tests, 10 failures. Remaining failures were
narrowed to exact package metadata and cross-leaf ownership assumptions.
- First combined package run: 210 tests, 1 failure. This exposed omitted
`declared_canonical` and `source` provenance in generated registrations.
## GREEN
- Final combined run: 210 tests, 0 failures under `--warnings-as-errors`.
- Exact contract: 248 byte registrations, 205 table providers, five packed
profiles, four property mappings, two raw transports, and two quarantined
catalog entries.
- Provider traversal checks every `one`, `many`, and canonical `encode` mapping.
- Algorithmic coverage includes 13,069 ISCII vectors, all 65,536 TACE-16 words
in both byte orders, all valid odd-width source units in both bit orders, and
all 7,236 kGB3 property/GL rows.
- Application tests verify stop/restart symmetry and force a table-provider
conflict to prove transactional rollback.
- Runtime sources contain no `Iconvex.Specs` or `:iconvex_specs` reference.
- The production build is warning-free. The roughly 3.82 MB Hex archive
contains 371 files, no repository-only PDF scans or cross-leaf source tables,
and recompiles successfully after extraction.
- The KOI8-C quick benchmark passed four oracle/parity gates; the Punycode
benchmark passed all CPython ratio and reduction-scaling gates.
The release verification commands are:
```console
mix format --check-formatted
elixir tools/generate_surface_module.exs --check
mix test --warnings-as-errors
MIX_ENV=prod mix compile --warnings-as-errors --force
mix hex.build
```