specs/git_ns/right/list/v0_2/payload
library
Classes
-
AdminRightRow
-
One right as the administrator's rights console shows it: a recorded
RightRecord
restated with the membership facts an administrator needs (subjectMember,
granterDeparted), or a role-derived grant that carries no record.
git-ns/right/list and git-ns/right/issued-by-departed are its only producers.
-
BreakGlass
-
How a self-granted right came to be, and whether another administrator has since
ratified it. A record whose
breakGlass has no ratifiedBy is unratified: it
is live and published like any other right, it does not count toward the last-owner
or last-admin invariants, and any community administrator or namespace admin of its
namespace may revoke it. Ratification (git-ns/right/ratify) sets ratifiedBy and
ratifiedAt; from then on the record is an ordinary grant, and breakGlass stays
as its history. Never published to the Trust Registry.
-
Payload
-
A community administrator enumerates every git right the VTC knows of, recorded and
role-derived alike, across every namespace. The outer document members (id, type,
issuer, recipient, issuedAt, expiresAt, proof) are owned by the framework — SPEC
§6.3.
-
Response
-
The matching rows, ordered by resource then subject.
Extension Types
-
Right
-
One of the five git rights. Each string is also the TRQP
action the VTC publishes
the right under in its Trust Registry, so it is carried verbatim. git.ns.admin
and git.repo.create apply to a namespace resource; git.repo.own and
git.repo.maintain to a repository resource; git.commit.sign to either.
-
RightOrigin
-
Where a right an administrator sees came from.
recorded — a git-ns/* record,
governed by the rights model and returned nowhere the subject cannot eventually see
it through git-ns/view. roleDerived — a v0.1 \[hooks.git-trust\] grant_on_role
grant: published by the hook relay from the community's own role configuration,
never written by any git-ns/* task, and not itself a RightRecord — it has no
grantedAt, no expiresAt and no reason, only a subject, a right and a
resource.
Typedefs
-
Did
= String
-
A bare DID in the W3C DID Core syntax (§3.1):
did:, a method name of lowercase
letters and digits, :, and a method-specific id of colon-separated segments drawn
from A-Z a-z 0-9 . - _ and percent-encoded octets, the last segment non-empty. A
DID URL is not a DID: no path, query or fragment (/, ?, #), so a
verification-method id such as did:key:z6Mk…#z6Mk… is refused. Compared by exact
string equality — no case folding or percent-decoding. A consumer MUST still treat
the value as data: the pattern keeps shell metacharacters, whitespace and quotes
out of the wire form, but it does not make a DID safe to splice into a command or
markup.
-
Ext
= Map<String, dynamic>
-
Vendor-namespaced extension object per SPEC.md §4.5.1. Each immediate key MUST be a
reverse-DNS namespace; structure under each namespace is opaque to the framework.
-
Resource
= String
-
A forge-qualified resource:
<forge-host>/<owner> for a namespace, or
<forge-host>/<owner>/<repo> for one repository, all lowercase —
github.com/acme, github.com/acme/widgets, codeberg.org/acme. The forge is
never implied: acme/widgets alone is not a resource. Containment is by whole
segment: github.com/acme contains github.com/acme/widgets and does not contain
github.com/acme-labs/x or codeberg.org/acme/widgets.