specs/git_ns/bridge/event/v0_3/payload library

Classes

DriftItem
One difference between the forge's observed state and the VTC's projection of a repository.
ForgeAccount
A person's account on one forge. id is authoritative; login is for display only, because logins can be renamed and re-registered.
Payload
The bridge tells the VTC something happened on the forge — translated from the forge's webhook or found by an inspection sweep — together with any drift it now sees; or reports the role map it projects with.
Response
The VTC has recorded the event. Nothing else is returned.
RoleMap
The forge role each repository right is given, as the forge applies it: after the forge's own ladder has rounded it down. own is the role git.repo.own projects to, maintain that of git.repo.maintain, commit that of git.commit.sign (none is fork-based contribution). There is no member for git.ns.admin or git.repo.create, which project to no forge role whatever a bridge is configured with. Ordered: own is at least maintain, which is at least commit, and commit is at most write.

Extension Types

DriftItemType
roleAdded — someone holds a forge role the projection does not give them. roleRemoved — a projected role is missing. roleChanged — a projected role is present at another level. requiredCheckMissing — the verify-trust check is no longer required. protectionWeakened — branch protection or a ruleset is weaker than the projection in another way (force-push allowed, bypass actors added). bootstrapMissing — a bootstrap file or variable is gone.
MappedRole
A level of the bridge's forge-neutral role ladder, lowest first: the vocabulary role drift's observed and expected are reported in. none is no direct role on the repository.

Constants

payloadSchemaJson → const String
This specification's payload schema, as JSON text.
responsePayloadSchemaJson → const String
As payloadSchemaJson, for the success-response variant.
responseSpec → const SpecPolicy
The SPEC §7.2 policy for the success-response variant.
responseTypeUri → const String
The success-response form of typeUri (SPEC §4.4.1).
spec → const SpecPolicy
The SPEC §7.2 policy for the request variant, taken from this specification's front matter.
typeUri → const String
The Trust Task type URI this library's Payload is carried under.

Typedefs

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.
ForgeEvent = Map<String, dynamic>
One forge-neutral event, discriminated by type. The specification's event table says what each type means and what the VTC does with it.
ForgeHost = String
The lowercased DNS host of a forge: github.com, a GitHub Enterprise Server host, codeberg.org, or a self-hosted Forgejo instance such as git.example.org. No scheme, no port, no path. The host is a segment of every resource, so a right never crosses forges.
ForgeId = String
An identifier the forge itself assigns — a repository id, a user or organisation id — carried as a string so a forge whose ids are not numbers needs no new version. GitHub and Forgejo ids are decimal integers written as strings ("812736451"). Unlike a name, it survives renames and transfers, which is why rights and bindings are keyed by it.
ForgeRole = String
A role in the forge's own vocabulary (maintain, write).
JobId = String
The VTC's identifier for a job, unique across the VTC's jobs.
NamespaceId = String
The VTC's opaque identifier for a namespace, assigned when it is bound. Stable for the life of the binding; never reused for another binding.
RepoResource = String
A forge-qualified resource naming exactly one repository: &lt;forge-host&gt;/&lt;owner&gt;/&lt;repo&gt;, lowercase.