Harden worker instruction answers#97
Merged
pmbstyle merged 1 commit intoMay 17, 2026
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
answer_worker_instructionandruntime.answer_instructionwithout lineage checks.Description
answerer_worker_idparameter toWorkerRuntime.answer_instructionand perform a check that the provided answerer is the target worker'sparent_worker_id, returning false and auditing when the check fails.answer_worker_instructiontool to derive the caller worker id from the tool context, reject non-parent callers, and pass the verifiedanswerer_worker_idinto the runtime call._answerer_worker_idand_is_direct_child_workerin the worker management tool and include the answerer id in successful-answer audits.tests/test_worker_suspend_resume.pycovering refused cross-parent answers and successful direct-parent answers.Testing
uv run ruff check src/octopal/runtime/workers/runtime.py src/octopal/tools/workers/management.py tests/test_worker_suspend_resume.pywhich passed.PYTHONPATH=src:.venv/lib/python3.14/site-packages python -m pytest tests/test_worker_suspend_resume.py tests/test_agent_loop_improvements.py -qand the test suites passed.uv run black --check tests/test_worker_suspend_resume.pywhich succeeded; dev dependency installation (uv sync --extra dev) had transient index fetch failures but did not affect running the targeted tests that passed.Codex Task