Skip to content

Reject malformed escaped Unicode before browser admission #313

Closed

Description

@devantler

🤖 Generated by the Agentic Engineer

Part of #283.

Strict streamed UTF-8 parsing still permits ASCII JSON escapes containing unpaired UTF-16 surrogates. Display and export then replace those values silently, violating lossless public-metadata admission.

For publishers, operators and product consumers, the expected result is consistent validation and honest public metadata. The hypothesis is that enforcing the existing boundary at its real caller prevents this failure without adding steps to the valid workflow.

Acceptance criteria:

  • Reject malformed escaped Unicode keys and values across registry and dependency responses before admission; retain valid surrogate pairs and deliberate replacement characters. Exercise real browser display/export and partial-page behavior.
  • Prove the regression fails on current main and passes with the smallest root-cause repair.
  • Keep affected documentation consistent and deliver through reviewed, passing CI and an actual merge.

Success signal: the focused regression and valid-path controls pass within this delivery round. Size: small to medium.

Activity

  1. self-assigned this
    on Oct 5, 2026
  2. added theissue type on Oct 5, 2026
  3. moved this to 📥 Backlog in 🌊 Project Boardon Oct 5, 2026
  4. added 3 commits that reference this issue on Oct 5, 2026
  5. devantler commented on Oct 5, 2026

    @devantler
    ContributorAuthor

    🤖 Generated by the Agentic Engineer

    Delivered through merged PR #314. The failing regression and valid-path controls pass, all hosted checks passed at the reviewed commit, and the complete change has a clean current-head GitHub review. This closes the source fix; production rollout is tracked separately in devantler-tech/platform#4510.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Fields

Priority

None yet

Effort

None yet

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions