Problem
Homeboy Extensions should not call Data Machine or Data Machine Code publication/workspace abilities directly. WP Codebox owns the sandbox/runner boundary and should expose the runner workspace publication API that abstracts backend internals.
The immediate regression risk came from Extra-Chill/homeboy-extensions#1255, which correctly deleted fallback_pull_request plumbing but replaced it with a direct call to datamachine-code/publish-runner-workspace from Homeboy. That is a cleaner implementation than fallback PR plumbing, but still the wrong seam.
Desired boundary
Homeboy Extensions
-> WP Codebox runner/publication API
-> Data Machine / Data Machine Code / GitHub workspace backend internals
Not:
Homeboy Extensions
-> Data Machine Code ability directly
Required API shape
Expose a WP Codebox-level API for publishing runner-owned workspace changes.
Inputs should include:
- runner workspace handle/path/backend identity
- target repo
- base/head branch context
- commit message
- PR title/body
- optional labels/draft/maintainer flags
- changed paths
- evidence/artifact context
Output should include typed metadata:
- success/failure
- failure type/error
- backend used
- branch/commit metadata
- PR URL/number and reused/opened state
Acceptance criteria
- Homeboy can publish a runner workspace without naming or calling Data Machine / Data Machine Code abilities directly.
- WP Codebox hides whether publication uses DMC, GitHub API workspaces, local git, or another backend.
- Missing publication support returns a typed failure that Homeboy can surface as
write_without_pr.
- Smoke coverage proves the API forwards to the current DMC implementation where available.
Related
Problem
Homeboy Extensions should not call Data Machine or Data Machine Code publication/workspace abilities directly. WP Codebox owns the sandbox/runner boundary and should expose the runner workspace publication API that abstracts backend internals.
The immediate regression risk came from Extra-Chill/homeboy-extensions#1255, which correctly deleted
fallback_pull_requestplumbing but replaced it with a direct call todatamachine-code/publish-runner-workspacefrom Homeboy. That is a cleaner implementation than fallback PR plumbing, but still the wrong seam.Desired boundary
Not:
Required API shape
Expose a WP Codebox-level API for publishing runner-owned workspace changes.
Inputs should include:
Output should include typed metadata:
Acceptance criteria
write_without_pr.Related
datamachine-code/publish-runner-workspacefrom Extra-Chill/homeboy-extensions once this API exists.