Repository navigation
Conversation
A missing or empty teams.share now reads on. An explicit off stays off, and an unreadable config file or a wrong-typed value reads off, so a damaged file never switches on a computer that had chosen off. TeamsSharingAt combines the preference with an injected pairing gate; filememo gains an opt-in strict read for that one preference. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… went Before the first sharing round, this computer's teams are copied to teams.before-sharing.json (hard link, or an exclusive-create fallback) and incoming changes wait for that copy. A merge records a cleared manager appointment only in an empty former-manager slot and never renames teams. Pairing replace returns where teams were set aside. Shared Traffic publishes at most every two minutes, inside the relay's daily frame allowance. Sync carriers use effective sharing (preference and pairing). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…the engine Every surface reads effective sharing: an unpaired computer keeps its old refresh, completion, cursor and Traffic behavior. Pairing is read off the event loop. A window on another computer's engine follows that engine's sharing. A local team member opens like the same chat from Home. A cached team digest is dropped when sharing stops. Pairing replace asks about teams only on a terminal and never waits on a silent pipe. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The team pages, Settings and PERF.md say what the code now does: automatic sharing between paired computers, unpaired computers unaffected, turning it off on either computer, the first-sharing backup, duplicate names, former managers, spending caps counted per computer, two-minute Traffic, and what pairing replace does with teams. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The new team-sharing sections said 'file' and 'share' often enough to pull 'how do I share a file with it' away from attaching files, and the hint's 'paired computers' pulled a Settings search for 'pair' onto General. Reword both without changing any fact, and give the change entry its PR number. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Collaborator
Author
|
Status: PR gate and Full check green on 9acd06f (Full check run 41217842378; its one red, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Team sharing between paired computers (#2080) shipped off by default. This turns it on by default, and fixes what a stability audit and an independent review found would hurt people who never touched the switch.
What changes for a person
onunless this computer choseoff. Turning it off on either computer stops teams moving between them; what was already exchanged stays.teams.before-sharing.json(with a fallback where hard links fail; incoming changes wait for the copy, and a failure is shown once). Duplicate team names both stay as they were. A cleared manager appointment is kept only in an empty former-manager slot, never overwriting one.--replacebehaves as before.chat --at,--host) follows that engine's sharing, not the viewing computer's.Validation contract
offreads off; damage reads off.offon dev: the existing SharingOff tests run a second time unpaired and unset, with every assertion intact.teams.TrafficSyncEvery(two minutes).Proof
Codex gates (no
-json):go build ./...; vet on 11 packages; wholeinternal/config(314),internal/teams(128),internal/pair(127),internal/syncsetup(217, 26 existing optional skips),internal/vaultsync,internal/filememo; manual Chat gates plus the packed-manual tests; 74 named regressions incmd/codeaf,internal/tui3,internal/session,internal/remote.Hand test, real binaries in tmux (local relay, scripted model, throwaway homes), round 1 on the pre-review build:
Continue this chat here?; model requests 12 → 12 (nothing ran twice). PASSdoctorclean. PASSHand test round 2 on this head's code (fresh homes, prebuilt binary):
chat --at) showed the engine's imported Traffic read-only; turning share teams off on the engine computer hid it in 2.3 s. PASSpair … --replacewith a silent, held-open stdin: exited 0 in 0.5 s and printed where the teams were set aside. PASS/deleteanswered "that path is not a saved conversation" for a--oncechat's transcript path (internal/session/conversation_delete.gois unchanged here; not investigated).Follow-ups (not in this PR)
cmd/codeaf/chatv3_host_teams.goleaves the seam'sAppenddoor nil (the seam comment says no wire answers it yet). With--no-hostthe lines are written and shared correctly (verified). The manual section "Moving a conversation between teams is written to Traffic" is therefore untrue in the default window today.🤖 Generated with Claude Code