specs/git_ns/namespace/bind/v0_1/payload
library
Classes
-
GitNamespace
-
The VTC's binding to one owner on one forge.
-
Payload
-
A VTC administrator binds the VTC to one owner on one forge, so that the VTC
governs who may create, own, maintain and commit to repositories under it. In
bridge mode the response says where to send the forge owner to prove control; the
namespace stays
pending until that proof arrives.
-
Response
-
The namespace as recorded, and where to go next if it is still pending.
-
ResponseNext
-
Present when the namespace is
pending: where the administrator goes to prove
control of the forge owner (install the community's forge app, or sign in to the
forge and authorise the bridge).
Extension Types
-
GitNamespaceKind
-
Whether the owner is an organisation or a personal account, as the forge reports
it. Present once known: a bridge-mode namespace learns it when binding completes,
and a manual-mode namespace MAY never learn it.
-
GitNamespaceMode
-
bridge — a bridge service acts on the forge for this namespace (creates
repositories, projects roles, reports drift). manual — no automation; people with
forge access carry out the steps the VTC names, and the VTC governs the rights
alone.
-
GitNamespaceState
-
pending — binding has started and the forge-side proof has not arrived yet.
bound — the VTC governs rights under this namespace.
-
PayloadMode
-
bridge — a bridge service serving this forge proves control and then acts on the
forge. manual — no automation; the binding admin declares the namespace and
people with forge access carry out the forge-side steps.
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.
-
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.
-
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.
-
Segment
= String
-
One lowercased owner or repository name. Forges compare these case-insensitively,
so the wire form is always lowercase and a producer lowercases before sending. A
leading
. is refused, which rules out . and ...