From 05313137893632d89ad07e5bfed8bee6215bf504 Mon Sep 17 00:00:00 2001 From: Tom Boucher Date: Sun, 17 May 2026 00:24:20 -0400 Subject: [PATCH] docs(3663): update surface.md runbook to layout-passing applySurface signature Replace bare applySurface(runtimeConfigDir, commandsDir, agentsDir, ...) calls in profile/disable/enable sections with resolveRuntimeArtifactLayout + applySurface(runtimeConfigDir, layout, ...) pair. Co-Authored-By: Claude Sonnet 4.6 --- commands/gsd/surface.md | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/commands/gsd/surface.md b/commands/gsd/surface.md index 1da042762..2d329b69d 100644 --- a/commands/gsd/surface.md +++ b/commands/gsd/surface.md @@ -64,7 +64,11 @@ Install profile: standard (from .gsd-profile) 1. Read current surface: `readSurface(runtimeConfigDir)` → if null, seed from `readActiveProfile(runtimeConfigDir)`. 2. Set `surfaceState.baseProfile = name`. 3. `writeSurface(runtimeConfigDir, surfaceState)`. -4. Resolve and re-apply: `applySurface(runtimeConfigDir, commandsDir, agentsDir, manifest, CLUSTERS)`. +4. Resolve and re-apply: + ```js + const layout = resolveRuntimeArtifactLayout(runtime, runtimeConfigDir, scope); + applySurface(runtimeConfigDir, layout, manifest, CLUSTERS); + ``` 5. Confirm: "Surface updated to profile ``. N skills enabled." --- @@ -77,7 +81,11 @@ Valid cluster names: `core_loop`, `audit_review`, `milestone`, `research_ideate` 1. Validate cluster name against `Object.keys(CLUSTERS)`. 2. Read or initialize surface state. 3. Add cluster to `surfaceState.disabledClusters` (deduplicate). -4. `writeSurface` → `applySurface`. +4. `writeSurface` → resolve layout → `applySurface`: + ```js + const layout = resolveRuntimeArtifactLayout(runtime, runtimeConfigDir, scope); + applySurface(runtimeConfigDir, layout, manifest, CLUSTERS); + ``` 5. Confirm: "Disabled cluster ``. N skills removed from surface." --- @@ -86,7 +94,11 @@ Valid cluster names: `core_loop`, `audit_review`, `milestone`, `research_ideate` 1. Read surface state; if null, nothing to enable — print "No surface delta active." 2. Remove cluster from `surfaceState.disabledClusters`. -3. `writeSurface` → `applySurface`. +3. `writeSurface` → resolve layout → `applySurface`: + ```js + const layout = resolveRuntimeArtifactLayout(runtime, runtimeConfigDir, scope); + applySurface(runtimeConfigDir, layout, manifest, CLUSTERS); + ``` 4. Confirm: "Enabled cluster ``. N skills added back to surface." ---