Embedding-based `semantic` chunking (the strategy behind ingestion's `NotImplementedError`) — deferred until a deterministic-snapshot mode is designed
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 8/100
Research direction
The stub is _chunk_semantic in forgelm/ingestion.py, which raises NotImplementedError; its message points at docs/roadmap/risks-and-decisions.md rather than this issue. The feature is explicitly deferred until a deterministic-snapshot mode is designed, so there is no implementation to start. A newcomer can only usefully link this issue from the error message (via #712) and wait for the condition to hold.
Written by the indexing model from the issue text.
Description
Deferred work ·
F-PR29-A6-05· severity Low · cost the feature: not estimated · recorded indocs/roadmap/risks-and-decisions.md:98
Summary
forgelm/ingestion.py reserves a semantic chunking strategy that raises NotImplementedError, and its message points users at a roadmap table row instead of an issue. The work was deferred at Phase 12 because a runtime embedding-model dependency and non-deterministic chunk counts conflict with air-gapped, reproducible Annex IV evidence. This issue is the tracker the error message should link to.
Condition or budget
Only viable once a deterministic-snapshot mode is designed (Phase 12's won't-do list in completed-phases.md).
State today (re-checked 2026-10-09)
_chunk_semantic raises NotImplementedError; no issue tracked the feature before this one.
Related
#712 asks for a real issue URL in the NotImplementedError message — this issue; #837 suggested pointing at the roadmap row instead.
Acceptance criteria
- The
NotImplementedErrormessage links this issue (through #712). - When the condition holds: a deterministic, air-gap-safe semantic chunker with a pinned embedding snapshot and reproducible chunk counts.
- The row is removed from the deferral table and the CHANGELOG names its ID (the table's removal contract).
Recorded in docs/roadmap/risks-and-decisions.md (read at f94595f) and re-checked against the code on 2026-10-09. The row leaves that table only when the fix is on main, the CHANGELOG names its ID and any promised guard exists.
- Dominant language
- Python
- Stars
- 9
- Forks
- 1
- Avg merge
- 8h 10m
- Merged PRs (30d)
- 5
Getting set up
- Ships a Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from HodeTech/ForgeLM
-
area: dev-tooling bug severity: low source: roadmap wave: 4
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
Site: the theme-locked --code-comment grey (#6a6f80) on the dark code surface is 3.8:1, below WCAG AA, in both themes (F-W1-SITE-06)Possibly taken @vortsghost2025 claimed this today. Openarea: site bug good first issue severity: low source: review-2026-09 wave: 4
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
-
documentation good first issue severity: medium source: review-2026-09 wave: 3
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
documentation good first issue severity: low source: review-2026-09 wave: 4
Difficulty 1/5 1-3 hours Newbie friendliness 80/100
-
documentation severity: medium source: review-2026-09 wave: 3
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
All issues in HodeTech/ForgeLM
Similar issues
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Deltares/imod-python#1940 ·
Maintainers usually reply within 1 day
-
effort: low prio: low ready
Difficulty 1/5 Under an hour Newbie friendliness 82/100
digitalfabrik/integreat-cms#4621 ·
Maintainers usually reply within 5 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
ioos/compliance-checker#1375 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day