Commit Graph

2671 Commits

Author SHA1 Message Date
Logan Johnson
8b4f9d6d3f test(desktop): disambiguate workflow step text fills and settle inspector geometry
The "Message text" label exists in both the outgoing trigger pane and the
newly added send-message step pane; during the inspector's 150ms
AnimatePresence mode="wait" exit the unscoped dialog.getByLabel resolves
to the single mounted trigger input, so the step fill overwrote the trigger
condition and left the step text empty. On the slow CI runner this corrupted
the saved definition: workflows.spec.ts then waited forever for the "Turn on"
activation dialog that a filtered trigger correctly suppresses, and
workflow-local-controls.spec.ts reopened on the YAML tab with no Trigger
node button. Scope the five step-intended fills to the step textarea id
(wf-step-<i>-text) so the fill waits for the intended pane to mount;
trigger-intended "Message text" bindings and all assertions stay unchanged.

The reopened-inspector geometry sampled operator boundingBoxes up to
~160ms into the 240ms inspector column entry animation (waitForAnimations
ran only after the comparisons). Settle with the shared waitForAnimations
boundary before sampling; geometry thresholds are untouched.

Trace evidence: CI run 34188379868, job 101941389576 — the step fill resolved
to wf-trigger-trigger_text-value during the exit window.

Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-08 02:22:43 -04:00
Logan Johnson
639a45055b test(desktop): exercise explicit switching between two named configurations
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-08 00:44:24 -04:00
Logan Johnson
600b7621cd test(db): trace one safe tuple from refused activity aggregate
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-08 00:09:13 -04:00
Logan Johnson
98f96356ca test(desktop): exercise lifecycle refusal through configuration catalog
Hold the inherited-oversized agent_discovery.rs at the desktop file-size
ratchet base by importing the storage module and qualifying its save
sites; no behavior, ceiling, or gate change, so the PR CI paths job
stops failing before any native lane starts.

desktop-stop.spec.ts still selected the retired "Destination Desktop"
combobox, so the smoke case timed out on the configuration-driven UI.
Drive the same observable refusal through the current contract: wait for
the eligible remote catalog entry, select the exact runtime
configuration, assert the destination Start refusal copy, and re-send
the identical signed request via Retry same request. Fixture requests
are identified by signed event id so launch accounting stays scoped to
the start action while status, catalog, and preflight actions share the
lifecycle IPC.

Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 22:55:01 -04:00
Logan Johnson
e0b2a37fd6 test(desktop): prove revocation at real prior-session teardown
Use the existing marker-observable test child with TERM readiness and successful revocation exit; reap the simulated previous-session child concurrently. Assert receipt ownership and revocation before cleanup, retaining local Start refusal and restore no-publish. Removing only the shared fresh admission reload makes this regression fail after actual revocation. No production credential authority changes.

Repair native evidence gates: cover runtime_configuration in the snapshot mutation table, compare physical shell PWD on macOS, and isolate synchronous login-shell probe counts from parallel callers with a counter regression. Apply native rustfmt to integrated F6. All 13 no-default credential cases, full native workspace, clippy -D warnings and nested fmt pass.

Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 22:34:46 -04:00
Logan Johnson
ef10f1882d fix(desktop): make lifecycle persistence credential neutral
Read current credentials without migration, reserve new-key writes for explicit mint/import, and merge lifecycle bookkeeping into raw storage. Revalidate named launch credentials at the shared post-teardown spawn boundary. Bind production credential revocation regressions through ordinary Stop, local Start, bulk and restore, preserving destination provisioning and inline fallback.

Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 22:34:35 -04:00
Logan Johnson
61943e15ec fix(desktop): clear native clippy gate and fresh retention scope init
Repair every clippy 1.95 -D warnings failure from CI run 34155454680
(Desktop Core 101846514710) without weakening a check: the test env lock
becomes a tokio Mutex (buzz-db POOL_METRICS_TEST_LOCK convention) so async
tests hold the same single lock domain across await via
lock_path_mutex_async while sync tests keep blocking_lock; the dead
spawn_agent_child wrapper is removed and test-only helpers are cfg(test)
gated with ownership notes; mesh-feature-used relay_mesh_model_id carries
a justified cfg_attr; identical placement branches merge; restore test
module moves after the last item; mechanical bool/borrow/slice fixes; two
documented ABI argument-count allows at the launch-inputs passthrough and
the Tauri invoke contract.

