CHAT_OUTPUT_BEGIN
COMMAND_ID=SUPPORT-260920-PVEPRO-RUSSIAN-PHRASEMAP-RCA-READONLY-734R1
STATUS=FAIL
RC=3
HOST=pve01
MODE=read-only
COMPONENT=pvepro-russian-phrasemap-rca-readonly
REFERENCE_REGISTER_CHECK=OK
REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66
ERROR_REGISTER_CHECK=OK
ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0
COMMAND_SHA256=2f242cfa2a6d517f4d0f9fdf0ec48dfee2af9ff9c6fcc4be246e65ccedda356a
DUPLICATE_FAILED_COMMAND_BLOCKED=false
EXECUTION_STARTED=true
CHANGE_DECLARED=false
RESULT_CONTRACT_VALID=true
RESULT_CONTRACT_STATUS=NOT_APPLICABLE
RESULT_CONTRACT_ERROR=NONE
COMMAND_RC=3
CHANGES_MADE=false
ROLLBACK_STARTED=false
ROLLBACK_RESTORED=null
MUTATION_OUTCOME=NO_MUTATION
SANITIZED=yes
SECRETS_INCLUDED=no
PRIVATE_ADDRESSES_INCLUDED=no
RAW_EVIDENCE_SHA256=1abb77a1d052b591c6866def4087d7d7eea68c86df45779ddf2c310ded383070
SANITIZED_OUTPUT_SHA256=1abb77a1d052b591c6866def4087d7d7eea68c86df45779ddf2c310ded383070
OUTPUT_BEGIN
PROD_STATUS=status: running
STAGE_STATUS=status: stopped
STAGE_NAME=pvepro-staging-v1
STAGE_ALL_LINK_DOWN=true
PROD_NONCURRENT_SNAPSHOT_LINES=0
STAGE_NONCURRENT_SNAPSHOT_LINES=0
ARCHIVE_BYTES=298309
ARCHIVE_SHA256=68e0308b23a30dadd6399032fbef22e09693220a97a602ee6ef8a8c5492bce6b
UNION_AUDIT_TRANSPORT_RC=0
UNION_AUDIT_STDERR_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
UNION_AUDIT_EXITCODE=1
UNION_AUDIT_OUTPUT_BEGIN
ZIP_STDIN_BYTES=298309
ZIP_STDIN_SHA256=68e0308b23a30dadd6399032fbef22e09693220a97a602ee6ef8a8c5492bce6b
ZIP_XML_COUNT=1
XML_BYTES=2240918
XML_SHA256=36e02066e1d3f81827acb009937e79fcecbd686148bbbfe977dfeb3f5b000a63
UNION_AUDIT_OUTPUT_END
EXPECTED_PHRASE_MAP_11194_PROVEN=false
WORKERS2_PRIOR_FORUM_HISTORY=[{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":1786,"text":"- scheduler: /etc/cron.d/forum-xenforo-run-jobs every 5 minutes"},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":1787,"text":"- additional_risk: current runner has no overlap lock"},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":1788,"text":"- correction: pause only this cron entry, back up runner and cron, validate xf:run-jobs help under every xfp user, atomically install per-site runner with flock, add kingofwolk, execute one controlled run, restore scheduler only on PASS"},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":1789,"text":""},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":1790,"text":"## FORUM_XENFORO_JOB_RUNNER_FIX_PASTE_CORRUPTION_20260902"},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":1975,"text":"- exitcode: 1"},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":1976,"text":"- root_cause: SQL used malformed LEFTHEX(execute_data),240) instead of LEFT(HEX(execute_data),240)"},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":1977,"text":"- evidence_before_failure: XenForo xf:run-jobs exposes --manual-only; RunJobs.php passes manual-only to JobManager::runQueue(); languageRebuild was already previously identified as the sole manual job"},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":1978,"text":"- xenforo_data_changed: NO"},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":1979,"text":"- russian_language_state_changed: NO"},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":1980,"text":"- correction: execute the existing languageRebuild through xf:run-jobs --manual-only under the per-site identity and scheduler flock"},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":1981,"text":""},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":1982,"text":"## KOW_RUSSIAN_LANGUAGE_EMPTY_BODY_20260902_CLOSURE"},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":1983,"text":"- status: CLOSED"},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":1984,"text":"- root_cause: XenForo language import queued manual languageRebuild containing PhraseRebuild and TemplateRebuild; Russian language became default before compiled l2/s1 templates were built"},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":1985,"text":"- remediation: ran existing XenForo manual job through xf:run-jobs --manual-only under xfp_kingofwolk with forum job-runner flock"},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":1986,"text":"- russian_language_id: 2"},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":1987,"text":"- russian_language_code: ru-RU"},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3397,"text":""},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3398,"text":"CLOSED | NEWFI_TASK5_XFMG_RU_XML_DIAGNOSTIC_QUOTING_20260905 | Replacement diagnostic used a temporary py_compile-validated Python file and completed successfully; no archive/VM/Git mutation occurred"},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3399,"text":"- RCA update for NEWFI_TASK5_ARCHIVE_CENSUS_FALSE_PASS_20260905: Russian XFMG ZIP contains one real UTF-8 XML entry language-Russian-(RU)-XFMG.xml beginning with <?xml and one macOS AppleDouble metadata entry __MACOSX/._language-Russian-(RU)-XFMG.xml whose bytes are not XML. The corrected archive inspector must exclude __MACOSX paths and basenames beginning ._ before XML parsing; the archive itself is not proven corrupt by this condition."},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3400,"text":""},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3401,"text":"CLOSED | NEWFI_TASK5_ARCHIVE_CENSUS_FALSE_PASS_20260905 | Corrected fail-fast verification accepted all five Task5 archives. XFMG 2.3.11 SHA256=07062ad308ed0da43b9012a520d0723b52d4c9c9faef02663f4f79eeffa48a52 addon_id=XFMG version_id=902031170; XFRM 2.3.11 SHA256=a7ba29ca6179dd0606c9a6e43096cce2e7575444e8d9c44412afb64d5d298c21 addon_id=XFRM version_id=2031170; Core Russian SHA256=68e0308b23a30dadd6399032fbef22e09693220a97a602ee6ef8a8c5492bce6b language_code=ru-RU phrases=11142 addon_id=XF; XFMG Russian SHA256=ca07af8f88131aa3217fcf1efeeacd20f6af3d97937bce45e202a013103aa78b language_code=ru-RU phrases=722 addon_id=XFMG with one ignored __MACOSX AppleDouble metadata entry; XFRM Russian SHA256=ca249fcfc31cd0af5c5a8f1b9bfa7688ae2901eeb7390988d6addc6b5359ea35 language_code=ru-RU phrases=464 addon_id=XFRM. ZIP tests PASS, unsafe paths=0 and symlink entries=0 for all accepted archives. No archive content was modified."},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3402,"text":""},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3403,"text":"## NEWFI_TASK5_LANGUAGE_PRESTATE_SCHEMA_ASSUMPTION_20260905"},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3404,"text":"- Status: OPEN"},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3405,"text":"- Context: Task5 read-only CLI/pre-state audit exited while querying xf_language because SELECT requested a non-existent active column."},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3408,"text":"- Required action: fresh read-only SHOW COLUMNS/information_schema readback for xf_language, corrected language pre-state query using only proven columns, read defaultLanguageId, and capture xf:addon-install --help before any add-on mutation."},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3409,"text":""},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3410,"text":"CLOSED | NEWFI_TASK5_LANGUAGE_PRESTATE_SCHEMA_ASSUMPTION_20260905 | Fresh read-only schema proof confirmed XenForo 2.3.12 xf_language has no active column; corrected pre-state is language_id=1 title=English (US) language_code=en-US and defaultLanguageId=1. Official CLI proof confirmed xf:addon-install accepts an add-on ID or path to an add-on ZIP, while no dedicated language-import CLI command is present. Failed units remained zero; no VM211/XenForo/database/filesystem/Git mutation occurred during RCA."},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3411,"text":""},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3412,"text":"## NEWFI_TASK5_LANGUAGE_IMPORT_SOURCE_PATH_ASSUMPTION_20260905"},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3413,"text":"- Status: OPEN"},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3414,"text":"- Context: read-only XenForo 2.3.12 source audit for the native language-import path returned guest exitcode=1 with no stdout."},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3417,"text":"- Required action: fresh read-only filesystem census under src/XF for Language-related controller/service/import files and exact method locations; do not assume class paths before readback."},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3418,"text":""},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3419,"text":"CLOSED | NEWFI_TASK5_LANGUAGE_IMPORT_SOURCE_PATH_ASSUMPTION_20260905 | Fresh filesystem/source census proved the actual XenForo 2.3.12 controller is /var/www/forums/newfi/public/src/XF/Admin/Controller/LanguageController.php and the native import service is /var/www/forums/newfi/public/src/XF/Service/Language/ImportService.php. The failed read-only audit had assumed Language.php and therefore stopped at its initial test -f under set -e before producing stdout. Source census completed RC0, found actionImport at LanguageController.php:305, ImportService class, and failed units=0. No VM211/XenForo/database/filesystem/Git mutation occurred."},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3420,"text":""},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3421,"text":"## NEWFI_TASK5_PREADDON_ROLLBACK_PIPEFAIL_SIGPIPE_20260905"},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3426,"text":"- Required action: fresh read-only committed-state census of the newest /root/newfi-task5-preaddons-* directory; verify exactly one candidate, gzip/tar integrity, required tar members without early-close pipelines, DB dump completion/table count, metadata, and unchanged XenForo pre-state."},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3427,"text":""},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3428,"text":"CLOSED | NEWFI_TASK5_PREADDON_ROLLBACK_PIPEFAIL_SIGPIPE_20260905 | Fresh committed-state readback proved the existing rollback directory /root/newfi-task5-preaddons-20260904T223005Z is complete and valid: DB gzip and public tar integrity PASS, root:root mode600, required XenForo files present exactly once, dump contains 224 CREATE TABLE statements and one completion marker, live DB remains 224 tables, only XF 2.3.12 is installed, only English (US) language_id=1 exists, defaultLanguageId=1, error log=0, boardActive=0, failed units=0 and system running. Prior exitcode141 was caused only by pipefail plus tar|grep -q SIGPIPE after a successful match; backup creation must not be repeated. DB backup SHA256=19e347e3966a9933305acfdd0ce5fb8480b34ab31e23b2ff47f5a46bb9cf7a1b; public backup SHA256=e6ab5203d3bbfe72089648f3ec36a0c8fae7f7a5292ac7d3893ce8d303f8f29a"},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3429,"text":""},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3430,"text":"## NEWFI_TASK5_XFMG_INSTALL_EARLY_EXIT1_20260905"},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3436,"text":"- Required action: fresh read-only committed-state readback of unzip availability, source ZIP SHA, stage/log/live XFMG paths and metadata, xf_addon XFMG row, addon count, DB table count, languages/defaultLanguageId, error log, boardActive, failed units and system state. Read root-only install log only if it exists."},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3437,"text":""},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3438,"text":"CLOSED | NEWFI_TASK5_XFMG_INSTALL_EARLY_EXIT1_20260905 | Fresh committed-state readback proved the XFMG source ZIP is intact with accepted SHA256, but unzip is absent on VM211. Stage directory, install log, live src/addons/XFMG directory and XFMG xf_addon row are all absent; addon count remains 1, DB tables 224, language count 1, defaultLanguageId=1, error log=0, boardActive=0, manual jobs=0, failed units=0 and system running. Therefore the failed attempt stopped at command -v unzip before any archive extraction, file copy or XenForo installer execution. Minimal correction: use existing Python zipfile for controlled staging instead of installing an additional unzip package."},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3439,"text":""},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3440,"text":"## NEWFI_TASK5_DEFAULT_RUSSIAN_JSON_TAB_VERIFIER_FALSE_FAIL_20260905"},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3441,"text":"- Status: OPEN"},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3442,"text":"- Context: defaultLanguageId mutation returned native XenForo mutation PASS and fresh XenForo runtime readback showed DEFAULT_LANGUAGE_ID=2, boardActive=0, unchanged title/URL, but outer acceptance marker printed NEWFI_TASK5_DEFAULT_RUSSIAN=FAIL."},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3443,"text":"- RCA: the subsequent QGA state was captured as JSON text. Tab-separated MariaDB rows therefore appeared in the outer shell as JSON escape sequences \\t, while verifier expressions searched for real tab/whitespace characters using $'\\t' and [[:space:]]. Those semantic grep gates could not match the JSON-escaped representation."},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3444,"text":"- Proven committed state from the same fresh readback: languages are English (US) id1 and Russian (RU) ru-RU id2; RU phrase count=12328; XF=2.3.12 active, XFMG=2.3.11 active, XFRM=2.3.11 active; error log=0; manual jobs=0; failed units=0; system running; native runtime reports defaultLanguageId=2 and boardActive=0."},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3445,"text":"- Impact: no correction mutation is required and defaultLanguageId must not be written again. Required action is read-only semantic verification using delimiter-safe output such as CONCAT_WS(0x7c,...) and exact PASS gates."},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3446,"text":""},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3447,"text":"CLOSED | NEWFI_TASK5_DEFAULT_RUSSIAN_JSON_TAB_VERIFIER_FALSE_FAIL_20260905 | Delimiter-safe fresh committed-state readback proved defaultLanguageId=2, boardActive=0 with unchanged Newfi Staging title/URL, exactly English id1 and Russian ru-RU id2, RU phrase count=12328, XF 2.3.12 + XFMG 2.3.11 + XFRM 2.3.11 active, DB tables=265, error log=0, manual jobs=0, failed units=0 and system running. Previous FAIL was only an outer JSON tab-escaping verifier defect; defaultLanguageId was not rewritten."},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3448,"text":""},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3449,"text":"## NEWFI_TASK6_XF_OPTION_GROUP_SCHEMA_ASSUMPTION_20260905"},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3692,"text":""},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3693,"text":""},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3694,"text":"## NEWFI_TASK7_NEWFI78_RUSSIAN_TITLE_HEURISTIC_FALSE_NEGATIVE_20260906"},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3695,"text":"- Status: OPEN"},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3696,"text":"- Command: NEWFI78"},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3697,"text":"- Symptom: full isolated restore completed and all substantive application checks passed, but the Russian-language gate tested for the Cyrillic substring \"\u0440\u0443\u0441\" while the installed language title is \"Russian (RU)\"."},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3698,"text":"- Safety: NEWFI78 is reserved and must not be replayed. Prove VM9211 cleanup and identify the authoritative language record before a corrected restore acceptance."},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3699,"text":""},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3700,"text":""},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3705,"text":""},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3706,"text":""},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3707,"text":"## NEWFI_TASK7_NEWFI78_RUSSIAN_TITLE_HEURISTIC_FALSE_NEGATIVE_20260906 CLOSURE"},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3708,"text":"- Status: CLOSED"},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3709,"text":"- RCA: NEWFI78 used a Cyrillic-title substring heuristic for Russian language. The authoritative XenForo record is language_id=2, title=Russian (RU), language_code=ru-RU."},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3710,"text":"- Correction: NEWFI80 gates restored language identity on language_id=2 and language_code=ru-RU, with the exact title recorded as additional evidence. The same SEALED generation was restored successfully and VM9211 was destroyed after validation."},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3711,"text":""},{"path":"HOMELAB_ASSISTANT_ERROR_REGISTER.md","line":3712,"text":""},{"path":"31_HOMELAB_REFERENCE.md","line":2941,"text":"- This generation includes the published KingOfWolk XenForo deployment and corrected six-forum per-site XenForo job scheduler."},{"path":"31_HOMELAB_REFERENCE.md","line":2942,"text":""},{"path":"31_HOMELAB_REFERENCE.md","line":2943,"text":"## KINGOFWOLK_RUSSIAN_LANGUAGE_20260902"},{"path":"31_HOMELAB_REFERENCE.md","line":2944,"text":"- Russian (RU), language_id 2, code ru-RU is installed and is the XenForo default language."},{"path":"31_HOMELAB_REFERENCE.md","line":2945,"text":"- Post-import manual languageRebuild was completed through XenForo xf:run-jobs --manual-only under the per-site identity."},{"path":"31_HOMELAB_REFERENCE.md","line":2946,"text":"- Compiled l2/s1 templates and public Russian rendering were verified."},{"path":"31_HOMELAB_REFERENCE.md","line":2947,"text":""},{"path":"31_HOMELAB_REFERENCE.md","line":3077,"text":"## KINGOFWOLK_FOOTER_BRANDING_20260903"},{"path":"31_HOMELAB_REFERENCE.md","line":3078,"text":"Status: PASS_PUBLIC"},{"path":"31_HOMELAB_REFERENCE.md","line":3079,"text":"Russian language extra_copyright keeps the existing xenForo.Info localization attribution and appends a separate KingOfWolk ownership line."},{"path":"31_HOMELAB_REFERENCE.md","line":3080,"text":"Appended visible branding: copyright 2026 KingOfWolk - official author forum."},{"path":"31_HOMELAB_REFERENCE.md","line":3081,"text":"The XenForo copyright rendering mechanism was not removed or modified."},{"path":"31_HOMELAB_REFERENCE.md","line":3126,"text":"No further smoke resend is required. Preserve both one-time intent markers as anti-repeat evidence."},{"path":"31_HOMELAB_REFERENCE.md","line":3127,"text":""},{"path":"31_HOMELAB_REFERENCE.md","line":3128,"text":"## KINGOFWOLK_DEFAULT_LANGUAGE_RU_20260903"},{"path":"31_HOMELAB_REFERENCE.md","line":3129,"text":"Status: PASS_PUBLIC"},{"path":"31_HOMELAB_REFERENCE.md","line":3130,"text":"defaultLanguageId changed from 1 English (US) to 2 Russian (RU) through the native XenForo Option entity."},{"path":"31_HOMELAB_REFERENCE.md","line":3133,"text":"Anonymous home, registration, terms and privacy pages return HTTP 200 with lang=ru-RU. English Terms and rules / Privacy policy footer labels are absent."},{"path":"31_HOMELAB_REFERENCE.md","line":3134,"text":"Dark default style remains style_id=2 with 33 property overrides. Private 192.168.50.x leak absent. XenForo error max remains 21."},{"path":"31_HOMELAB_REFERENCE.md","line":3135,"text":"Pre-change database backup: /root/kingofwolk-pre-default-language-20260903T050412Z/xf_kingofwolk.sql.gz SHA256 d603fd1fa9ea7d6f75aca6a0d936dc701d8242ecbf714d6e20d91e425ff4644f."},{"path":"31_HOMELAB_REFERENCE.md","line":3136,"text":"Temporary language mutator removed."},{"path":"31_HOMELAB_REFERENCE.md","line":3137,"text":""},{"path":"31_HOMELAB_REFERENCE.md","line":3149,"text":"Status: PASS_COMPLETE"},{"path":"31_HOMELAB_REFERENCE.md","line":3150,"text":"KingOfWolk XenForo technical build is complete."},{"path":"31_HOMELAB_REFERENCE.md","line":3151,"text":"Final state: board active; public default style_id=2 KingOfWolk Dark; default language_id=2 Russian (RU); defaultEmailStyleId=0 resolving to style_id=2; friendly URLs enabled."},{"path":"31_HOMELAB_REFERENCE.md","line":3152,"text":"Structure: 13 nodes, 7 user groups. Dark style: 33 property overrides and 1 template override."},{"path":"31_HOMELAB_REFERENCE.md","line":3153,"text":"Registration is enabled with email confirmation. Terms/privacy pages are public and Russian. Footer branding is complete."}]
NEWFI_EXACT_HISTORY=[{"path":"docs/operations/addons-language.md","line":18,"text":"- Core Russian created `language_id=2`, title `Russian (RU)`, language code `ru-RU` through `XF\\Service\\Language\\ImportService`."},{"path":"docs/operations/addons-language.md","line":20,"text":"- Accepted phrase counts for language 2: XF `11142`, XFMG `722`, XFRM `464`, total `12328`."},{"path":"docs/operations/addons-language.md","line":22,"text":"- `defaultLanguageId` was changed through the XenForo Option repository from `1` to `2` only after all three packs passed acceptance."},{"path":"scripts/verify-addons-language.sh","line":14,"text":"phrase_rows=$(mariadb --defaults-extra-file=/etc/newfi/db.cnf --batch --skip-column-names -e \"SELECT CONCAT_WS(0x7c,addon_id,COUNT(*)) FROM xf_phrase WHERE language_id=2 GROUP BY addon_id ORDER BY addon_id\")"},{"path":"scripts/verify-addons-language.sh","line":19,"text":"phrases=$(mariadb --defaults-extra-file=/etc/newfi/db.cnf --batch --skip-column-names -e \"SELECT COUNT(*) FROM xf_phrase WHERE language_id=2\")"},{"path":"scripts/verify-addons-language.sh","line":25,"text":"expected_phrases=$(printf \"XF|11142\\nXFMG|722\\nXFRM|464\")"},{"path":"scripts/verify-addons-language.sh","line":26,"text":"printf \"ADDON_ROWS_BEGIN\\n%s\\nADDON_ROWS_END\\nLANGUAGE_ROWS_BEGIN\\n%s\\nLANGUAGE_ROWS_END\\nRU_PHRASE_ROWS_BEGIN\\n%s\\nRU_PHRASE_ROWS_END\\nDEFAULT_LANGUAGE_ID=%s\\nRU_PHRASE_COUNT=%s\\nDB_TABLES=%s\\nBOARD_ROW=%s|%s|%s\\nERROR_LOG_COUNT=%s\\nMANUAL_JOB_COUNT=%s\\n\" \"$addon_rows\" \"$language_rows\" \"$phrase_rows\" \"$default_lang\" \"$phrases\" \"$tables\" \"$board\" \"$title\" \"$url\" \"$errors\" \"$manual\""},{"path":"scripts/verify-addons-language.sh","line":29,"text":"test \"$phrase_rows\" = \"$expected_phrases\""},{"path":"scripts/verify-addons-language.sh","line":31,"text":"test \"$phrases\" -eq 12328"},{"path":"deploy/cron/newfi-xenforo-run-jobs.sh","line":4,"text":"LOCK=/run/lock/newfi-xenforo-run-jobs.lock"},{"path":"deploy/cron/newfi-xenforo-run-jobs.sh","line":5,"text":"STATUS=/run/newfi-xenforo-run-jobs.status"},{"path":"deploy/cron/newfi-xenforo-run-jobs.sh","line":11,"text":"timeout 180 runuser -u xfp_newfi -- php8.3 cmd.php xf:run-jobs"},{"path":"docs/operations/xenforo-install.md","line":51,"text":"- Runner: `/root/scripts/newfi-xenforo-run-jobs.sh`, root-owned mode `0700`."},{"path":"docs/operations/xenforo-install.md","line":52,"text":"- Cron entry: `/etc/cron.d/newfi-xenforo-run-jobs`, root-owned mode `0644`."},{"path":"docs/operations/xenforo-install.md","line":54,"text":"- Lock: `/run/lock/newfi-xenforo-run-jobs.lock`."},{"path":"docs/operations/xenforo-install.md","line":55,"text":"- Runner executes `timeout 180 runuser -u xfp_newfi -- php8.3 cmd.php xf:run-jobs`."}]
ROLLBACK_STATE_OK=false
RCA_733_MANUAL_JOB_EXECUTION_WAS_SUCCESSFUL=true
RCA_733_MANUAL_JOB_DISAPPEARED=true
RCA_733_FAILURE_WAS_VERIFIER_EXPECTATION=true
CORRECT_EXPECTED_PHRASE_MAP_LANG2_COUNT=11194
TASK_COMPLETE=true
TASK_RESULT=PVEPRO_RUSSIAN_PHRASEMAP_RCA_PARTIAL
NO_MUTATION=true
HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-260920-PVEPRO-RUSSIAN-PHRASEMAP-RCA-READONLY-734R1","status":"OK","changes_made":false,"rollback_started":false,"rollback_restored":null}

OUTPUT_END
CHAT_OUTPUT_END
