Repository navigation
Hint Odoo company_type, Etsy array tag refusals, weclapp customerNumber - #1569
Merged
Merged
Conversation
helpcodeai
enabled auto-merge (squash)
November 7, 2026 08:41
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Three tool errors from the Cloud check of 2026-11-07 (window 6 Nov 08:00 to 7 Nov 08:00 UTC) where our adapter text or error hint sent the model the wrong way:
company_type: Odoo saas-19.3 and later (20.0 included) no longer havecompany_typeonres.partner. 5 workspaces failed on read, search_read, create and write. Odoo 19.0 and older still have it (52 successful creates in 10 workspaces in 14 days), so nothing is blocked before the call. The create/write wordingInvalid field 'x' in 'model'and theKeyErroron write got no hint at all.etsy_create_listing_draftgets Etsy's refusal as a JSON array ([{"path":"/tags","type":"too_long","message":"cannot be more than 20 characters"}]), which the Name Etsy tags over the 20-character limit when Etsy refuses them #1553 hint did not match.customerNumber: sales orders and invoices have nocustomerNumber, also not as a filter (400 unknown property: customerNumber, 4 in 3 workspaces + 1 on invoices). The error hint already said so; the tool descriptions now say it before the first call.Same behaviour on Cloud and self-hosted. Description-only adapter changes are applied by the catalog auto-sync at boot; no "Apply update" needed.
Changes
error-hints.ts: new Odoocompany_typehint (is_companyinstead), the generic Odoo field hint also matchesin '<model>', the Etsy tag pattern also matches the array form.intl/odoo.json: field and value descriptions of read/search_read/create/write mentionis_companyfor saas-19.3+.de/weclapp.json:weclapp_list_sales_ordersandweclapp_list_invoicessay to look the customer up withweclapp_list_customersand filter oncustomerId.error-hints.spec.ts: tests for the three cases.Type
Testing
Commands and results:
node scripts/validate-adapters.mjs --warn→ 729 passed, 0 failed, 1440 warnings, none in odoo.json or weclapp.json (all existing).node scripts/regenerate-catalog.mjs→ no diff.node scripts/adapter-count.mjs --check→ OK (713).node scripts/generate-llms-txt.mjs --check→ passes.packages/backend:npx jest --maxWorkers=4 src/mcp-server/error-hints.spec.ts→ 58 passed. Adapter specs for odoo, weclapp and catalog → 9 suites passed;catalog-summary.spec.tscould not compile locally because my node_modules miss@types/picomatch(unrelated to this diff, CI has it).Checklist
npm test)Related Issues
Found in the daily Cloud tool-error review (2026-11-07).