Skip to content

base red: revert the unasked-detect red test (aec7054d44b) until its fix lands - #28811

Merged
lawrencecchen merged 1 commit into
feat-cmux-nextfrom
base-red/revert-unasked-detect-test
Oct 31, 2026
Merged

lawrencecchen merged 1 commit into
feat-cmux-nextfrom
base-red/revert-unasked-detect-test

Conversation

@lawrencecchen

@lawrencecchen lawrencecchen commented Oct 31, 2026 •

Copy link
Copy Markdown
Contributor

What

A base red, priority zero. rust workspaces / Native/OptChat/optchat-chief is red on feat-cmux-next since aec7054 (01:57Z):

memory_sync_state::tests::unasked_detect_never_lists_downloads_or_desktop ... FAILED
panicked at src/memory_sync_state.rs:461:9: detect listed a protected folder: [... Downloads/data-2026.zip ..., ... Desktop/claude-export.zip ...]

aec7054 is a red-first test that was pushed directly to feat without its fix. The red is deterministic (detect still lists ~/Downloads and ~/Desktop), not a flake. Red on every feat push that runs the job: 41157767497 (aec7054), 41160504930 (babe9dc), 41160969309 (c917912). Also red on PRs, for example 41159553538 (lane/ao-takeover-22030).

Lawrence's order is revert first, then fix. This PR reverts the test commit only.

The fix must bring the test back. The fix is bc8b414 (detect_with_exports, with the Swift Import Memories caller) on origin/a-lazy-permissions. It has no PR and it is not on feat. When it lands, it must revert this revert in the same PR. A merge of that branch does not touch these lines, so it drops the test with no conflict.

Command: cmux-ci run --class isolated --script scripts/ci/cmux-tui-rust-check.sh --arg optchat-chief --arg memory_sync_state --ref SHA

  • Not run on the fleet (see below). On the base, CI shows the panic on every run.

Changelog

none

Observed / Not run

  • Observed: the CI logs above (the same panic on 3 feat pushes and on a PR). python3 scripts/cmux-next/prepush-gate.py: no new violations.
  • Not run on the fleet: I cancelled the base and head runs when the coordinator gave the follow-up fix to another owner. The red evidence is the CI logs above, and its removal is a test-only revert.
  • Not run: the other optchat-chief CI steps (clippy, fmt). This PR only removes a test module function.

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


Summary by cubic

Reverts the unasked_detect_never_lists_downloads_or_desktop test from memory_sync_state.rs, which was pushed to feat-cmux-next without its fix and made CI deterministically red.

The fix lands in detect_with_exports on a-lazy-permissions; when it merges, this test must be brought back in the same PR.

Written for commit 6c4b6d8. Summary will update on new commits.

View guided diff Turn on auto-fix

…~/Downloads or ~/Desktop (red)"

This reverts commit aec7054.

aec7054 is a red-first test that was pushed to feat-cmux-next without
its fix. Since then `rust workspaces / Native/OptChat/optchat-chief` is red
on every feat push that runs it (aec7054 run 41157767497, babe9dc,
c917912) and on PRs (lane/ao-takeover-22030 run 41159553538):
memory_sync_state.rs:461 "detect listed a protected folder". It is
deterministic: detect still lists ~/Downloads and ~/Desktop.

The fix is bc8b414 on origin/a-lazy-permissions (detect_with_exports,
plus the Swift Import Memories caller). It is not on feat-cmux-next. When it
lands, it must bring this test back (revert this revert in the same PR),
or a merge of that branch drops the test with no conflict.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@lawrencecchen lawrencecchen added the risk:low Risk tier (docs/ci/risk-tiers.md) label Oct 31, 2026
lawrencecchen referenced this pull request Oct 31, 2026
…esktop (red)

Home's first-run memory offer runs `optchat-chief memory import-from detect` at every launch
until the offer is clicked; detect lists ~/Downloads and ~/Desktop for export zips, which
raises macOS's "access files in your Downloads folder" prompt for cmux (Lawrence, 2026-10-30).
@lawrencecchen

Copy link
Copy Markdown
Contributor Author

Review (Opus 5.5, review subagent): SHIP at 6c4b6d8

No correctness defect. I checked each claim of the PR myself (read-only; no Rust or Swift build or test ran on my machine).

Exact revert, nothing else.

  • The head's parent is 6eec115, which is the current origin/feat-cmux-next tip and the merge-base. The diff is 1 file, 31 deletions, in Native/OptChat/optchat-chief/src/memory_sync_state.rs.
  • git patch-id --stable of HEAD^..HEAD is the same as that of the reversed aec7054d44b (38bedf6e...). The hunks are the same line for line. aec7054d44b is on feat, and no later feat commit touches this file.
  • The helpers that the deleted test used (temp, write, zip_of) still have other callers, so the removal adds no dead-code or clippy warning.

The red is real and deterministic.

  • On base, detect() always ends with found.extend(detect_zips(user_home)). detect_zips reads ZIP_FOLDERS = ["Downloads", "Desktop"] and has no gate. The deleted test puts export zips in both folders and asserts that detect returns no zip: source. Thus it fails on every run, and this is not a timing or environment problem.
  • --log-failed of runs 41157767497 (aec7054), 41160504930 (babe9dc), 41160969309 (c917912) and 41159553538 (PR lane/ao-takeover-22030) all show unasked_detect_never_lists_downloads_or_desktop ... FAILED, with the panic at src/memory_sync_state.rs:461:9, "detect listed a protected folder", for both zips. Each run has 153 passed and 1 failed.

