Preserve language and direction for declarative tool descriptions
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 38/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- html
- Domain
- internationalization
Research direction
Read declarative-api-explainer.md around the tooldescription and toolparamdescription definitions, then inspect index.bs around the schema-synthesis TODO and the related issues #153, #210, and #273. Decide how authors express language and direction, preserve that metadata in synthesized descriptions, and specify how localized alternatives are handled or deferred.
Written by the indexing model from the issue text.
Description
Summary
The declarative API explainer places natural-language tool metadata in the
tooldescription and toolparamdescription HTML attributes, then turns those values into a tool
description and JSON Schema property descriptions. The current proposal does not define how the
language or base direction of those strings is determined or preserved during that conversion.
This is the declarative-markup part of #153, identified while reviewing the checklist in #273.
Current text
tooldescriptionis analogous toModelContextTool.description.toolparamdescriptionbecomes a JSON Schemadescription.- The normative schema-synthesis algorithm is still a TODO, so this can still be resolved before the markup is fixed in place.
Internationalization concern
W3C's Internationalization Best Practices for Spec Developers says that:
- the language and string direction must be determinable for every natural-language string field;
- natural-language text in attribute values should be avoided;
- if user-readable text is defined in attributes, language and direction information must be available separately.
The current explainer does not say:
- whether these new attributes are translatable;
- whether their values use the form control's inherited HTML
langanddir/autocontext; or - how that context is carried into the synthesized tool definition and JSON Schema instead of
being reduced to an unlabelled string.
This matters even when a description is primarily agent-facing: property descriptions and other
schema annotations may be surfaced in confirmation or native UI, and the tool title is explicitly
defined for user interfaces.
Resolution criteria
Before defining the declarative synthesis algorithm in #210, decide whether to:
- represent descriptions as element content (allowing ordinary HTML
lang,dir, and inline
markup), or - keep attributes but normatively define their translation, language, and direction behavior and
preserve that metadata in the synthesized representation.
The solution should also state how authors provide localized alternatives, or explicitly defer that
part to the resolution of #153.
Maintainers: please apply the i18n-tracker label so the Internationalization WG is notified, as
requested by #273. I cannot apply repository labels with my current permissions.
- Dominant language
- Bikeshed
- Stars
- 4.7k
- Forks
- 328
- Avg merge
- 2d 15h
- Merged PRs (30d)
- 16
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from webmachinelearning/webmcp
-
Difficulty 1/5 1-3 hours Newbie friendliness 72/100
webmachinelearning/webmcp#360 ·
Maintainers usually reply within 1 day
-
Say how an agent should weigh annotations that the page wrote about itselfPossibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
webmachinelearning/webmcp#353 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 67/100
webmachinelearning/webmcp#343 · 1 reaction ·
Maintainers usually reply within 1 day
-
Agenda+ i18n-tracker
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
webmachinelearning/webmcp#273 · 3 comments ·
Maintainers usually reply within 1 day
-
a11y-tracker Agenda+
Difficulty 2/5 1-3 hours Newbie friendliness 67/100
webmachinelearning/webmcp#272 · 4 comments · 2 reactions ·
Maintainers usually reply within 1 day
All issues in webmachinelearning/webmcp
Similar issues
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Maintainers usually reply within 1 day
-
accessibility bug low-priority mobile
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
lognorman20/monaco#6182 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
rlaope/oh-my-hermes#2193 ·
Maintainers usually reply within 1 day
-
sync-en
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 1 day
-
[Sync EN] Document Error thrown by shm_* functions on a detached segment (#5975)Possibly taken A pull request linked to this issue is open or already merged. Opensync-en
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 3 days