minsung
190cc6e596
feat: engine-state normalizer profile + sort_array_elements rule ( #10 )
...
- Rules.SortArrayElements: sort JSON arrays lexicographically (post-mask_guids order-independence)
- Normalizer output: UnsafeRelaxedJsonEscaping to preserve <GUID>/<TS>/<VOLATILE> tokens
- profiles/engine-state.yaml: normalize_paths + mask_guids + sort_array_elements + round_floats(2dp) + sort_json_keys
- RunnerOptions.SidecarProfile: default "engine-state", overridable via --sidecar-profile
- TestRunner.CaptureAndDiffSidecar: uses SidecarProfile instead of main Profile
- 4 new normalizer tests (136 total)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-09 16:28:57 +09:00
minsung
eeee3c2a03
normalizer: configurable float epsilon + JSON-path volatile mask scoping
...
Follow-ups to #4 normalizer PoC v2:
- Profile.float_decimals (default 6) flows into Rules.RoundFloatsInNode.
- mask_volatile_settings switches from name-only HashSet to a JSONPath-lite
allowlist ($.a.b.c) so same-named fields in unrelated subtrees stay intact.
- default.yaml migrated; 6 new tests including a regression trap for the
unrelated-subtree case. 16/16 normalizer tests, 77/77 solution tests.
Refs #2
2026-04-07 20:42:27 +09:00
minsung
0f0324efb5
sut-prober snake_case JSON + scaffolding review 1회차
...
- SutProber JsonNamingPolicy.SnakeCaseLower (strict contract compliance)
- Regenerated docs/sut-catalog/*.json
- CoverageTests: accept both snake_case and PascalCase (resilience)
- docs/history: scaffolding review 1회차 (no removals, audit only)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-07 20:41:51 +09:00
minsung
05c7a3f388
Fix normalizer sidecar log and coverage test ( #4 )
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-07 14:17:22 +09:00
minsung
3c5294a4cb
Implement normalizer PoC ( #4 )
2026-04-07 14:12:07 +09:00