feat(mcp): org-number-first onboarding: gnubok_lookup_company prefills the company from the registry (#1940)
The onboarding flow now mirrors the web wizard: ask for the organisationsnummer first, look the company up in the public registry (one TIC Lens call through the extracted extensions/general/tic/lib/lookup.ts, shared with the /lookup HTTP route), and present the facts for confirmation instead of interrogating the user. The new gnubok_lookup_company tool (companies:read, company-independent, default catalog) returns the registry facts, a prefilled suggested_create_company_input, and a still_to_ask list that encodes the same fact-vs-question rules as lib/onboarding-journey/reducer.ts: F-skatt is a fact both ways, VAT is a fact only when positively registered (ML 17 kap 24 paragraf), moms period and accounting method are always asked, an enskild firma's verksamhetsnamn is the user's choice, and a known fiscal year becomes a confirm question. Registry outages degrade to the full question list instead of failing onboarding. The onboarding skill and the plugin's /accounted:setup command are updated to the orgnr-first flow (plugin 1.2.0). tools/list ceiling bumped 61.2K to 61.5K with the reason documented in the bench. Co-authored-by: Jakob Wennberg <311770904+jakobwennberg-oss@users.noreply.github.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Jakob Wennberg
Claude Fable 5
parent
00e7ac92ae
commit
8ddc77fdfd
@@ -221,9 +221,14 @@ describe('tools/list payload size guard', () => {
|
||||
// tools/list, so catalogVisibility 'search' means discover-only there;
|
||||
// the onboarding flow dead-ended on client-side tool-not-found when
|
||||
// the skill pointed at them (SilverPark session, 2026-08-26).
|
||||
// * 61.2K to 61.5K with gnubok_lookup_company (org-number-first
|
||||
// onboarding): default-catalog for the same reason as the connect
|
||||
// tools; the onboarding skill's first instruction is to call it, and
|
||||
// a search-only tool is uncallable on Claude.ai. Descriptions were
|
||||
// trimmed first; the tool costs ~265 tokens against ~0 headroom.
|
||||
// Long-term answer to growth is leaning harder on gnubok_search_tools: if this
|
||||
// fires again, prefer trimming descriptions or making a tool opt-in via search
|
||||
// before bumping further.
|
||||
expect(approxTokens).toBeLessThan(61_200)
|
||||
expect(approxTokens).toBeLessThan(61_500)
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user