From 7c4981ea093be26e3ca0f9fad0f8093609214ed1 Mon Sep 17 00:00:00 2001 From: Mikhail Date: Sun, 23 Aug 2026 22:10:31 +0300 Subject: [PATCH] test(creator-web): guard responsive console layout --- cmd/creator-web/responsive_test.go | 34 +++++++++++++++++++ dev/ACTIVE_TASK.json | 4 +-- ...8-responsive-console-regression-guard.json | 23 +++++++++++++ 3 files changed, 59 insertions(+), 2 deletions(-) create mode 100644 cmd/creator-web/responsive_test.go create mode 100644 dev/tasks/DEV-000258-responsive-console-regression-guard.json diff --git a/cmd/creator-web/responsive_test.go b/cmd/creator-web/responsive_test.go new file mode 100644 index 0000000..e908246 --- /dev/null +++ b/cmd/creator-web/responsive_test.go @@ -0,0 +1,34 @@ +package main + +import ( + "strings" + "testing" +) + +func TestCreatorConsoleResponsiveGuardrails(t *testing.T) { + html, err := staticFiles.ReadFile("static/index.html") + if err != nil { + t.Fatal(err) + } + if !strings.Contains(string(html), ``) { + t.Fatal("creator console is missing responsive viewport metadata") + } + css, err := staticFiles.ReadFile("static/assets/console.css") + if err != nil { + t.Fatal(err) + } + stylesheet := string(css) + for _, guard := range []string{ + "@media (max-width: 680px)", + ".console { display: block; }", + ".diagnostic-list { grid-template-columns: 1fr; }", + ".agent-details { grid-template-columns: 1fr; gap: 14px; }", + ".fleet-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }", + ".section-nav { display: flex;", + "overflow-x: auto", + } { + if !strings.Contains(stylesheet, guard) { + t.Fatalf("responsive guardrail missing: %s", guard) + } + } +} diff --git a/dev/ACTIVE_TASK.json b/dev/ACTIVE_TASK.json index a881a64..f4a310d 100644 --- a/dev/ACTIVE_TASK.json +++ b/dev/ACTIVE_TASK.json @@ -1,5 +1,5 @@ { - "task_file": "dev/tasks/DEV-000257-operations-acceptance-fast-smoke.json", - "task_id": "DEV-000257", + "task_file": "dev/tasks/DEV-000258-responsive-console-regression-guard.json", + "task_id": "DEV-000258", "task_revision": 1 } diff --git a/dev/tasks/DEV-000258-responsive-console-regression-guard.json b/dev/tasks/DEV-000258-responsive-console-regression-guard.json new file mode 100644 index 0000000..f92a21b --- /dev/null +++ b/dev/tasks/DEV-000258-responsive-console-regression-guard.json @@ -0,0 +1,23 @@ +{ + "task_id": "DEV-000258", + "task_revision": 1, + "architecture_revision": "ADR-0018", + "base_repo_revision": "5e8286695f0da3f3819cdc17ced6525237512e6e", + "risk_tier": "E", + "intent": "Add a fast static responsive regression guard for the authenticated Creator console while retaining the requirement for real mobile visual acceptance.", + "requirement_ids": ["UI responsive safety", "authenticated console acceptance"], + "allowed_change_scope": {"modules": ["creator-web"], "paths": ["cmd/creator-web/responsive_test.go", "dev/ACTIVE_TASK.json", "dev/tasks/DEV-000258-responsive-console-regression-guard.json"]}, + "forbidden_change_scope": {"paths": ["architecture/**", "security/**", "database/**", "deploy/**", "contracts/**", "LLM-local/**", "cmd/core-runtime/**", "modules/**", "adapters/**"]}, + "allowed_architecture_delta": {"new_cross_module_dependencies": 0, "new_canonical_owners": 0, "new_privileges": 0, "new_third_party_dependencies": 0, "new_database_owner_roles": 0}, + "contracts": {"consume": ["embedded Creator console HTML/CSS"], "may_change": ["tests only"]}, + "semantic_owner": "Creator Web presentation tests", + "canonical_state": ["none"], + "state_transitions": ["none"], + "side_effects_and_privileges": ["test-only static inspection"], + "persistence_and_migrations": ["none"], + "failure_retry_restart": ["test fails when responsive guardrails disappear"], + "assumptions": ["static guard is not a substitute for browser visual acceptance; real mobile viewport evidence remains required when browser capability exists"], + "acceptance_scenarios": ["viewport metadata exists", "mobile media block exists", "key panels collapse to safe single-column layouts", "only section navigation owns horizontal scrolling"], + "required_tests": ["go test ./cmd/creator-web", "go vet ./cmd/creator-web", "independent evidence review", "go run ./cmd/devctl preflight -active dev/ACTIVE_TASK.json", "go run ./cmd/devctl check-diff -active dev/ACTIVE_TASK.json", "go run ./cmd/devctl check-architecture", "git diff --check", "CI", "production health smoke"], + "terminal_gap_states": ["BLOCKED_BY_MISSING_CAPABILITY", "BLOCKED_BY_SPEC_GAP"] +} -- 2.54.0