The claim about the fix and the dropped test is true.

  • bc8b414147a is on origin/a-lazy-permissions (tip bd5df35) and not on feat. It splits detect_with_exports from detect and renames the old zip test to detect_with_exports_finds_.... Its hunks stop near line 427 and do not touch the reverted test lines (440-470).
  • git merge-tree --write-tree HEAD origin/a-lazy-permissions merges with no conflict. The merged file has detect_with_exports but does not have unasked_detect_never_lists_downloads_or_desktop. Thus a plain merge of that branch would drop the regression test silently, as the PR says. The fix PR must revert this revert.

Notes (do not block):

  1. This PR makes only the Native/OptChat/optchat-chief lane of rust workspaces green. Runs 41160969309 and 41159553538 also fail on a different base red in the cmux-next-ios/rust lane: services::tests::browser_tabs_are_a_capability_only_with_a_browser_host at crates/cmux-mobile-host/src/services.rs:1569. Thus the job stays red until that is fixed in a separate PR. This PR does not say otherwise.
  2. The only guard that the test comes back is the text in this commit and PR. Also put a note on the a-lazy-permissions branch or its PR (when it opens), so that the person who lands bc8b414147a sees it.
  3. The red failures on run 41161775567 (CI timing, linux-preflight, ci-status and others) come from a run that GitHub cancelled. A test-only removal cannot cause them. When I checked, the Native/OptChat/optchat-chief check on this head was still pending. The fleet red/green results in the body are also still pending.

@lawrencecchen lawrencecchen added the ready-to-land Reviewed at this head; next-autoland merges it into feat-cmux-next when its only reds are base reds label Oct 31, 2026
@lawrencecchen
lawrencecchen merged commit 74b40b7 into feat-cmux-next Oct 31, 2026
106 of 141 checks passed
@lawrencecchen
lawrencecchen deleted the base-red/revert-unasked-detect-test branch October 31, 2026 02:56
@blacksmith-sh

blacksmith-sh Bot commented Oct 31, 2026 •

Copy link
Copy Markdown

Found 10 test failures on Blacksmith runners:

Failures

Test View Logs
/tmp/tmplvak429l/summary-missing.json (live):/summary-missing.json (live): View Logs
/tmp/tmpq8ppawcw/summary-fail.json (live):/summary-fail.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
main.DeveloperIdAppTests.test_download_prints_the_active_profile_only/
test_download_prints_the_active_profile_only
View Logs
stubs: /System/Library/Frameworks/Security.framework/Versions/A/Security has no stub/
Security has no stub
View Logs
stubs: CoreFoundation.tbd: install-name /System/Library/Frameworks/
CoreFoundation.framework/Versions/A/CoreFoundation, missing 1: ['_CFRetain']/
CoreFoundation, missing 1: ['_CFRetain']
View Logs
stubs: CoreFoundation.tbd: install-name /System/Library/Frameworks/
CoreFoundation.framework/Versions/A/CoreFoundation, missing 1: ['_log2']/
CoreFoundation, missing 1: ['_log2']
View Logs

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

@github-actions github-actions Bot added risk:normal Risk tier (docs/ci/risk-tiers.md) and removed risk:low Risk tier (docs/ci/risk-tiers.md) labels Oct 31, 2026
lawrencecchen added a commit that referenced this pull request Oct 31, 2026
…ds or ~/Desktop (restores the #28811 test) (#28820)

* test(chief memory): restore the unasked detect test (reverts #28811) (red)

This reverts commit 74b40b7, which
removed aec7054 only until its fix lands. The test is red here:
detect still lists ~/Downloads and ~/Desktop. The next commit fixes it.

* fix(chief memory): Home's launch-time memory offer never lists ~/Downloads or ~/Desktop

Root cause of the launch prompt '"cmux DEV …" would like to access files in your Downloads
folder' (Lawrence, 2026-10-30): HomeHostView's first-run memory offer runs the bundled
`optchat-chief memory import-from detect` on every launch until the offer is clicked, and detect
listed ~/Downloads and ~/Desktop for claude.ai / ChatGPT export zips. macOS attributes the child's
read to cmux and prompts.

`detect` now reads only the agents' own folders; `detect --exports` (detect_with_exports) also
lists the export zips, and only the Import Memories action the person runs passes it. The offer
still finds Claude Code and Codex memory (LAUNCH-NO-TCC-PROMPTS).
@github-actions

Copy link
Copy Markdown
Contributor

cmux status (one comment, edited in place; each line is updated by the job that owns it)

Shipped in:

This branch was previously deployed

1 inactive deployment
ci-routing-agent — 6c4b6d87 Deployed Oct 31, 2026 by lawrencecchen via wait for same-key tree publisher #86907
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-to-land Reviewed at this head; next-autoland merges it into feat-cmux-next when its only reds are base reds risk:normal Risk tier (docs/ci/risk-tiers.md)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant