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
beadIdatworkspaceDir(the git impl cuts a worktree off the root — ADR-0008 D5: "the git worktree is theSourceControlimpl's way of provisioning"). The host calls this BEFORE the first process spawns into the workspace. MUST be idempotent: a no-op whenworkspaceDiralready 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