Blocked on the two sub-issues above — this describes the state they produce.
#1721 corrected the factually wrong attribution in extension-guide/codecs.md (it named datafusion-ffi-query-planner-example, which has no registry) and connected the broad claim at line 185 to the registry it forces. That was deliberately minimal, because the underlying facts were about to change.
Once the logical codec encodes durable metadata and the greedy arm is quarantined, the section should be rewritten rather than patched again:
- Lead with the positive example. Two paragraphs of what-not-to-do before the reader sees a correct codec is the wrong order.
- State the registry as a consequence, not a choice. A codec that downcasts to its own concrete types is never handed something it cannot describe. The cause is already explained under
extension_codec_order, 100 lines further down; the two should link to each other.
- Name the one remaining offender precisely — the
ForeignExecutionPlan arm, with the upstream issue and the delete-when condition, so a reader can tell a marked workaround from sloppiness.
datafusion-ffi-example's logical codec moves from the counter-example list to the example list, alongside examples/distributed/storage-library.
Also check extension-guide/checklist.md:109, which says "the examples in this repository use tokens to make ownership observable" — that becomes true of one arm of one codec rather than of the examples generally.
Blocked on the two sub-issues above — this describes the state they produce.
#1721 corrected the factually wrong attribution in
extension-guide/codecs.md(it nameddatafusion-ffi-query-planner-example, which has no registry) and connected the broad claim at line 185 to the registry it forces. That was deliberately minimal, because the underlying facts were about to change.Once the logical codec encodes durable metadata and the greedy arm is quarantined, the section should be rewritten rather than patched again:
extension_codec_order, 100 lines further down; the two should link to each other.ForeignExecutionPlanarm, with the upstream issue and the delete-when condition, so a reader can tell a marked workaround from sloppiness.datafusion-ffi-example's logical codec moves from the counter-example list to the example list, alongsideexamples/distributed/storage-library.Also check
extension-guide/checklist.md:109, which says "the examples in this repository use tokens to make ownership observable" — that becomes true of one arm of one codec rather than of the examples generally.