ReMe/reme/steps
Ziyang Guo 7c6ed1e2a0 fix(frontmatter-read): use json.dumps for all scalars to preserve string and mapping distinctions
Follow-up to the @jinliyl review on #564 (10-15 round 2):

- _render_value now sends every scalar through json.dumps rather than
  the str-only branch. The str-only branch collapsed a literal '\n'
  two-character sequence and an actual newline into the same rendered
  form ('\n') and lost the distinction between the string 'null'
  and YAML null. The JSON form preserves both.
- Mixed mapping key types (int 1 vs string '1') now round-trip with
  their JSON-form distinction in the answer, matching the metadata.
  Callers that re-parse the answer body as JSON still discard one
  value (this is a YAML-side limitation, not a renderer one); pinned
  by a regression test.
- Updated the three existing answer assertions to carry the new
  quoted scalar form, and added two regression tests:
  test_read_answer_distinguishes_newline_from_literal_backslash_n and
  test_read_answer_mixed_mapping_key_types_render_via_json.

Note: the str-only branch's '\n' escape was the only reason the
description: |- literal-block test in test_read_answer_tolerates_rich_yaml_types
rendered as 'line one\\nline two'. With the change, the same
description renders as '"line one\nline two"' (real newline, JSON-
escaped), which is exactly the fix the review asked for.
2026-10-15 19:42:14 +08:00
..
benchmark feat(benchmark): extract BEAM and LongMemEval into standalone plugins (#512) 2026-09-03 14:06:39 +08:00
common fix: skip dependency bindings in status memory walk (#510) 2026-08-31 16:24:41 +08:00
cookbook feat: extract Daily Paper into an independently packaged plugin (#491) 2026-08-26 17:32:46 +08:00
evolve feat(proactive): separate proactive refresh from auto dream (#488) 2026-09-07 17:23:37 +08:00
file_io fix(frontmatter-read): use json.dumps for all scalars to preserve string and mapping distinctions 2026-10-15 19:42:14 +08:00
index feat(Tag filter): Add an optional rebuildable tag index for file frontmatter (#517) 2026-09-07 15:52:17 +08:00
transfer feat(benchmark): add lme benchmark steps (#326) 2026-07-07 18:53:39 +09:00
__init__.py feat: add daily paper cookbook and DingTalk agent integration (#385) 2026-07-22 19:17:01 +08:00
base_step.py feat: add entry-point plugin system and extract Auto Fin (#459) 2026-08-19 17:23:23 +08:00