Core
Developer collaboration and guarded Agent drafts
Adds social sign-in, project roles and consent-based analytics; improves guarded form drafts.
Fixed
-
Korean report and invoice PDFs remain available when the same long-running worker switches tenants. Bundled font metrics use a stable shared cache; document temporary files remain tenant-scoped.
-
App navigation actions resolve to their published screens. Finance reports use distinct destinations, and the General Ledger overview opens the exact unfinished-work filters while closing analysis remains read-only.
-
Public authentication pages keep form control contexts separate from Shell draft execution, preserving the lightweight login bundle. Agent progress remains compatible with the supported TypeScript target.
-
Central Agent Settings exposes independent Jev screen-ranking and form-choice switches, key presence and billing readiness. Model roles link to these settings. Invalid screen judgments preserve lexical results without retry or provider substitution.
-
A follow-up after an interrupted tool batch sends an explicit unknown-outcome receipt to the model without replaying tools or changing the stored history.
-
Agent usage distinguishes charges requiring billing review from charges awaiting automatic settlement, so unavailable usage is no longer presented as processing indefinitely. Credit deductions and retained billing records are unchanged.
-
Invitation links open the public acceptance screen, reuse the invited person's stored identity, and let administrators reissue expired invitations without granting access to deactivated accounts.
-
Delegated Resource mutations recheck the current operation policy at the matching business endpoint. Disabling an operation also blocks a token issued before the change; ordinary human requests retain their existing authorization and validation.
-
Browser automation uses registered read/common draft actions. Generic DOM click, fill and key tools and legacy Canvas DOM filling are retired; unclassified screen callbacks are neither advertised nor executed. DOM observation remains available, and explicit saves use existing policy-checked server mutation tools. Shared hosts supply the read/draft effect without per-Resource Agent maps.
-
Changing a standard form’s scope revokes old draft commands without treating existing user edits as a fresh baseline; newly discovered commands cannot silently overwrite those edits.
-
Context menus opened over action menus receive pointer and keyboard input without closing the underlying menu, restore focus on dismissal, and adjust their position at viewport edges.
-
Sequential automatic UI requests receive distinct public interrupt identities, so a previous navigation result cannot resolve the next action's request.
-
Registered draft actions reject stale record or mismatched tab targets. In-flight duplicate browser actions join the original result; an unknown outcome does not authorize automatic replay.
-
Follow-up draft requests can revise confirmed Agent inputs without treating them as manual edits. Later user edits remain protected, including after an idempotent request; partial results and changed targets do not grant overwrite eligibility.
-
Forms can fence draft execution with the SDK's optional local
scopeKey. Changing tenant or selected creation owner invalidates retained handlers, in-flight completion and previous Agent draft ownership when the form supplies the corresponding key. -
Agent preparation JSON preserves empty and whitespace-bearing strings instead of changing typed action schemas and browser result values. Other request normalization and Agent payload-size limits remain unchanged.
-
Permission queries and Shell bootstrap reject malformed permission payloads before caching them as successful responses, preventing missing permission arrays from crashing the Agent bridge. Backend authorization is unchanged.
-
Stopping a conversation removes live tool indicators while preserving confirmed results and marking unreceived outcomes as unconfirmed.
-
Unavailable execution-capacity renewal is reported as failure instead of appearing to be a user cancellation; execution still stops without relaxing capacity checks.
-
Automatic screen responses reuse the unchanged user request's routing interpretation across resume tasks, avoiding redundant classification and mid-workflow lane drift. New requests and human answers reroute; current permissions and tool policy are still checked.
-
Cancelling an Agent question now ends the turn without another model or tool call, preventing the declined request from continuing work or consuming more credits.
-
Screen search includes the caller's authorized recent saved dashboards, so an explicit open request can select the saved dashboard instead of a similarly named App page.
-
Awaiting-input choices settle visually as soon as they are submitted, and the conversation composer no longer offers a second Stop action while the card owns cancellation.
Added
-
Added public privacy and service terms documents, explicit English/Korean editions and language switching, linked from the website and developer console.
-
Developer Console analytics uses a separate measurement stream and explicit consent. Page metadata uses route templates; account details, project names, identifiers, callback parameters and invitation tokens are excluded. Operators must configure
GOOGLE_ANALYTICS_DEVELOPER_MEASUREMENT_IDand keep enhanced measurement disabled for this stream. -
Google and GitHub sign-in for the Developer Console, including account creation, explicit account linking, and proof of the existing account before linking a first social sign-in. A social-only account retains at least one sign-in method.
-
Project settings with owner, administrator, developer, and viewer roles; email invitations, resend/cancellation, role changes, removal, and leaving a project. Member access governs CLI approvals and submissions. Sandbox members use distinct tenant actors, and loss of developer access blocks existing sandbox sessions.
-
Agent monitoring now has its own administrator menu and dashboard, separate from Agent usage. Tenant and period filters apply to six charts and request totals; the dashboard opens the matching request list and tenant-bound execution detail. All-tenant views explicitly identify unavailable tenants and do not average tenant percentiles into global latency.
-
Reuse unchanged runtime tool-policy projections after reading fresh App definitions and policy rows, scoped to tenant, actor and organization. Business authorization remains current.
-
Nested information forms derive field paths from existing parent, section and field keys. Stable repeated sections survive reordering; removed controls revoke commands, and sensitive parents suppress descendant discovery. A hierarchy picker inside an explicitly bound draft form can select eligible organization-chart nodes by existing IDs and reveal their ancestors without invoking move or save actions.
-
Bound standard forms can search remote choices through the picker’s existing authorized query. Results are bounded and discarded after cancellation, navigation, scope changes or form disablement. Selection remains a separate validated draft operation.
-
Registered draft actions can combine a resolved navigation target, form readiness, multi-field application and committed-state confirmation over the existing interrupt/resume channel. This does not save or submit the form.
-
Agent progress displays the actual stage or active tool outside the collapsed tool list, with a quiet-period notice that does not invent activity.
-
New-form composition accepts an explicit null Resource ID; it never matches a persisted record. Successful composition also returns the destination's registered action descriptors for follow-up work.
-
Registered draft descriptors include the mounted form's exact target identity, allowing a newly opened current-tab draft to request verified completion without guessing its Resource key.
-
Tab inspection can read registered choice labels in the request's language using existing catalogs, without changing the screen language or enum values. Apps opt in with schema label keys; unavailable catalogs fail the read.
-
An explicitly final draft, including a targeted current-tab follow-up, can finish without another model call only after its exact target and all requested fields are acknowledged as applied and unsaved. Failed, partial, unconfirmed and multi-tool outcomes keep the normal response path.
-
The Agent command menu includes
/report, which uses the existing standalone Report discovery, preview and confirmed-save workflow rather than composing a dashboard. -
Central administrators can look up a failed Agent task from Agent Usage using its tenant and user-facing reference code. Execution-capacity warnings include the same reference for log correlation.
-
Standard form drafts reuse published route identity, existing information schemas and public control writers; forms declare draft versus autosave effects without a second Agent field map. Site forms expose their existing text and fixed-choice controls through this contract.
-
Optional Jev boundaries cover screen ranking, request routing and eligible form choices independently from ordinary providers. They default off, retain the existing credit/usage accounting and do not silently substitute another provider when enabled.
-
Central Agent Usage adds logical-request diagnostics with actual model/tool counts, errors, retained stage timings and linked credit settlement. Browser DOM tools record server-observed park-to-resume time alongside typed screen tools; this is not browser CPU time.
-
Conflicting Jev read/navigation and write judgments request clarification before consuming form selections, even at high confidence. This does not enable Jev by default.
-
Composed forms can reuse the shared draft boundary through
NxFormSection.bindingand ordinaryNxFormField.fieldKeyidentities, without an Agent field registry. Schema forms keep their existing keys. Permission, pending, sensitive-field and stale-control guards apply to both.
Adoption notes
-
Guarded form drafts require People 0.5.5 and Sales 0.4.0-beta.5 for their corresponding App screens. These releases require Core 0.6.19 and React SDK 0.6.6; Expenses and Talent also adopt guarded draft compatibility. Other changed Apps receive scoped navigation and report fixes; exact versions are recorded in the committed Composer lock.
-
Core 0.6.19 adopts React SDK
@nexia/sdk0.6.6. Apps usinguseRegisterDraftActionrequire that SDK contract and the Core 0.6.19 host binding. The Laravel SDK remains at 0.6.4; unchanged Apps retain their existing releases. -
Verify pending automatic UI requests across the Gateway upgrade before rollout. Never replay an action whose outcome is unknown. Apply the tenant migrations for tool-result timestamps and bounded run observations, including pending preparation captures. No new browser service or RPC transport is introduced. Pending taskless captures must be linked or pruned before rolling back their nullable task reference.
-
Deploy compatible Gateway and Shell contracts together before using null-target creation,
finish_if_applied, or locale-aware tab inspection. Creation action metadata should publish its exactresource_key; action names are not Resource identifiers. Correlated server park-to-resume timing includes browser execution and checkpoint/transport wait, not pure network latency.
Upgrade required
- Run the central collaboration migration before serving the updated console. Existing projects retain their owner, and existing CLI approvals are attributed to that owner. Configure the
DEVELOPER_GOOGLE_*andDEVELOPER_GITHUB_*OAuth credentials and exact callback URLs to enable social sign-in; configure outgoing mail for invitations. Repository access/webhooks are not included.