Skip to content

fix(doctor): (map,name)-keyed union, linear JSONC, wider invisible-char alphabet (DSE-1529) - #103

Merged
ernestprovo23 merged 2 commits into
mainfrom
ernest/dse-1529-doctor-followups
Sep 4, 2026
Merged

fix(doctor): (map,name)-keyed union, linear JSONC, wider invisible-char alphabet (DSE-1529)#103
ernestprovo23 merged 2 commits into
mainfrom
ernest/dse-1529-doctor-followups

Conversation

@ernestprovo23

@ernestprovo23 ernestprovo23 commented Sep 4, 2026

Copy link
Copy Markdown
Member

Closes the Low/Info residuals from the CSO final pass of #98 (DSE-1529).

Acceptance criteria

  • Union keyed on (map, name); a user-named x#servers is neither dropped nor falsely flagged; tests for both directions (test_user_named_hash_servers_entry_is_neither_dropped_nor_flagged, test_user_named_hash_servers_alone_is_not_flagged_ambiguous). Ambiguity is derived from the display keys of the colliding pair, not a #servers suffix rule.
  • strip_jsonc linear on pathological input — one string-aware left-to-right pass (comments + trailing commas together), split into doctor_jsonc.py for the LOC budget; test_strip_jsonc_is_linear_on_unterminated_block_comments (600 KB of /* with no */, < 2 s, left untouched → fails closed) + a comment-between-comma-and-close case.
  • docs/DOCTOR.md documents --config resolved-path de-duplication / explicit-replaces-discovered and the safe_text caveat on printed URLs.
  • _CONTROL extended with U+00AD, U+2060–U+2064, U+FEFF, U+E0000–U+E007F; parametrized test_invisible_format_characters_are_neutralised.
  • Full suite + ruff green.

Verification (dse-builder-01, py3.12)

  • ruff check . clean
  • Full suite with coverage (COVERAGE_PROCESS_START=pyproject.toml): 1095 passed, 2 skipped, 87% (floor 80). 8 builder-only failures in test_precommit/test_signing (bare python resolves the system 3.12 there); re-run with the venv on PATH → 52 passed, 1 skipped. CI's setup-python is unaffected.
  • Doctor test files: 75 passed (12 new)
  • All doctor modules < 300 LOC (doctor_discovery.py 237, doctor_jsonc.py 80, doctor.py 210, doctor_funnel.py 182)

🤖 Generated with Claude Code

https://claude.ai/code/session_01Lu4ZLyWWL7TXMGYpNFU5Dc

…ar alphabet (DSE-1529)

Follow-ups from the CSO final pass of #98.  is no longer a reserved
namespace: entries are keyed on (map, name) and the display key is derived
afterwards, unique by construction, so a user-named  is neither
overwritten nor falsely flagged; ambiguity is recorded per display key.
 is a single string-aware linear pass (split into doctor_jsonc.py
for the LOC budget) — the regex form went quadratic on unterminated .
 also neutralises U+00AD, U+2060–U+2064, U+FEFF and the Unicode Tags
block. DOCTOR.md documents --config de-duplication/replacement and the
safe_text caveat on printed URLs.
@ernestprovo23
ernestprovo23 merged commit fe7c68b into main Sep 4, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant