Skip to content

Pull from buerokratt/wip - #18

Merged
ruwinirathnamalala merged 9 commits into
rootcodelabs:wipfrom
buerokratt:wip
Jul 30, 2026
Merged

Pull from buerokratt/wip#18
ruwinirathnamalala merged 9 commits into
rootcodelabs:wipfrom
buerokratt:wip

Conversation

@ruwinirathnamalala

Copy link
Copy Markdown

No description provided.

ruwinirathnamalala and others added 9 commits June 11, 2026 18:52
Sync menu headers with other modules
* Cleaning: dedicated .txt / .md flow

Plain-text inputs previously fell through to clean_any_file(), which
calls unstructured.partition() and treats each line as a Title element.
For real .txt content the output is noisy and pointless; for HTML
mistakenly saved as .txt the output is the raw markup wrapped as
"titles" — neither is useful.

Add clean_plain_text() that just reads the file as UTF-8 with
errors="replace" and returns the contents verbatim. The existing
normalize_newlines() pass collapses whitespace at the call site, so we
don't need any extraction step for formats that are already plain text.

Route .txt and .md to the new helper. Other extensions still go through
unstructured / pymupdf / trafilatura as before.

Tests cover:
- reading contents verbatim
- bad UTF-8 bytes don't crash
- .txt routes to clean_plain_text and NOT clean_any_file
- .md routes the same way

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* Tests: explicit utf-8 encoding on read/write_text calls

Per Copilot review on #191: Path.read_text() / write_text() default
to the platform locale, which is fine on Linux CI but would break
the new plain-text tests on Windows (cp1252). Pin encoding="utf-8"
on all three call sites so the tests are deterministic across
platforms.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claudia kittask <claudia.kittask@mindtitan.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@ruwinirathnamalala
ruwinirathnamalala merged commit b365c79 into rootcodelabs:wip Jul 30, 2026
4 checks passed
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.

4 participants