Description
The text about mapping access modes to HTTP methods
In "NOTE: HTTP Method and Access Mode Mapping" in
https://solid.github.io/web-access-control-spec/#reading-writing-resources
says
The HTTP POST can be used to create a new resource in a container or add information to existing resources (but not remove resources or its contents) with either acl:Append or acl:Write.
As the HTTP PUT method requests to create or replace the resource state, the acl:Write access mode would be required.
It should say
The HTTP POST can be used to create a new resource in a container or add information to existing resources (but not remove resources or its contents) with either acl:Append or acl:Write.
As the HTTP PUT method requests to create or replace the resource state, the acl:Write access mode is required to replace an existing resource, but to create a new resource, access to the container can be either acl:Append or acl:Write.
This is because it is essential that the semantics of the mode of access are about what the agent can do with the resource, independent of which HTTP method (or other protocol for that matter) they happen to be using.
(As we have already ensured for PATCH, for example.)