~ knotless Search/
↑↓ move↵ open⇧↵ all results

chadtmiller.com/knotless

git that lives in your Atmosphere account

knotless.dev
1 collaborator

knotless 0.13.0 Latest 2 packages, 1 image

1
10

Private repositories speak the October 29 spaces alpha

Merged
Merged chadtmiller.com asked to merge into main from chadtmiller.com/knotless:spaces/memberspace

What changes

knotless creates a private repository's space with com.atproto.space.createSpace under the com.atproto.memberspace.policy policy, deletes it with com.atproto.space.deleteSpace, and manages its members with com.atproto.memberspace.putMember, removeMember and listMembers. CI's spaces alpha (ATPROTO_COMMIT in test.yml) moves from ac0c9f153 to 11c5d98cd, the tip of permissioned-data-alpha, and scenarios.yml's moves there too from the older e03c77fc8.

Why

The alpha's October 29 build removes com.atproto.simplespace: a space's access is now a policy union chosen at creation, with personalspace, memberspace and managedspace as the baseline policies. Against it, knotless create --private and share fail. The memberspace policy with its defaults (no public reads or writes, no allowedApps) is what knotless asked of simplespace: member-list reads and writes, open app access. The PDS migrates each existing simplespace config to a memberspace policy, so spaces made before keep working. The scopes these calls need (manage=create, update, delete, read_self) are unchanged.

getSpaceCredential now answers a refused user with SpaceNotFound instead of UserNotAuthorized; denied already takes both, and keeps UserNotAuthorized for PDSes on older builds.

How it was checked

Left to CI: the test check builds the new alpha and runs the spaces tests against it (create, share, unshare, members, delete).

Shortcomings

A PDS still on an older alpha has no com.atproto.space.createSpace, so creating a private repository there is refused as a PDS without spaces. Nothing falls back to simplespace: the alpha is pre-release and moves as one.

🤖 Generated with Claude Code

Approved

This moves the private-repository space calls from com.atproto.simplespace to com.atproto.space.createSpace and deleteSpace under the com.atproto.memberspace.policy policy. Members are now managed with com.atproto.memberspace.putMember, removeMember and listMembers. It also bumps the alpha commit in test.yml and scenarios.yml, and updates the docs and adds a changeset.

I found nothing wrong. A search of main shows every simplespace reference is in the lines this pull replaces, so none are left behind. The workflows and docs agree with the code.

I couldn't confirm the new alpha works. The test and check runs were still running when I looked, and docs was queued. The test run builds the new alpha and runs the spaces tests, so merge only once it passes.

Merged as 3cdde7c