Commit 56e04a3
fix: frame the remaining JSONL readers on LF
#5117 fixed four readers of the per-Goal run index. The same framing defect
exists in nine more places that parse one JSON document per line after
`read_text(...).splitlines()`:
- `chat_store.py` (stored chat rows)
- `doctor.py` (installation index)
- `domain_state.py` (domain state rows)
- `event_sourced_state.py` (the append-only event log)
- `domain_packs/issue_fix.py` (two readers)
- `capabilities/explore/result_log.py` (three readers)
All of these files also write with `json.dumps(..., ensure_ascii=False)`, which
leaves U+0085/U+2028/U+2029 in a value verbatim, and `str.splitlines()` treats
them as line breaks: one record becomes two fragments, `json.loads` fails on
both, and the row is dropped or reported as invalid. Frame on LF instead.
Validation: a new case in `tests/test_event_sourced_state_store.py` writes one
event whose title carries U+0085 and asserts it round-trips; it raises
`StateEventError` before the change and passes after. The other eight sites are
the same one-line shape. `pytest -q tests/test_event_sourced_state_store.py
tests/test_chat_store_input_validation.py` -> 23 passed, 1 failed, where that
failure is `test_failure_before_replace_leaves_old_stream_intact` injecting
`OSError("injected pre-publication failure")` inside the file lock; it fails
identically with these edits reverted, so it is pre-existing on this host.
`ruff check` on the changed files reports `All checks passed!`.
Signed-off-by: kokokoXUY <13682395396@163.com>
Keep the test imports above the module constant (E402).1 parent 74d372c commit 56e04a3
7 files changed
Lines changed: 38 additions & 9 deletions
File tree
- loopx
- capabilities/explore
- domain_packs
- tests
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
506 | 506 | | |
507 | 507 | | |
508 | 508 | | |
509 | | - | |
| 509 | + | |
510 | 510 | | |
511 | 511 | | |
512 | 512 | | |
| |||
546 | 546 | | |
547 | 547 | | |
548 | 548 | | |
549 | | - | |
| 549 | + | |
550 | 550 | | |
551 | 551 | | |
552 | 552 | | |
| |||
579 | 579 | | |
580 | 580 | | |
581 | 581 | | |
582 | | - | |
| 582 | + | |
583 | 583 | | |
584 | 584 | | |
585 | 585 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
75 | 75 | | |
76 | 76 | | |
77 | 77 | | |
78 | | - | |
| 78 | + | |
79 | 79 | | |
80 | 80 | | |
81 | 81 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
625 | 625 | | |
626 | 626 | | |
627 | 627 | | |
628 | | - | |
| 628 | + | |
629 | 629 | | |
630 | 630 | | |
631 | 631 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
170 | 170 | | |
171 | 171 | | |
172 | 172 | | |
173 | | - | |
| 173 | + | |
174 | 174 | | |
175 | 175 | | |
176 | 176 | | |
| |||
530 | 530 | | |
531 | 531 | | |
532 | 532 | | |
533 | | - | |
| 533 | + | |
534 | 534 | | |
535 | 535 | | |
536 | 536 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
71 | 71 | | |
72 | 72 | | |
73 | 73 | | |
74 | | - | |
| 74 | + | |
75 | 75 | | |
76 | 76 | | |
77 | 77 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
578 | 578 | | |
579 | 579 | | |
580 | 580 | | |
581 | | - | |
| 581 | + | |
582 | 582 | | |
583 | 583 | | |
584 | 584 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| 15 | + | |
| 16 | + | |
15 | 17 | | |
16 | 18 | | |
17 | 19 | | |
| |||
429 | 431 | | |
430 | 432 | | |
431 | 433 | | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
0 commit comments