# MB-X session restore scripts Generated by `mbx session restore-script generate`. ## Scope These scripts are registry-aware wrappers around MB-X CLI. They intentionally do **not** hardcode provider_session_id/thread_id. Runtime session ids are read from the current MB-X workspace/project configuration when the script runs. App-server URL: `ws://127.0.0.1:4570` Targets: - `project.admin` -> `open-project-admin.bat` / `restore-project-admin.bat` - `case_analysis.analyst` -> `open-case-analysis-analyst.bat` / `restore-case-analysis-analyst.bat` - `experiment.reviewer` -> `open-experiment-reviewer.bat` / `restore-experiment-reviewer.bat` - `case_analysis.reviewer` -> `open-case-analysis-reviewer.bat` / `restore-case-analysis-reviewer.bat` - `experiment.experimenter` -> `open-experiment-experimenter.bat` / `restore-experiment-experimenter.bat` - `dev.developer.ana` -> `open-dev-developer-ana.bat` / `restore-dev-developer-ana.bat` - `dev.reviewer.ana` -> `open-dev-reviewer-ana.bat` / `restore-dev-reviewer-ana.bat` - `dev.developer.exp` -> `open-dev-developer-exp.bat` / `restore-dev-developer-exp.bat` - `dev.reviewer.exp` -> `open-dev-reviewer-exp.bat` / `restore-dev-reviewer-exp.bat` - `case_analysis.analyst.cai` -> `open-case-analysis-analyst-cai.bat` / `restore-case-analysis-analyst-cai.bat` - `experiment.experimenter.cai` -> `open-experiment-experimenter-cai.bat` / `restore-experiment-experimenter-cai.bat` - `case_analysis.reviewer.cai` -> `open-case-analysis-reviewer-cai.bat` / `restore-case-analysis-reviewer-cai.bat` - `experiment.reviewer.cai` -> `open-experiment-reviewer-cai.bat` / `restore-experiment-reviewer-cai.bat` - `dev.developer.ana.cai` -> `open-dev-developer-ana-cai.bat` / `restore-dev-developer-ana-cai.bat` - `dev.developer.exp.cai` -> `open-dev-developer-exp-cai.bat` / `restore-dev-developer-exp-cai.bat` - `dev.reviewer.ana.cai` -> `open-dev-reviewer-ana-cai.bat` / `restore-dev-reviewer-ana-cai.bat` - `dev.reviewer.exp.cai` -> `open-dev-reviewer-exp-cai.bat` / `restore-dev-reviewer-exp-cai.bat` - `case_analysis.report_collector` -> `open-case-analysis-report-collector.bat` / `restore-case-analysis-report-collector.bat` - `dev.developer.project` -> `open-dev-developer-project.bat` / `restore-dev-developer-project.bat` - `dev.reviewer.project` -> `open-dev-reviewer-project.bat` / `restore-dev-reviewer-project.bat` - `case_analysis.media_processor` -> `open-case-analysis-media-processor.bat` / `restore-case-analysis-media-processor.bat` - `case_analysis.analyst.defense` -> `open-case-analysis-analyst-defense.bat` / `restore-case-analysis-analyst-defense.bat` - `case_analysis.reviewer.defense` -> `open-case-analysis-reviewer-defense.bat` / `restore-case-analysis-reviewer-defense.bat` - `case_analysis.meeting_minutes_processor` -> `open-case-analysis-meeting-minutes-processor.bat` / `restore-case-analysis-meeting-minutes-processor.bat` ## Managed Session Reuse Multiple role ids can intentionally point to the same managed Codex window. Running any role wrapper in the same group opens or restores that same registered thread. - `project-info.infoadmin`: `project.admin` - `project-info.laoyan`: `case_analysis.analyst`, `experiment.experimenter`, `dev.developer.ana`, `dev.developer.exp` - `project-info.laoshen`: `experiment.reviewer`, `case_analysis.reviewer`, `dev.reviewer.ana`, `dev.reviewer.exp` - `project-info.laoyan-cai`: `case_analysis.analyst.cai`, `experiment.experimenter.cai`, `dev.developer.ana.cai`, `dev.developer.exp.cai` - `project-info.laoshen-cai`: `case_analysis.reviewer.cai`, `experiment.reviewer.cai`, `dev.reviewer.ana.cai`, `dev.reviewer.exp.cai` - `project-info.yanbao-collector`: `case_analysis.report_collector` - `project-info.infodev`: `dev.developer.project` - `project-info.inforev`: `dev.reviewer.project` - `project-info.media-processor`: `case_analysis.media_processor` - `project-info.junyan`: `case_analysis.analyst.defense` - `project-info.junshen`: `case_analysis.reviewer.defense` - `project-info.meeting-minutes`: `case_analysis.meeting_minutes_processor` ## Usage 1. Run `00-start-codex-app-server-4570.bat` if the Codex app-server is not running. 2. The scripts preflight both `python` and Codex CLI (`codex.cmd` / `codex.exe` / `codex`) in the same cmd/BAT PATH used to launch the wrapper. If Codex is missing, fix PATH or set the workspace provider command to an absolute executable path before retrying. 3. The role wrappers run `mbx session terminal-diagnose` before open/restore. If a window freezes or disappears after pressing Enter, use that read-only output to distinguish terminal-layer crashes from MB-X thread/inbox/queue problems. 4. App-server restart is not a complete recovery by itself. `mbx codex-server restart` marks affected app-server remote TUI sessions as `window_restart_required`; visible dispatch remains queued until the role window is reopened/restored and verified. 5. Run `open-.bat` first for non-destructive open/reuse. It can recover stale/missing PID cases by resuming the existing thread, but it will not terminate an alive recorded PID. 6. If status says PID is alive but the visible window is still missing, run `restore-.bat`; it asks for `REOPEN` before calling `mbx session reopen --terminate-existing`. 7. After app-server restart or open/restore, verify app-server connectivity, `remote_tui_command=resume_remote`, thread readability/deliverability, preserved inbox/queue, and visible old chat/history marker before accepting dispatch. `session history --contains` is useful evidence, but it is not a substitute for visible-window proof. 8. Windows Terminal rendering mitigation is explicit and auditable: ```powershell python -m mbx.cli session terminal-rendering status python -m mbx.cli session terminal-rendering apply --confirm APPLY_TERMINAL_RENDERING python -m mbx.cli session terminal-rendering rollback --backup --confirm ROLLBACK_TERMINAL_RENDERING ``` Do not apply or roll back user-level Windows Terminal settings without project/admin or management authorization. 9. Regenerate these scripts after role/session binding, project root, app-server URL, or MB-X source path changes: ```powershell python -m mbx.cli session restore-script generate --project project-info --role project.admin --role case_analysis.analyst --role experiment.reviewer --role case_analysis.reviewer --role experiment.experimenter --role dev.developer.ana --role dev.reviewer.ana --role dev.developer.exp --role dev.reviewer.exp --role case_analysis.analyst.cai --role experiment.experimenter.cai --role case_analysis.reviewer.cai --role experiment.reviewer.cai --role dev.developer.ana.cai --role dev.developer.exp.cai --role dev.reviewer.ana.cai --role dev.reviewer.exp.cai --role case_analysis.report_collector --role dev.developer.project --role dev.reviewer.project --role case_analysis.media_processor --role case_analysis.analyst.defense --role case_analysis.reviewer.defense --role case_analysis.meeting_minutes_processor ``` ## Risk boundary `restore-*.bat` may terminate the recorded old remote TUI process. For `management.admin` and `management.observer`, real destructive close/reopen validation is a management high-risk action and must be recorded by the management/project workflow. Formal manual recovery guide: `doc/operation/MB-X会话窗口手动恢复指南.md` Workspace root used by generated wrappers: `E:\mb-ms-doc`