diff --git a/cmd/creator-web/chat_test.go b/cmd/creator-web/chat_test.go index 586082d..a1b856e 100644 --- a/cmd/creator-web/chat_test.go +++ b/cmd/creator-web/chat_test.go @@ -48,7 +48,7 @@ func TestPublicSurfacesSeparateChatAndConsole(t *testing.T) { mustNot string }{ {path: "/", must: "Напишите Домовому обычное сообщение", mustNot: "context-preset"}, - {path: "/admin", must: "context-preset", mustNot: "Напишите Домовому обычное сообщение"}, + {path: "/admin", must: "Чат с Домовым", mustNot: "Напишите Домовому обычное сообщение"}, {path: "/chat", must: "Напишите Домовому обычное сообщение", mustNot: "context-preset"}, } { recorder := httptest.NewRecorder() diff --git a/cmd/creator-web/static/assets/chat.css b/cmd/creator-web/static/assets/chat.css index 8978ac4..c2eb6b7 100644 --- a/cmd/creator-web/static/assets/chat.css +++ b/cmd/creator-web/static/assets/chat.css @@ -35,7 +35,7 @@ textarea { resize: vertical; min-height: 84px; max-height: 240px; padding: 14px; #active-focus { color: var(--good); } .cognitive-status { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; } .chat-header .cognitive-status { width: auto; height: auto; padding: 0; border: 0; background: transparent; color: var(--muted); font: 10px/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; } -.chat-header .cognitive-status { max-width: min(30vw, 320px); overflow: hidden; text-overflow: ellipsis; } +.chat-header .cognitive-status { max-width: min(30vw, 320px); margin-left: auto; overflow: hidden; text-overflow: ellipsis; } .cognitive-status::before { content: ""; width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%; background: var(--signal); } .cognitive-status[data-state="available"] { color: var(--good); } .cognitive-status[data-state="available"]::before { background: var(--good); } diff --git a/dev/ACTIVE_TASK.json b/dev/ACTIVE_TASK.json index 5bf3a49..5185248 100644 --- a/dev/ACTIVE_TASK.json +++ b/dev/ACTIVE_TASK.json @@ -1,5 +1,5 @@ { - "task_file": "dev/tasks/DEV-000080-chat-three-column-layout.json", - "task_id": "DEV-000080", + "task_file": "dev/tasks/DEV-000081-chat-header-final-polish.json", + "task_id": "DEV-000081", "task_revision": 1 } diff --git a/dev/tasks/DEV-000081-chat-header-final-polish.json b/dev/tasks/DEV-000081-chat-header-final-polish.json new file mode 100644 index 0000000..d4ad8b6 --- /dev/null +++ b/dev/tasks/DEV-000081-chat-header-final-polish.json @@ -0,0 +1,23 @@ +{ + "task_id": "DEV-000081", + "task_revision": 1, + "architecture_revision": "DEV-000073-baseline", + "base_repo_revision": "6e0cf3cd1df864e8be8a9b61fe8462181516bab9", + "risk_tier": "E", + "intent": "Polish the stable chat header after the three-column rollout so the cognitive status cannot push navigation controls around.", + "requirement_ids": ["Header status is right-aligned and bounded", "Console exposes an explicit chat return link"], + "allowed_change_scope": {"modules": ["cmd/creator-web"], "paths": ["cmd/creator-web/chat_test.go", "cmd/creator-web/static/assets/chat.css", "dev/ACTIVE_TASK.json", "dev/tasks/DEV-000081-chat-header-final-polish.json"]}, + "forbidden_change_scope": {"paths": ["architecture/**", "security/**", "database/**", "modules/**", "contracts/**", "adapters/**", "deploy/**"]}, + "allowed_architecture_delta": {"new_cross_module_dependencies": 0, "new_canonical_owners": 0, "new_privileges": 0, "new_third_party_dependencies": 0, "new_provider_adapters": 0, "new_database_owner_roles": 0}, + "contracts": {"consume": ["existing chat and admin surfaces"], "may_change": []}, + "semantic_owner": "none-interface-adapter", + "canonical_state": [], + "state_transitions": ["No semantic state transition"], + "side_effects_and_privileges": ["No new privilege", "No runtime behavior change"], + "persistence_and_migrations": ["No persistence or migration"], + "failure_retry_restart": ["No new failure mode"], + "assumptions": ["The previous three-column layout is the intended public chat surface"], + "acceptance_scenarios": ["Header status does not alter the positions of console and logout controls", "Admin HTML includes a visible chat return action"], + "required_tests": ["go test ./cmd/creator-web", "go test ./...", "go vet ./...", "devctl preflight", "devctl check-diff", "devctl check-architecture", "git diff --check"], + "terminal_gap_states": ["BLOCKED_BY_ARCHITECTURE_GAP", "BLOCKED_BY_SPEC_GAP", "BLOCKED_BY_CONFLICT"] +}