122 distinct checks passed across two runs; only an outdated test expectation changed between runs; implementation source unchanged

SECRETS_ENGINE_SOURCE_ROOT=/home/worsch/secrets-engine PYTHONPATH=/home/worsch/secrets-engine/src python3 -m pytest -xq tests/test_task_execution_plan.py tests/test_task_execution_journal.py tests/test_task_execution_cleanup.py tests/test_task_execution_cleanup_calls.py tests/test_task_execution_grant.py tests/test_task_execution_native_fixture.py
117 passed, 1 failed in 190.35s: previous origin-negative test expected adapter refusal, but exact new grant join correctly refused changed origin earlier. Remaining four cases were not run due -x.

SECRETS_ENGINE_SOURCE_ROOT=/home/worsch/secrets-engine PYTHONPATH=/home/worsch/secrets-engine/src python3 -m pytest -xq tests/test_task_execution_native_fixture.py::test_nonloopback_estate_origin_is_refused_before_native_transport tests/test_task_execution_native_fixture.py::test_changed_grant_immutable_join_refuses_before_any_native_grant tests/test_task_execution_native_fixture.py::test_grant_body_repin_cannot_replace_independently_derived_effects tests/test_task_execution_native_fixture.py::test_proposed_source_grant_never_materializes_even_with_matching_digest tests/test_task_execution_native_fixture.py::test_grant_source_drift_after_admission_prevents_protected_effect
5 passed in 49.05s

No production acceptance; no estate grants or credentials.
