Skip to content

[any order] Resolve the report language from the request, not from the seller - #37

Open
fiharet34 wants to merge 1 commit into
joomcode:mainfrom
fiharet34:fix/language-follows-the-request
Open

fiharet34 wants to merge 1 commit into
joomcode:mainfrom
fiharet34:fix/language-follows-the-request

Conversation

@fiharet34

Copy link
Copy Markdown
Contributor

Every skill said to respond in the seller's language, defaulting to pt-BR. In any deployment where the assistant works for a Brazilian store, that phrase resolves to the store — so a seller writing in English received the entire report in Portuguese: headers, row values, disclaimer, everything, while the assistant's own surrounding prose stayed English. It reads as a bug, and it is the first thing a non-Portuguese user hits.

Three layers, because the first fix alone was not enough in testing:

1. Name the request. "Respond in the seller's language" becomes "respond in the language of the seller's request", plus an explicit never infer the language from the store, its listings or the marketplace — those are Brazilian whatever language the seller writes in. That is the root cause; the rest is reinforcement.

2. Say the pt-BR templates are patterns. Most skills carry their report template with Portuguese headers and row values, which read as literal strings to copy. Each affected skill now states they are a template to translate — headers, row values like sim / não / ouro, and the disclaimer — while keeping the structure, the emoji, and R$ formatting, which stays the same in every language because the marketplace trades in reais.

3. Make it checkable. "When the request is in English, no Portuguese is left anywhere in the answer." In testing, descriptive guidance ("respond in their language") was followed inconsistently; a checkable statement the model can verify against its own output was not.

Verified against the live connector: the same question that previously returned a fully Portuguese report returned a fully English one, repeatably.

Reviewing this: it is 18 files but one change repeated. Read pulse-find-exact-same-product — the smallest slice, essentially one line — then scan the rest for the same shape. seller-copilot is included; it had received only half the rule.

No behaviour changes for a seller writing in Portuguese, which remains the default.

Every skill said to respond in "the seller's language", defaulting to pt-BR.
Where the assistant works for a Brazilian store, that phrase resolves to the
store: a seller writing in English received the whole report in Portuguese —
headers, row values, disclaimer — while the surrounding prose stayed English.

Three layers, because naming the request alone was not enough in testing:

1. Name the request. "the seller's language" becomes "the language of the
   seller's request", with an explicit note never to infer the language from
   the store, its listings or the marketplace, which are Brazilian whatever
   language the seller writes in.

2. Say the pt-BR templates are patterns. Each report template now states that
   its headers, row values (sim / não / ouro) and disclaimer are to be
   translated, keeping the structure, the emoji and the R$ formatting, which
   is the same in every language because the marketplace trades in reais.

3. Make it checkable: when the request is in English, no Portuguese is left
   anywhere in the answer. Descriptive guidance was followed inconsistently;
   a statement the model can check against its own output was not.

Verified against the live connector: a question that previously returned a
fully Portuguese report returned a fully English one, repeatably. No change
for a seller writing in Portuguese, which remains the default.
@fiharet34
fiharet34 force-pushed the fix/language-follows-the-request branch from 0b5f02d to 3a06f62 Compare September 11, 2026 11:05
fiharet34 pushed a commit to fiharet34/joompulse-skills that referenced this pull request Sep 14, 2026
- top-sellers-in-category: every seller ranked is a row of one markdown
  table -- never a numbered list, never leaders-in-table with the rest in
  prose, because the user saves this table and pastes it back next period.
  The Vendedor name is plain text: sellers have no JoomPulse dashboard
  page, so a URL built from a shopId 404s. Also restores PR joomcode#37's language
  wording, which the local merge of joomcode#35 resolved away.

- seller-overview-tracker: the monthly sales trend is the change in
  JoomPulse's estimated sales, not real Mercado Livre data, so it carries
  the estimate caveat and never appears among the real figures. No seller
  link, for the same reason as above.

- top-brand-position-tracker: a category has no JoomPulse page either, so
  the table carries no category link.

Not pushed, and no PR for the table-shape rule: joomcode#35 rewrites the same
region of that file, so a PR now would mean resolving the same conflict
twice.
@fiharet34
fiharet34 marked this pull request as ready for review September 14, 2026 12:58
@fiharet34 fiharet34 changed the title Resolve the report language from the request, not from the seller [any order] Resolve the report language from the request, not from the seller Sep 15, 2026
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