docs(documents.js): fix Fidelity table drift and add rtf's row/column - #862
Merged
Conversation
Mearman
marked this pull request as ready for review
September 3, 2026 08:34
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
The table was hand-written against the two named cross-variant convenience functions
(docxToPptx/pptxToDocx, odtToOdp/odpToOdt) and never updated once the pathfinder started
generating the full cross-product of same-variant and cross-variant-transform edges, so most
non-diagonal, non-odf cells were wrongly marked unroutable ("-"): every wordprocessing-family
to presentation-family pair (docx/odt/markdown x pptx/odp), every drawing-family to
presentation-family pair (odg/svg x pptx/odp), every bare two-hop PDF pivot between two
layout-capable formats with no bridge shortcut (ods to docx/pptx/odt/odp/odg/svg/markdown),
and every three-hop bridge-plus-pivot route reaching xlsx from a layout-capable format.
Every cell is now derived from resolveCompositionPlan's actual resolved route for each of the
156 ordered pairs among the 13 DocumentFormat members (verified via a throwaway audit script
calling resolveCompositionPlan directly, not hand-reasoned), rating each by the worst-fidelity
hop in its route: same-variant bridge, cross-variant transform, toPdf, or fromPdf, compounding
two chained transforms or two chained PDF legs one severity tier up from the worse individual
leg, matching the convention the table's own pre-existing xlsx-markdown/svg-csv/svg-markdown
cells already used.
Adds rtf's row and column, rated from rtf-codec's own documented Scope (carries
colour/font/size/alignment natively, unlike markdown, but drops superscript/subscript, cell
shading/borders/vertical merge, right-to-left text, and multi-section structure) crossed with
the routes the pathfinder actually resolves for it: rtf-csv and rtf-xlsx stay unroutable (one
hop past the pathfinder's 3-hop cap), everything else routes.
Updates the table's own summary line to 129 of 156 (up from the stale 111 of 132, itself
derived independently of what the table's own cells summed to) and the surrounding prose
describing the same-variant, markdown, and cross-variant-transform bridge families to match.
Mearman
force-pushed
the
docs/documents-js-fidelity-table-audit
branch
from
September 3, 2026 08:36
7832590 to
6e62ad8
Compare
Contributor
|
🎉 This PR is included in version 6.3.1 🎉 The release is available on: Your semantic-release bot 📦🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
documents.jspackage README's Fidelity table against the real composition-engine pathfinder (resolveCompositionPlan), fixing the widespread--vs-routable drift the table accumulated after it was hand-written against a small set of named convenience functions and never updated once the pathfinder started generating the full cross-product of same-variant and cross-variant-transform edges.rtf's own row and column, rated from rtf-codec's documented Scope crossed with the routes the pathfinder actually resolves for it.Fixes #853
Test plan
resolveCompositionPlandirectly (not committed, per the issue's own suggestion to weigh a generator script against a verified manual edit -- see PR description below for why a manual edit was judged more proportionate here).pnpm --dir packages/documents.js lintandtypecheckpass (README-only change; no source touched).