docs(claude): refine A4 live-test rule (pipeline-bypass is the line, not API-vs-UI)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-15 10:07:40 +02:00
parent 38eca37a5d
commit 2687843a83
+1 -1
View File
@@ -62,7 +62,7 @@ All shippable work commits **directly to `main`**; `main` is always equal to wha
## Live validation
Live validation of a user-facing feature must exercise the real UI/user flow end-to-end (e.g. connect → enroll → deploy), not shortcut via direct API/agent/CLI calls — a shortcut can give false confidence and leave the system inconsistent (see the F9 storage episode). Low-level mechanism tests where the direct call IS the mechanism are exempt.
Live validation of a user-facing feature must exercise the SERVER-SIDE PIPELINE a real user triggers, end-to-end (e.g. connect → enroll → deploy). The forbidden shortcut is BYPASSING that pipeline — e.g. raw agent guest-attach + hand-set state instead of the enrollment flow (the F9 episode) — which gives false confidence and leaves the system inconsistent. INVOKING THE EXACT ENDPOINT THE UI INVOKES — so the full server pipeline (gates, env injection, pre-create belts, compose generation) runs — is an ACCEPTABLE proxy when a browser-automation tool isn't available: it differs fundamentally from the F9 bypass because no server logic is skipped, only the browser rendering. The residual that proxy does NOT cover is purely client-side (progress panels, card/health rendering, client-side guards like checkBeforeDeploy); for strict end-to-end UI coverage use a real browser tool or a manual click-through — and SAY which was used. Low-level mechanism tests where the direct call IS the mechanism remain exempt.
**Browser automation is available** for that real-UI validation: the Claude Code↔Chrome bridge
(`claude-in-chrome`) is installed, so CC can drive the dashboard / FileBrowser / app admin UIs at