Repository navigation
feat: add safe Kanban worktree lifecycle - #80046
roycepersonalassistant wants to merge 3 commits into
Conversation
|
Ready for maintainer review: the complete CI matrix is green after retrying one unrelated flaky temp-directory cleanup failure in test_codex_app_server_persist (the exact test passed locally on both origin/main and this branch). Independent safety review returned GO. The janitor is strictly dry-run-only and emits no executable deletion command. |
Follow-up safety review — NO-GO on current headI re-reviewed exact PR head
There is also an integration conflict to resolve before merge: Expected fix: add deterministic concurrent and external-linked public-seam regressions, use reservation ownership/CAS or compatible live verification so a losing caller cannot downgrade a winner, derive repository identity from Git metadata rather than filesystem-parent ancestry, and reconcile #70585/#71978 semantics explicitly. I am holding this PR from merge until an amended head is independently re-reviewed. |
|
Closing at the author's request. This lifecycle hardening will remain a local/fork-only Hermes customization; please do not merge it upstream. |
Summary
Worktree lifecycle hardening
git worktree add, publishreserved -> active, or mark its still-reserved rowcreation_failed.Integration with related PRs
_ensure_git_worktree; exact registered targets now reach that seam instead of being rejected first. This keeps branch policy independent and composable.Safety invariants
Validation
33 passedtests/hermes_cli/test_kanban*.pyfiles in isolated processes:191 passed, zero failurespy_compile: passedty check hermes_cli/kanban_workspaces.py: passedgit diff --check: passedFull-suite baseline comparison
Exact-base comparison at
8f2712725:origin/main:145 failed, 4198 passed, 22 skipped145 failed, 4224 passed, 22 skippedThe same 145 order-dependent/shared-state failures occurred on both trees; the feature added passing tests and no new failures or skips. This follow-up's scoped Kanban suite is fully green.
Notes
The example exception policy is intentionally checked in under
docs/examples/even though the repository's broadexamples/ignore rule required force-adding it.