Skip to content

Limits and Next Steps

Daniel Boles edited this page Nov 6, 2026 · 1 revision

Limits and Next Steps

SlideBridge runs end to end and its mechanics are sound, whereas its judgment about real decks is unproven, and the list below separates the two. Every limit was either stated in the README or reproduced for this wiki, and the reproductions are described on Evidence.

Limits

Limit Consequence
Every test and run used synthetic decks Reading order and confidence scores have not met a real deck; expect odd results on complex layouts, charts, and grouped shapes
The review pack is larger than A4 The page is written as 18,750 by 26,517 twips (about 330.7 by 467.7 mm) because two constants are 1.575 times too large
align matches text approximately Its segmenter drops line breaks before splitting and cuts sentences that end in a number, so an edited document can align to the wrong text
One confidence penalty is defined and not applied The image-and-text mismatch penalty appears in constants.py and in docs/cli.md, and not in the scoring
Screenshots come from LibreOffice They can differ from what PowerPoint shows
source_hash_sha256 and pdf_file are empty The run report leaves two documented fields blank
One test needs LibreOffice It skips itself when soffice is not on the PATH; 44 tests pass in that case, and all 45 pass with it
The GUI has two smoke tests One confirms that the module imports, and the other that the window opens and closes; the second skips without a display
Part of integrations/ is unused The hooks, contracts, and skill registry are not imported by the command line or the tests
mypy strict mode reports one error retry.py line 65, an incompatible return value from a retry decorator
Run on Windows with Python 3.12 only Linux and macOS were not tried, although the code looks for soffice on both
Input is .pptx The default input pattern and the reader, python-pptx, handle .pptx files; other formats were not tried

Next steps

No dates are attached. The order puts the fixes that change the output first, because a reader who opens the pack meets those before anything else.

  1. Correct the page size. Set the A4 page from 210 by 297 millimeters through python-docx's own length units, and add a test that reads w:pgSz from the generated file and expects 11,906 by 16,838 twips.
  2. Repair the segmenter. Split on line breaks before whitespace is collapsed, restrict the numbered-list rule to a digit run at the start of a line, and give the module tests of its own, including a sentence that ends in a number and a document with no full stops.
  3. Strengthen the alignment tests. Add edited documents with real edits, such as a reworded bullet, a merged pair, and a deleted line, and assert the change type that each should receive.
  4. Pin the penalties. Assert the exact confidence for each condition, and either apply the mismatch penalty or remove it from the constants and the documentation.
  5. Generate harder synthetic decks. The helper can add a chart, a grouped shape, a picture, and a two-column slide in code, which exercises the heuristics on the layouts that the README warns about, without any real deck entering the public repository.
  6. Run on Linux. Add a continuous-integration job with LibreOffice installed, so that the render test runs on every change and the skip becomes the exception.
  7. Fill the report fields, clear the type error, and decide on integrations/. Record the source hash and the PDF name, resolve the one mypy error, and either connect the unused modules to the command line or remove them.

A trial on a real deck, from a source whose owner agrees, would be the test that matters most, and the generated decks in step 5 should come first so that the first real run does not meet a defect that code could have found.

Clone this wiki locally