{ "task_id": "DEV-000291", "task_revision": 1, "architecture_revision": "ADR-0018", "base_repo_revision": "8c6f23dc491150a747bcc46c26ff04d217d37eba", "risk_tier": "E", "intent": "Record successful authenticated mobile chat acceptance after the responsive overflow fixes.", "requirement_ids": ["authenticated mobile visual acceptance", "current production evidence"], "allowed_change_scope": {"modules": ["project evidence"], "paths": ["dev/ACTIVE_TASK.json", "dev/tasks/DEV-000291-mobile-acceptance-evidence.json", "docs/PROJECT_STATUS.md", "docs/evidence/audit-completion-matrix-2026-08-24-v17.json"]}, "forbidden_change_scope": {"paths": ["architecture/**", "security/**", "database/**", "cmd/**", "deploy/**", "LLM-local/**", "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": ["production Docker revision labels", "authenticated browser viewport evidence"], "may_change": []}, "semantic_owner": "project evidence", "canonical_state": ["none; evidence projection only"], "state_transitions": ["mobile overflow observed -> responsive fix -> authenticated mobile acceptance passed"], "side_effects_and_privileges": ["read-only production checks and browser smoke"], "persistence_and_migrations": ["none"], "failure_retry_restart": ["missing evidence remains an explicit gap"], "assumptions": ["deep authenticated mutation/delegation/long-running acceptance and external model qualification remain deferred by explicit scope"], "acceptance_scenarios": ["390x844 authenticated chat has no horizontal overflow", "session remains active", "production revision matches merged main", "remaining gaps remain explicit"], "required_tests": ["go test ./tests/research_runtime", "go vet ./tests/research_runtime", "preflight", "check-diff", "check-architecture", "independent", "JSON parse", "git diff --check", "CI", "production health smoke", "authenticated mobile smoke"], "terminal_gap_states": ["BLOCKED_BY_SPEC_GAP", "BLOCKED_BY_ARCHITECTURE_GAP", "BLOCKED_BY_MISSING_CAPABILITY"] }