From ec24b54dd79a2ffcf19f7ddbec57d2c1aff9ab9a Mon Sep 17 00:00:00 2001 From: Chris Huber Date: Sun, 20 Sep 2026 12:22:42 -0400 Subject: [PATCH] fix: write generated guidance as positive instructions Tell agents to use installed WordPress as reference material and to edit configured checkouts. Keep Homeboy as the owner of tracked work and route authorized fallback through documented help, isolated worktrees, and retained evidence. --- guidance/homeboy.sh | 4 ++-- guidance/wordpress-source.workspace.sh | 6 +++--- tests/source-mode.sh | 2 +- tests/workspace-installation.sh | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/guidance/homeboy.sh b/guidance/homeboy.sh index 49aa090..ace83bd 100644 --- a/guidance/homeboy.sh +++ b/guidance/homeboy.sh @@ -163,11 +163,11 @@ Run `homeboy release` or `homeboy deploy` only when the user explicitly asks. **Control-plane recovery** Homeboy remains the normal owner of tracked coding work. When Cook cannot admit or run a task: 1. Validate the selected route with `homeboy agent-task cook --preview` using the task's repository, tracker URL, and verification gates. -2. Check `homeboy agent-task providers`, `homeboy status`, and `homeboy runner status`. Use `homeboy agent-task cook --help-full` for the exact configured alternative-route syntax; do not guess provider or runner flags. +2. Check `homeboy agent-task providers`, `homeboy status`, and `homeboy runner status`. Use `homeboy agent-task cook --help-full` for the exact configured alternative-route syntax. 3. Recover an unavailable runner or control-plane service through its documented Homeboy operation, then retry Cook within its configured attempt and provider-rotation budget. 4. After that bounded recovery fails, stop and request explicit operator authorization before invoking a coding runtime directly. -An authorized direct fallback is an exception, not a replacement for Homeboy. Work in an isolated Git worktree linked to the tracker; run and record deterministic verification; then follow the normal commit, push, review, pull-request, and AI-disclosure policy. Record that finalization occurred outside Homeboy and retain the direct runtime command plus session or run evidence with the tracker. +After authorization, complete that fallback in an isolated Git worktree linked to the tracker; run and record deterministic verification; then follow the normal commit, push, review, pull-request, and AI-disclosure policy. Record that finalization occurred outside Homeboy and retain the direct runtime command plus session or run evidence with the tracker. Resume subsequent tracked coding work through Homeboy. **Discovery** Use `homeboy --help` and `homeboy --help` for the live command contract. Inspect active configuration with `homeboy config show` and provider readiness with `homeboy agent-task providers`. diff --git a/guidance/wordpress-source.workspace.sh b/guidance/wordpress-source.workspace.sh index 1b1e9a9..c2379be 100644 --- a/guidance/wordpress-source.workspace.sh +++ b/guidance/wordpress-source.workspace.sh @@ -12,13 +12,13 @@ guidance_id() { printf 'wordpress-source'; } guidance_priority() { printf '1'; } guidance_label() { printf 'WordPress Source'; } -guidance_description() { printf 'Points the agent at the installed WordPress source as read-only reference.'; } +guidance_description() { printf 'Points the agent at the installed WordPress source as reference material.'; } guidance_freshness() { printf 'static'; } guidance_conditions() { printf 'Registered by wp-coding-agents on workspace-mode installations.'; } guidance_render() { cat <<'MD' -## WordPress Source (Direct Reference, Read-Only) +## WordPress Source (Direct Reference) The WordPress running this site is on disk underneath you. Read it to verify core APIs, hooks, conventions, and runtime behavior instead of relying on assumptions: @@ -28,7 +28,7 @@ The WordPress running this site is on disk underneath you. Read it to verify cor Grep and read these freely. They are the ground truth for how this site actually behaves. -These paths are **read-only reference**. Make code changes in the configured repository checkout, not in the installed source tree. +Use these paths as reference material. Make code changes in the configured repository checkout. MD local repository diff --git a/tests/source-mode.sh b/tests/source-mode.sh index 939b3e4..b3e57ec 100755 --- a/tests/source-mode.sh +++ b/tests/source-mode.sh @@ -393,7 +393,7 @@ SOURCE_MODE=workspace ENG_PROSE="$(guidance_call wordpress-source render)" assert_eq "$(guidance_call wordpress-source id)" "wordpress-source" \ "section id is stable across postures" -assert_contains "$ENG_PROSE" "read-only" "workspace mode prose says read-only" +assert_contains "$ENG_PROSE" "reference material" "workspace mode prose treats installed source as reference" assert_contains "$ENG_PROSE" "configured repository checkout" "workspace mode prose routes changes to the configured repository" SOURCE_MODE=owned diff --git a/tests/workspace-installation.sh b/tests/workspace-installation.sh index afff7c0..b45b95d 100644 --- a/tests/workspace-installation.sh +++ b/tests/workspace-installation.sh @@ -71,7 +71,7 @@ PY source "$ROOT/guidance/wordpress-source.workspace.sh" GUIDANCE="$(guidance_render)" -case "$GUIDANCE" in *"read-only reference"*"$REPOSITORY"*) ;; *) fail "workspace guidance did not route to the declared repository" ;; esac +case "$GUIDANCE" in *"configured repository checkout"*"$REPOSITORY"*) ;; *) fail "workspace guidance did not route to the declared repository" ;; esac printf 'changed\n' >> "$REPOSITORY/plugin.php" git -C "$REPOSITORY" status --short | grep -q ' M plugin.php' || fail "native Git status did not observe the edit"