Implement the chunking contract now that FlossWare/scraping#1 is merged.
Acceptance criteria:
- Sentence-aware, approximate token-bounded chunking.
- Configurable overlap and deterministic long-segment splitting.
- Stable chunk object with source identity/provenance, offsets and metadata.
- Preserve upstream metadata.
- Empty input, long segments, overlap boundaries, Unicode/non-ASCII and repeated-run determinism tests.
- Real fixture matching the scraping document contract.
- Core remains stdlib-only and does not import scraping, embedding, storage, model, Loom or agent packages.
- Package/CI validation and X.Y versioning.
Dependency boundary: scraping -> document contract <- chunking.
Program tracker: FlossWare/FlossWare#4
Implement the chunking contract now that FlossWare/scraping#1 is merged.
Acceptance criteria:
Dependency boundary:
scraping -> document contract <- chunking.Program tracker: FlossWare/FlossWare#4