release: v1.15.3
Puts v1.15.3 on release, which is the branch production deploys from. Opened by the Release workflow.
Summary by cubic
Release v1.15.3: fixes URL param collisions in the app and makes enrichment status resilient to late/foreign task writes.
-
Old: the fields sheet used the query param "fields", which collided with table field filters; New: the fields sheet uses dedicated keys "manageFields" and "manageField", with a central
SEARCH_PARAMregistry; Side effect: deep links using "fields=" must be updated. -
Old: completed enrichment could later read as failed when a different task wrote status (or when a late run arrived); New: status writes are guarded so only owning tasks can change them, and
COMPLETEhandling respects task timing; Side effect: API methods report whether a new task was actually queued. -
API and app
AgentTriggerService.companyRequestedandcontactCreatednow return boolean (queued or already present).companies.research,companies.enrich, andcontacts.enrichreturnqueued: boolean. Clients must handlefalse(no-op) and only set PENDING on true; UI toasts updated accordingly.- Centralizes query keys in
apps/app/lib/search-param-keys.tsand applies them across the app to prevent collisions (record sheet, quick switcher, overview scope, list tables). Update any saved links: "…&fields=company" → "…&manageFields=company".
-
Agent and reliability
- Guards enrichment writes with ownership and timing checks; tasks like "company-profile" or "portrait" no longer flip company/contact status.
COMPLETEstampsenrichedAteven on rechecks and ignores stale completions when a newer request exists. - Brand task: domainless companies are SKIPPED only when a context dev key is set; keyless installs leave them PENDING for the next sweep.
- Guards enrichment writes with ownership and timing checks; tasks like "company-profile" or "portrait" no longer flip company/contact status.
-
Test infra
packages/db/scripts/test-db.tsrebuilds the test database if drift or foreign migrations are detected (or when run with--reset). Docs updated indocs/setup.md.