diff --git a/shared/i18n/artifacts/lobby-mvp-keyspace-parity-report.v1.json b/shared/i18n/artifacts/lobby-mvp-keyspace-parity-report.v1.json index 503bb44..7ad6e7f 100644 --- a/shared/i18n/artifacts/lobby-mvp-keyspace-parity-report.v1.json +++ b/shared/i18n/artifacts/lobby-mvp-keyspace-parity-report.v1.json @@ -4,7 +4,7 @@ "naming_version_rule": "Keep a stable artifact_name and append only explicit schema-major suffixes to the filename/version (v1, v2, ...). Update artifact_version only when the report shape changes; refresh content in-place for catalog/keyspace changes.", "source_of_truth": { "catalog": "shared/i18n/lobby.json", - "catalog_sha256": "e3ed39f2fa25622c01b450bd14fd4da5fc7f96c0d9635bb819f73cae14203beb", + "catalog_sha256": "d9f7227bddd007f2c56f33dfd0015bcffb3b60c52dc756126a02b7e4de638adb", "source_paths": [ "lobby/views.py", "frontend/src/spa/vertical-slice.ts", @@ -24,28 +24,7 @@ }, "parity": { "status": "pass", - "django_backend_error_codes_used_by_mvp": [ - "category_has_no_questions", - "category_not_found", - "category_slug_required", - "host_only_mix_answers", - "host_only_show_question", - "host_only_start_round", - "mix_answers_invalid_phase", - "nickname_invalid", - "nickname_taken", - "no_available_questions", - "not_enough_answers_to_mix", - "question_already_shown", - "round_already_configured", - "round_config_missing", - "round_question_not_found", - "round_start_invalid_phase", - "session_code_required", - "session_not_found", - "session_not_joinable", - "show_question_invalid_phase" - ], + "django_backend_error_codes_used_by_mvp": [], "angular_frontend_error_fallback_keys_used_by_mvp": [ "join_failed", "session_code_required", @@ -158,36 +137,8 @@ "player.submit_lie", "player.title" ], - "backend_codes_mapped_to_frontend_error_keys": { - "category_has_no_questions": "start_round_failed", - "category_not_found": "start_round_failed", - "category_slug_required": "start_round_failed", - "host_only_mix_answers": "start_round_failed", - "host_only_show_question": "start_round_failed", - "host_only_start_round": "start_round_failed", - "mix_answers_invalid_phase": "start_round_failed", - "nickname_invalid": "nickname_invalid", - "nickname_taken": "nickname_taken", - "no_available_questions": "start_round_failed", - "not_enough_answers_to_mix": "start_round_failed", - "question_already_shown": "start_round_failed", - "round_already_configured": "start_round_failed", - "round_config_missing": "start_round_failed", - "round_question_not_found": "start_round_failed", - "round_start_invalid_phase": "start_round_failed", - "session_code_required": "session_code_required", - "session_not_found": "session_not_found", - "session_not_joinable": "join_failed", - "show_question_invalid_phase": "start_round_failed" - }, - "unique_frontend_error_keys_reached_from_django": [ - "join_failed", - "nickname_invalid", - "nickname_taken", - "session_code_required", - "session_not_found", - "start_round_failed" - ], + "backend_codes_mapped_to_frontend_error_keys": {}, + "unique_frontend_error_keys_reached_from_django": [], "blocking_issues": { "missing_backend_codes": [], "missing_backend_translations": [], @@ -201,11 +152,6 @@ "priority": "need-to-have", "item": "Either add missing backend/error_codes + backend/errors entries for dead contract aliases or remove them from contract.backend_to_frontend_error_keys.", "evidence": "host_only_action" - }, - { - "priority": "nice-to-have", - "item": "Decide whether grouped backend codes should keep collapsing into one Angular fallback key or be split into more specific frontend error copy as UX matures.", - "evidence": "start_round_failed <= category_has_no_questions, category_not_found, category_slug_required, host_only_mix_answers, host_only_show_question, host_only_start_round, mix_answers_invalid_phase, no_available_questions, not_enough_answers_to_mix, question_already_shown, round_already_configured, round_config_missing, round_question_not_found, round_start_invalid_phase, show_question_invalid_phase" } ] }