local_host opened the scoped retention db without ensuring the
agents/retention parent that active_retention_scope only creates lazily
at retention time, panicking every remote_credentials fixture before its
assertions and any first lifecycle message preceding retention on a fresh
install. Mirror remote_stop::connection's on-demand parent ensure with
the same contextual directory error.

All seven remote_credentials fixtures execute and pass on the authorized
no-default lane; workspace clippy -D warnings and rustfmt pass locally.

Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 16:22:12 -04:00
Logan Johnson
1c4428cb82 fix(desktop): restore captured session policy command writer
Post-policy CI found the shared launcher calls the pure captured-policy helper removed with the obsolete live-app wrapper. Restore only the command writer; keep captured preflight authority and no live state reads. Cover both policies overriding inherited environment.

Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 15:16:49 -04:00
Logan Johnson
007035a09f test(ci): execute remote credential fixtures on integrated native candidate
Keep existing full native tests and add the Unix no-default-features fixture invocation to the Linux desktop job. Initialize the main-only idle ACP fixture with non-strict model policy while preserving its hold-decision regression.

Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 15:06:31 -04:00
Logan Johnson
b8d72f55da fix(desktop): use destination-local credentials for remote launch
Route signed lifecycle requests through ordinary async preflight and shared captured launch admission. Require an already provisioned matching local agent key, revalidate after awaits and teardown, and retain independent Stop.

Persist named launch lifecycle metadata without migrating or restoring captured credentials. Add isolated signed receiver and actual teardown regressions for revoked keys, missing executables, request expiry, and fresh same-host Start.

