Roadmap
Development phases from hygiene to new features. Snapshot of 2026-05-18 — P1 + P2 + P5 + P6 delivered, P3 + P7 in progress.
P5 — Format converters
16/17 bidirectional format converters delivered on the 6 historical ports + 13 non-binary converters propagated to 9 additional ports. GeoParquet deferred (depends on Apache Parquet).
- TSV — delegates to CSV engine with tab lock
- YAML — in-house zero-dep block subset parser
- JSONC — comment stripping + JSON pipeline
- JSON5 — custom tokenizer for full JSON5 superset
- SOAP — XML wrapper with namespace stripping
- GeoJSON — RFC 7946 validation
- KML — in-house XML parser with sibling grouping
- GPX — XML arrays wrapper, auto number parsing
- LOG — configurable regex, template emission
- Syslog — RFC 5424 + RFC 3164 auto-detection
- NPY — in-house zero-dep (NEP-1 v1.0)
- FITS — in-house zero-dep (FITS 4.0 primary HDU)
- MAT v5 — in-house zero-dep (10 numeric classes)
- DTA v118 — in-house zero-dep (Stata 14)
- RData — in-house zero-dep (R RDS V2/V3 XDR)
- SHP — in-house zero-dep (ESRI Shapefile, 5 types)
- SHP triplet (.shp + .shx + .dbf) propagated to 11 ports
- GeoParquet — deferred (depends on Parquet)
P1 — Hygiene
4 Sonar bugs fixed, cognitive complexity hotspots resolved, test literals deduplicated. 0 open bugs, 0 critical, 0 blocker on the 6 instrumented ports.
- 4 SonarQube bugs fixed (0 open bugs project-wide)
- Top S3776 cognitive complexity hotspots resolved
- Test literal deduplication across 6 historical ports
- C / VB.NET / PHP / C# test suites split per format
- 0 new_violations · 0 new_bugs · 0 new_blocker · 0 new_critical
P2 — Coverage
SonarQube new_coverage at 83.7% (target ≥ 80%). 6 Tier 1 ports instrumented including Java JaCoCo + PHP Clover.
- new_coverage: 49.9% → 83.7% (target ≥ 80% met)
- Project coverage: 53.7% → 79.4%
- JS, Python, Go, Rust, Java (JaCoCo), C#, PHP all instrumented
- Quality Gate: 3/4 conditions OK (only hotspots-reviewed 0/0 quirk)
P6 — Conformity audit (15 ports)
5-agent conformity audit closed (run #6, 2026-05-18). 15/15 ports green at 100%, 3,365 test cases passing, 0 HARD-FAIL. 12 hot-path concat-N² sites eliminated.
- 9 additional ports propagated: PHP, R, Perl, VB.NET, Swift, C++, C, Delphi/FreePascal, Fortran
- Native Serde Serializer on Rust (bypass serde_json::to_value)
- O(N²) concat hot paths eliminated on R, Delphi, Fortran (12 sites)
- SOAP value→XML direct route (no TOON-string round-trip)
- 10 official RFC/OGC/spec fixtures added (geo + RFC + sci)
- Binary formats (NPY/FITS/MAT/DTA/RData) propagated to PHP, Perl, VB.NET, C, C++
- Global audit verdict: FAIL → WARN (residual peripheral perfs only)
P3 — Refactor
Modular file splitting per port, extracted test projects, shared conformance suite. C# / C / PHP / VB.NET test projects already split.
- Monoliths split below 500 LOC per file
- csharp/Tests/ToonConverter.Tests.csproj extracted ✓
- C / VB.NET / PHP tests split by format ✓
- Shared cross-port conformance/ suite
P7 — Binary format propagation
Propagate NPY / FITS / MAT v5 / DTA v118 / RData to the 4 remaining additional ports (R, Delphi/FPC, Fortran, Swift). Resolve C++ residual binary debt.
- Binary formats on R, Delphi/FPC, Fortran, Swift
- C++ residual: DTA float = 0.0 + MAT endian quoting (4 tests)
- Sonar coverage extension to 9 Tier 2 ports
P4 — New features
Standalone CLI, binary TOON format, additional mappers (Avro, Protobuf, Parquet — unlocks GeoParquet).
- CLI standalone converter
- Binary TOON format
- Avro mapper
- Protobuf mapper
- Parquet mapper (enables GeoParquet)