Sign in
Join now
misaligned
cameron.stream
/
Star
Starred
Star
Something went wrong. Try again.
Fork
1
Eye filled
Watch
Watching
Watch
A video game where you play as a misaligned AI, deceiving and building power.
cameron.tngl.io/misaligned
Star
Starred
Star
Something went wrong. Try again.
Fork
Eye filled
Watch
Watching
Watch
Overview
Overview
Issues
Issues
1
1
Pulls
Pulls
1
1
Pipelines
Pipelines
misaligned
/
src
/
atproto
4 files
at
main
cameron.stream
·
Spaces on the Oct 29 alpha: the release took com.atproto.simplespace away, which broke the first live test (getSpace answered a missing rpc: scope, and the sender blamed the sign-in). Every alpha package moves to 0.0.0-spaces-alpha-20261029171913, with the same three overrides and no stray 0.0.0. space.ts makes and reads the space with com.atproto.space.createSpace, getSpace and updateSpace, and shares through com.atproto.memberspace (putMember, removeMember, listMembers, every page). A space now has one policy: the player's is a memberspace with nobody on the list and nothing public, so only its owner, always let in, reads and writes, and a reader shared with is put on the list to read, not write; a space of another kind is made a memberspace before sharing. getSpace's missing space is SpaceNotFound by name, and createSpace's SpaceAlreadyExists counts as made. The scope is unchanged (the scope grammar didn't move), so nobody signs in again. A method the server doesn't have, which it passes to the AppView and so answers "Missing required scope rpc:<method>", is now said plainly: "your server doesn't have <method>: the spaces alpha may have changed", on the You page and in Not sent. scripts/spaces-check.ts asks the server, without signing in, for every method space.ts and read.ts name, by the answers to the wrong HTTP verb (a method it has refuses the verb; one it doesn't answers AuthMissing either way); all 16 are there. ATPROTO.md: the Oct 29 alpha (what moved, the three policies, how membership works now, old spaces carried over, the grant unchanged, a refused reader told there is no space, writes and reads unchanged, what's new). Tests: the refusal named and said, no simplespace method called, the check's verdicts; e2e: a dropped method said plainly on the You page.
·
10h ago
2c29e68c
read.ts
Reading and sharing runs (TELEMETRY.md step 5), built and awaiting a live test. src/atproto/read.ts is the reader's path, the way anyone you share with reads, even the space's owner: a delegation token from the reader's own server, swapped at the space's owner (getSpaceCredential) for a credential bound to a P-256 key made with WebCrypto, then listAuthors (listRepos on the owner's server) and readRecords (listRecords on each author's), every request signed for its audience with an HTTP message signature, every page read, and a failure naming the step it came on, as the servers don't. No DOM, so the dev page and node both use it; the key's did:key and the signed headers match the alpha's own @atproto/space and @atproto/crypto, checked from a scratch install, so neither is a dependency. Sharing is share and unshare in space.ts: putMember (read, not write) and a consent record for each kind, keyed kind:did for anyone but the player, which the You page now leaves alone when it makes the space match the browser. The scope gains manage=update for members, in scope.ts and client-metadata.json, so a grant from before asks to sign in again once. atproto.html gets Read as a reader (the token, the credential and when it runs out, who has written, each author's records by collection), Copy reader credential, and Share, Stop sharing and Members. scripts/telemetry.ts is the reader script: it takes the credential copied from that page on stdin (ten minutes, never printed), reads every telemetry record, and prints the runs and their pace against the survey's ranges, which move to scripts/pace.ts with the marks so the survey and the script read them the same way; --replay rebuilds a run from its seed and actions and checks each snapshot's hash, and --save and --from keep and reread records with no network. scripts/runs.ts reads the record shapes loosely until step 2 settles them. ATPROTO.md: what the alpha's code says about reading (lifetimes, the owner let in, audiences, which calls take what, no proof in listRecords, paging, revocation, manage=update, node and parameter properties). Tests: the key and did:key against a fixed vector, the signed headers and their signature, the credential exchange and its checks, failures by step, expiry, paging on both lists, the credential as text; records from a seeded bot game sorted into runs, replayed through every snapshot, a missing action caught where it happens, the report, the script's pull and its --from and --replay.
5d ago
scope.ts
Spaces on the Oct 29 alpha: the release took com.atproto.simplespace away, which broke the first live test (getSpace answered a missing rpc: scope, and the sender blamed the sign-in). Every alpha package moves to 0.0.0-spaces-alpha-20261029171913, with the same three overrides and no stray 0.0.0. space.ts makes and reads the space with com.atproto.space.createSpace, getSpace and updateSpace, and shares through com.atproto.memberspace (putMember, removeMember, listMembers, every page). A space now has one policy: the player's is a memberspace with nobody on the list and nothing public, so only its owner, always let in, reads and writes, and a reader shared with is put on the list to read, not write; a space of another kind is made a memberspace before sharing. getSpace's missing space is SpaceNotFound by name, and createSpace's SpaceAlreadyExists counts as made. The scope is unchanged (the scope grammar didn't move), so nobody signs in again. A method the server doesn't have, which it passes to the AppView and so answers "Missing required scope rpc:<method>", is now said plainly: "your server doesn't have <method>: the spaces alpha may have changed", on the You page and in Not sent. scripts/spaces-check.ts asks the server, without signing in, for every method space.ts and read.ts name, by the answers to the wrong HTTP verb (a method it has refuses the verb; one it doesn't answers AuthMissing either way); all 16 are there. ATPROTO.md: the Oct 29 alpha (what moved, the three policies, how membership works now, old spaces carried over, the grant unchanged, a refused reader told there is no space, writes and reads unchanged, what's new). Tests: the refusal named and said, no simplespace method called, the check's verdicts; e2e: a dropped method said plainly on the You page.
10h ago
signin.ts
Spaces on the Oct 29 alpha: the release took com.atproto.simplespace away, which broke the first live test (getSpace answered a missing rpc: scope, and the sender blamed the sign-in). Every alpha package moves to 0.0.0-spaces-alpha-20261029171913, with the same three overrides and no stray 0.0.0. space.ts makes and reads the space with com.atproto.space.createSpace, getSpace and updateSpace, and shares through com.atproto.memberspace (putMember, removeMember, listMembers, every page). A space now has one policy: the player's is a memberspace with nobody on the list and nothing public, so only its owner, always let in, reads and writes, and a reader shared with is put on the list to read, not write; a space of another kind is made a memberspace before sharing. getSpace's missing space is SpaceNotFound by name, and createSpace's SpaceAlreadyExists counts as made. The scope is unchanged (the scope grammar didn't move), so nobody signs in again. A method the server doesn't have, which it passes to the AppView and so answers "Missing required scope rpc:<method>", is now said plainly: "your server doesn't have <method>: the spaces alpha may have changed", on the You page and in Not sent. scripts/spaces-check.ts asks the server, without signing in, for every method space.ts and read.ts name, by the answers to the wrong HTTP verb (a method it has refuses the verb; one it doesn't answers AuthMissing either way); all 16 are there. ATPROTO.md: the Oct 29 alpha (what moved, the three policies, how membership works now, old spaces carried over, the grant unchanged, a refused reader told there is no space, writes and reads unchanged, what's new). Tests: the refusal named and said, no simplespace method called, the check's verdicts; e2e: a dropped method said plainly on the You page.
10h ago
space.ts
Spaces on the Oct 29 alpha: the release took com.atproto.simplespace away, which broke the first live test (getSpace answered a missing rpc: scope, and the sender blamed the sign-in). Every alpha package moves to 0.0.0-spaces-alpha-20261029171913, with the same three overrides and no stray 0.0.0. space.ts makes and reads the space with com.atproto.space.createSpace, getSpace and updateSpace, and shares through com.atproto.memberspace (putMember, removeMember, listMembers, every page). A space now has one policy: the player's is a memberspace with nobody on the list and nothing public, so only its owner, always let in, reads and writes, and a reader shared with is put on the list to read, not write; a space of another kind is made a memberspace before sharing. getSpace's missing space is SpaceNotFound by name, and createSpace's SpaceAlreadyExists counts as made. The scope is unchanged (the scope grammar didn't move), so nobody signs in again. A method the server doesn't have, which it passes to the AppView and so answers "Missing required scope rpc:<method>", is now said plainly: "your server doesn't have <method>: the spaces alpha may have changed", on the You page and in Not sent. scripts/spaces-check.ts asks the server, without signing in, for every method space.ts and read.ts name, by the answers to the wrong HTTP verb (a method it has refuses the verb; one it doesn't answers AuthMissing either way); all 16 are there. ATPROTO.md: the Oct 29 alpha (what moved, the three policies, how membership works now, old spaces carried over, the grant unchanged, a refused reader told there is no space, writes and reads unchanged, what's new). Tests: the refusal named and said, no simplespace method called, the check's verdicts; e2e: a dropped method said plainly on the You page.
10h ago