| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Codecov Report❌ Patch coverage is 81.30081% with 23 lines in your changes missing coverage. Please review. @@ Coverage Diff @@
## parity-runtime-config #1048 +/- ##
=========================================================
+ Coverage 83.02% 83.14% +0.12%
=========================================================
Files 31 32 +1
Lines 2874 2984 +110
Branches 549 574 +25
=========================================================
+ Hits 2386 2481 +95
- Misses 348 356 +8
- Partials 140 147 +7 ☔ View full report in Codecov by Harness.
|
Sorry, something went wrong.
Code reviewFound 1 issue:
tmuxp/docs/configuration/top-level.md Lines 74 to 77 in 250222d Implementation showing the non-blocking dispatch: tmuxp/src/tmuxp/workspace/builder.py Lines 551 to 557 in 250222d 🤖 Generated with Claude Code - If this code review was useful, please react with 👍. Otherwise, react with 👎. |
Sorry, something went wrong.
why: Add lifecycle cleanup and restart hooks as a separate layer above runtime config primitives. what: - Run start and restart hooks from load while preserving append behavior - Store exit and stop hook metadata on newly created tmux sessions - Add tmuxp stop with on_project_stop execution - Register the new modules' doctest fixtures and the stop subcommand in the CLI-surface guards (conftest, help-example validation), which must move in lockstep with the CLI
why: Pin hook firing semantics per load path and the stop command's behavior. what: - Load CLI tests for start/restart hook dispatch and append behavior - Stop command tests including on_project_stop execution - Builder and config tests for exit/stop hook metadata - util tests for run_hook_commands
why: Give users working references for lifecycle hooks and the stop command. what: - CLI page and API autodoc page for tmuxp stop - Lifecycle hook sections in top-level configuration docs - Example workspace file for lifecycle hooks
why: Lifecycle hook commands may contain expanded credentials, so normal logs must not persist the command text. what: - Replace hook command log extras with a redacted placeholder
why: Pin that hook failure logging keeps exit codes without leaking command text. what: - Assert redacted placeholder in hook log extras and absence of the raw command string
why: The prose claimed all hooks block tmuxp, but on_project_exit runs via tmux's client-detached hook after tmuxp has returned — the claim was false for one of the four hooks and contradicted the per-hook table on the same page. what: - Name the three blocking hooks explicitly and describe on_project_exit's deferred, non-blocking dispatch
why: run_hook_commands logs records under tmux_hook_cmd, but the key was absent from the structured-context table that downstream consumers treat as the schema contract. what: - Add the tmux_hook_cmd row to the core key table
why: The command text is redacted because hooks may expand credentials, but the failure path logged the hook's raw stdout/stderr at debug — the same secrets leak through output. what: - Replace raw output debug logging with a single suppression record carrying tmux_stdout_len / tmux_stderr_len companion fields - Add parametrized coverage asserting an echoed secret marker reaches no log record while the length fields remain attributable
| Back | FazBrowse Home | New Git URL |
Summary
Stacked on #1047 to keep lifecycle behavior separate from runtime config primitives.
Verification
Ran before commit:
$ rm -rf docs/_build; uv run ruff check . --fix --show-fixes; uv run ruff format .; uv run mypy; uv run py.test --reruns 0 -vvv; just build-docs;Result: ruff clean, format unchanged, mypy clean, pytest 841 passed, 2 skipped, docs built successfully with the repo's existing warning class.
Stack: depends on #1047. Importer fallback follow-up is stacked on this branch.