Current validation localization checkpoint — 20 September 2026
Exact merged heads: WebScene a46b62e14eb197603f7e227c1558afb9088633b0; AppScene 97702daeb9ad71341ced7226f0aa966dc77ea53c; unchanged Code OSS 645f29cc3176500b4b5762ba887cf2a7f0ffdf2c; local vscode-demo e4b98e5470cd7856aff3dfd6843c8e125d7db933 (clean, intentionally unpushed). Open consolidations remain WebScene #76 085bba760fa571c8f08ea866dc5dd1ec27c4d376, AppScene #65 ce66ef6ceb776b3f14e129f853bfc08b5c5e608c, and vscode-demo #1; do not merge them. One-agent mode is active.
The size-versioned localization callback/catalog, bounded arguments and output, English fallback, callback lifetime/error behavior, native and managed bindings, AppScene host wiring and Flutter follow-up are merged through the recorded focused stack. No #719 implementation branch is active.
Keep this issue open for physical host localization, accessibility parity, package/RID and unchanged-product acceptance. Those gates are deferred; no new result is claimed.
Parent: #710
Form-state owner: #257
Release epic: #227
Scope
- Add a size-versioned engine-options callback/catalog contract that maps stable validation reason IDs and bounded substitution arguments to UTF-8 messages.
- Keep an English fallback when no host formatter is supplied or output is invalid/oversized.
- Bind the option through native SDK, managed/Avalonia/Uno, Flutter, packaging examples, and AppScene host configuration without exposing platform objects to WebScene.
- Enforce callback lifetime, thread ownership, 1 KiB output, reentrancy, exception/failure, and teardown behavior.
- Preserve custom validity strings exactly and keep semantic/visual messages identical.
No Code OSS changes, browser dependency, per-frame callbacks, or secret values. Diff-check-only implementation may merge; localization/package/cross-platform gates remain deferred.
Current validation localization checkpoint — 20 September 2026
Exact merged heads: WebScene
a46b62e14eb197603f7e227c1558afb9088633b0; AppScene97702daeb9ad71341ced7226f0aa966dc77ea53c; unchanged Code OSS645f29cc3176500b4b5762ba887cf2a7f0ffdf2c; local vscode-demoe4b98e5470cd7856aff3dfd6843c8e125d7db933(clean, intentionally unpushed). Open consolidations remain WebScene #76085bba760fa571c8f08ea866dc5dd1ec27c4d376, AppScene #65ce66ef6ceb776b3f14e129f853bfc08b5c5e608c, and vscode-demo #1; do not merge them. One-agent mode is active.The size-versioned localization callback/catalog, bounded arguments and output, English fallback, callback lifetime/error behavior, native and managed bindings, AppScene host wiring and Flutter follow-up are merged through the recorded focused stack. No #719 implementation branch is active.
Keep this issue open for physical host localization, accessibility parity, package/RID and unchanged-product acceptance. Those gates are deferred; no new result is claimed.
Parent: #710
Form-state owner: #257
Release epic: #227
Scope
No Code OSS changes, browser dependency, per-frame callbacks, or secret values. Diff-check-only implementation may merge; localization/package/cross-platform gates remain deferred.