diff --git a/BOOTSTRAP.md b/BOOTSTRAP.md
index 87bf1fd..0b1c91d 100644
--- a/BOOTSTRAP.md
+++ b/BOOTSTRAP.md
@@ -85,7 +85,7 @@ Optional but recommended:
|-------|---------|
| `tech-debt` | Gardener can promote these to `backlog` |
| `blocked` | Dev-agent marks issues with unmet dependencies |
-| `formula` | *(requires `feat/formula` merge)* Dev-agent uses a structured TOML formula instead of freeform. Issue body must include YAML front matter, e.g.:
`---`
`formula: upgrade-dependency`
`vars:`
` package: viem`
` ecosystem: npm`
`---` |
+| `formula` | **Not yet functional.** Formula dispatch lives on the unmerged `feat/formula` branch. Dev-agent will skip any issue with this label until that branch is merged. Template files exist in `formulas/` for future use. |
### Required: Branch protection
diff --git a/dev/dev-agent.sh b/dev/dev-agent.sh
index f5bd5be..14ad448 100755
--- a/dev/dev-agent.sh
+++ b/dev/dev-agent.sh
@@ -383,6 +383,17 @@ fi
log "Issue: ${ISSUE_TITLE}"
+# =============================================================================
+# GUARD: Reject formula-labeled issues (feat/formula not yet merged)
+# =============================================================================
+ISSUE_LABELS=$(echo "$ISSUE_JSON" | jq -r '[.labels[].name] | join(",")') || true
+if echo "$ISSUE_LABELS" | grep -qw 'formula'; then
+ log "SKIP: issue #${ISSUE} has 'formula' label but formula dispatch is not yet implemented (feat/formula branch not merged)"
+ notify "issue #${ISSUE} skipped — formula label requires feat/formula branch (not yet merged to main)"
+ echo '{"status":"unmet_dependency","blocked_by":"formula dispatch not implemented — feat/formula branch not merged to main","suggestion":null}' > "$PREFLIGHT_RESULT"
+ exit 0
+fi
+
# =============================================================================
# PREFLIGHT: Check dependencies before doing any work
# =============================================================================