Repository navigation
base red: the Release login copy's rules are CmuxNextCloudCredentials' CloudLoginCopyGate (arch app_lines +141 from #33324) - #33844
Conversation
…' CloudLoginCopyGate, its consent dialog CmuxNextCloudUI's (arch app_lines +141 from #33324) #33324 (84aa409) added 141 CmuxNextApp lines for the Release copy of the person's Claude login. The rules (switch first, then the consent, asked once; automatic recoveries never ask; Claude only; the transfer's last check) move to CmuxNextCloudCredentials as CloudLoginCopyGate; the build gates (offersLoginCopy, allowsCreatorTeamGuest) to CloudCredentialTransfer+Switch; the one-time consent dialog's spec and its 5 keys (every locale unchanged) to CmuxNextCloudUI as CloudLoginCopyConsent. The App keeps the wiring: reading the switch, cmux.json and presenting the dialog (CloudStartChat.loginCopyGate). Same decisions in the same order. CmuxNextApp -77. New test CloudLoginCopyGateTests pins the gate's rules.
|
cmux status (one comment, edited in place; each line is updated by the job that owns it) Review App of this head (app.zip, kept 1 day)
Shipped in:
|
|
Found 2 test failures on Blacksmith runners: Failures
|
|
Review (independent subagent): SHIP at 11fdedf Correctness review against merge base e4cf14d. I read the code only. I did not build or test Swift; the fleet compile and suites in the description cover that. Each decision has the same result, in the same order, as before:
Checks I ran:
|
|
Swift logic follow-up (tip watcher swift-logic row, STATUS 13027 "SWIFT LOGIC CULPRITS"; lead order). This PR raised
plans/cmux-next/layer-ownership.md says Rust owns every state, list and rule and Swift is the platform shell. Please move the new logic of this PR in a follow-up: to Rust (the crate that owns the area; the owner lists in STATUS 12147-12165 name the target per area), or at least out of the app into its package. If a declaration above is platform code (AppKit, Core Animation, OS calls, strings, tokens, DEBUG tooling), reply here and the table gets a PLATFORM row with your reason instead. The swift-logic row is a report, not a gate: nothing blocks on this comment. |
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
Fixes the #33324 part of the arch-ratchet red over the last green arch tip 6500d46 (
[app_lines] CmuxNextApp Swift lines: +195). Culprit per commit: 84aa409 (#33324)+141. The other culprits: #33567 (+74) is #33730, #33155 (+1) was #33610.Takes back #33324: only its rules move to packages; every decision, its order and every text and locale are the same.
Cause
#33324 added 141 CmuxNextApp lines for the Release copy of the person's Claude login: the gate rules (switch first, then the consent, asked once; an automatic recovery never asks; Claude only; the transfer's last check), the build gates, and the one-time consent dialog.
Fix
CloudLoginCopyGate(copyAllowed,automaticAllowed,recoveryAllowed,stillAllowed,read(into:),askConsent(_:)), with Leo's three conditions as its doc.CloudCredentialTransfer+Switch(offersLoginCopy,allowsCreatorTeamGuest), next topassesHarnessLogin.CloudLoginCopyConsent, with its 5 keys moved to a new CmuxNextCloudUICloudCredentialRecovery.xcstrings(every locale unchanged; checked key by key).CloudStartChat.loginCopyGate).arch-ratchet.py --base HEAD^ --head HEAD:app_lines -77. No arch exception.Risk:
risk_tier.pygrades the files normal. This PR moves the Release consent and switch checks without a change to them; the review was asked to check each decision against the base.Red at the base, green at the head
Command:
python3 scripts/cmux-next/arch-ratchet.py --base PARENT --head COMMIT+141.-77, no count rises. With base red: Move to Cloud's text is CmuxNextCloudUI's CloudMoveStrings (arch app_lines +74 from #33567) #33730 (-104) the row over 6500d46 goes below zero.New test
CloudLoginCopyGateTestspins the gate (dogfood reads nothing; switch then consent, asked once; automatic never asks; Claude only; the last check).Changelog
none
Observed / Not run
Observed on the fleet at 11fdedf: compile-check CmuxNext passed (job eb6578f46a32127bbe8f7f08, 292 s); suites CloudLoginCopyGateTests, CloudStartChatLoginTests, CloudCredentialRecoveryTests and CloudCredentialTransferTests passed (key a141-suites-11fdedff01).
prepush-gate.py,lint-ios-package-conventions.sh,check-xcstrings-keys.pyandlint-xcstrings.pypassed.Not run: the dialog on screen (the spec is the same values; no capture).
Open in [code]smith · Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
Takes back #33324 by moving the Release Claude login copy rules out of the main app into packages, cutting
CmuxNextAppby 77 lines with no behavior change: every decision, its order, and every text and locale stay identical.CloudLoginCopyGateinCmuxNextCloudCredentials.CloudCredentialTransfer+Switch(offersLoginCopy,allowsCreatorTeamGuest).CloudLoginCopyConsentinCmuxNextCloudUIwith all locales unchanged.CloudLoginCopyGateTeststo pin the gate's rules.Written for commit 11fdedf. Summary will update on new commits.