Skip to main content

Module authorship

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 author holds in workspace as a party of its own: trusted code reads and makes undoable changes and asks before reaching outside, other code asks before everything.
code_party
The party code written by author is, holding own (its code_grants, and an application’s crate::roles::app_authorship of its own records) and the grants of workspace naming it. The workspace’s denial of the author holds over every more specific grant.
code_party_in
code_party, where the apps earlier names were renamed: the workspace’s grants to an app under an id it had before name it too.