Skip to content

Cloud: report repository copy progress and duration - #30517

Merged
teamleaderleo merged 31 commits into
feat-cmux-nextfrom
lane/cloud-startup-producer
Nov 1, 2026
Merged

teamleaderleo merged 31 commits into
feat-cmux-nextfrom
lane/cloud-startup-producer

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Nov 1, 2026 •

Copy link
Copy Markdown
Collaborator

Cloud startup now reports repository-copy state and duration on the clone row. The Rust start-chat copy answer emits seed_state, seed_phase, seed_started_at and seed_finished_at on successful, cached and failed copies; Swift forwards them into clone.startedAt/finishedAt before handling a failure. Copying no longer claims to measure machine boot or harness startup.

Follow-up to #30386. Leo asked: “and if i click the < it takes me to environment setup / which is the same as where the cog takes me”. Existing callback behavior stays covered; checklist tests now cover collapsed rendering, elapsed duration, the setup action and the forwarded copy timing shape. Cached copy detail uses the existing localized string.

Validation at 4211953: app compile passed (104 s); targeted Cargo start_chat_cli tests passed 34/34 (run); CloudStartView/cloudStartProgress Bun tests passed 17/17 (run). Both ran remotely through cmux-ci. The base merge preserves the existing resume-and-lease copy operation; timing wraps its result, including early returns. Rust formatting and git diff --check pass. Machine/harness lifecycle timestamp sources and an interaction test for re-expansion are tracked in #30577.

Agent session: agent session

Re-land note: #30792 reverted #30386 while CmuxNextApp grew. This PR keeps only the four emitted seed_* clone fields in CmuxNextApp; environment, copy-progress, and machine/harness timing fields remain in the follow-up producer work.

…roducer

# Conflicts:
#	webviews/src/agent-session/acpmux/CloudStartView.test.tsx
@blacksmith-sh

blacksmith-sh Bot commented Nov 1, 2026 •

Copy link
Copy Markdown

Found 12 test failures on Blacksmith runners:

Failures

Test View Logs
/tmp/tmpv9xyct4i/summary-fail.json (live):/summary-fail.json (live): View Logs
/tmp/tmpzwedac2t/summary-missing.json (live):/summary-missing.json (live): View Logs
[new_workspaces] debug.new_workspace timed 0 of 50 new workspace rows/
[new_workspaces] debug.new_workspace timed 0 of 50 new workspace rows
View Logs
[new_workspaces] the window draws no frames/[new_workspaces] the window draws no frames View Logs
[tabs] debug.tab_switch timed 0 of 40 switches/
[tabs] debug.tab_switch timed 0 of 40 switches
View Logs
[tabs] the window draws no frames/[tabs] the window draws no frames View Logs
convention violations found (ERROR lines above)./
convention violations found (ERROR lines above).
View Logs
test_the_repository_highlights_validate (main.DigestTests.test_the_repository_highl
ights_validate)/
test_the_repository_highlights_validate (main.DigestTests.test_the_repository_highl
ights_validate)
View Logs
test_the_workflow_runs_for_every_included_file_outside_cmux_tui (main.Scope.test_th
e_workflow_runs_for_every_included_file_outside_cmux_tui) (event='pull_request', path='
schemas/link-token/native.json')
View Logs
test_the_workflow_runs_for_every_included_file_outside_cmux_tui (main.Scope.test_th
e_workflow_runs_for_every_included_file_outside_cmux_tui) (event='pull_request', path='
schemas/link-token/vectors.json')
View Logs

...and 2 more test failures. View all on Blacksmith

Fix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (subagent claude-opus-5-5 medium, carried): SHIP at 8063ab4

Carried from the SHIP at 0bcab80. The PR's changed lines against base differ by one test line, start_chat_cli/tests.rs: the copy.run push closure returns Ok(json!({})) instead of Ok(()), matching base's new push signature that returns serde_json::Value. json! is already imported there.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (subagent claude-opus-5-5 medium, carried): SHIP at 1464bac

Carried from the SHIP at 8063ab4. Against base, the PR's changed lines differ by one added line: #[allow(clippy::arithmetic_side_effects, reason = "epoch milliseconds conversion")] on now_millis() in start_chat_cli.rs. That function's only arithmetic is as_secs_f64() * 1_000.0, an f64 multiply that can't panic or overflow, so a scoped allow with a reason is right.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (subagent claude-opus-5-5 medium, carried): SHIP at 96de160

Carried from the SHIP at 1464bac. The delta replaces the three answer[...] index reads in StartCopy::run's clone progress with get(..).and_then(Value::as_bool|as_str), which clears the PR's own three indexing_slicing hits. The behaviour is unchanged: answer["ok"] == json!(true) holds exactly when get("ok").and_then(Value::as_bool) == Some(true), and the same is true for copied == false and error_code == "ledger_failed". Nothing else changes.

@teamleaderleo
teamleaderleo merged commit a0d5e17 into feat-cmux-next Nov 1, 2026
283 of 292 checks passed
@teamleaderleo
teamleaderleo deleted the lane/cloud-startup-producer branch November 1, 2026 15:12
@cmux-bot cmux-bot Bot removed the stack-blocker label Nov 1, 2026
teamleaderleo added a commit that referenced this pull request Nov 1, 2026
cmux-bot Bot added a commit that referenced this pull request Nov 1, 2026
…hine (#31106)

* Cloud start: a copy of a folder this Mac trusts is trusted on the machine

A send to Cloud from a folder the person trusts opened its copy on the machine
behind "Trust the cloud-proof repo?", and the first message never went
(capture at ff3f8c9, 2026-11-01).

`cmux link start-chat copy --acpmux-home H` now answers `source_trusted`: this
Mac's acpmux reads the chat's folder trusted (acp.trust.get's level). The App
then records `trusted` for the copy on the person's own Cloud machine
(agent-session-trust, owner link only) before the chat shows. An unknown or
untrusted folder is still asked about there. This narrows cx-1bhjj: the
person's answer on this Mac counts for their own copy of the same folder.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-3bab30503f0b9a7059e5

* start-chat copy test: no redundant clones (clippy)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-3bab30503f0b9a7059e5

* CloudStartChat: keep #30517's report lines as they were

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-3bab30503f0b9a7059e5

* start-chat copy: source_trusted in its own module (god-file cap); App source lines flat

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-3bab30503f0b9a7059e5

* start-chat copy: add source_trusted without indexing (panic ratchet)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-3bab30503f0b9a7059e5

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: cmux-bot[bot] <348531757+cmux-bot[bot]@users.noreply.github.com>

This branch was previously deployed

3 inactive deployments
artifacts — 96de1606 Deployed Nov 1, 2026 by teamleaderleo via add the Windows daemon to the tree #96569
sentry-dsyms — 96de1606 Deployed Nov 1, 2026 by teamleaderleo via upload cmux-tui dSYMs to Sentry #96569
ci-routing-agent — 96de1606 Deployed Nov 1, 2026 by teamleaderleo via cmux-tui tree preflight #96569
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk:normal Risk tier (docs/ci/risk-tiers.md)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant