Repository navigation
base red: arch app_lines, move ServerReachPlan out of CmuxNextApp (#26600, #31055, #22953) - #31218
Conversation
…o CmuxNextHostedChief The arch ratchet's app_lines row was +15 at the feat-cmux-next tip against the last green arch tip 006666a (#26600 +22, #31055 +16, #22953 +15, #31147 +5, #31106 -1, #31182 -42). CmuxNextApp may not grow. ServerReachPlan (which paired servers the app reaches, and the parsers of chief.list, team.hosts.list, `cmux link show` and `cmux link peer list`) holds no app state: it is value types and pure functions over CloudChief (CmuxNextHostedChief) and ServerReach (CmuxNextRemote). It moves as it is into CmuxNextHostedChief with a public API; ServerReachService in the App calls it. CmuxNextHostedChief now depends on CmuxNextRemote (service -> service). Behavior-neutral: the only body change is parseChiefs, which read the chiefs through the App's CloudChiefs.parseList after its guard proved `chiefs` is an array; it now maps that array with CloudChief.parse itself, the same result.
|
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)
Default changesThis pull request changes 6 defaults at
Signed off on this commit by Merge receipt: merged as Regenerate the snapshot with Shipped in:
|
|
Review (subagent, correctness first): SHIP at 2ad7f4a I read the diff only. I did not build or test on this machine.
|
|
Found 1 test failure on Blacksmith runners: Failure
|
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
Base red (priority zero): the arch ratchet is red at the feat tip (STATUS 4024):
[app_lines] CmuxNextApp +15against the last green arch tip 006666a.ServerReachPlan(which paired servers the app reaches, and the parsers ofchief.list,team.hosts.list,cmux link showandcmux link peer list) holds no app state: value types and pure functions overCloudChief(CmuxNextHostedChief) andServerReach(CmuxNextRemote). It moves as it is fromCmuxNextApp/Server/ServerReachPlan.swifttoCmuxNextHostedChief/ServerReachPlan.swift, with a public API (public members and explicit public inits that keep the old memberwise defaults).ServerReachServicein the App calls the same API. CmuxNextHostedChief now depends on CmuxNextRemote (service to service; no cycle: CmuxNextRemote depends only on CmuxNextCompat and CmuxNextCloud).The only body change:
parseChiefscalled the App'sCloudChiefs.parseListafter its guard provedchiefsis an array; it now maps that array withCloudChief.parseitself, which is whatparseListdid. No behavior change.I did not move code that #26600, #31055 or #22953 added: what is left of them in the App reads
AppServicesor window state (WindowControllerparking,TabSearchFactsBuilder.closed), so a move of it would need new seams.ServerReachPlanis a larger pure block, so it gives a margin for the merges that keep landing.Evidence
arch-ratchet.py --base 006666aa359c:app_lines -158(CmuxNextApp -158), no rises.arch-ratchet.py --base origin/feat-cmux-next(3f2a3de):app_lines -173, no rises.prepush-gate.py: no new violations.lint-ios-package-conventions.sh --namespace-fix: no change, no violations.make,routeandisThisMacby file path (the namemakematches a Tunable helper), so the move changed 6 keys with identical hashes; it passed on its rerun after the receipt.Observed / Not run
test_the_repository_highlights_validateonchief-shows-the-feed.md, a release-notes file this PR does not touch; it is red on other open PRs too (Agent pane: drop the composer queue's unused received-line rules #31215, test(sidebar): the rebuild check waits on turns and the list's state, not fixed sleeps (47 s to 7 s, 122 s to 30 s) #31206).Changelog
none