* feat(parties): the register fills the row, Företagsuppgifter shrinks to what only the register knows, and agents get the party
Founder feedback on the first Företagsuppgifter (2026-09-05): the org
number twice, the VAT number twice, the legal name repeating the
heading, and Kontaktuppgifter showing dashes while the block above had
the phone, e-mail and address from SCB.
- After a fetch the register's contact details land on the supplier and
customer rows that point at the party: an empty field, or one still
carrying what the register said last time, takes the new value; a
value a person typed stays. Shown as "från SCB" on the row (by
equality with the registry fact, no source column).
- Företagsuppgifter becomes one status line (legal form, active or not,
registrations, a Bolagsverket warning when there is one), industry,
seat with registration date, and size. Identity stays in the header
(org number now formatted) and Kontaktuppgifter. The legal name shows
only when it differs from the row's name.
- lib/parties/registry-summary.ts reads the coded SCB facts once for the
page, the v1 API and MCP; lib/parties/party-api.ts is the agent shape.
- v1: party_id on supplier and customer list rows and detail;
?expand=party on detail embeds identity, the register summary, what
the ledger has seen and payment identities. MCP: party_id on
gnubok_list_suppliers/customers rows and gnubok_get_party (by party,
supplier or customer id). Read-only; the parties resource follows.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
* chore(parties): regenerate the API skill for the party expansion; tighten the get_party description
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
* chore(mcp): gnubok_get_party is search-only, keeping tools/list under its byte budget
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
---------
Co-authored-by: Jakob Wennberg <311770904+jakobwennberg-oss@users.noreply.github.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
Founder test on a real company (2026-09-05): a supplier created from
"Webhallen Oktober · Dataskärmar till kontoret" kept that text as its
name, and the SCB facts fetched for the party were nowhere on the
supplier page.
- Företagsuppgifter on /suppliers/[id] and /customers/[id]: legal name,
org number, VAT number, country, then the SCB facts under one source
line, with "Hämta uppgifter" or "Hitta i företagsregistret" as the one
action. The registry helpers move out of the dossier into
RegistryFacts so the three surfaces share them.
- The enrich route makes the registry's legal name the displayed name
of the party and of supplier and customer rows that still carry the
party's old name; all-capitals names are set in title case
(lib/parties/registry-name.ts). Names a person set stay.
- legacyLedgerKey: a party confirmed under the pre-2026-09-04 key keeps
its vouchers, so a rebuild attaches the new key instead of offering
the same company again.
- GET /api/parties/[id] reports whether SCB is configured.
Co-authored-by: Jakob Wennberg <311770904+jakobwennberg-oss@users.noreply.github.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>