Skip to content

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-cli for 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 closed Error surface 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 unreviewed entries.
  • 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-cli covers the rdfproc workflow set in the CLI design doc.

Exit checklist

  • Inventory redland-1.0.17-oxiland-0.6.json verified (zero unreviewed)
  • ADR-018–ADR-021 accepted
  • Public API snapshot updated
  • oxiland-cli ships with CI smoke
  • docs/reports/0.6.md complete
  • PARITY.md / ROADMAP.md mark 0.6 complete
  • CI green (Check + Fjall + MSRV + RDF I/O conformance)
  • 0.6.0 release checklist ready