You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: inc/Abilities/WorkspaceAbilities.php
+56Lines changed: 56 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -456,6 +456,45 @@ private function registerAbilities(): void {
456
456
)
457
457
);
458
458
459
+
AbilityRegistry::register(
460
+
'datamachine-code/workspace-materialize',
461
+
array(
462
+
'label' => 'Materialize Remote Workspace',
463
+
'description' => 'Materialize a registered GitHub API workspace primary or worktree as an authoritative local checkout. Existing local clone, duplicate-remote, freshness, task, and worktree safety policies remain enforced.',
returnnew \WP_Error('remote_workspace_materialization_primary_conflict', sprintf('Workspace primary "%s" does not match the registered remote %s.', $repo_name, $url), array( 'status' => 409 ));
assert_true(1 === count($materialized_targeted['worktrees'] ?? array()), 'materialized workspace is not discoverable by targeted worktree lookup');
298
+
assert_true($workspace_root . '/homeboy@feat-remote-materialization' === ( $materialized_targeted['worktrees'][0]['path'] ?? '' ), 'targeted lookup did not return the materialized local path');
0 commit comments