Milestone 0.6 — Accounted safe Rust parity¶
Status: complete
Outcome: account for the full public Redland API in a reviewed safe Rust
surface
Depends on: 0.1–0.5 model, I/O, SPARQL, storage, utilities, and logging
Blocks: 0.7 Python package sequencing; 0.8 C ABI preview
Release evidence: docs/reports/0.6.md
This is the executable specification for 0.6. The roadmap defines the release outcome; this document defines the work packages and acceptance criteria. Design detail: 0.6-safe-api-accounting.md, 0.6-cli-rdfproc.md. Decisions: ADR-018–ADR-021.
User-visible result¶
At the end of 0.6, a Rust caller or evaluator can:
- rely on a header-derived inventory with no unclassified public Redland symbols (each mapped, verified, not-applicable, or excluded with rationale);
- use
oxiland-clifor rdfproc-shaped parse / find / query / serialize workflows against memory or Fjall stores; - follow an inventory-backed Redland → Oxiland migration / symbol map;
- treat module naming (
terms,io,query,utility,world,storage) and the closedErrorsurface as frozen for 1.0 intent except documented exceptions; - cite public-API snapshot + semver evidence against published 0.5.0.
Non-goals¶
- C ABI /
oxiland-capi(0.8) - PyPI package (0.7)
- Drop-in binary compatibility with native
rdfproc - Full Redland storage plugin matrix (MySQL, Virtuoso, BDB hashes, …)
- Expanding Rasqal differential beyond existing smoke
Work package sequence¶
| ID | Package | Depends on |
|---|---|---|
| WP-06-00 | Milestone plan + design stubs + inventory schema | — |
| WP-06-01 | Accept ADR-018–ADR-021 | WP-06-00 |
| WP-06-02 | Header-derived inventory generator | WP-06-01 |
| WP-06-03 | Classify all symbols (zero unreviewed) |
WP-06-02 |
| WP-06-04 | Safe-API gap fills + tests + API snapshot | WP-06-03 |
| WP-06-05 | Workspace + oxiland-cli + CI smoke |
WP-06-01 |
| WP-06-06 | Feature/error semantics + naming freeze docs | WP-06-04 |
| WP-06-07 | Migration / symbol map guide | WP-06-03–06 |
| WP-06-08 | API review + semver-checks + compatibility report | WP-06-04–07 |
| WP-06-09 | Docs, parity, 0.6.0 release | all |
Evidence gates¶
- Inventory has no
unreviewedentries. - Applicable safe-Rust mappings have tests; N/A and excluded have written rationales (impact, workaround, owner, review date where required).
- Parity ledger reports 100% safe-API accounting (not C ABI parity).
- External API review finds no unresolved soundness or ownership issues.
- Public API snapshot is current; semver check against 0.5.0 is established.
oxiland-clicovers the rdfproc workflow set in the CLI design doc.
Exit checklist¶
- Inventory
redland-1.0.17-oxiland-0.6.jsonverified (zero unreviewed) - ADR-018–ADR-021 accepted
- Public API snapshot updated
-
oxiland-cliships with CI smoke -
docs/reports/0.6.mdcomplete -
PARITY.md/ROADMAP.mdmark 0.6 complete - CI green (Check + Fjall + MSRV + RDF I/O conformance)
-
0.6.0release checklist ready