This release brings line-item pricing with seat types so you can bill clients for exactly what they use, fixes critical automation workflows that were looping or failing silently, and improves stability across the platform with hundreds of bug fixes and refinements.
The platform is more stable with hundreds of fixes to data handling, focus management, and error reporting across automations, billing, and vendor integrations.
feedback credits the shown source; trust moves inside guardrails with history
Alerts & routing and Workspace controls console, governance ops (U14)
apply-gate review mode β no automated refusal on a score
line-item pricing β HubSpot-style seats, discounts, quotes, billed through Stripe
data-model keys ratchet, 26 unused keys out, propertyNameKnown selects (C12)
bilingual job board and install page polish from visual review
HubSpot jobs app β link a portal to a workspace and render its job board anywhere
mark platform-only and read-only-mirror objects across the shared surfaces
reveals, prefill and every pipeline from the one consumption view
the review workbench, rebuilt to the approved design
wire the manual upload into the meetings hub β resumable recording, transcript, speaker map
a taken name is a refusal the user can fix, not a failure
copy names avoid slug collisions and cut by grapheme
duplicate, restore, plan cap, and no archiving the default
editor lives at settings/pipelines/<id> via the catch-all
list helpers and usage queries
localized copy names that fit the name limit, and list copy
per-workspace pipeline cap entitlement and three platform templates, closes Hi#volume
platform templates as flat cards with Use template
settings nav entry and the list/create/templates copy (en + es)
settings/pipelines is the list, not the default's editor
the inline new-pipeline form, opened by ?new=1
the list reads each pipeline's stage kinds, so rows can draw them
the pipelines list with row menus and the archived toggle
extract-linkedin runs on trace = attemptId; planned_chain, ledger flush, job_crashed
one ledger row per provider attempt; fail-open quota; bills-every-call accounting
planned_chain, subject_key and error_code vocabulary on prefill attempts
trace scopes at every prefill entry point; enqueue_failed; subject_key at insert; public-apply lookup limit; chat onboarding reads normalized_result
timers console subtotals + filters, editable work memos, contract-first timer, richer client entries
alert engine through real channels, 15-minute cron, spend-watch routing
alert tables, snapshot, ledger health and the one consumption view
cache board data across requests, invalidate on disconnect
bound the editor's per-stage counts like the list bounds its usage reads
createStage derives key and order from one read, not two
gate on the role the context already returned
reads take the client the caller already holds
a catalyst Table that scrolls sideways is a keyboard tab stop
declare the check level per route so client and server cannot disagree
name the D25 follow-up for census-only kind columns; record the P0b proof run
board rows link to the apply bridge when the career page is not launched
fit the embed snippets and localize three page titles
page header, empty state and translated disconnect errors
two tenant-domain links that dead-ended, and a guard for the class
signal the audit-action bound instead of capping silently; isolate pgTAP rollup fixture
U01 review β SQL/TS subject-key parity, free precheck/count, redacted breaker history, safe trace ids
deliver buffered lines where traced work ends; print untraced errors synchronously
let check-quota-meter-parity skip where its sibling skips
pin the vendor-platform migration set and narrow declared exceptions to their site
the subject-link invariant must not quote the RPC name
a caller's glyph size replaces size-full instead of losing to it
exempt the ChannelGlyph test fixture label from the i18n ratchet
clear the review flag on sign-off and the sign-off on re-analysis
persist Daniela's human-review flag and keep the AI score out of client workspaces
a short media duration no longer pushes later lines off the timeline
request the MP4 rendition when a manual upload stores a recording
uploaded recordings actually play β signed MP4 link, and the rendition is requested once Stream is ready
never report NOT PROTECTED when classic protection was unreadable
404 a pipelines settings URL we do not serve, and drop an inert segment config
a failed read is null, not an empty list, and usage reads are bounded
a failed usage count is logged and reported as unknown, not zero
archiveStage only moves candidates to a live stage of the same pipeline
archiving or restoring a row lands focus on the notice
checked rollbacks, refusal codes with copy, and an unknown count is not zero
count the jobs the default actually runs, and close three action seams
drop PageContainer from the editor, tighten the uuid matcher
free copy names, no double submits, focus kept, regions mounted
isolate the list page's streamed sections; give the list its own skeleton
slug the Unicode spaces Postgres folds, and never re-offer the source name
stop double-printing the pipeline name, hide the redundant create action
the create form's buttons are aria-disabled, like every other control
the platform's seeded ids are valid ids again
only displayed_source feedback is attributed credit
count rΓ©sumΓ©-only real runs as origins; never reuse a caller's temp table
narrow the readiness key check to registered vendor codes; type the waterfall money suite against the funnel's Settlement
demo applications name their candidate, so a fresh DB seeds cleanly
one candidate per talent per workspace in the demo client seed
ellipsize the sidebar search placeholder instead of cutting it mid-word
the whole create-task form is bilingual; one admin create flow
accept the spend-watch margin step's read-result shape
type the rule write and the alert test doubles so tsc passes on the integrated tree
vendor-failure prefill rate, stale-probe gate, phone scrub, inactive Piloterr key
P2 SQL polish β boolean breaker reset, per-source refund caps, key-only prefill backfill, keyed seed fixture
P2 TS polish β evidence-gated vendor alerts, admin-gated consumption, bounded inserts, one breaker read per request
feedback credits the shown source; trust moves inside guardrails with history
make Bright Data work and switch it back on
merge decides by agreement, guarded trust, then priority; prefill breaker
per-vendor attribution, attempt pointer and vendor-only is_verified in the graph persist
server-only reader for the cache-copy remediation log
your-data shows the linked record and where each detail came from (U16)
a refused graph persist is not persisted; say what the kill switch really does
Alerts & routing and Workspace controls console, governance ops (U14)
console read RPCs for lookups, lookup trace, payload viewer and coverage
console readers and core ops (U12)
LinkedIn prefill operations console + cache-copy review (U20)
lookup trace subject-link panel, unlinkSubjectOp, partial money marks (U16)
Lookups, Lookup trace, payload viewer and Coverage console screens (U13)
overview and vendor-detail read RPCs for the console (U12)
Overview, Vendors and Vendor detail screens, wired into the admin shell (U12)
Quality screen and inline learning settings (U15)
Retention screen with inline windows form, sweep log and erasure activity (U17)
carry the sourcing trace through the reveal and search actions (vendor-platform U06)
daily retention cron, retention settings and account-deletion vendor footprint (U17)
detect duplicate profiles and merge them in SQL
exact admin audit-action vocabulary and prefill feedback rollup in SQL
flag-gated subject link writer + prefill persist seam (U16)
link vendor calls to their raw record and negative-cache misses (vendor-platform U06)
read admin audit actions and trust feedback as SQL aggregates
rebuild talent sourcing β honest paid search, saved-graph answers, privacy fixes, legacy cleanup, docs
record every sourcing adapter call and cache reveal misses (vendor-platform U06)
record field-level provenance from the graph ingest
recordVendorCall ledger recorder, vocabulary, billing policy, redaction, subject key
routing everywhere, opt-in reveal waterfall, company funnel, unauthenticated breaker
structured trace-aware logger with URL and email redaction
subject link SQL β link_subject/unlink_subject + lookup_trace subject_link, capped payloads (U16)
the talent self record lists per-field provenance
trust history, feedback attribution columns and the vendor_quality read
vendor-call ledger, subject key, rollups and vendor state history (SQL)
vendor-platform invariants in check-enrichment-invariants + program-wide grants test
vendor-platform retention sweep and subject/user erasure in SQL (U17)
deterministic auto-reply and agent-loop guard (P0b.5)
person-level contactability union gates every agent send
talent agent ceilings in engine + DB, and a fail-closed platform spend ceiling
bound lookup_list's scan by the keyset cursor
20260928001500 replays on a fresh database
every ledger outcome lands in one overview bucket; index the batch reads
focus follows the batch panel; probe and overlap counts no longer hover-only
label alerts on deactivated vendors, stored routing order, real workspace overrides
land focus on the review stamp after Mark reviewed; show the whole-set active link count
lookup_list p_before defaults to NULL so the first page can omit it
make the alerts tabs rail items instead of a second tab strip under the shell rail
one missed rule for prefill outcomes; link_subject says whether it created the link
polish console readers β true refusal reasons, per-scope inactive alerts, unsupported not called, one subject-link audit per link
Quality and Prefill screens β accurate labels, announced status, focus order
stop console tables and stat bands from scrolling the page sideways
the window filter hugs its pills instead of stretching across the column
type the prefill review error fallback; catalog the vendor-data retention cron (253 registered)
audit fixes β screened provenance, negative cache on withheld contact, merge_history grants, one LinkedIn mask
make Merge ask first and keep merged subjects reachable
negative-cache clear needs all: true; no .in() on facets (vendor-platform U06)
spell the mask's Unicode classes as ASCII \u escapes
U10 review β abort a facet re-insert after a failed delete; isolate the self-view provenance read
agent-loop cap never counts the current reply; list-relayed opt-outs still suppress
egress veto, fenced reply history and forced approval on reply turns
explicit agent caps override the workspace daily default; spend gate is replay-safe
keep the stuck-run sweep off live approval waits, send the approved text
record HITL verdicts before waking the run, and recover lost approvals
reflected agent stamps escalate at once; per-reason unsigned warnings; worker header parity
spend-read failures never escalate; clamp notice reaches the kept talent agent
stop the experience range crushing its selects; align the filter rail and flatten the results region
apply-gate review mode β no automated refusal on a score
persist pending-review must-haves truthfully; lazy review-mode flag
line-item pricing β HubSpot-style seats, discounts, quotes, billed through Stripe
seat TYPES β sell more than one kind of seat, each with its own access and price
the customer's side of commercial billing
mount the seat block on the client team page too
repair a pgTAP assertion my signature widening silently broke
data-model keys ratchet, 26 unused keys out, propertyNameKnown selects (C12)
a real way out of a signup you did not mean to start
let a signed-in user submit the login form; the proxy no longer 307s server actions off /login
stop the business-profile card asking a client forever
what browser QA of the role exit turned up
render permissions from the database, not the workspace-role cookie
6 security hardening fixes