Skip to content

feat(cxf): replace the export panic with a typed ExportUnsupported rejection#174

Merged
jscott3201 merged 2 commits into
developmentfrom
claude/cxf-export-floor
Jul 22, 2026
Merged

feat(cxf): replace the export panic with a typed ExportUnsupported rejection#174
jscott3201 merged 2 commits into
developmentfrom
claude/cxf-export-floor

Conversation

@jscott3201

Copy link
Copy Markdown
Owner

Rung 4 of 7 of the interchange-trio ladder (owner-ratified 2026-07-21) — the #141 export floor. #141 stays open; R7 closes it.

What

  • oce_cxf::export no longer panics: the unimplemented!() is replaced by the prior-adjudicated typed floor — Err(CxfError::Validation(...)) carrying exactly one Diagnostic::error(DiagCode::ExportUnsupported, ...) with subject None (honest for a whole-operation deferral) and the ratified message CXF export is not yet implemented; every model is rejected until the exporter lands. — the staged rejection surface R5–R7 reuse.
  • DiagCode::ExportUnsupported added (additive under #[non_exhaustive]) with its "export-unsupported" arm in the wildcard-free as_str match.
  • export's rustdoc now documents the staged contract (the Result shape is the permanent API); the crate docs no longer claim export panics. Signature unchanged.

Tests

3 new export-floor tests (import-then-export, repeated-call stability on the full Diagnostic, hand-built-graph input-independence) + the oce-diag as_str uniqueness/kebab pin extended. Workspace 1219 → 1222. Mutation self-checks: substituted DiagCode → 2 tests fail; Ok(Vec::new()) → all 3 fail.

Gates

Implementer + independent lead re-run, both green incl. both rustdoc gates: fmt · clippy · nextest 1222/1222 · doctests · file-size · doc gates · determinism mirror 448/448.

Flagged for backlog, not this PR: the pre-existing oce-diag as_str pin test omits seven older variants (backfill candidate); oce-docs::point_list_html carries its own deferred unimplemented! (M4 scope).

🤖 Generated with Claude Code

jscott3201 and others added 2 commits July 21, 2026 21:26
…jection (#141)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@jscott3201
jscott3201 merged commit 916ce85 into development Jul 22, 2026
14 checks passed
@jscott3201
jscott3201 deleted the claude/cxf-export-floor branch July 22, 2026 01:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant