fix: fence symbolic task state after process crash #354

Open
nsaspy wants to merge 2 commits from rage/coding-task-state-crash-fence into main
Owner

Implements #254 and advances #1.

RED

b71ca2435e09d38d428009808af0f233b4555ef8 proves that after an already-started symbolic task-state process exits, the next operation must fail closed and must not construct a replacement empty state owner.

Implementation

d018bf9735e8133bbd2132178dc846b6197469a2 preserves lazy/idempotent first startup but rejects a non-null exited owned process. An explicit stop() clears ownership and remains the deliberate restart boundary.

This prevents silent loss of task/evidence state from degrading into ordinary task-not-found behavior. No Core changes or cross-plugin composition.

Implements #254 and advances #1. ## RED `b71ca2435e09d38d428009808af0f233b4555ef8` proves that after an already-started symbolic task-state process exits, the next operation must fail closed and must not construct a replacement empty state owner. ## Implementation `d018bf9735e8133bbd2132178dc846b6197469a2` preserves lazy/idempotent first startup but rejects a non-null exited owned process. An explicit `stop()` clears ownership and remains the deliberate restart boundary. This prevents silent loss of task/evidence state from degrading into ordinary `task-not-found` behavior. No Core changes or cross-plugin composition.
Some checks failed
CI / test (pull_request) Failing after 18s
This pull request has changes conflicting with the target branch.
  • plugins/zara-coding/test/test_task_state_session.py
View command line instructions

Manual merge helper

Use this merge commit message when completing the merge manually.

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin rage/coding-task-state-crash-fence:rage/coding-task-state-crash-fence
git switch rage/coding-task-state-crash-fence

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff rage/coding-task-state-crash-fence
git switch rage/coding-task-state-crash-fence
git rebase main
git switch main
git merge --ff-only rage/coding-task-state-crash-fence
git switch rage/coding-task-state-crash-fence
git rebase main
git switch main
git merge --no-ff rage/coding-task-state-crash-fence
git switch main
git merge --squash rage/coding-task-state-crash-fence
git switch main
git merge --ff-only rage/coding-task-state-crash-fence
git switch main
git merge rage/coding-task-state-crash-fence
git push origin main
Sign in to join this conversation.
No description provided.