Why
edgar.documents is the HTML parsing engine; the legacy edgar.files package it replaced (~904K of code across 11 modules, imported by 16 modules, covered by 21 test files) is still shipped. Carrying two parsers means double maintenance and confusing failure modes — some of the remaining edgar.files code paths are the source of open bugs (#870).
Scope
Sequenced, with safety gates:
- Finish migrating the remaining internal usages from
edgar.files to edgar.documents.
- Rebuild the new-vs-legacy parity benchmark — this gates the removal; we don't delete until the new parser demonstrably covers the old one's outputs.
- Ship
DeprecationWarnings on edgar.files entry points in a late 5.x release.
- Delete
edgar.files and ChunkedDocument in 6.0.
Removing the legacy path resolves #870 (we will verify edgar.documents handles that filer-agent HTML before closing it as fixed-by-removal).
Acceptance
- Parity benchmark green before deletion.
- Deprecation warnings shipped at least one minor release before removal.
- Upgrade-guide entry: every removed public symbol mapped to its
edgar.documents replacement (Filing.document(), extractors), with a mechanical rewrite rule where one exists.
Why
edgar.documentsis the HTML parsing engine; the legacyedgar.filespackage it replaced (~904K of code across 11 modules, imported by 16 modules, covered by 21 test files) is still shipped. Carrying two parsers means double maintenance and confusing failure modes — some of the remainingedgar.filescode paths are the source of open bugs (#870).Scope
Sequenced, with safety gates:
edgar.filestoedgar.documents.DeprecationWarnings onedgar.filesentry points in a late 5.x release.edgar.filesandChunkedDocumentin 6.0.Removing the legacy path resolves #870 (we will verify
edgar.documentshandles that filer-agent HTML before closing it as fixed-by-removal).Acceptance
edgar.documentsreplacement (Filing.document(), extractors), with a mechanical rewrite rule where one exists.