Module authorship
Expand description
Code authorship: the code between a person and an action, as one more party bounding them.
A program a person (or their agent) runs acts with that person’s
authority, and never with more than its authors may: each author in the
chain of code that led to an action is a delegation bounding the person
(crate::Authority::bounded_by), and the minimum wins. Code an
application’s package wrote is that application (Subject::App): the
workspace’s grants naming the application bound it as they bound the
application anywhere, a denial of it holding over everything more
specific. Code a person or an agent wrote (a block in a conversation) is
that person or agent.
What code may do on its own account depends on whether it is trusted
(an installed or built-in package, an agent’s code its person admitted):
trusted code reads and makes undoable changes and asks before reaching
outside; code nobody trusts asks before everything. An application’s own
code is an author of its own records (crate::roles::app_authorship),
trusted or not.
Functions§
- code_
grants - The grants code written by
authorholds inworkspaceas a party of its own:trustedcode reads and makes undoable changes and asks before reaching outside, other code asks before everything. - code_
party - The party code written by
authoris, holdingown(itscode_grants, and an application’scrate::roles::app_authorshipof its own records) and the grants ofworkspacenaming it. The workspace’s denial of the author holds over every more specific grant. - code_
party_ in code_party, where the appsearliernames were renamed: the workspace’s grants to an app under an id it had before name it too.