SourceControl class abstract interface

The first Service — WORKSPACE PROVISIONING, abstracted so the engine knows it in CONCEPT, not detail (the git impl ships in the asset pack). Clean + dependency-free so a future genesis-shared home is a move, not a rewrite (designed-to-be-lifted).

It NO LONGER commits/pushes/opens a PR (M5 D-4a): that is DELIVERY detail, and it lives behind the substation's bound DeliveryMethod. The engine knows only "actuate the terminal delivery" — it names no VCS verb beyond "give this work a workspace to happen in".

Properties

baseBranch String
The base branch a land opens its PR against (the substation's default branch — the git impl reads its root checkout's default branch).
no setter
hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

baseShaFor(String beadId) String?
The provision-time commit beadId's workspace started from, or null when the source-control implementation does not know it.
branchFor(String beadId) String
The branch beadId's work is on (the git impl: grid/<beadId>).
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
provisionWorkspace({required String beadId, required String workspaceDir}) Future<void>
Materializes the workspace for beadId at workspaceDir (the git impl cuts a worktree off the root — ADR-0008 D5: "the git worktree is the SourceControl impl's way of provisioning"). The host calls this BEFORE the first process spawns into the workspace. MUST be idempotent: a no-op when workspaceDir already exists (verify/land reuse the agent's workspace) or when provisioning isn't wired (an offline build).
toString() String
A string representation of this object.
inherited
workspaceFor(String beadId) String
The workspace directory the effect runs in for beadId — where the host spawns its process and the land step commits/pushes from. The LAYOUT is the SourceControl's detail, NOT the engine's (ADR-0008 D5 / ADR-0007 §1: the engine's concept is "a workspace"; "one git worktree per bead, built from source" is this impl's opinion). Deterministic + pure (no I/O); provisionWorkspace is what actually creates it.

Operators

operator ==(Object other) bool
The equality operator.
inherited