Repository navigation
Conversation
… language, a switch a normal role can use New skills/learned-multilingual-app.md (ondemand, stages 3/5/6, mdl + review) and a LanguageSelector row in learned-mdl-cannot-express.md. Field run 2026-10-09 (Mendix 11.15.0, mxcli v0.25.0): translations correct, picker errored / blank / no-op with every gate green. System.User_Language is not grantable (mxcli check passes the grant, exec refuses it; Studio Pro does not offer the member), so the Marketplace LanguageSelector cannot work for a normal role; the recipe is a microflow on $currentUser + a reloading nanoflow + CSS on <html lang>. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Thanks @CarlesZ, this is a really useful learning. The routing row, the symptom table and the 4 × languages × roles check are all solid, and nothing leaks. Before merge, two text fixes, plus a few optional ones: 1. Please scope the "cannot be granted" claim (
2. Optional:
Impact (our new review block):
Push the two fixes to this branch and we'll merge. Generated by Claude Code |
…e System.User module-role probe, drop the retired STOP MendixMau#2 note - 'cannot be granted' -> 'on this project no grant route was found'; the System module's own rules (via the System.User module role) are named as the open question, with a DESCRIBE USER ROLE probe before replacing the widget (both roles here had System.User; the pick still failed). - STOP MendixMau#2 (settings writes) retired 2026-09-30: no stop-and-ask for alter settings. - en_US left out of the picker was this project's own filter [Code != 'en_US']. - CONV010 quoted from the rule text; mxcli's DefaultLanguageCode alternative named. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Thanks for the review — both fixes and the three optional ones are in
Optional: the Re-run locally: check-scripts, render-routing --check, check-no-client-data, check-pr-discipline — clean. |
CHANGELOG kept both sides, bin/gate-check.sh taken from master and re-rendered. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Source language is a Stage 3 design decision, so the architect stub gets the on-demand row. Routing re-rendered; baseline unchanged at 75225 words. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… language, a switch a normal role can use (from #387 by @CarlesZ) (#449) Lands #387 by @CarlesZ. Independent review: APPROVE. # PR 449 (lands #387 by @CarlesZ) review r1 (delta self-review) Verdict: APPROVE - Content identical to #387 head reviewed APPROVE in 387-w1.md; delta = merge from release/v1.0, routing re-render (--check in sync), CHANGELOG credit " — CarlesZ" and roles "architect, mdl + review". - Squash message scoped; no "not grantable"/"cannot be granted". - Leak guard, private citations, PR discipline clean.
|
Thank you @CarlesZ! Your multilingual app skill is now in the toolkit via #449, which landed on the release branch for the upcoming v1.0. We brought it in through our own branch so we could sync it with the latest changes and regenerate the routing tables, and your name is credited in the CHANGELOG and the commit. The architect, mdl and review agents now load it. Closing this one in favour of #449. Thanks a lot for writing it up. |
Closes #386.
Why. On a field build the translations were correct and the user still could not switch language: the picker errored, showed
no label and changed nothing, with every gate green. The causes are three model decisions nobody checks (source language, enabled
languages, the user's starting language) and one platform limit seen on one project (no grant route for
System.User_Languagewas found: mxcli refuses the grant, StudioPro does not offer the member), so the fix is a skill, not an instrument.
What.
skills/learned-multilingual-app.md(new): the failure table; §1 source language before the first caption; §2 what is nottranslated; §3 starting language; §4 why the Marketplace LanguageSelector fails for a normal role and the microflow + reload +
<html lang>switch that works; §5 login page; §6 per-language × per-role verification with a denominator. Each rule namesits probe (
describe settings,describe translations … K to go,document.documentElement.lang).skills/learned-mdl-cannot-express.md: LanguageSelector row (bin/lib/skill-routing.tsv: one row (ondemand,build, stages 3/5/6, architect + mdl + review);render-routing.shoutput for README,ROUTING, the three agent stubs and gate-check's stage map.
CHANGELOG.md: one line under Unreleased.Field proof. One run, 2026-10-09, Mendix 11.15.0, mxcli v0.25.0: the switch changes language for both roles, persists across
sign-in,
<html lang>follows it; demo-guide screenshots in both languages. Thecheckresult for the grant was re-measured on2026-10-14; the
execrefusal is quoted from the project's findings of 2026-10-09 (not re-run: the project routes exec throughexec.sh). The MDL examples pass
mxcli checkwith references resolved against the field project (module names substituted).Gates run locally. check-scripts, render-routing --check, check-portability, check-no-client-data, check-pr-discipline — all
clean. Fixtures: test-render-routing, test-routing-tier, test-stage-p, test-bug06-freshness, test-ritual-slim — all pass.
Update 2026-10-16. Merged origin/master (1ed7c99) into the branch, resolved the CHANGELOG (kept both sides) and
bin/gate-check.sh(taken from master, re-rendered), added the architect role to the routing row (source language is a Stage 3design decision), and regenerated the routing surfaces.
Impact
bin/lib/skill-routing.tsvand its re-render (README.md,ROUTING.md, agent stubs architect/mdl/review,bin/gate-check.shstage map);skills/learned-mdl-cannot-express.md(one row). Reads no artifact. Merges clean onto master 1ed7c99.bin/render-routing.sh --checkon master (d1cbd41) and on this head: baseline 75,225 → 75,225 words (budget 80,000). Stage 5 per role (lead 26,443, mdl 30,965, review 31,435) and Stage 3 (architect 24,779, mdl 6,924, review 6,924) are the same on base and head; the skill is on demand and costs 0 here.Squash message (use this when squash merging)
🤖 Generated with Claude Code