* chore: translate TIC enrichment errors into actionable hints
Adds self-diagnosing log output for known TIC failure shapes:
- 'Session not completed' → tenant doesn't have enrichment enabled
(the BankID consent-to-enrich dialog only fires when SPAR/CompanyRoles
are configured on the tenant; without it, TIC rejects enrichment
requests with this misleadingly-worded error)
- 'not enabled' variants → explicit tenant disable
- 'too old' → >30min between auth and enrichment request
No behaviour change — purely diagnostic. Saves a future developer from
re-discovering that "Session not completed" means "contact support@tic.io"
rather than "retry the session."
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* fix: stop requesting disabled 'SPAR' enrichment type
Root cause of the 'Session not completed' failures: TIC renamed 'SPAR'
to 'Address' and our tenant has Address *disabled* (only CompanyRoles is
on — verified via GET /api/v1/enrichment/types). Requesting an unknown
or disabled type causes TIC to reject the whole enrichment with a
misleading 'Session not completed' error rather than ignoring the unknown
type or returning PartiallyCompleted.
- Enrichment request now asks only for ['CompanyRoles'], which is what
the /select-company picker actually needs. This is enough to stop the
'Session not completed' errors and make the picker work in prod.
- If Address is enabled on TIC later, add it to the array (and wire up
the address pre-fill paths in WelcomeOnboarding + createCompanyFromTicRole
— both already look for a `.spar` field that TIC may have renamed).
- Updated the diagnostic hint for 'Session not completed' to lead with
the type-mismatch cause and point at the /enrichment/types curl for
verification, since that's the first thing to check.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* chore: clean up stale SPAR references in tic extension (PR review)
Greptile P2 nits — all cosmetic, no runtime impact:
- fetchAndStoreEnrichment JSDoc updated from "SPAR + CompanyRoles" to
just CompanyRoles, with a note about where to add Address back if/when
it's enabled on the tenant.
- hasSpar log field removed from the 'enrichment data shape' snapshot.
enrichmentData.spar was permanently undefined after the SPAR → nothing
swap; logging a constantly-false field would have misled a future
developer chasing missing address data.
- Inline comment on the signup-path call to fetchAndStoreEnrichment now
matches the login-path comment (CompanyRoles, not SPAR + CompanyRoles).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>