specs/git_ns/bridge/event/v0_2/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.
-
Response
-
The VTC has recorded the event. Nothing else is returned.
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.
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:
<forge-host>/<owner>/<repo>, lowercase.