Repository navigation
Chat: a standard pairing grants T3 Code v0.1.0's scopes only, never access management or T3 Connect writes (Lazurio/t3code#97) - #583
Conversation
…ccess management or T3 Connect writes (Lazurio/t3code#97) T3 Code v0.1.1 widens the default grant of `t3 auth pairing create` from 13 scopes to 16: access:read, access:write and relay:write join it (pingdotgg/t3code#20432). The Launchpad mints that standard pairing on every public Environment and wherever T3 Code offers no operator pairing, so on v0.1.1 a visitor of a public Environment could manage the Environment's access and its T3 Connect. The T3 Code fork's rebuild onto v0.1.1 records the decision (Lazurio/t3code#97, gate "Párování a rozsahy sezení"): the Platform pairs with explicit scopes, never relay:write, and on public Environments never access:write, before 0.1.1 reaches a public Environment. The standard call now names its scopes: T3 Code v0.1.0's standard client scopes (`standardPairingScopes`), one `--scope` each, which replaces T3's default set. On v0.1.0 that is exactly the default, so nothing changes for today's Environments. `--scope` exists from T3 Code v0.1.0, so the call asks `t3 --version` first: an older T3 Code (Machines still installs 0.0.45 on a new Environment) pairs as before, and with no version to read nobody is paired. The operator pairing (`t3 lazurio pairing`) is unchanged: the fork keeps its scopes, never relay:write. Co-Authored-By: Claude Opus 5.5 <[email protected]>
agentrozjedemeai
left a comment
There was a problem hiding this comment.
@immakermatty Schvaluji přesný HEAD 7583fa3. Seznam 13 rozsahů jsem strojově porovnal s T3 Code v0.1.0 (81493efb); v0.1.1 (fe27e8e3) přidává access:read, access:write a relay:write, které standardní volání nepředá. Ověřil jsem pravidlo verzí pro fork i prosté X.Y.Z, odmítnutí nečitelné/chybné/timeout verze, nezměněnou operátorskou větev a skutečné --scope argumenty. Lokálně 32/32 zaměřených testů, lint, typecheck, check:public a git diff --check; CI scope, static i oba testovací shardy jsou zelené, 0 otevřených vláken. Nové main b7ecaa4 se synteticky slučuje bez konfliktu. Další t3 --version je přiměřený náklad, avšak Ring 0 musí ověřit odezvu samo-párování v pětisekundovém limitu webového klienta. Poznámka k rozsahu tvrzení: tohle omezuje explicitní session scopes, nikoli schopnosti přístupu k shellu, který je v původních 13 rozsazích. Nemergoval jsem a neověřoval skutečné Environmenty.
Why
T3 Code v0.1.1 widens the default grant of
t3 auth pairing createfrom 13 scopes to 16:access:read,access:writeandrelay:writejoin it (pingdotgg/t3code#20432). The Launchpad mints that standard pairing for every visitor of a public Environment, and wherever T3 Code offers no operator pairing, including after a failedt3 lazurio capabilitiescall. Once 0.1.1 is installed, a visitor of a public Environment could manage the Environment's access and its T3 Connect.The T3 Code fork's rebuild onto v0.1.1 records this as a gate (Lazurio/t3code#97, gate "Párování a rozsahy sezení", decided under the Organization Admin's mandate): the Platform pairs with explicit scopes, never
relay:write, and on a public Environment neveraccess:write. The change must ship before 0.1.1 reaches a public Environment.What changes
standardPairingScopes), one--scopeeach, which replaces T3's default set. On v0.1.0 that is exactly the default, so today's Environments get the same grant as before.--scopeexists from T3 Code v0.1.0, so the standard call first askst3 --version. An older T3 Code (Machines still installs 0.0.45 on a new Environment) pairs as before. With no version to read, nobody is paired (t3-pairing-failed), and the page opens T3 Code's plain origin, as after any failed pairing.t3 lazurio pairing) is unchanged: the fork keeps its scopes and never grantsrelay:write.docs/launchpad-development.md("Chat entry") says which scopes the standard pairing grants and why.What does not change
GET /.lazurio/chat/pairing,lazurio chat linkand their admission.Verification
tests/launchpad-chat.test.ts(16) andtests/chat-link-cli.test.ts(5) pass, with the version call in every standard sequence and two new tests:--scopeflags fails 3 tests, and a version gate that always says yes fails 2.bun run lint,bun run typecheckandbun run check:publicpass. The fullbun testsuite passes locally: 4517 pass, 9 skip, 0 fail across 308 files.Rollout and risks
t3 --version).t3 --versioncannot be read, the standard pairing stops (fail-closed) instead of granting T3's default.🤖 Generated with Claude Code