Native fixtures require Unix --no-default-features and remain unexecuted locally; dependency-complete CI owns compilation and runtime validation.

Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 12:59:36 -04:00
Logan Johnson
12f75703b7 test(desktop): preserve host binding before moving configuration fixture
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 12:59:36 -04:00
Logan Johnson
6cb9d2f0ca fix(desktop): repair native configuration integration compilation
Carry the identical producer-owned compiler repair without rewriting the published validation head. Preserve capture, preflight and admission semantics. CI run34144148717 diagnosed these errors; native validation follows on the successor head.

Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 12:59:36 -04:00
Logan Johnson
a7d1357c84 fix(desktop): integrate lifecycle with captured launch admission
Use producer preflight authority and shared captured Start/Restart admission. Capture the existing explicit Start Stop fence and runtime generation before await; keep probes and Restart without resume authority and preserve Failed after destructive Stop. Broker remains provisioning-unavailable. Native compilation remains gated on CI-only draft authorization; local formatting and integrated frontend checks pass.

Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 12:59:36 -04:00
Logan Johnson
a35d9497cd test(desktop): fence expired readiness after confirmed source Stop
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 12:59:36 -04:00
Logan Johnson
feb900a1c4 test(core): exercise malformed lifecycle observations through encrypted reader
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 12:59:36 -04:00
Logan Johnson
3357948600 feat(desktop): bind lifecycle switching to exact runtime configurations
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 12:59:36 -04:00
Logan Johnson
651cb1ba26 fix(desktop): retire lifecycle continuations when controls are canceled
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 12:59:36 -04:00
Logan Johnson
ee6395b94e refactor(desktop): satisfy runtime integration file-size ratchet
Move the existing descriptor resolver and discovery record fixture into sibling modules without changing their behavior or dropping cases. The required CI changes job rejects their producer-added growth in inherited oversized files; no policy limits or allowlists changed. Native fmt and actual size ratchet pass; native compilation is still awaiting CI-only draft authorization.

Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 12:59:36 -04:00
Logan Johnson
eb109b8a19 fix(desktop): require captured preflight authority for runtime launches
Recover shared Default/named launch capture; cover direct pair Start/Restart, bulk and restore with locked same-plan admission. Classify mesh recovery by running pair snapshots. Route UI Restart through native admission while preserving old-turn cleanup. Native orchestration regressions remain a dependency-complete CI gate; frontend6295 and bounded exact-source policy checks pass. Local checkpoint only; no publication or remote broker-policy change.

Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 12:59:36 -04:00
Logan Johnson
7da7c39e64 fix(desktop): bind prepared launch inputs and enforce selected ACP model
Integrate ACP strict model verification with the named native caller. Bind app session inputs, require declared named MCP tools, and fence Default selection and restore preflight. Local checkpoint: native compilation and async workflow validation remain pending dependency-complete CI; no publication approval assumed.

Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 12:59:36 -04:00
Logan Johnson
4ae32aa588 feat(desktop): checkpoint scoped runtime configuration launches
Local integration checkpoint; native compilation and strict ACP model enforcement remain validation gates. Scope and async prepared-launch APIs are stable for lifecycle integration; not publication-ready.

Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 12:59:36 -04:00
Logan Johnson
546f5ec16a fix(desktop): preserve runtime community authority and refuse lossy receipts
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 12:59:36 -04:00
Logan Johnson
ef58314dd5 fix(desktop): do not retry terminal receiver initialization
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 12:59:36 -04:00
Logan Johnson
6bea46f78c fix(desktop): bound lifecycle receiver recovery without command replay
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 12:59:36 -04:00
Logan Johnson
18258f91d5 fix(desktop): observe receiver closure after subscription readiness
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 12:59:36 -04:00
Logan Johnson
a7d32b96c7 fix(desktop): diagnose and explicitly recover lifecycle receivers
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 12:59:36 -04:00
Logan Johnson
cbb4091ef3 fix(desktop): preserve launch community separately from runtime aliases
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 12:59:36 -04:00
Logan Johnson
943b62af7a fix(desktop): keep lifecycle receiver failures out of shell layout
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 12:59:36 -04:00
Logan Johnson
7d00439d05 test(multiverse): scope Stop row and exercise mounted launch refusal
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 12:59:36 -04:00
Logan Johnson
c6f3e3eb2f fix(multiverse): retain superseded Stop outcomes for exact retry
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 12:59:36 -04:00
Logan Johnson
def4f23776 feat(desktop): mount Start Restart and Move controls
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 12:59:36 -04:00
Logan Johnson
8b26bb20b5 feat(desktop): coordinate failure-final Move and exact lifecycle retry
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 12:59:36 -04:00
Logan Johnson
30ce5b95f3 fix(multiverse): introduce provisioning stub with its receiver
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 12:59:36 -04:00
Logan Johnson
a52c0537fc feat(desktop): receive authenticated Start and current-host Restart
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 12:59:36 -04:00
Logan Johnson
faee0cacea fix(multiverse): defer provisioning stub until receiver slice
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 12:59:36 -04:00
Logan Johnson
0f2eb99fee feat(desktop): introduce destination-local keyless launch boundary
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 12:59:36 -04:00
Logan Johnson
b85c53293f feat(desktop): persist ordered placement and lifecycle admission
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 12:59:36 -04:00
Logan Johnson
83a2df13cf feat(multiverse): add private immutable lifecycle transport
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 12:59:36 -04:00
Logan Johnson
c6be5382f1 test(multiverse): exercise mounted Stop recovery and private fanout in CI
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 12:59:36 -04:00
Logan Johnson
20436c81f2 feat(desktop): mount private remote Stop controls and live receiver
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 12:59:36 -04:00
Logan Johnson
17e08d7465 feat(desktop): add scope-bound Stop client and exact-request retry
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 12:59:36 -04:00
Logan Johnson
18a0d17070 feat(desktop): authenticate and durably consume remote Stop
Bind owner delegation, installation, agent and community before ordinary Stop. Persist admission before effects and retain exact signed outcomes for retries across reopening and bounded eviction.

Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 12:59:36 -04:00
Logan Johnson
a5b36742cd feat(desktop): fence automatic launches after remote Stop
Bind explicit Start permission before preflight and release it only after child registration. Reuse ordinary platform-specific pair Stop and refuse success for an unscoped live legacy child.

Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 12:59:36 -04:00
Logan Johnson
d67471c60e feat(multiverse): add private immutable Desktop Stop transport
Keep exact-request retry owner/community private without repeating relay side effects. Exclude request/result ciphertext from search on fresh and upgraded databases.

Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 12:59:36 -04:00
Logan Johnson
09282c7283 fix(desktop): defer capability changes until real time advances
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 12:59:36 -04:00
Logan Johnson
0fdf436105 feat(desktop): report private per-Desktop runtime capabilities
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 12:59:36 -04:00
Logan Johnson
23e8f850c0 fix(desktop): fence delayed pulses and order host observations
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 12:59:36 -04:00
Logan Johnson
e5812f053b feat(desktop): show private per-Desktop last-heard observations
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 12:59:35 -04:00
Logan Johnson
271fefd629 test(desktop): match unsigned relay ingest drift constant
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 12:59:35 -04:00
Logan Johnson
ff5b04ff10 fix(relay): admit delayed immutable Desktop profiles
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-07 12:59:35 -04:00